Introduction
The TEC Mailing Solutions Parcel Prep capability allows a Salesforce user to update the shipping information about a package and execute label preparation for any common carrier (UPS, FedEx, USPS). Typically it is considered best practice to utilize the TEC Mailing Solutions Verify and Confirm functions first (which will ensure that the address you are shipping to is CASS and NCOA validated).
Function Overview
The capabilities in this API are very straightforward. There are 3 possible functions that can be invoked: Create Package, Update Package, and Delete Package. Each is self-explanatory. You can execute these functions multiple times (using either USPS, FedEx, or UPS carriers to determine rates)
Implementation Strategy
Once you have mapped all the desired fields, you can either invoke the APIs via the Universal Action Component on the Salesforce page you are using to execute the service (which would be a manual process to launch the request), or you can automate the call functions via FLOW or Trigger if you wish to automate the request for service within your business process.
Implementation Instructions
Create Package
Map all the fields listed as Outbound fields in the data dictionary as indicated. Ensure that all the inbound fields have been created and mapped as well. Make sure you record the return response from the Inbound fields as PackageID and also Tracking Number. These will be required later if you modify or delete the package. Review the return data response to assess pricing and other details. If needed, make a different request (e.g. change providers from FedEx to USPS), and review that response.
Update Package
Map all the fields listed as Outbound fields in the data dictonary. (Note: these are the same fields from the Create function - so you will likely have the mappings easily identifiable.) Two key data fields are the PackageID and Tracking Number (which should have been returned to Salesforce when the Create Package was successful). Also map the inbound fields so that you have messaging and response IDs related to the request.
Delete Package
Map all the fields listed as Outbound fields in the data dictionary, especially important - you must have PackageID and Tracking number so that these fields can be used to find the package to Delete.
API Function Data Dictionary
This document provides details on the Nexus API fields, their event types, and data types grouped by API function.
Create Package
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| customerReferenceNumber2 | Inbound | Text |
| customerReferenceNumber | Inbound | Text |
| postage | Inbound | Number |
| cost | Inbound | Number |
| packageId | Inbound | Text |
| rateType | Inbound | Text |
| base64 | Inbound | Text |
| isSuccessful | Inbound | Boolean |
| OriginatingRecordId | Inbound | Text |
| message | Inbound | Text |
| serviceType | Inbound | Text |
| trackingNumber | Inbound | Text |
| carrier | Inbound | Text |
| customerReferenceNumber3 | Inbound | Text |
| customerReferenceNumber | Outbound | Text |
| customerReferenceNumber3 | Outbound | Text |
| fromFirm | Outbound | Text |
| fromName | Outbound | Text |
| toAddressLine2 | Outbound | Text |
| girth | Outbound | Number |
| isPoBox | Outbound | Boolean |
| toZip4 | Outbound | Text |
| fromCity | Outbound | Text |
| fromAddressLine1 | Outbound | Text |
| machinable | Outbound | Boolean |
| isOrmd | Outbound | Boolean |
| toName | Outbound | Text |
| fromZip4 | Outbound | Text |
| packageContainerType | Outbound | Text |
| carrier | Outbound | Text |
| outputLabelType | Outbound | Text |
| fromZip5 | Outbound | Text |
| toFirm | Outbound | Text |
| weightInOunces | Outbound | Number |
| length | Outbound | Number |
| fromPhone | Outbound | Text |
| fromState | Outbound | Text |
| toCity | Outbound | Text |
| toAddressLine1 | Outbound | Text |
| serviceType | Outbound | Text |
| fromAddressLine2 | Outbound | Text |
| processingCategory | Outbound | Number |
| toState | Outbound | Text |
| toPhone | Outbound | Text |
| toZip5 | Outbound | Text |
| width | Outbound | Number |
| shipDate | Outbound | Text |
| signatureRequired | Outbound | Boolean |
| notificationEmailAddresses | Outbound | Text |
| businessRuleType | Outbound | Text |
| height | Outbound | Number |
| customerReferenceNumber2 | Outbound | Text |
| carrierExtraServices | Outbound | Text |
Update Package
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| messag | Inbound | Text |
| trackingNumber | Inbound | Text |
| carrier | Inbound | Text |
| packageId | Inbound | Text |
| serviceType | Inbound | Text |
| cost | Inbound | Number |
| isSuccessful | Inbound | Boolean |
| OriginatingRecordId | Inbound | Text |
| postage | Inbound | Number |
| height | Outbound | Number |
| packageId | Outbound | Text |
| girth | Outbound | Number |
| trackingNumber | Outbound | Text |
| width | Outbound | Number |
| length | Outbound | Number |
| weightInOunces | Outbound | Number |
Delete Package
| Nexus API Field Name | Event Type | Data Type |
|---|---|---|
| message | Inbound | Text |
| isSuccessful | Inbound | Boolean |
| packageId | Inbound | Text |
| OriginatingRecordId | Inbound | Text |
| trackingNumber | Outbound | Text |
| packageId | Outbound | Text |