Mappings between the addContainerToManifest API on theSterling Order Management System Software and the shipCarton API on the carrier adapter
This topic describes the input XML for the field-level mapping between the addContainerToManifest API on the Sterling™ Order Management System Software and the shipCarton API on the Carrier Adapter.
| Field Name | Comments | Platform |
|---|---|---|
| UPSPLD | ||
| Carrier | Required | YFS_SHIPMENT.scac |
| PackageLevelDetail | The Package Level Detail Record (0100) - is written for every package shipped. This is a mandatory record for both domestic and international shipments. | |
| ManifestNumber | Required | YFS_MANIFEST.manifest_no (open manifest as obtained by packShipment API for a given shipnode and carrier) |
| ShipId | Required | YFS_SHIPMENT_CONTAINER
.container_no. |
| PickupDate | Required | YFS_MANIFEST.manifest_date |
| ShipperAccountNumber | Required | YFS_MANIFEST.shipper
_account_no |
| BookNumber | Required | YFS_MANIFEST.pickup_
summary_no (substring 0-7) |
| PageNumber | Required | YFS_MANIFEST.pickup_
summary_no (substring 8-10) |
| ShipmentNumber | Required | YFS_SHIPMENT.shipment_no |
| PackageTrackingNumber | Required | <spaces> |
| SPFVersion | Required | Default 0505 |
| Acctnumber | Conditional | Computed based on
YFS_FREIGTH_TERMS.charges _paid_by. It can be YFS_SHIPMENT.Custcarrier _Account_No/YFS_SCAC_ Ex.account1. |
| CompanyName | Required | YFS_PERSON_INFO.company corresponding to YFS_SHIPMENT.to_address_key. |
| ConsigneeAttn | Conditional | YFS_PERSON_INFO.first_name +
YFS_PERSON_INFO.middle_ name + YFS_PERSON_INFO. last_name corresponding to YFS_SHIPMENT. to_address_key. |
| CAddr1 | Required | YFS_PERSON_INFO.address_
line1 corresponding to YFS_SHIPMENT.to_address_key. |
| CAddr2 | Optional | YFS_PERSON_INFO.address_
line2 corresponding to YFS_SHIPMENT.to_address_key. |
| CAddr3 | Optional | YFS_PERSON_INFO.address_
line3 corresponding to YFS_SHIPMENT.to_address_key. |
| CCity | Required | YFS_PERSON_INFO.city
corresponding to YFS_SHIPMENT.to_address _key. |
| CStateProv | Conditional | YFS_PERSON_INFO.state
corresponding to YFS_SHIPMENT.to_address_key. |
| CPostalCode | Conditional | YFS_PERSON_INFO.zip_code
corresponding to YFS_SHIPMENT.to_address_key. |
| CPhone | Conditional | YFS_PERSON_INFO.day_phone
corresponding to YFS_SHIPMENT.to_address_key. |
| ShipmentChgType | Required | Computed based on
YFS_FREIGHT_TERMS.charges_ paid_by and corresponding YFS_SCAC_Ex entry. Possible values are COL,TPB, PRE. |
| CWTInd | Conditional | Set to '0' (zero) to indicate
Not HunderedWeight. |
| ServiceType | Required | YFS_SCAC_AND_SERVICE.
electronic_code corresponding to YFS_SHIPMENT.scac and YFS_SHIPMENT.carrier_service_ code. |
| Packagetype | Required | 02" to indicate Package.
|
| DeliveryZone | Optional | <spaces>
|
| Actualweight | Required | YFS_SHIPMENT_CONTAINER.
container_gross_weight after applying the carrier locale weight UOM. |
| PkgpublishedDimWt | Required | Computed
|
| UOMWeight | Optional | Weight UOM of the Ship|
Node |
| UOMDim | UOM Dim | Dimension UOM of the Ship
Node |
| CODAmount | Required | 0
|
| CODFundsInd | Conditional | <spaces> |
| Currencycode | Required | YFS_SHIPMENT.currency. |
| CallTag_ARSInd | Required | 0 - to indicate no call tag. |
| Calltag_ARSSchedulePickDate | Optional | <spaces> |
| MerchandiseDescription | Conditional | <spaces> |
| SatDeliveryInd | Required | 0" for not opting for this service. |
| SaturdayPickupInd | Required | 0" for not opting for this service. |
| OversizePackageInd | Required | YFS_SHIPMENT_CONTAINER.
oversized_flag is Y, then indicator is passed as 1, or else 0. |
| DeclaredValueInsurance | Required | YFS_SHIPMENT_CONTAINER
.declared_value |
| ResInd | Required | YFS_PERSON_INFO.company
corresponding to YFS_SHIPMENT.to_address_key is nonblanks, it is assumed to be 0 to indicate commercial or else 1 for residential. |
| DCISType | Conditional | <spaces> |
| CustomerRefNumberType1 | Optional | <spaces> |
| CustomerRefNumber1 | Optional | <spaces> |
| CustomerRefNumberType2 | Optional | <spaces> |
| CustomerRefNumber2 | Optional | <spaces> |
| ShipmentReferenceNoType1 | Optional | <spaces> |
| ShipmentReferenceNo1 | Optional | <spaces> |
| ShipmentReferenceNoType2 | Optional | <spaces> |
| ShipmentReferenceNo2 | Optional | <spaces> |
| CODControlNumber | Optional | <spaces> |
| CallTag_ARSNumber | Optional | <spaces> |
| CODInd | Required | <spaces> |
| CODCurrencycode | Conditional | <spaces> |
| IncrementalPldInd | Required | <spaces> |
| DocInd | Required | Default to ‘3' to indicate non document/package. |
| ShipperEIN | Optional | <spaces> |
| ShipperCountry | Required | YFS_PERSON_INFO.country
corresponding to YFS_SHIPMENT.shipnode_key's YFS_SHIP_NODE.shipnode_ address_key. |
| SenderName | Optional | <spaces> |
| ConsigneeTagID | Optional | <spaces> |
| ConsigneeCountry | Required | YFS_PERSON_INFO.country corresponding to YFS_SHIPMENT.to_address_key. |
| CalculatedRatesInd | Required | <spaces> |
| SourceTypeCode | Required | Default to ‘20' to indicate host access. |
| AccessorialRecord | AccessorialRecord (0200) is valid for both domestic and international shipments. This record is written only when UPS special services are used. | |
| ShipperCreditCardNo | Required | <spaces> |
| ShipperCreditCardExpDate | Required | <spaces> |
| AdditionalHandlingInd | Required | Default to ‘0'. |
| ExtendedDestInd | Required | <spaces> |
| HazMat | Required | YFS_SHIPMENT.hazardous material is Y, then indicator is 1, else 0. |
| HoldForPickupInd | Required | Default to '0' (do not hold for pickup). |
| ModifyInd | Required | Default to ‘0'. |
| OCAIndicator | Required | Default to ‘0'. |
| VoidInd | Required | 0 |
| PackageLength | Required | YFS_SHIPMENT_CONTAINER
.container_length |
| PackageWidth | Required | YFS_SHIPMENT_CONTAINER
.container_width |
| PackageHeight | Required | YFS_SHIPMENT_CONTAINER
.container_height |
| SpecialInstructions | Optional | <spaces> |
| VerbalConfirmationName | Conditional | YFS_PERSON_INFO.first_name +
YFS_PERSON_INFO.middle_ name + YFS_PERSON_INFO .last_name corresponding to YFS_SHIPMENT.to_address_key. |
| VerbalConfirmationPhone | Conditional | YFS_PERSON_INFO.day_phone corresponding to YFS_SHIPMENT.to_address_key. |
| EarliestDeliveryTime | Optional | <spaces> |
| ShipmentCreditCardNumber | Conditional | <spaces> |
| ShipmentCreditCardExpDate | Conditional | <spaces> |
| ConsigneeNumber | Optional | <spaces> |
| ConsigneeCreditCardNo | Required | <spaces> |
| ConsigneeCreditCardExpDate | Required | <spaces> |
| DCISNumber | Optional | <spaces> |
| ConsigneeFaxDestinationInd | Optional | <spaces> |
| ConsigneeFax | Optional | <spaces> |
| ExperssCODTrackingNumber | Required | <spaces> |
| CustomerReferenceNumberType3 | Optional | <spaces> |
| CustomerReferenceNumber3 | Optional | <spaces> |
| CustomerReferenceNumberType4 | Optional | <spaces> |
| CustomerReferenceNumber4 | Optional | <spaces> |
| CustomerReferenceNumberType5 | Optional | <spaces> |
| CustomerReferenceNumber5 | Optional | <spaces> |
| PackageTrackingNumber | Required | YFS_Shipment_Container.
Tracking_No |
| AlternatePartyRecord | AlternateParty Record (0300) is valid for both domestic and international shipments. For domestic, this record is written only when freight term is 'Third Party Billing'. For International shipments, this record is written for Importer and Exporter Address. | |
| AlternatePartyType | Required | For domestic shipments: This field is set to '03'/'04'. For international shipments: This field is set to '02' always. |
| ID_AcctNumber | Conditional | YFS_SCAC_EX.account1 |
| PODReplyType | Conditional | <spaces> |
| APCompanyName | Required | YFS_PERSON_INFO.company corresponding to YFS_SHIPMENT.enterprise_code's billing_address_key. |
| APAttention | Conditional | YFS_PERSON_INFO.first_name
+ YFS_PERSON_INFO.| last_name corresponding to YFS_SHIPMENT. enterprise_code's billing _address_key. |
| APAddr1 | Required | YFS_PERSON_INFO.address_
line1 corresponding to YFS_SHIPMENT.enterprise_ code's billing_address_key. |
| APAddr2 | Optional | YFS_PERSON_INFO.address_
line2 corresponding to YFS_SHIPMENT.enterprise_ code's billing_address_key. |
| APAddr3 | Optional | YFS_PERSON_INFO.address_
line3 corresponding to YFS_SHIPMENT.enterprise_ code's billing_address_key. |
| APCity | Required | YFS_PERSON_INFO.city corresponding to YFS_SHIPMENT.enterprise_code's billing_address_key. |
| APStateProv | Conditional | YFS_PERSON_INFO.state corresponding to YFS_SHIPMENT.enterprise_code's
billing_address_key. Note: This field value
can only contain a maximum of 5 characters.
|
| APPostalCode | Conditional | YFS_PERSON_INFO.zip_code corresponding to YFS_SHIPMENT.enterprise_code's billing_address_key. |
| APcountry | Required | YFS_PERSON_INFO.country corresponding to YFS_SHIPMENT.enterprise_code's billing_address_key. If International it is hardcoded to 'US'. |
| Filler1 | Required | |
| APPhone | Conditional | YFS_PERSON_INFO.day_
phone_no corresponding to YFS_SHIPMENT.enterprise _code's billing_address_key |
| APFaxDestInd | Conditional | <spaces> |
| APFax | Optional | <spaces> |
| LangCode | Optional | <spaces> |
| CreditCardNo | Required | <spaces> |
| CreditCardExpDate | Required | <spaces> |
| TaxId | Optional | <spaces> |
| AddrType | Required | <spaces> |
| PackageTrackingNumber | Required | YFS_Shipment_Container.
Tracking_No |
| AdvisoryInformationRecord | AdvisoryInformationRecord (0400) is required for E-mail or Fax Shipment Notification. | |
| AdvisoryInfoLevel | Required | Default to 'P'. |
| SNFaxDestInd1 | Conditional | If YFS_PERSON_INFO.day_fax_no != "" set this field to 0. US, PR, CA, and VI Fax/Phone only 1 Fax/Phone to all other countries. |
| SNFaxNumber1 | Conditional | YFS_PERSON_INFO.day_fax_no corresponding to YFS_SHIPMENT.to_address_key. |
| SNLangCode | Optional | <spaces> |
| SNCompName1 | Optional | YFS_PERSON_INFO.company corresponding to YFS_SHIPMENT.to_address_key. |
| SNAttnName1 | Conditional | YFS_PERSON_INFO.first_name
+ YFS_PERSON_INFO.middle _name + YFS_PERSON_ INFO.last_name corresponding to YFS_SHIPMENT.to_address _key. |
| SNContactPhone1 | Conditional | YFS_PERSON_INFO.day_phone corresponding to YFS_SHIPMENT.to_address_key. |
| SNFaxDestInd2 | Conditional | <spaces> |
| SNFaxNumber2 | Conditional | <spaces> |
| SNLangCode2 | Optional | <spaces> |
| SNCompanyName2 | Optional | <spaces> |
| SNAttnName2 | Conditional | <spaces> |
| SNContactPhone2 | Conditional | <spaces> |
| AltrofileAccessNumber | Required | <spaces> |
| SNTypeDestination1 | Required | <spaces> |
| SNEmailAddrDest1 | Conditional | YFS_PERSON_INFO.email_id corresponding to YFS_SHIPMENT.to_address_key. |
| SNTypeDestination2 | Required | Set to ‘0' |
| SNEmailAddrDest2 | Conditional | <spaces> |
| SNMemo | Optional | <spaces> |
| PackageTrackingNumber | Required | YFS_Shipment_Container.
Tracking_No |
| InternationalRecord | InternationalRecord (0500) is required if Importer, Exporter, Shipper To Consignee, or Commodity information is provided and whenever shipper and consignee countries are not the same. This record is written once for one shipment. If a shipper has 3 packages, only one 0500 record is written, whereas three 0100 records are written. | |
| RecordType | Required | 0500 |
| InvoiceDate | Optional | YFS_MANIFEST.manifest_date (manifest no from YFS_SHIPMENT). |
| WaybillPrintInd | Conditional | 0 |
| InvoiceLineTotals | Required | YFS_CONTAINER_DETAILS.
quantity * YFS_ORDER_ LINE * unit_price (for all lines in the container). |
| InvoiceCurrencyCode | Conditional | YFS_SHIPMENT.currency |
| ShipmentInsuranceDeclaredValue | Required | YFS_MANIFEST.manifest_date (manifest no from YFS_SHIPMENT). |
| ConsolidatedClearQty | Required | 0 |
| UltimateDestCountry | Conditional | YFS_PERSON_INFO.country corresponding to YFS_SHIPMENT.to_address_key. |
| Filler | <spaces> | |
| SEDCode | Optional | <spaces> |
| ShipmentSEDCASNum | Optional | <spaces> |
| InvoiceNumber | Optional | YFS_SHIPMENT.shipment_no |
| PONumber | Optional | <spaces> |
| DescriptionOfGoods | Required | YFS_ITEM.nmfc_code. Item_Id
taken from CONTAINER_ DETAILS.item_id with YFS_SHIPMENT_ CONTAINER.container_ no (leadpackage) as criteria. |
| SpecialInstructions | Optional | <spaces> |
| PartiesToTrans | Conditional | <spaces> |
| TermsOfShipment | Optional | <spaces> |
| PaymentTerms | Optional | <spaces> |
| Filler | <spaces> | |
| FreightCharges | Required | 0 |
| InsuranceCharges< | Required | 0 |
| DiscountRebate | Required | 0 |
| OtherCharges | Required | 0 |
| WaybillNumber/BrokerageID | Conditional | YFS_SHIPMENT.shipment_no |
| COCode | Optional | <spaces> |
| OtherDocCode | Optional | <spaces> |
| ReasonForExport | Optional | <spaces> |
| InvoiceSubTotal | Required | <spaces> |
| TotalInvoiceAmount | Required | <spaces> |
| BrokerCode | Optional | <spaces> |
| DestinationControl | Conditional | <spaces> |
| ShipmentCommodityOrigin | Conditional | <spaces> |
| Filler3 | Required | |
| PackageTrackingNumber | Required | <spaces> |
| CommodityRecord | CommodityRecord (0600) contains commodity information that is used for rating and customs clearance purposes. It is required if the shipment travels within the European Union and contains “Goods Not in Free Circulation”. One 0600 record is written for each line in the shipper. If a shipper on the Sterling Order Management System Software has 4 records in the YFS_SHIPMENT_DTL table, four 0600 records are written. | |
| RecordType | Required | 0600 |
| InvoiceLineNumber | Required | YFS_SHIPMENT_LINE.prime
_line_no for the corresponding YFS_CONTAINER_ DETAILS record. |
| CommodityCode | Optional | YFS_ITEM.harmonized_code of
YFS_CONTAINER_ DETAILS.item_id (catalog org and uom). |
| PartNumber | Optional | YFS_ITEM.item_id of
YFS_CONTAINER_ DETAILS.item_id (catalog org and uom). |
| LineOriginCountry | Required | YFS_ITEM.country_of_origin of
YFS_CONTAINER_DETAILS. item_id (catalog org and uom). |
| LineCurrencyCode | Optional | YFS_SHIPMENT.currency
|
| ECCN | Optional | YFS_ITEM.eccn_no of
YFS_CONTAINER_DETAILS .item_id (catalog org and uom). |
| LineUnitAmtPrice | Required | YFS_ORDER_LINE.line_price of
YFS_CONTAINER_DETAILS. order_line_key * YFS_ CONTAINER_DETAILS.quantity. If its shipment container, we compute by getting item object from shipment and shipment container. |
| LineQuantity | Required | sum(YFS_CONTAINER_
DETAIL.quantity) for every unique item. |
| LineQtyUOM | Required | YFS_CONTAINER_DETAILS.uom
|
| LineLicenseInfo | Conditional | YFS_SHIPMENT_CONTAINER.
export_license_no |
| LineLicenseExpDate | Conditional | YFS_SHIPMENT_CONTAINER.
export_license_exp_date |
| LineMerchDesc1 | Required | YFS_ITEM.item_desc of
YFS_CONTAINER_DETAILS. item_id (catalog org and uom). |
| LineMerchDesc2 | Optional | <spaces> |
| LineMerchDesc3 | Optional | <spaces> |
| CertOfOriginNo | Optional | YFS_SHIPMENT.shipment_no |
| CertOfOriginCode | Conditional | <spaces> |
| AgreementType | Optional | <spaces> |
| CommodityRemarks | Optional | <spaces> |
| QuantityScheduledUnits | Conditional | YFS_CONTAINER_DETAIL.
quantity |
| Marks&Numbers | Optional | <spaces>
|
| CommodityWeight | Required | YFS_ORDER_LINE.item_weight
of YFS_CONTAINER_DETAILS. order_line_key * YFS_CONTAINER_DETAILS. quantity. If its shipment container, we compute by getting the item object from shipment and shipment container. |
| NumberOfPackagesPerCmmdty | Conditional | <spaces>
|
| SEDLineAmt | Required | YFS_ORDER_LINE.line_price of
YFS_CONTAINER_DETAILS. order_line_key * YFS_ CONTAINER_DETAILS.quantity. If its shipment conatainer, we compute by getting the item object from shipment and shipment container. |
| COType | Required | Defaulted to 0.
|
| SEDInd | Required | Defaulted to 0.
|
| LineExtendedAmt | Required | YFS_ORDER_LINE.line_price of
YFS_CONTAINER_DETAILS. order_line_key * YFS_ CONTAINER_DETAILS.quantity. If its shipment container, we compute by getting the item object from shipment and shipment container. |
| Filler | <spaces>
|
|
| PackageTrackingNumber | Required | YFS_Shipment_Container.
Tracking_No |
| AdditionalCommentsRecord | AdditionalCommentsRecord (0700) contains additional statements and information for an international shipment. | |
| RecordType | Required | 0700 |
| DeclarationStatement | Optional | <spaces> |
| AdditionalComments | Optional | <spaces> |
| Filler1 | <spaces> | |
| PackageTrackingNumber | Required | <spaces> |
| SpecialServicesRecord | SpecialServicesRecord contains SpecialService child elements for each of the special service the shipment/order have. | |
| Service | Optional | YFS_SPECIAL_SERVICE_REF.
service_code |
| ExtraFieldsRecord | ExtraFieldsRecord contains statements and information extra fields. | |
| LableFormatValue | Optional | <spaces> |
| ReferenceNotes | Optional | YFS_SHIPMENT.shipment_no+
YFS_SHIPMENT_CONTAINER.| container_Scm. |
| SunDeliveryInd | Optional | <spaces> |
| ThermalLabelPrinterID | Optional | Determined by calling getPrinterId. |
Output XML for a field-level mapping
This is the output XML for the field-level mapping between the addContainerToManifest API on the Sterling Order Management System Software and the shipCarton API on the Carrier Adapter:
| Field Name | Platform | |
|---|---|---|
| TotalErrors | The total number of errors returned by the Carrier Server | |
| ErrorCode | The error code returned by the Carrier Server | |
| ErrorDescription | The description of the error code returned by the Carrier Server. | |
| CODReturnTrackingNo | YFS_SHIPMENT_CONTAINER.COD_
Return_tracking_No |
|
| TrackingNumber | YFS_SHIPMENT_CONTAINER.tracking_no | |
| TotalSurchargeAmt | YFS_SHIPMENT_CONTAINER.
special_services_surcharge |
|
| NetCharge | YFS_SHIPMENT_CONTAINER.actual_freight_charge | |
| BilledWeight | YFS_SHIPMENT_CONTAINER.applied_weight | |
| PrintBuffer | The print buffer returned by the Carrier Server. | |
| DeliveryDay | YFS_SHIPMENT_CONTAINER.delivery_day | |
| UPS_Routing_Code | YFS_SHIPMENT_CONTAINER.UPS_Routing_Code | |