Overview
The SMC3 EVA integration provides several pieces of functionality for tendering, tracking, and managing documents for Loads.
Quoting: Bulk rate Loads with the SMC3 RateWare integration.
Automated PRO Assignment: Request a PRO Number that is placed on the Bill of Lading.
Dispatch: Book a Carrier for the Load or cancel Load Tenders.
Status Notifications: Load status updates are sent to the TMS.
Document Notifications: SMC3 sends document updates to the TMS.
Setup
To enable the SMC3 EVA integration for an org, open a case with Revenova Support.
Include the Client ID field provided by SMC3 when creating the case.
The Client ID is registered and is returned with a Revenova-provided password. Enter this password into the Password 3 field on the credential card.
Enter Credentials
Enable the SMC3 EVA integration by completing the following steps.
Navigating to TMS Admin,
Select Credentials.
Select the Global Services tab,
Find SMC3 EVA in the list and open the card.
Check the Enabled and Receive Updates boxes.
Enter the User ID, Password 1, Password 2, and Password 3 into the text fields. Password 3 is provided by Revenova.
Click the Save button when finished.
A success message displays and the Callback Endpoint Created box is Checked.
Valid credentials are required from an SMC3 EVA subscription. See examples in the table below.
User ID | Password 1 | Password 2 | Password 3 | Customer Number |
---|---|---|---|---|
EVA Access Id | Client Id | Client Secret | Revenova Provided |
The SMC3 EVA Access Id, Client Id, and Client Secret are provided by SMC3. Enter the same credentials for testing in a sandbox. When sandbox testing is complete, turn off the integration. Uncheck the Enabled box on the Credential card in TMS Admin → Credentials in the sandbox environment. Click Save.
SMC3 EVA credentials should only be enabled in production to ensure notifications and documents are sent to the correct environment.
Remote Site Settings
Upgrading from previous versions of the TMS may have outdated information. If using additional SMC3 integrations with EVA, check that the Remote Site Settings for the CarrierConnect, EVA, and RateWare URLs are up to date.
Click the Setup gear icon in the top right corner.
From the drop-down, click Setup.
In the Quick Find Toolbar type Remote Site Settings and click the link.
From the list of remote sites find SMC3 and click the Edit link.
Update the Remote Site URLs to match the Service URLs below.
Service URL: https://smc3proxy.revenova.com/
Test Service URL: https://smc3proxy.revenova.com/
RateWare Quoting & Tendering/Tracking with EVA
Hybrid API Carrier Services that use SMC3 RateWare for quoting may use SMC3 EVA for tendering, tracking, and receiving Load documents. These Carrier Services must be created with the SMC3 EVA Credentials Id. Note that the API Provider field contains SMC3 EVA.
To receive quotes, valid credentials for SMC3 RateWare must be entered on the SMC3 RateWare credentials card. Navigate to TMS Admin → Credentials and enter active credentials.
Quotes are returned from SMC3 RateWare and stored on the Load. Once a quote is assigned, the SMC3 EVA integration continues the Load lifecycle. If necessary, create Accessorial Rate Entries to account for additional charges as SMC3 RateWare only supports Freight and Fuel based rates.
Set the Quote Method, Tender Method, and Status Method fields on the Carrier Services to API.
If not using the SMC3 RateWare integration for quoting, enter the appropriate Quote Method (Stored Rate, Email, Phone, or Fax) on the SMC3 EVA Carrier Services.
Accessorial Codes
SMC3 RateWare does not support rating with accessorial charges. Include additional charges on Loads by creating stored Accessorial Rate Entries. Accessorial services are sent to Carriers during the Dispatch call.
Create new or edit existing Accessorial records.
From the Related tab, click New on the API Accessorial related list.
From the API Provider picklist, select SMC3 EVA.
Add the SMC3 API Accessorial Code.
Click Save.
SMC3 EVA must support the accessorial charge(s) to include in the Dispatch call. Any unsupported accessorial codes sent to SMC3 EVA generate an error.
The TMS does not include any accessorial charges with the EXCL API Accessorial code as part of the Dispatch call. Follow the steps above for all unsupported accessorials and add EXCL as the API Accessorial code for the SMC3 EVA API Accessorials.
See SMC3 documentation for a list of supported Accessorial codes.
Service Levels
The SMC3 EVA integration supports requesting non-standard service from LTL Carriers. Select options for delivery dates and times. See more information on Service Levels.
Guaranteed Morning
Guaranteed Noon
Guaranteed End of Day
Standard
Is no Service Level is selected, the default Standard Service Level is sent to SMC3.
The Service Level field only displays on the Carrier quote builder if the Carrier Service contains SMC3 EVA credentials.
Specify Service Levels on Rate Entries to automatically add Service Levels to quotes. Create Rate Entries for each Carrier Service and add a Service Level as necessary.
When necessary, manually select a Service Level before tendering the Load to the Carrier.
SMC3 EVA API Code | Service Level |
---|---|
GTD_AM | Guaranteed Morning |
GTD_NOON | Guaranteed Noon |
GTD_PM | Guaranteed End of Day |
STND | Standard |
SMC3 EVA Integration Calls
Tendering, Tracking, and Managing Documents with the SMC3 EVA integration is completed with a series of API calls.
Automated PRO Assignment
Dispatch
Cancel Dispatch
Service Levels
Status Notifications
Document Notifications
See each section below for more specific call information.
The SMC3 EVA integration only supports 2 Stop Loads. If more than 2 Stop locations are included on a Load, no information returns.
SMC3 EVA does not support the same location for Pickup and Delivery Stops. If the same location is used as a Pickup and Delivery, users receive an error.
Automated PRO Assignment API Call
The Automated PRO Assignment call requests a PRO Number from the Carrier. The PRO Number is included on the Bill of Lading to assist in tracking the Load. When a PRO Number is returned, that is used to create a barcode. The TMS has an integration with TEC-IT to generate barcodes based on the PRO Number. See the barcode integration documentation for more information.
The Request PRO Number checkbox field on the Carrier Service record determines whether this call is made or not for a given Load. This field is only visible when Carrier Services created with SMC3EVA credentials are added to the Carrier quote on the FQA.
The Request PRO Number field only displays if the Carrier Service contains SMC3 EVA credentials.
When Request PRO Number is Checked, the Automated PRO Assignment call occurs when the Assign or Tender action is completed on the FQA.
The Carrier Service assigned to the Load and the Origin City, State, Zip on the load are sent to acquire the PRO Number.
Carrier Services with SMC3EVA credentials call to the SMC3 RateWare integration for quoting purposes. Quoting with AccuFRATE, Banyan, or Project44 does not allow tendering, tracking, and managing documents with the SMC3EVA integration.
TMS Operation | SMC3 Endpoint | Request Type | Response |
---|---|---|---|
Request a PRO Number | Automated PRO Assignment | POST | 200: Success 400: Malformed Request 500: Unexpected Error |
Sample Automated PRO Assignment Request Payload
{
"isTest": "true",
"origin": {
"city": "Louisville",
"stateProvince": "KY",
"postalCode": "40213",
"country": "USA"
}
}
TMS Fields Included
Object | Field | Type | SMC3 Field |
---|---|---|---|
(1P) Stop | City | Text(40) | city |
(1P) Stop | Country | Picklist | stateProvince |
(1P) Stop | Postal Code | Text(20) | postalCode |
(1P) Stop | State/Province | Picklist | country |
Transportation Profile | *SCAC | Text(6) | scac |
*Fields marked with an asterisk are required to request a PRO Number.
Sample Automated PRO Assignment Response Payload
{
"transactionId": "0a000a00-aaa0-00aa-000a-00aa00a00000",
"scac": "SMCA",
"proNumber": "12345678",
"messageStatus": {
"status": "PASS",
"code": "10000000",
"message": "Transaction was successful.",
"resolution": "",
"information": []
}
}
TMS Field Updates
Object | Field | Type | SMC3 Field |
---|---|---|---|
Load | PRO Number | Text(40) | proNumber |
Dispatch API
Once a Carrier Service is Assigned to the Load, the Dispatch call tenders the Load to the Carrier.
Tendering the Load to a Carrier requires the PRO Number returned from the Automated PRO Assignment call.
When quoting with Rateware, the Carrier Quote Service Level field is auto-populated from the Rate Entry.
The Dispatch call is sent when:
The Tender button on the FQA is clicked.
The Tender method on the Carrier Service is API.
The Carrier Service Credentials field matches a set of SMC3 EVA API credentials.
The following information is required to successfully send the Dispatch call and tender the Load.
Contact information is required for the first Stop and included automatically when present on the Account record.
All Stops require a Location account.
The first Stop Location account must have a value for the Shipping/Receiving Contact field. If the Shipping/Receiving Contact field is blank, an error is generated.
Any accessorial charges must be configured correctly.
Accessorial charges may be added to the Carrier quote after the quotes are returned from SMC3.
Accessorial charges added from the Carrier Quote record or related list - or from the Carrier Quote Builder - are not included in the Dispatch call when tendering the Load to the Carrier.
Accessorial charges added to the Load Accessorials related list on the Load Lightning Record Page are included in the Dispatch call when tendering the Load to the Carrier.
Include any special pickup or delivery information in the Stop Instructions field to send in the Dispatch call.
When sending Hazmat information, the TMS first checks the Line Item Hazmat Contact and Hazmat Contact Phone fields. If no values are present, the TMS checks the Account for Hazmat Contact and Phone fields.
Included in the Dispatch call is any API Accessorial codes from accessorial charges added to the Load. The API Accessorial code must be supported by SMC3 EVA. Any unsupported codes generate an error.
The first and last Stop Instructions fields are combined and sent in the Dispatch call.
When the Service Level field on the Carrier quote is blank, the default Standard value is sent in the Dispatch call.
When no Expected Delivery Date is included on the Load, no date is sent in the Dispatch call.
TMS Operation | SMC3 Endpoint | Request Type | Response |
---|---|---|---|
Tender Load to a Carrier | Dispatch | POST | 200: Success 400: Request Error 500: Unexpected Error |
TMS Fields Included
Object | Field | Type | SMC3 Field |
---|---|---|---|
*‘TEST’ or ‘CREATE’ | dispatchCode | ||
Account | *Name | Name | billTo → name |
Account (CarrierBillTo) | *TMS Type | Picklist (Multi-Select) | payer |
Account (shipFrom) | *Account Name | Name | origin → name |
Account (shipTo) | *Account Name | Name | destination → name |
Account | *Billing Address | Address | billTo → address, city, country, postalCode, stateProvince |
Account (shipFrom) | *Shipping Address | Address | origin → address, city, country, postalCode, stateProvince |
Account (shipTo) | *Shipping Address | Address | destination → address, city, country, postalCode, stateProvince |
API Accessorial | Code | Text(80) | accessorial → codes |
Carrier Quote | Quote/Contract Id | Text(100) | referenceNumbers → estimate |
Carrier Quote | *Service Level | Lookup(Service Level) | level |
Contact (shipFrom) | *Account Name | Name | contact → name |
Contact (shipFrom) | *Phone | Phone | contact → phone |
Contact (shipFrom) | contact → email | ||
Contact (shipTo) | Name | Name | contact → name |
Line Item | *Handling Units | Picklist | packagingType |
Line Item | Hazmat Contact | Lookup(Contact) | hazardousContact → name, phone |
Line Item | Height | Number(16, 2) | height |
Line Item | *HU Count | Number(18, 0) | pieces |
Line Item | *Item Description | Text(255) | description |
Line Item | Length | Number(16, 2) | length |
Line Item | *NMFC Class | Picklist | classification |
Line Item | *Weight | Number(18, 0) | weight |
Line Item | Width | Number(16, 2) | width |
Load | Bill of Lading Number | Text(55) | referenceNumbers → bol |
Load | Expected Delivery Date | Formula (Date) | delivery → date |
Load | *Expected Ship Date | Formula (Date) | pickupAvailability → date |
Load | *Payment Terms | Picklist | terms |
Load | PO Number | Text(100) | referenceNumbers → po |
Load | PRO Number | Text(40) | referenceNumbers → pro |
Stop (first) | *Appointment Time | Text(11) | pickupAvailability → startTime, endTime, closeTime |
Stop | Instructions | Long Text Area (2000) | shipmentComments |
User | *Company Name | Text(80) | name → requestor |
User | *Email Sender Address | requestor → contact → email | |
User | *Name | Name | requestor → contact → name |
User | *Phone | Phone | requestor → contact → phone |
*Fields marked with an asterisk are required to send a Dispatch request.
Sample Dispatch Request Payload
{
"dispatchCode": "CREATE",
"service": {
"level": "STND",
"delivery": {
"date": "20240320"
}
},
"shipmentComments": "PU: Pickup Instructions. Dlvy: Delivery Instructions",
"payment": {
"terms": "Third Party",
"payer": "Third Party"
},
"pickupAvailability": {
"date": "20240314",
"startTime": "090000",
"endTime": "220000",
"closeTime": "220000"
},
"commodities": [
{
"packagingType": "PAT",
"pieces": "3",
"classification": "250",
"weight": "650",
"length": "48",
"width": "48",
"height": "48",
"description": "Mixed"
}
],
"accessorials": {
"codes": []
},
"referenceNumbers": {
"bol": "214236691",
"pro": "24601-42"
},
"origin": {
"name": "SMC3 EVA Customer",
"address": "2333 Waukegan Rd.",
"city": "Bannockburn",
"stateProvince": "IL",
"postalCode": "60015",
"country": "USA",
"contact": {
"name": "Joe SMC3 EVA Customer",
"phone": "3129997777",
"email": "donotreply@revenova.com"
}
},
"destination": {
"name": "Boston Beans",
"address": "526 Beacon Street",
"city": "Boston",
"stateProvince": "MA",
"postalCode": "02215",
"country": "USA",
"contact": {
"name": "Joe Boston Beans",
"phone": "3129997777",
"email": "donotreply@revenova.com"
}
},
"requestor": {
"name": "Test Requestor",
"contact": {
"name": "User User",
"phone": "8002723425",
"email": "donotreply@revenova.com"
},
"billTo": {
"account": "001RL000008rAcKYAU",
"name": "SMC3 EVA Customer",
"address": "2333 Waukegan Rd.",
"city": "Bannockburn",
"stateProvince": "IL",
"postalCode": "60015",
"country": "USA"
}
}
}
Sample Dispatch Response Payload
{
"transactionId": "4e3b80b7-ce48-443a-ad82-1c84e43efcde",
"scac": "SMCA",
"referenceNumbers": [
{
"assignedBy": "Carrier",
"type": "pickup",
"number": "55667788"
},
{
"assignedBy": "Customer",
"type": "pro",
"number": "1234578"
}
],
"messageStatus": {
"status": "PASS",
"code": "10000000",
"message": "Transaction was successful.",
"resolution": "",
"information": []
}
}
TMS Field Updates
Object | Field | Type | SMC3 Field |
---|---|---|---|
Load | API Load Id | Text(40) | transactionId |
Stop (1P) | Pickup/Delivery Number | Text(200) | referenceNumbers → number |
Cancel Dispatch
Loads that were dispatched to a Carrier may be cancelled with the Cancel Dispatch API call.
The Cancel Dispatch request is sent when one of the following occurs.
The Carrier is removed from a Load from the Carrier Banner LWC.
The Load Status is set to Canceled.
Add the PRO Number and Bill of Lading Number fields to the Load TMS15 Field Set. When the PRO Number and Bill of Lading Number are included in the Field Set they are cleared when a Carrier is removed from the Load.
TMS Fields Included
Object | Field | Type | SMC3 Field |
---|---|---|---|
*’TEST’ or ‘CANCEL’ | dispatchCode | ||
Stop (1P) | *Pickup Delivery Number | Text(200) | cancelUpdateInformation → pickupNumber |
Carrier Quote | Removal Reason | Picklist | cancelReason |
Load | Expected Ship Date | Formula (Date) | scheduledPickupDate |
Load | PRO Number | Text(40) | proNumber |
*Fields marked with an asterisk are required to cancel a dispatch.
Sample Cancel Dispatch Request Payload
{
"dispatchCode": "CANCEL",
"cancelUpdateInformation": {
"pickupNumber": "55667788",
"scheduledPickupDate": "20240314",
"proNumber": "1234578"
}
}
Sample Cancel Dispatch Response Payload
{
"transactionId": "4e3b80b7-ce48-443a-ad82-1c84e43efcde",
"scac": "SMCA",
"messageStatus": {
"status": "PASS",
"code": "10000000",
"message": "Transaction was successful.",
"resolution": "",
"information": []
}
}
No TMS field updates from the Cancel Dispatch call.
The Load Status field returns to Quotes Received.
Status Notifications API
The TMS requests Status Notifications for Loads and SMC3EVA sends updates as push notifications to the TMS.
Load reference numbers are sent one at a time until a match is found. The order of fields is as follows.
PRO Number
Bill of Lading Number
PO Number
Pickup Number
If all four reference numbers do not match an error is generated that shows each number that did not match.
When a reference number matches a Load in SMC3 EVA, a success message displays. The Carrier Status Comments field updates to include, “Load Tracking Started - Matched on [Reference Number].”
To manually begin tracking a Load, select SMC3 EVA from the Tracking Provider picklist on the Load Tracking Administration modal. The Load Tracking Administration modal is located on the Carrier Banner.
Begin tracking the load by selecting the On button. Tracking updates are automatically retrieved based on the schedule set in TMS Admin, Configuration.
LTL Loads not dispatched with SMC3 EVA may also receive status notifications. Select SMC3 EVA as the Tracking Provider and set the tracking to On.
SMC3 EVA does not support ad hoc status update requests.
Tracking sessions begin automatically one day prior to the Expected Ship Date field on the Load. If tendering on the Expected Ship Date or the day before, Load tracking begins immediately.
SMC3 has a 20 day polling period for tracking and documents that begins when tracking is initiated. If manually starting the tracking of Loads, it is recommended to begin one day prior to the Expected Ship Date. If the Expected Ship Date changes after the polling period has started, the 20 day period does NOT change.
If the ship date for a load changes, the current tracking session is ended and a new session is created. A new transactionId field is returned from the SMC3 integration for the new tracking Notification session. Any notifications received for the previous tracking session are ignored by the TMS.
Tracking notifications are automatically enabled by the SMC3EVAJob. This job runs twice daily, every 12 hours.
The job also runs when a Load is created and has an SMC3 EVA Carrier Service AND the Expected Ship Date is more than one day in the future.
View the status of the job in the Job Monitor LWC.
The Carrier Status Comments field contains information regarding the scheduled or start of a tracking session. A Stop pickup date is not always provided as part of any Tracking Notifications. Pickup or Dropoff dates are only populated if provided as part of a Tracking Notification from SMC3.
Status Codes are sent from SMC3 EVA regarding Load actions. When a Status Code is received the following status fields are set accordingly.
Picked Up, In Transit, Delivered, or Out For Delivery, the first Stop Status is set to Departed.
Out for Delivery or In Transit, the last Stop Status is set to En Route.
Delivered, the last Stop Status is set to Departed.
TMS Operation | SMC3 Endpoint | Request Type | Response |
---|---|---|---|
Receive Tracking Updates | Status Notifications | GET | 200: Success 400: Request Error 500: Unexpected Error |
Inbound status notifications are processed as Platform Events.
TMS Fields Included
Object | Field | Type | SMC3 Field |
---|---|---|---|
Load | *Bill of Lading Number | Text(55) | bol |
Load | *Expected Ship Date | Formula (Date) | pickupDate |
Load | *PO Number | Text(100) | po |
Load | *PRO Number | Text(40) | proNumber |
Stop | *Address | Address | destination → country, postalCode |
Stop | *Address | Address | origin → country, postalCode |
Stop | *Pickup/Delivery Number | Text(200) | pickup |
Sample Status Notifications Request Payload
{
"transactionId": "3f5bd03f-7aa2-44a7-98e4-cd6e06787b18",
"scac": "SMCA",
"referenceNumbers": {
"proNumber": "123456789",
"bol": "444555678"
},
"shipmentInfo": {
"weight": "6400"
},
"origin": {
"postalCode": "60015"
},
"destination": {
"postalCode": "02215"
},
"transit": {
"pickupDate": "20240226",
"delivery": {
"estimatedDate": "20240229",
"estimatedTime": "130000",
"signature": "Joe Murphy",
"appointment": {
"date": "20240229",
"startTime": "134700",
"endTime": "134700",
"notes": "string"
}
}
},
"status": {
"code": "IN TRANSIT",
"date": "20240229",
"time": "105900",
"carrierDescription": "Shipment is in tansit",
"city": "Dayton",
"stateProvince": "OH"
},
"messageStatus": {
"status": "PASS",
"code": "10000000",
"message": "Transaction was successful.",
"resolution": "",
"information": []
}
}
Sample Status Notifications Response Payload
{
"transactionId": "3f5bd03f-7aa2-44a7-98e4-cd6e06787b18",
"scac": "SMCA",
"referenceNumbers": {
"proNumber": "123456789",
"bol": "444555678"
},
"shipmentInfo": {
"weight": "1750"
},
"origin": {
"postalCode": "30269"
},
"destination": {
"postalCode": "40213"
},
"transit": {
"pickupDate": "20240227",
"delivery": {
"estimatedDate": "20240227",
"estimatedTime": "130000",
"actualDate": "20240227",
"actualTime": "134700",
"signature": "Joe Murphy",
"appointment": {
"date": "20240227",
"startTime": "134700",
"endTime": "134700",
"notes": "string"
}
}
},
"status": {
"code": "DELIVERED",
"date": "20240227",
"time": "105900",
"carrierDescription": "Shipment has been delivered to consignee",
"city": "LOUISVILLE",
"stateProvince": "KY"
},
"messageStatus": {
"status": "PASS",
"code": "10000000",
"message": "Transaction was successful.",
"resolution": "",
"information": []
}
}
TMS Field Updates
Object | Field | Type | SMC3 Field |
---|---|---|---|
Load | Last Reported City | Text(40) | city |
Load | Last Reported State/Province | Picklist | stateProvince |
Load | Load Status Comments | Text(255) | carrierDescription |
Load | *PRO Number | Text(40) | proNumber |
Load | Tracking Number | Text(40) | transactionId |
Stop | **Appointment Time | Text(11) | transit → delivery → appointment → startTime, endTime |
Stop | Carrier ETA Date | Date | transit → delivery → estimatedDate |
Stop | Carrier ETA Time | Text(5) | transit → delivery → estimatedDeliveryTime |
Stop | ***Carrier Status as of | Date/Time | Not Sent by SMC3 EVA. |
Stop | Departure Date | Date | transit → delivery → pickupDate, actualDate |
Stop | Departure Time | Text(5) | transit → delivery → actualTime |
Stop | Stop Status | Picklist | status → code |
* The PRO Number field is only updated if the Carrier submits a different PRO Number in a status notification.
** The Stop Appointment Time field is only updated if blank on the last Stop.
** The Carrier Status as of Date/Time field is set by the TMS.
SMC3 Status Codes | Stop 1 Pick Up Status | Stop 2 Drop Off Status |
---|---|---|
Delivered | Departed | Departed |
Exception | N/A | N/A |
In Transit | Departed | En Route |
Info | N/A | N/A |
Out for Delivery | Departed | En Route |
Picked Up | Departed | En Route |
Unknown | N/A | N/A |
There is no call to end a tracking session with SMC3 EVA. When a tracking session is ended in the TMS, all incoming status notifcations are ignored.
When a new tracking session is created, the existing tracking session remains active. A new transactionId field is generated and sent from SMC3 EVA for the new tracking session. Reasons for creating a new tracking session are any of the following.
Shipping Date changes on the Load.
The Carrier is removed from the Load and tendered to a new Carrier.
The Load is cancelled.
Error Logs are created for every status notification received for the original tracking session. The message in the Error Log indicates the reason for the notification.
If a tracking session fails to initiate, the transactionId field is captured from the error message. The Load Tracking Number field is updated so updates are associated with the correct Load.
Document Notifications API
The SMC3EVA integration sends Load documents into the TMS in .PDF format. Documents sent include the following.
Bill of Lading
Delivery Receipt
Invoice
Weight & Inspection Certificate
Inbound documents from SMC3 EVA are processed as Queued Transactions.
TMS Operation | SMC3 Endpoint | Request Type | Response |
---|---|---|---|
Receive Documents | Document Image Notifications | GET | 200: Success 400: Request Error 401: No callback URL defined 404: Endpoint Resource URI Not Found 500: Unexpected Error |
TMS Fields Included
Object | Field | Type | SMC3 Field |
---|---|---|---|
‘BL,’ ‘DR,’ ‘INV,’ or ‘WC’ | documentType | ||
Load | *PRO Number | Text(40) | proNumber |
Transportation Profile | *SCAC | Text(6) | scac |
Sample Document Notifications Request Payload
{
"transactionId": "3f5bd03f-7aa2-44a7-98e4-cd6e06787b18",
"scac": "SMCA",
"proNumber": "204380071201",
"documentType": "BL",
"images": [],
"messageStatus": {
"code": "10000191",
"message": "Your transaction has been received and is currently being processed.",
"resolution": "Indicates that your request has been received and is currently being processed.",
"status": "PASS",
"information": []
}
}
API Document Type | Value |
---|---|
BL | Bill of Lading |
DR | Delivery Receipt |
INV | Invoice |
WC | Weight & Inspection Certificate |
Sample Document Notifications Response Payload
{
"transactionId": "3f5bd03f-7aa2-44a7-98e4-cd6e06787b18",
"scac": "SMCA",
"proNumber": "204380071201",
"documentType": "BL",
"images": [],
"messageStatus": {
"status": "PASS",
"information": []
}
}
No TMS Field Updates
Documents received are saved on the Load Documents section as .PDF files. If the file is too large for Salesforce to import an error message is displayed to the user.
In circumstances when a new session is created, the existing session remains active. A new transactionId field is generated and sent from SMC3 EVA for the new session. Reasons for creating a new session are any of the following.
Shipping Date changes on the Load.
The Carrier is removed from the Load and tendered to a new Carrier.
The Load is cancelled.
Error Logs are created for every status notification received for the original session. The message in the Error Log indicates the reason for the notification.
The Documents Notification call that imports .PDF documents into the TMS does not impact the Customer Invoice Documents Status feature.
Receiving documents from SMC3 EVA does not:
Mark documents as present in the CustomerInvoiceDocumentStatus Visualforce page.
Check the Customer Invoice Documents Received box on the Load.
If a document session fails to initiate, the transactionId field is captured from the error message. The Load Tracking Number field is updated so documents are added to the correct Load.
API Field Mapping
The following table relates TMS data fields with the equivalent SMC3 fields included in API calls.
Object | Field | Type | SMC3 Field |
---|---|---|---|
‘CREATE,’ ‘CANCEL’ | dispatchCode | ||
Account | *Account Name (billTo) | Name | billTo → name |
Account | *Account Name (shipFrom) | Name | origin → name |
Account | *Account Name (shipTo) | Name | destination → name |
Account | *Billing Address | Address | address, city, country, postalCode, stateProvince |
Account (shipTo, shipFrom) | *Shipping Address | Address | city, country, postalCode, stateProvince |
Account | *TMS Type (CarrierBillTo) | Picklist | payer |
API Accessorial | Code | Text(80) | accessorial → codes |
Carrier Quote | Quote/Contract ID | Text(100) | estimate |
Carrier Quote | Removal Reason | Picklist | cancelReason |
Carrier Quote | *Service Level | Lookup(Service Level) | service → level |
Contact (shipTo) | *Name | Name | contact |
Contact (shipFrom) | *Account Name | Name | contact → name |
Contact (shipFrom) | *Phone | Phone | contact → phone |
Contact (shipFrom) | contact → email | ||
Line Item | *Handling Units | Picklist | commodities → packagingType |
Line Item | HazMat Contact | Lookup(Contact) | hazardousContact |
Line Item | Height | Number(16, 2) | height |
Line Item | *HU Count | Number(18, 0) | pieces |
Line Item | *Item Description | Text(255) | description |
Line Item | Length | Number(16, 2) | length |
Line Item | *NMFC Class | Picklist | classification |
Line Item | *Weight | Number(18, 0) | weight |
Line Item | Width | Number(16, 2) | width |
Load | API Load Id | Text(30) | transactionId |
Load | Bill of Lading Number | Text(55) | referenceNumbers → bol |
Load | Customer Bill To | Lookup(Account) | billTo → account |
Load | *Expected Delivery Date | Formula (Date) | delivery → date |
Load | *Expected Ship Date | Formula (Date) | pickupAvailability → date, scheduledPickupDate |
Load | Last Reported City | Text(40) | city |
Load | Last Reported State/Province | Picklist | stateProvince |
Load | Load Status Comments | Text(255) | carrierDescription |
Load | *Payment Terms | Picklist | terms |
Load | PO Number | Text(100) | referenceNumbers → po |
Load | *PRO Number | Text(40) | proNumber, referenceNumbers → pro |
Load | Tracking Number | Text(40) | transactionId |
Stop | *Appointment Time | Text(11) | startTime, endTime, closeTime |
Stop | Address | Formula (Text) | destinationPostalCode, desitnationCountry, originCountry, originPostalCode |
Stop | City | Text(40) | city |
Stop | Country | Picklist | country |
Stop | Postal Code | Text(20) | postalCode |
Stop | State/Province | Picklist | stateProvince |
Stop | Carrier ETA Date | Date | delivery |
Stop | Carrier ETA Time | Text(5) | estimatedDeliveryTime |
Stop | **Carrier Status as of | Date/Time | Not sent by SMC3. |
Stop | Departure Date | Date | transit → pickupDate, actualDate |
Stop | Departure Time | Text(5) | actualTime |
Stop | Instructions | Long Text Area(2000) | shipmentComments |
Stop (first) | Pickup/Delivery Number | Text(200) | cancelUpdateInformation → pickupNumber |
Stop | Stop Status | Picklist | status → code |
Transportation Profile | *SCAC | Text(4) | scac |
User | *Company Name | Text(80) | name → requestor |
User | *Email Sender Address | requestor → contact → email | |
User | *Name | Name | requestor → contact → name |
User | *Phone | Phone | requestor → contact → phone |
*Fields marked with an asterisk are required for the SMC3 EVA integration.
** SMC3 EVA does not provide time zone information. This field is set by Datetime.now().