UPS REST API - отслеживание против трека по ссылкеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 UPS REST API - отслеживание против трека по ссылке

Сообщение Anonymous »

Пока у меня есть номер отслеживания, API UPS Track отлично работает. Я использую его, как описано на странице справки: < /p>

Код: Выделить всё

const inquiryNumber = "my tracking number";
$query = array(
"locale" => "en_US",
"returnSignature" => "false",
"returnMilestones" => "false",
"returnPOD" => "false"
);

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"transId: string",
"transactionSrc: testing"
],
CURLOPT_URL => "https://wwwcie.ups.com/api/track/v1/details/" . inquiryNumber . "?" . http_build_query($query),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
echo "cURL Error #:" . $error;
} else {
echo $response;
}
< /code>
и вернуть полный ответ, который включает в себя ссылочный номер, который является исходным идентификатором порядка: < /p>
[referenceNumber] => Array
(
[0] => Array
(
[type] => SHIPMENT
[number] => 657780
[code] => 01
[description] => Shipper Assigned General
)

[1] => Array
(
[type] => PACKAGE
[number] => 657780
[code] => 01
[description] => Shipper Assigned General
)

)

< /code>
Проблема в том, что мне нужно справиться с ситуацией, когда у меня нет номера отслеживания, у меня просто есть ссылочный номер (идентификатор заказа).  UPS говорит, что у них есть API для этого, трек по номеру ссылки API.  Когда я использую их код, как показано в примере: < /p>
const referenceNumber = "order number";
$query = array(
"locale" => "en_US",
"fromPickUpDate" => "currentDate-14",
"toPickUpDate" => "currentDate",
"refNumType" => "SmallPackage. Valid values: SmallPackage, fgv"
);

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"transId: string",
"transactionSrc: testing"
],
CURLOPT_URL => "https://wwwcie.ups.com/api/track/v1/reference/details/" . referenceNumber . "?" . http_build_query($query),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
echo "cURL Error #:" . $error;
} else {
echo $response;
}
< /code>
Если в данных запроса $ я использую < /p>
  "refNumType" => "SmallPackage",
< /code>
Я получаю < /p>
{"trackResponse":{"shipment":[{"inquiryNumber":"657780","warnings":[{"code":"TX0002","message":"Tracking Information Not Available at this time"}]}]}}
< /code>
и если я использую < /p>
  "refNumType" => "fgv",
< /code>
Я получаю < /p>
{"trackResponse":{"shipment":[{"warnings":[{"code":"TW0001","message":"Tracking Information Not Found"}]}]}}
Я не уверен, что я делаю неправильно.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -reference
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»