1
QwintryLogistics API, PHP의 모든 문서 예제로 작업하려합니다. Java에 코딩 한 PHP에 대해서는 전혀 알지 못합니다. 문서에서 필요한 요청은 다음과 같습니다PHP에서 Java로 번역이 필요합니다
<?php
define('SITE_URL', 'logistics.qwintry.com');
define('API_KEY', 'YOUR_API_KEY'); //don't forget to set your key!
$url = 'http://'. SITE_URL .'/api/cost';
$data = array (
'params' => array(
'weight' => 5, // in lb
'delivery_pickup' => 'msk_1', // full list of pickup points can be retrieved from /api/locations-list
'insurance' => true,
'items_value' => 500, // declaration items total cost in USD
'retail_pricing' => true // retail/wholesale pricing?
),
);
$data_string = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. API_KEY));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
코딩 자바 방법 :
@Override
public String getCost(double weight, String unitsW, String toPickUp, boolean insurance, double value) throws URISyntaxException, IOException, HttpException {
String url = BASE_URL + "/api/cost/";
CloseableHttpClient client = HttpClients.createDefault();
URIBuilder builder = new URIBuilder(url);
builder
.addParameter("weight", String.valueOf(weight))
.addParameter("delivery_pickup", toPickUp)
.addParameter("insurance", String.valueOf(insurance))
.addParameter("items_value", String.valueOf(value))
.addParameter("retail_pricing", String.valueOf(RETAIL_PRICING));
HttpUriRequest request = new HttpPost(builder.build());
request.addHeader("User-Agent", USER_AGENT);
request.addHeader("Authorization", "Bearer " + API_KEY);
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
return result.toString();
}
그러나 지속적으로 반응을 얻고 :
이{"success":false,"errorCode":0,"errorMessage":"params are empty"}
나는 문제는 요청에 대한 매개 변수를 설정하는 생각합니다. Java 용어로 요청 매개 변수의 구조를 번역 해주세요.
Unirest 라이브러리를 사용해 주셔서 감사합니다. 밝고 선명하게 보이지만 아직 성공하지는 못했습니다. – zzheads
PHP를 전혀 모르기 때문에 요구 시체 구조가 불분명합니다. String으로 카운터의 배열을 어떻게 만들 수 있습니까? (매개 변수 [weight], 매개 변수 [items_value] ... 등) – zzheads
마침내 그것을 만들었습니다! API 문서에 오류가 있습니다. 일부 매개 변수의 이름이 잘못되었습니다. 이제 모든 것이 작동합니다! – zzheads