Mappings between the addContainerToManifest API on theSterling Selling and Fulfillment Foundation 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 Selling and Fulfillment Foundation 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 Selling and Fulfillment Foundation 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 Selling and Fulfillment Foundation 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