UPS php api - создать заказ

Я пытаюсь интегрировать API-интерфейс UPS php для создания онлайн-заказа для отправки вещей. Я могу проверить адрес и получить тарифы на передачу вещей, но я не могу найти какое-либо решение для создания заказа и ярлыков для курьера, может ли кто-нибудь помочь мне в этом.


ups
person Simer Twilio Toronto developer    schedule 10.04.2014    source источник


Ответы (1)


UPS Developer Kit and API — неплохой справочник по всем разработкам, связанным с API, включая PHP. Его можно загрузить отсюда: https://www.ups.com/upsdeveloperkit/downloadresource?loc=en_US

Вот пример кода для кода принятия доставки PHP (из почтового индекса API):

<?php

      //Configuration
      $access = " Add License Key Here";
      $userid = " Add User Id Here";
      $passwd = " Add Password Here";

      $accessSchemaFile = " Add AccessRequest Schema File";
      $requestSchemaFile = " Add ShipAcceptRequest Schema File";
      $responseSchemaFile = "Add ShipAcceptResponse Schema File";

      $endpointurl = ' Add URL Here';
      $outputFileName = "XOLTResult.xml";


      try
      {
         //create AccessRequest data object
         $das = SDO_DAS_XML::create("$accessSchemaFile");
         $doc = $das->createDocument();
         $root = $doc->getRootDataObject();
         $root->AccessLicenseNumber=$access;
         $root->UserId=$userid;
         $root->Password=$passwd;
         $security = $das->saveString($doc);

         //create ShipAcceptRequest data oject
         $das = SDO_DAS_XML::create("$requestSchemaFile");
         $requestDO = $das->createDataObject('','RequestType');
         $requestDO->RequestAction='01';
         //$requestDO->RequestOption='01';

         $doc = $das->createDocument();
         $root = $doc->getRootDataObject();
         $root->Request = $requestDO;
         $root->ShipmentDigest = 'test-Invalid-digest';
         $request = $das->saveString($doc);

         //create Post request
         $form = array
         (
             'http' => array
             (
                 'method' => 'POST',
                 'header' => 'Content-type: application/x-www-form-urlencoded',
                 'content' => "$security$request"
             )
         );

         //print form request
         print_r($form);


         $request = stream_context_create($form);
         $browser = fopen($endpointurl , 'rb' , false , $request);
         if(!$browser)
         {
             throw new Exception("Connection failed.");
         }

         //get response
         $response = stream_get_contents($browser);
         fclose($browser);

         if($response == false)
         {
            throw new Exception("Bad data.");
         }
         else
         {
            //save request and response to file
        $fw = fopen($outputFileName,'w');
            fwrite($fw , "Response: \n" . $response . "\n");
            fclose($fw);

            //get response status
            $resp = new SimpleXMLElement($response);
            echo $resp->Response->ResponseStatusDescription . "\n";
         }
      }
      catch(SDOException $sdo)
      {
         echo $sdo;
      }
      catch(Exception $ex)
      {
         echo $ex;
      }

?>
person Nikita 웃    schedule 10.05.2014