Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) UPS Rate RequestSee more UPS ExamplesSimple UPS Rate Example For more information, see https://developer.ups.com/api/reference?loc=en_US#operation/Rate
use chilkat(); # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = chilkat::CkHttp->new(); # Use this online tool to generate code from sample JSON: # Generate Code to Create JSON # The following JSON is sent in the request body. # { # "RateRequest": { # "Request": { # "TransactionReference": { # "CustomerContext": "CustomerContext" # } # }, # "Shipment": { # "Shipper": { # "Name": "ShipperName", # "ShipperNumber": "ShipperNumber", # "Address": { # "AddressLine": [ # "ShipperAddressLine", # "ShipperAddressLine", # "ShipperAddressLine" # ], # "City": "TIMONIUM", # "StateProvinceCode": "MD", # "PostalCode": "21093", # "CountryCode": "US" # } # }, # "ShipTo": { # "Name": "ShipToName", # "Address": { # "AddressLine": [ # "ShipToAddressLine", # "ShipToAddressLine", # "ShipToAddressLine" # ], # "City": "Alpharetta", # "StateProvinceCode": "GA", # "PostalCode": "30005", # "CountryCode": "US" # } # }, # "ShipFrom": { # "Name": "ShipFromName", # "Address": { # "AddressLine": [ # "ShipFromAddressLine", # "ShipFromAddressLine", # "ShipFromAddressLine" # ], # "City": "TIMONIUM", # "StateProvinceCode": "MD", # "PostalCode": "21093", # "CountryCode": "US" # } # }, # "PaymentDetails": { # "ShipmentCharge": { # "Type": "01", # "BillShipper": { # "AccountNumber": "ShipperNumber" # } # } # }, # "Service": { # "Code": "03", # "Description": "Ground" # }, # "NumOfPieces": "1", # "Package": { # "PackagingType": { # "Code": "02", # "Description": "Packaging" # }, # "Dimensions": { # "UnitOfMeasurement": { # "Code": "IN", # "Description": "Inches" # }, # "Length": "5", # "Width": "5", # "Height": "5" # }, # "PackageWeight": { # "UnitOfMeasurement": { # "Code": "LBS", # "Description": "Pounds" # }, # "Weight": "1" # } # } # } # } # } $json = chilkat::CkJsonObject->new(); $json->UpdateString("RateRequest.Request.TransactionReference.CustomerContext","CustomerContext"); $json->UpdateString("RateRequest.Shipment.Shipper.Name","ShipperName"); $json->UpdateString("RateRequest.Shipment.Shipper.ShipperNumber","ShipperNumber"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[0]","ShipperAddressLine"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[1]","ShipperAddressLine"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.AddressLine[2]","ShipperAddressLine"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.City","TIMONIUM"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.StateProvinceCode","MD"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.PostalCode","21093"); $json->UpdateString("RateRequest.Shipment.Shipper.Address.CountryCode","US"); $json->UpdateString("RateRequest.Shipment.ShipTo.Name","ShipToName"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[0]","ShipToAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[1]","ShipToAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.AddressLine[2]","ShipToAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.City","Alpharetta"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.StateProvinceCode","GA"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.PostalCode","30005"); $json->UpdateString("RateRequest.Shipment.ShipTo.Address.CountryCode","US"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Name","ShipFromName"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[0]","ShipFromAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[1]","ShipFromAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.AddressLine[2]","ShipFromAddressLine"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.City","TIMONIUM"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.StateProvinceCode","MD"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.PostalCode","21093"); $json->UpdateString("RateRequest.Shipment.ShipFrom.Address.CountryCode","US"); $json->UpdateString("RateRequest.Shipment.PaymentDetails.ShipmentCharge.Type","01"); $json->UpdateString("RateRequest.Shipment.PaymentDetails.ShipmentCharge.BillShipper.AccountNumber","ShipperNumber"); $json->UpdateString("RateRequest.Shipment.Service.Code","03"); $json->UpdateString("RateRequest.Shipment.Service.Description","Ground"); $json->UpdateString("RateRequest.Shipment.NumOfPieces","1"); $json->UpdateString("RateRequest.Shipment.Package.PackagingType.Code","02"); $json->UpdateString("RateRequest.Shipment.Package.PackagingType.Description","Packaging"); $json->UpdateString("RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Code","IN"); $json->UpdateString("RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Description","Inches"); $json->UpdateString("RateRequest.Shipment.Package.Dimensions.Length","5"); $json->UpdateString("RateRequest.Shipment.Package.Dimensions.Width","5"); $json->UpdateString("RateRequest.Shipment.Package.Dimensions.Height","5"); $json->UpdateString("RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Code","LBS"); $json->UpdateString("RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Description","Pounds"); $json->UpdateString("RateRequest.Shipment.Package.PackageWeight.Weight","1"); # Load the OAuth2 access token obtained via client credentials as shown # in this UPS OAuth2 Client Credentials example. $jsonToken = chilkat::CkJsonObject->new(); $success = $jsonToken->LoadFile("qa_data/tokens/ups_oauth2_token.json"); if ($success != 1) { print "Failed to load ups_oauth2_token.json" . "\r\n"; exit; } # The access token JSON looks something like this: # { # "token_type": "Bearer", # "issued_at": "1686911985606", # "client_id": "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt", # "access_token": "eyJraW......R2sbqrY", # "expires_in": "14399", # "status": "approved" # } # Adds the "Authorization: Bearer <YOUR_TOKEN_HERE>" header. $http->put_AuthToken($jsonToken->stringOf("access_token")); $http->SetRequestHeader("Content-Type","application/json"); $http->SetRequestHeader("transId","string"); $http->SetRequestHeader("transactionSrc","testing"); # The "version" indicates Rate API to display the new release features in Rate API response based on Rate release. # Supported values: v1, v1601, v1607, v1701, v1707, v2108, v2205. $http->SetUrlVar("version","v1"); # The "requestoption" has the following valid values: # Rate = The server rates (The default Request option is Rate if a Request Option is not provided). # Shop = The server validates the shipment, and returns rates for all UPS products from the ShipFrom to the ShipTo addresses. # Rate is the only valid request option for Ground Freight Pricing requests. $http->SetUrlVar("requestoption","Rate"); # resp is a HttpResponse $resp = $http->PostJson3("https://wwwcie.ups.com/api/rating/{$version}/{$requestoption}?additionalinfo=string","application/json",$json); if ($http->get_LastMethodSuccess() == 0) { print $http->lastErrorText() . "\r\n"; exit; } $sbResponseBody = chilkat::CkStringBuilder->new(); $resp->GetBodySb($sbResponseBody); $jResp = chilkat::CkJsonObject->new(); $jResp->LoadSb($sbResponseBody); $jResp->put_EmitCompact(0); print "Response Body:" . "\r\n"; print $jResp->emit() . "\r\n"; # ---------------------------------------------------------------------------------------------------------- # Important: If you get the following error response, read further for the solution.. # # { # "response": { # "errors": [ # { # "code": "250002", # "message": "Invalid Authentication Information." # } # ] # } # } # # It means you didn't add the Rating API permission to your app. # To add the Rating API, login to your developer account and go to your Apps page at https://developer.ups.com/apps?loc=en_US # Then edit your app and add the Rating API. # ---------------------------------------------------------------------------------------------------------- $respStatusCode = $resp->get_StatusCode(); print "Response Status Code = " . $respStatusCode . "\r\n"; if ($respStatusCode >= 400) { print "Response Header:" . "\r\n"; print $resp->header() . "\r\n"; print "Failed." . "\r\n"; exit; } # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "RateResponse": { # "Response": { # "ResponseStatus": { # "Code": "s", # "Description": "string" # }, # "Alert": [ # { # "Code": "string", # "Description": "string" # } # ], # "AlertDetail": [ # { # "Code": "string", # "Description": "string", # "ElementLevelInformation": { # "Level": "s", # "ElementIdentifier": [ # { # "Code": null, # "Value": null # } # ] # } # } # ], # "TransactionReference": { # "CustomerContext": "string" # } # }, # "RatedShipment": [ # { # "Disclaimer": [ # { # "Code": "st", # "Description": "string" # } # ], # "Service": { # "Code": "str", # "Description": "string" # }, # "RateChart": "s", # "RatedShipmentAlert": [ # { # "Code": "string", # "Description": "string" # } # ], # "BillableWeightCalculationMethod": "st", # "RatingMethod": "st", # "BillingWeight": { # "UnitOfMeasurement": { # "Code": "str", # "Description": "string" # }, # "Weight": "strin" # }, # "TransportationCharges": { # "CurrencyCode": "str", # "MonetaryValue": "stringstringstri" # }, # "BaseServiceCharge": { # "CurrencyCode": "str", # "MonetaryValue": "stringstringstri" # }, # "ItemizedCharges": [ # { # "Code": "str", # "Description": "string", # "CurrencyCode": "str", # "MonetaryValue": "string", # "SubType": "string" # } # ], # "FRSShipmentData": { # "TransportationCharges": { # "GrossCharge": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "DiscountAmount": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "DiscountPercentage": "st", # "NetCharge": { # "CurrencyCode": "str", # "MonetaryValue": "string" # } # }, # "FreightDensityRate": { # "Density": "strin", # "TotalCubicFeet": "string" # }, # "HandlingUnits": [ # { # "Quantity": "string", # "Type": { # "Code": null, # "Description": null # }, # "Dimensions": { # "UnitOfMeasurement": null, # "Length": null, # "Width": null, # "Height": null # }, # "AdjustedHeight": { # "Value": null, # "UnitOfMeasurement": null # } # } # ] # }, # "ServiceOptionsCharges": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "TaxCharges": [ # { # "Type": "string", # "MonetaryValue": "string" # } # ], # "TotalCharges": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "TotalChargesWithTaxes": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "NegotiatedRateCharges": { # "ItemizedCharges": [ # { # "Code": "str", # "Description": "string", # "CurrencyCode": "str", # "MonetaryValue": "string", # "SubType": "string" # } # ], # "TaxCharges": [ # { # "Type": "string", # "MonetaryValue": "string" # } # ], # "TotalCharge": { # "CurrencyCode": "string", # "MonetaryValue": "string" # }, # "TotalChargesWithTaxes": { # "CurrencyCode": "string", # "MonetaryValue": "string" # } # }, # "RatedPackage": [ # { # "BaseServiceCharge": { # "CurrencyCode": "str", # "MonetaryValue": "string" # }, # "TransportationCharges": { # "CurrencyCode": "string", # "MonetaryValue": "string" # }, # "ServiceOptionsCharges": { # "CurrencyCode": "string", # "MonetaryValue": "string" # }, # "TotalCharges": { # "CurrencyCode": "string", # "MonetaryValue": "string" # }, # "Weight": "string", # "BillingWeight": { # "UnitOfMeasurement": { # "Code": null, # "Description": null # }, # "Weight": "string" # }, # "Accessorial": [ # { # "Code": null, # "Description": null # } # ], # "ItemizedCharges": [ # { # "Code": null, # "Description": null, # "CurrencyCode": null, # "MonetaryValue": null, # "SubType": null # } # ], # "NegotiatedCharges": { # "ItemizedCharges": [ # null # ] # }, # "SimpleRate": { # "Code": "st" # }, # "RateModifier": [ # { # "ModifierType": null, # "ModifierDesc": null, # "Amount": null # } # ] # } # ], # "TimeInTransit": { # "PickupDate": "stringst", # "DocumentsOnlyIndicator": "string", # "PackageBillType": "st", # "ServiceSummary": { # "Service": { # "Description": "string" # }, # "GuaranteedIndicator": "string", # "Disclaimer": "string", # "EstimatedArrival": { # "Arrival": { # "Date": null, # "Time": null # }, # "BusinessDaysInTransit": "strin", # "Pickup": { # "Date": null, # "Time": null # }, # "DayOfWeek": "string", # "CustomerCenterCutoff": "string", # "DelayCount": "str", # "HolidayCount": "st", # "RestDays": "st", # "TotalTransitDays": "strin" # }, # "SaturdayDelivery": "string", # "SaturdayDeliveryDisclaimer": "string", # "SundayDelivery": "string", # "SundayDeliveryDisclaimer": "string" # }, # "AutoDutyCode": "st", # "Disclaimer": "string" # }, # "ScheduledDeliveryDate": "string", # "RoarRatedIndicator": "string" # } # ] # } # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON $Code = $jResp->stringOf("RateResponse.Response.ResponseStatus.Code"); $Description = $jResp->stringOf("RateResponse.Response.ResponseStatus.Description"); $CustomerContext = $jResp->stringOf("RateResponse.Response.TransactionReference.CustomerContext"); $i = 0; $count_i = $jResp->SizeOfArray("RateResponse.Response.Alert"); while ($i < $count_i) { $jResp->put_I($i); $Code = $jResp->stringOf("RateResponse.Response.Alert[i].Code"); $Description = $jResp->stringOf("RateResponse.Response.Alert[i].Description"); $i = $i + 1; } $i = 0; $count_i = $jResp->SizeOfArray("RateResponse.Response.AlertDetail"); while ($i < $count_i) { $jResp->put_I($i); $Code = $jResp->stringOf("RateResponse.Response.AlertDetail[i].Code"); $Description = $jResp->stringOf("RateResponse.Response.AlertDetail[i].Description"); $Level = $jResp->stringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.Level"); $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier"); while ($j < $count_j) { $jResp->put_J($j); $Code = $jResp->stringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Code"); $Value = $jResp->stringOf("RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Value"); $j = $j + 1; } $i = $i + 1; } $i = 0; $count_i = $jResp->SizeOfArray("RateResponse.RatedShipment"); while ($i < $count_i) { $jResp->put_I($i); $ServiceCode = $jResp->stringOf("RateResponse.RatedShipment[i].Service.Code"); $ServiceDescription = $jResp->stringOf("RateResponse.RatedShipment[i].Service.Description"); $RateChart = $jResp->stringOf("RateResponse.RatedShipment[i].RateChart"); $BillableWeightCalculationMethod = $jResp->stringOf("RateResponse.RatedShipment[i].BillableWeightCalculationMethod"); $RatingMethod = $jResp->stringOf("RateResponse.RatedShipment[i].RatingMethod"); $UnitOfMeasurementCode = $jResp->stringOf("RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Code"); $UnitOfMeasurementDescription = $jResp->stringOf("RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Description"); $Weight = $jResp->stringOf("RateResponse.RatedShipment[i].BillingWeight.Weight"); $CurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].TransportationCharges.CurrencyCode"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].TransportationCharges.MonetaryValue"); $BaseServiceChargeCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].BaseServiceCharge.CurrencyCode"); $BaseServiceChargeMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].BaseServiceCharge.MonetaryValue"); $GrossChargeCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.CurrencyCode"); $GrossChargeMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.MonetaryValue"); $DiscountAmountCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.CurrencyCode"); $DiscountAmountMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.MonetaryValue"); $DiscountPercentage = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountPercentage"); $NetChargeCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.CurrencyCode"); $NetChargeMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.MonetaryValue"); $Density = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.Density"); $TotalCubicFeet = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.TotalCubicFeet"); $ServiceOptionsChargesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].ServiceOptionsCharges.CurrencyCode"); $ServiceOptionsChargesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].ServiceOptionsCharges.MonetaryValue"); $TotalChargesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].TotalCharges.CurrencyCode"); $TotalChargesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].TotalCharges.MonetaryValue"); $TotalChargesWithTaxesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].TotalChargesWithTaxes.CurrencyCode"); $TotalChargesWithTaxesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].TotalChargesWithTaxes.MonetaryValue"); $TotalChargeCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.CurrencyCode"); $TotalChargeMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.MonetaryValue"); $TotalChargesWithTaxesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.CurrencyCode"); $TotalChargesWithTaxesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.MonetaryValue"); $PickupDate = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.PickupDate"); $DocumentsOnlyIndicator = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.DocumentsOnlyIndicator"); $PackageBillType = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.PackageBillType"); $ServiceDescription = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Service.Description"); $GuaranteedIndicator = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.GuaranteedIndicator"); $Disclaimer = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Disclaimer"); $Date = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Date"); $Time = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Time"); $BusinessDaysInTransit = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.BusinessDaysInTransit"); $PickupDate = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Date"); $PickupTime = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Time"); $DayOfWeek = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DayOfWeek"); $CustomerCenterCutoff = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.CustomerCenterCutoff"); $DelayCount = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DelayCount"); $HolidayCount = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.HolidayCount"); $RestDays = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.RestDays"); $TotalTransitDays = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.TotalTransitDays"); $SaturdayDelivery = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDelivery"); $SaturdayDeliveryDisclaimer = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDeliveryDisclaimer"); $SundayDelivery = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDelivery"); $SundayDeliveryDisclaimer = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDeliveryDisclaimer"); $AutoDutyCode = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.AutoDutyCode"); $TimeInTransitDisclaimer = $jResp->stringOf("RateResponse.RatedShipment[i].TimeInTransit.Disclaimer"); $ScheduledDeliveryDate = $jResp->stringOf("RateResponse.RatedShipment[i].ScheduledDeliveryDate"); $RoarRatedIndicator = $jResp->stringOf("RateResponse.RatedShipment[i].RoarRatedIndicator"); $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].Disclaimer"); while ($j < $count_j) { $jResp->put_J($j); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].Disclaimer[j].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].Disclaimer[j].Description"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedShipmentAlert"); while ($j < $count_j) { $jResp->put_J($j); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].RatedShipmentAlert[j].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].RatedShipmentAlert[j].Description"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].ItemizedCharges"); while ($j < $count_j) { $jResp->put_J($j); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].Description"); $CurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].CurrencyCode"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].MonetaryValue"); $SubType = $jResp->stringOf("RateResponse.RatedShipment[i].ItemizedCharges[j].SubType"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits"); while ($j < $count_j) { $jResp->put_J($j); $Quantity = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Quantity"); $TypeCode = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Code"); $TypeDescription = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Description"); $UnitOfMeasurement = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.UnitOfMeasurement"); $Length = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Length"); $Width = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Width"); $Height = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Height"); $AdjustedHeightValue = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.Value"); $AdjustedHeightUnitOfMeasurement = $jResp->stringOf("RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.UnitOfMeasurement"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].TaxCharges"); while ($j < $count_j) { $jResp->put_J($j); $v_Type = $jResp->stringOf("RateResponse.RatedShipment[i].TaxCharges[j].Type"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].TaxCharges[j].MonetaryValue"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges"); while ($j < $count_j) { $jResp->put_J($j); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Description"); $CurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].CurrencyCode"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].MonetaryValue"); $SubType = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].SubType"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges"); while ($j < $count_j) { $jResp->put_J($j); $v_Type = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].Type"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].MonetaryValue"); $j = $j + 1; } $j = 0; $count_j = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedPackage"); while ($j < $count_j) { $jResp->put_J($j); $BaseServiceChargeCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.CurrencyCode"); $BaseServiceChargeMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.MonetaryValue"); $TransportationChargesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.CurrencyCode"); $TransportationChargesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.MonetaryValue"); $ServiceOptionsChargesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.CurrencyCode"); $ServiceOptionsChargesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.MonetaryValue"); $TotalChargesCurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.CurrencyCode"); $TotalChargesMonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.MonetaryValue"); $Weight = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].Weight"); $UnitOfMeasurementCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Code"); $UnitOfMeasurementDescription = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Description"); $BillingWeightWeight = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.Weight"); $SimpleRateCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].SimpleRate.Code"); $k = 0; $count_k = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial"); while ($k < $count_k) { $jResp->put_K($k); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Description"); $k = $k + 1; } $k = 0; $count_k = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges"); while ($k < $count_k) { $jResp->put_K($k); $Code = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Code"); $Description = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Description"); $CurrencyCode = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].CurrencyCode"); $MonetaryValue = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].MonetaryValue"); $SubType = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].SubType"); $k = $k + 1; } $k = 0; $count_k = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges"); while ($k < $count_k) { $jResp->put_K($k); $nullVal = $jResp->IsNullOf("RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges[k]"); $k = $k + 1; } $k = 0; $count_k = $jResp->SizeOfArray("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier"); while ($k < $count_k) { $jResp->put_K($k); $ModifierType = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierType"); $ModifierDesc = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierDesc"); $Amount = $jResp->stringOf("RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].Amount"); $k = $k + 1; } $j = $j + 1; } $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.