API-интерфейс UPS Rate не получает значения для земли / 2-го дня / ночи

https://annasheachocolates.com/ratecheck.php

Пожалуйста, проверьте приведенную выше ссылку. он содержит сведения о файле xml. Это файл, который я использую на данный момент

Я также прикрепил файл php и выходной файл xml ниже для справки. То, что я пытаюсь получить, - это три значения скорости доставки для UPS Ground / UPS 2nd Day Air / UPS Overnight, но все значения, которые я получаю, одинаковы. Пожалуйста, подтвердите, если я что-то упустил.

  • Я использую сервер PHP/Mysql/Linux.
    <?php
    try {
        // configuration
        $access = "XXXX";
        $userid = "cxccxcxcx";
        $passwd = "vvxcxcxcx";

        /*$accessLicenseNumber = "XXXXXX";
        $userId = "xxxx";
        $password = "xxxx";
        */    
        $endpointurl = "https://onlinetools.ups.com/ups.app/xml/Rate";
        $outputFileName = "XOLTResult.xml";

        // create a simple xml object for AccessRequest & RateRequest
        $accessRequesttXML = new SimpleXMLElement ( "< AccessRequest> < /AccessRequest> " );
        $rateRequestXML = new SimpleXMLElement ( "< RatingServiceSelectionRequest> < /RatingServiceSelectionRequest> " );

        // create AccessRequest XML
        $accessRequesttXML-> addChild ( "AccessLicenseNumber", $access );
        $accessRequesttXML-> addChild ( "UserId", $userid );
        $accessRequesttXML-> addChild ( "Password", $passwd );

        // create RateRequest XML
        $request = $rateRequestXML-> addChild ( 'Request' );
        $request-> addChild ( "RequestAction", "Rate" );
        $request-> addChild ( "RequestOption", "Rate" );

        $shipment = $rateRequestXML-> addChild ( 'Shipment' );
        $shipper = $shipment-> addChild ( 'Shipper' );
        $shipper-> addChild ( "Name", "Name" );
        $shipper-> addChild ( "ShipperNumber", "" );
        $shipperddress = $shipper-> addChild ( 'Address' );
        $shipperddress-> addChild ( "AddressLine1", "Address Line" );
        $shipperddress-> addChild ( "City", "Corado" );
        $shipperddress-> addChild ( "PostalCode", "00646" );
        $shipperddress-> addChild ( "CountryCode", "PR" );

        $shipTo = $shipment-> addChild ( 'ShipTo' );
        $shipTo-> addChild ( "CompanyName", "Company Name" );
        $shipToAddress = $shipTo-> addChild ( 'Address' );
        $shipToAddress-> addChild ( "AddressLine1", "Address Line" );
        $shipToAddress-> addChild ( "City", "Corado" );
        $shipToAddress-> addChild ( "PostalCode", "00646" );
        $shipToAddress-> addChild ( "CountryCode", "PR" );

        $shipFrom = $shipment-> addChild ( 'ShipFrom' );
        $shipFrom-> addChild ( "CompanyName", "Company Name" );
        $shipFromAddress = $shipFrom-> addChild ( 'Address' );
        $shipFromAddress-> addChild ( "AddressLine1", "Address Line" );
        $shipFromAddress-> addChild ( "City", "Boca Raton" );
        $shipFromAddress-> addChild ( "StateProvinceCode", "FL" );
        $shipFromAddress-> addChild ( "PostalCode", "33434" );
        $shipFromAddress-> addChild ( "CountryCode", "US" );

        $service = $shipment-> addChild ( 'Service' );
        $service-> addChild ( "Code", "02" );
        $service-> addChild ( "Description", "2nd Day Air" );

        $package = $shipment-> addChild ( 'Package' );
        $packageType = $package-> addChild ( 'PackagingType' );
        $packageType-> addChild ( "Code", "02" );
        $packageType-> addChild ( "Description", "UPS Package" );

        $packageWeight = $package-> addChild ( 'PackageWeight' );
        $unitOfMeasurement = $packageWeight-> addChild ( 'UnitOfMeasurement' );
        $unitOfMeasurement-> addChild ( "Code", "LBS" );
        $packageWeight-> addChild ( "Weight", "15.2" );

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

        $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, "Request: \n" . $requestXML . "\n" );
            fwrite ( $fw, "Response: \n" . $response . "\n" );
            fclose ( $fw );

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

***XML-КОД****

<?xml version="1.0"?>
<RatingServiceSelectionResponse>
    <Response>
        <ResponseStatusCode>1</ResponseStatusCode>
        <ResponseStatusDescription>Success</ResponseStatusDescription>
    </Response>
    <RatedShipment>
        <Service>
            <Code>02</Code>
        </Service>
        <RatedShipmentWarning>Your
   invoice may vary from the displayed reference
   rates</RatedShipmentWarning>
        <BillingWeight>
            <UnitOfMeasurement>
                <Code>LBS</Code>
            </UnitOfMeasurement>
            <Weight>16.0</Weight>
        </BillingWeight>
        <TransportationCharges>
            <CurrencyCode>USD</CurrencyCode>
            <MonetaryValue>109.97</MonetaryValue>
        </TransportationCharges>
        <ServiceOptionsCharges>
            <CurrencyCode>USD</CurrencyCode>
            <MonetaryValue>0.00</MonetaryValue>
        </ServiceOptionsCharges>
        <TotalCharges>
            <CurrencyCode>USD</CurrencyCode>
            <MonetaryValue>109.97</MonetaryValue>
        </TotalCharges>
        <GuaranteedDaysToDelivery>2</GuaranteedDaysToDelivery>
        <ScheduledDeliveryTime/>
        <RatedPackage>
            <TransportationCharges>
                <CurrencyCode>USD</CurrencyCode>
                <MonetaryValue>109.97</MonetaryValue>
            </TransportationCharges>
            <ServiceOptionsCharges>
                <CurrencyCode>USD</CurrencyCode>
                <MonetaryValue>0.00</MonetaryValue>
            </ServiceOptionsCharges>
            <TotalCharges>
                <CurrencyCode>USD</CurrencyCode>
                <MonetaryValue>109.97</MonetaryValue>
            </TotalCharges>
            <Weight>15.2</Weight>
            <BillingWeight>
                <UnitOfMeasurement>
                    <Code>LBS</Code>
                </UnitOfMeasurement>
                <Weight>16.0</Weight>
            </BillingWeight>
        </RatedPackage>
    </RatedShipment>
</RatingServiceSelectionResponse>

РЕЗУЛЬТАТ Адрес LineCorado00646PR Название компании Адрес LineCorado00646PR Название компании Адрес LineBoca RatonFL33434US 022nd Day Air02UPS PackageLBS15.2 das 1Success02Ваш счет может отличаться от отображаемых справочных ценLBS16.0USD109.97USD0.00USD109.972USD109.97USDLBS0.90110.00USD .0


person Kamal    schedule 26.03.2019    source источник