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
(Delphi ActiveX) UPS Rate RequestSee more UPS ExamplesSimple UPS Rate Example For more information, see https://developer.ups.com/api/reference?loc=en_US#operation/Rate
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; json: TChilkatJsonObject; jsonToken: TChilkatJsonObject; success: Integer; resp: IChilkatHttpResponse; sbResponseBody: TChilkatStringBuilder; jResp: TChilkatJsonObject; respStatusCode: Integer; Level: WideString; j: Integer; count_j: Integer; Value: WideString; ServiceCode: WideString; ServiceDescription: WideString; RateChart: WideString; BillableWeightCalculationMethod: WideString; RatingMethod: WideString; UnitOfMeasurementCode: WideString; UnitOfMeasurementDescription: WideString; Weight: WideString; CurrencyCode: WideString; MonetaryValue: WideString; BaseServiceChargeCurrencyCode: WideString; BaseServiceChargeMonetaryValue: WideString; GrossChargeCurrencyCode: WideString; GrossChargeMonetaryValue: WideString; DiscountAmountCurrencyCode: WideString; DiscountAmountMonetaryValue: WideString; DiscountPercentage: WideString; NetChargeCurrencyCode: WideString; NetChargeMonetaryValue: WideString; Density: WideString; TotalCubicFeet: WideString; ServiceOptionsChargesCurrencyCode: WideString; ServiceOptionsChargesMonetaryValue: WideString; TotalChargesCurrencyCode: WideString; TotalChargesMonetaryValue: WideString; TotalChargesWithTaxesCurrencyCode: WideString; TotalChargesWithTaxesMonetaryValue: WideString; TotalChargeCurrencyCode: WideString; TotalChargeMonetaryValue: WideString; PickupDate: WideString; DocumentsOnlyIndicator: WideString; PackageBillType: WideString; GuaranteedIndicator: WideString; Disclaimer: WideString; Date: WideString; Time: WideString; BusinessDaysInTransit: WideString; PickupTime: WideString; DayOfWeek: WideString; CustomerCenterCutoff: WideString; DelayCount: WideString; HolidayCount: WideString; RestDays: WideString; TotalTransitDays: WideString; SaturdayDelivery: WideString; SaturdayDeliveryDisclaimer: WideString; SundayDelivery: WideString; SundayDeliveryDisclaimer: WideString; AutoDutyCode: WideString; TimeInTransitDisclaimer: WideString; ScheduledDeliveryDate: WideString; RoarRatedIndicator: WideString; SubType: WideString; Quantity: WideString; TypeCode: WideString; TypeDescription: WideString; UnitOfMeasurement: WideString; Length: WideString; Width: WideString; Height: WideString; AdjustedHeightValue: WideString; AdjustedHeightUnitOfMeasurement: WideString; v_Type: WideString; TransportationChargesCurrencyCode: WideString; TransportationChargesMonetaryValue: WideString; BillingWeightWeight: WideString; SimpleRateCode: WideString; k: Integer; count_k: Integer; nullVal: Integer; ModifierType: WideString; ModifierDesc: WideString; Amount: WideString; Code: WideString; Description: WideString; CustomerContext: WideString; i: Integer; count_i: Integer; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := TChilkatHttp.Create(Self); // 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 := TChilkatJsonObject.Create(Self); 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 := TChilkatJsonObject.Create(Self); success := jsonToken.LoadFile('qa_data/tokens/ups_oauth2_token.json'); if (success <> 1) then begin Memo1.Lines.Add('Failed to load ups_oauth2_token.json'); Exit; end; // 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.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 := http.PostJson3('https://wwwcie.ups.com/api/rating/{$version}/{$requestoption}?additionalinfo=string','application/json',json.ControlInterface); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; sbResponseBody := TChilkatStringBuilder.Create(Self); resp.GetBodySb(sbResponseBody.ControlInterface); jResp := TChilkatJsonObject.Create(Self); jResp.LoadSb(sbResponseBody.ControlInterface); jResp.EmitCompact := 0; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(jResp.Emit()); // ---------------------------------------------------------------------------------------------------------- // 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.StatusCode; Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(resp.Header); Memo1.Lines.Add('Failed.'); Exit; end; // 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 do begin jResp.I := i; Code := jResp.StringOf('RateResponse.Response.Alert[i].Code'); Description := jResp.StringOf('RateResponse.Response.Alert[i].Description'); i := i + 1; end; i := 0; count_i := jResp.SizeOfArray('RateResponse.Response.AlertDetail'); while i < count_i do begin jResp.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 do begin jResp.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; end; i := i + 1; end; i := 0; count_i := jResp.SizeOfArray('RateResponse.RatedShipment'); while i < count_i do begin jResp.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 do begin jResp.J := j; Code := jResp.StringOf('RateResponse.RatedShipment[i].Disclaimer[j].Code'); Description := jResp.StringOf('RateResponse.RatedShipment[i].Disclaimer[j].Description'); j := j + 1; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].RatedShipmentAlert'); while j < count_j do begin jResp.J := j; Code := jResp.StringOf('RateResponse.RatedShipment[i].RatedShipmentAlert[j].Code'); Description := jResp.StringOf('RateResponse.RatedShipment[i].RatedShipmentAlert[j].Description'); j := j + 1; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].ItemizedCharges'); while j < count_j do begin jResp.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; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits'); while j < count_j do begin jResp.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; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].TaxCharges'); while j < count_j do begin jResp.J := j; v_Type := jResp.StringOf('RateResponse.RatedShipment[i].TaxCharges[j].Type'); MonetaryValue := jResp.StringOf('RateResponse.RatedShipment[i].TaxCharges[j].MonetaryValue'); j := j + 1; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges'); while j < count_j do begin jResp.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; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges'); while j < count_j do begin jResp.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; end; j := 0; count_j := jResp.SizeOfArray('RateResponse.RatedShipment[i].RatedPackage'); while j < count_j do begin jResp.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 do begin jResp.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; end; k := 0; count_k := jResp.SizeOfArray('RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges'); while k < count_k do begin jResp.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; end; k := 0; count_k := jResp.SizeOfArray('RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges'); while k < count_k do begin jResp.K := k; nullVal := jResp.IsNullOf('RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges[k]'); k := k + 1; end; k := 0; count_k := jResp.SizeOfArray('RateResponse.RatedShipment[i].RatedPackage[j].RateModifier'); while k < count_k do begin jResp.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; end; j := j + 1; end; i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.