PHP: отслеживание API UPS

У меня много проблем с отслеживанием пакетов с использованием UPS API. Я не понимаю, как это работает, я скачал эти файлы из примеров UPS:

$wsdl = " Add Wsdl File Here ";
$endpointurl = ' Add URL Here';

У меня нет файла wsdl, и когда я скачал пример отслеживания UPS, там не было ни одного. Я также не знаю, что поставить для URL конечной точки. UPS не объясняет, или, по крайней мере, я не могу найти, где они делают.

И тогда я решил попробовать это:

https://github.com/gabrielbull/php-ups-api#installation

Но я понятия не имею, как его использовать. Я скачал файлы, но я не знаю, где я могу поместить свой тестовый файл:

$tracking = new Ups\Tracking($accessKey, $userId, $password);

try {
$shipment = $tracking->track('TRACKING NUMBER');

foreach($shipment->Package->Activity as $activity) {
var_dump($activity);
}

} catch (Exception $e) {
var_dump($e);
}

И я не знаю, где поставить свои учетные данные для ключа доступа к API, имени пользователя и пароля. Я сейчас очень смущен и ничего не могу понять. Я извиняюсь за мой плохой английский. Спасибо.

Вот мой полный код от UPS:

  //Configuration
$access = "XXX";
$userid = "XXX";
$passwd = "XXX";
$wsdl = " Add Wsdl File Here ";
$operation = "ProcessTrack";
$endpointurl = ' Add URL Here';
$outputFileName = "XOLTResult.xml";

function processTrack()
{
//create soap request
$req['RequestOption'] = '15';
$tref['CustomerContext'] = 'Add description here';
$req['TransactionReference'] = $tref;
$request['Request'] = $req;
$request['InquiryNumber'] = '';
$request['TrackingOption'] = '02';

echo "Request.......\n";
print_r($request);
echo "\n\n";
return $request;
}

try
{

$mode = array
(
'soap_version' => 'SOAP_1_1',  // use soap 1.1 client
'trace' => 1
);

// initialize soap client
$client = new SoapClient($wsdl , $mode);

//set endpoint url
$client->__setLocation($endpointurl);//create soap header
$usernameToken['Username'] = $userid;
$usernameToken['Password'] = $passwd;
$serviceAccessLicense['AccessLicenseNumber'] = $access;
$upss['UsernameToken'] = $usernameToken;
$upss['ServiceAccessToken'] = $serviceAccessLicense;

$header = new SoapHeader('http://www.ups.com/XMLSchema/XOLTWS/UPSS/v1.0','UPSSecurity',$upss);
$client->__setSoapHeaders($header);//get response
$resp = $client->__soapCall($operation ,array(processTrack()));

//get status
echo "Response Status: " . $resp->Response->ResponseStatus->Description ."\n";

//save soap request and response to file
$fw = fopen($outputFileName , 'w');
fwrite($fw , "Request: \n" . $client->__getLastRequest() . "\n");
fwrite($fw , "Response: \n" . $client->__getLastResponse() . "\n");
fclose($fw);

}
catch(Exception $ex)
{
print_r ($ex);
}

1

Решение

Трек WSDL находится в Tracking> TrackingPackage> TrackingWebServices> Schemas-WSDL

Вам необходимо заменить свои учетные данные в $ access, $ userid, $ passwd и установить конечную точку для тестовых серверов UPS.

  $access = "XXX";
$userid = "XXX";
$passwd = "XXX";
$wsdl = " Add Wsdl File Here ";
$operation = "ProcessTrack";
$endpointurl = ' Add URL Here';
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]