MacroPoint is a global freight visibility platform for shippers, brokers and 3PLs to get real-time visibility on the freight they have given to 3rd party carriers. MacroPoint provides GPS/Cell-based tracking of loads via the driver’s (smart) phone or in-cab ELD.
The Revenova TMS integration with MacroPoint contains two main features. The first is Carrier load tracking where updates are sent from MacroPoint and received in the TMS. The second feature provides Customer-specific load tracking information from the TMS to MacroPoint.
Inbound calls from MacroPoint for load status updates are processed by Platform Events.
Setup
Enter Credentials
Enable the MacroPoint integration by completing the following steps.
Navigating to TMS Admin.
Select Credentials.
Select the Global Services tab.
Find MacroPoint in the list and open the card.
Check the Enabled, Send Updates, and Receive Updates boxes as needed.
Enter the User ID, Password 1, and Customer Number into the text fields.
Click the Save button when finished.
The user ID and password to access the MacroPoint website are not valid for API connections.
Valid credentials are required from a MacroPoint subscription. MacroPoint provides the User ID, Password, and Customer Number. See examples in the table below.
User ID | Password 1 | Password 2 | Customer Number |
---|---|---|---|
Our ‘Venue ID’; RFGC8Q2 | API Password; SJa$XS8SyS | MP Customer ID; looks like 5326544 |
Inbound Packet IP Ranges: Any load status post-backs from MacroPoint that do not originate from this IP mask are rejected as a security feature. Any changes to this range are provided by Revenova.
MacroPoint Website Settings
Upgrading from previous versions of the TMS may have outdated information. Check that the Remote Site Settings for the MacroPoint integration URL 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 Sites and click the link.
From the list of sites, copy the API Community URL.
Add the following extension to the end of the URL to match the example below: /services/apexrest/rtms/tmslistener
This URL will be pasted into the MacroPoint website.
Navigate to the MacroPoint website and log in.
Click the Update Company Preferences link.
Find the section labeled Please enter appropriate URLs:
Paste the API Community URL into the necessary fields:
Location Updates
Order Status Changes
Trip Event Updates
Schedule Alerts
Save the changes.
The URL does not need to be entered into all of the MacroPoint fields. Only those that are applicable.
{API Community URL}/services/apexrest/rtms/tmslistener
Example: https://revenova.my.site.com/api/services/apexrest/rtms/tmslistener
The Salesforce-generated API Community URL is case sensitive.
Example Screenshot of URL added to MacroPoint:
Remote Site Settings
If upgrading from a previous release of the TMS, check that the Remote Site Settings for the MacroPoint integration URL are current.
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 MacroPoint and click the Edit link.
Update the Remote Site URL to match the Service URL below:
Service URL: https://macropoint-lite.com/api/1.0
Test Service URL: https://macropoint-lite.com/api/1.0
TMS Admin
Configuration
Tracking Update frequency (Minutes): The number of minutes between inbound load location updates from MacroPoint. The TMS does not process load location updates less than the entered value since the last load location update.
Use Platform Events For: Confirm the check box for MacroPoint is Checked.
Transportation Profile
The following fields are located in 2 places in the TMS. The first location is on the customer Transportation Profile record. The second location is on the Carrier Banner Lightning Web Component from the Load Tracking Administration LWC. Set the default values on the customer Transportation Profile or add to each load in the Load Tracking Administration LWC.
Tracking Notes: Custom notes that are sent with load tracking information. These notes display in the MacroPoint website UI in the Control Tower view and in notification emails.
Tracking Update Email List: Assign multiple email addresses to receive tracking notifications for a load.
It is possible to set a default Tracking Provider for each Carrier on their Transportation Profile.
Tracking Provider: The default selection in the Load Tracking Admin LWC of tracking information for a load.
Tracking Update Interval: Set the default amount of time between tracking updates. Values provided in the drop-down range from 15 minutes to 12 hours.
Tracking Duration: Set the default amount of time to track a load with MacroPoint. Values provided in the drop-down range from 1 hour to 7 days.
The MacroPoint integration supports multiple stops for the same Account location.
MacroPoint ELD Tracking (optional)
To use MacroPoint ELD tracking, a spreadsheet with Carrier information must be sent to MacroPoint with the following data:
Carrier Name
Carrier Id (18-character Account Id – use CASESAFEID formula field to get this value)
Carrier DOT
Carrier MC Number
Carrier NSC Number (Canada)
Carrier CAAT (Mexico)
MacroPoint Shipper Method (optional)
Tracking sessions may be started with MacroPoint without a Tractor Number, Container/Trailer Number, or Driver Phone number. Carriers must be partnered on the MacroPoint website to enable this feature. If a Carrier is not partnered, an error displays when beginning a tracking session. Enter a Tractor Number, Container/Trailer Number, or Driver Phone number to begin the tracking session.
Carrier Load Tracking
Carrier load tracking is initiated on the Carrier Banner LWC. Click the antenna button to open the Load Tracking Administration LWC to begin tracking the load.
Start and stop a tracking session by clicking the On and Off buttons. Active tracking sessions may be updated by changing load or Carrier tracking information and then click Update Tracking. See the table below for acceptable changes.
Load Field Set TMS35, Transportation Profile TMS7, and Transportation Profile TMS8 can be adjusted to display additional fields in the Load Tracking Administration modal. See the Field Set Summary for more information.
Start Load Tracking
The start new load tracking call sends load, Carrier, and stop information to MacroPoint. The Tracking Notes and Tracking Update Email List fields are sent in this call. The Tracking Number field is returned. The Start Time field on the Load Tracking Administration modal defaults to the appointment time of the pickup stop.
Set the Timezone on each customer Account record. If a customer Account does not have a Timezone value, a 24 hour appointment window is sent to MacroPoint instead of the appointment time.
See the section above regarding partnered Carriers to start a load tracking session.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Start new load tracking session | Create Order | POST | 201: Success, 400: Bad request, 401: Unauthorized |
Sample Start Load Tracking XML Request Payload
<ns0:Order
xmlns:ns0="http://macropoint-lite.com/xml/1.0">
<ns0:TrackVia>
<ns0:Number Type="Mobile">7203399862</ns0:Number>
</ns0:TrackVia>
<ns0:TrackStartDateTime>2024-03-13 00:00 CT</ns0:TrackStartDateTime>
<ns0:Notifications>
<ns0:Notification>
<ns0:PartnerMPID>5313778</ns0:PartnerMPID>
<ns0:IDNumber>L-2</ns0:IDNumber>
<ns0:TrackDurationInHours>1</ns0:TrackDurationInHours>
<ns0:TrackIntervalInMinutes>15</ns0:TrackIntervalInMinutes>
</ns0:Notification>
</ns0:Notifications>
<ns0:Carrier>
<ns0:Name>Email Carrier One</ns0:Name>
<ns0:CarrierID>001Ox00000CnPRVIA3</ns0:CarrierID>
</ns0:Carrier>
<ns0:TripSheet>
<ns0:StopSequencingRequired>True</ns0:StopSequencingRequired>
<ns0:Stops>
<ns0:Stop>
<ns0:StopID>Stop 1</ns0:StopID>
<ns0:SequenceNumber>1</ns0:SequenceNumber>
<ns0:Name>Chicago Pizza</ns0:Name>
<ns0:StopType>Pickup</ns0:StopType>
<ns0:Address>
<ns0:Line1>181 W. Madison St.</ns0:Line1>
<ns0:City>Chicago</ns0:City>
<ns0:StateOrProvince>IL</ns0:StateOrProvince>
<ns0:PostalCode>60602</ns0:PostalCode>
</ns0:Address>
<ns0:StartDateTime>2024-03-13T09:00:00-0500</ns0:StartDateTime>
<ns0:EndDateTime>2024-03-13T22:00:00-0500</ns0:EndDateTime>
</ns0:Stop>
<ns0:Stop>
<ns0:StopID>Stop 2</ns0:StopID>
<ns0:SequenceNumber>2</ns0:SequenceNumber>
<ns0:Name>Los Angeles Lighting</ns0:Name>
<ns0:StopType>DropOff</ns0:StopType>
<ns0:Address>
<ns0:Line1>2765 E Olympic Blvd</ns0:Line1>
<ns0:City>Los Angeles</ns0:City>
<ns0:StateOrProvince>CA</ns0:StateOrProvince>
<ns0:PostalCode>90023</ns0:PostalCode>
</ns0:Address>
<ns0:StartDateTime>2024-03-13T11:00:00-0500</ns0:StartDateTime>
<ns0:EndDateTime>2024-03-14T00:00:00-0500</ns0:EndDateTime>
</ns0:Stop>
<ns0:Stop>
<ns0:StopID>Stop 3</ns0:StopID>
<ns0:SequenceNumber>3</ns0:SequenceNumber>
<ns0:Name>Chicago Blackhawks</ns0:Name>
<ns0:StopType>Pickup</ns0:StopType>
<ns0:Address>
<ns0:Line1>1901 W Madison St</ns0:Line1>
<ns0:City>Chicago</ns0:City>
<ns0:StateOrProvince>IL</ns0:StateOrProvince>
<ns0:PostalCode>60612</ns0:PostalCode>
</ns0:Address>
<ns0:StartDateTime>2024-03-14T09:00:00-0500</ns0:StartDateTime>
<ns0:EndDateTime>2024-03-14T22:00:00-0500</ns0:EndDateTime>
</ns0:Stop>
<ns0:Stop>
<ns0:StopID>Stop 4</ns0:StopID>
<ns0:SequenceNumber>4</ns0:SequenceNumber>
<ns0:Name>Los Angeles Lighting</ns0:Name>
<ns0:StopType>DropOff</ns0:StopType>
<ns0:Address>
<ns0:Line1>2765 E Olympic Blvd</ns0:Line1>
<ns0:City>Los Angeles</ns0:City>
<ns0:StateOrProvince>CA</ns0:StateOrProvince>
<ns0:PostalCode>90023</ns0:PostalCode>
</ns0:Address>
<ns0:StartDateTime>2024-03-14T11:00:00-0500</ns0:StartDateTime>
<ns0:EndDateTime>2024-03-15T00:00:00-0500</ns0:EndDateTime>
</ns0:Stop>
</ns0:Stops>
</ns0:TripSheet>
<ns0:EmailCopiesOfUpdatesTo>test@revenova.com, dev@revenova.com</ns0:EmailCopiesOfUpdatesTo>
<ns0:Notes>Default tracking notes for Chicago Pizza</ns0:Notes>
</ns0:Order>
Sample XML Start Load Tracking XML Response Payload
<OrderResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Status>Success</Status>
<OrderID>FB93D3FE546749F5A3385D1E2961A12B</OrderID>
<TrackingRequestID>A04EE941BEC446419749D8433885C654</TrackingRequestID>
<Errors/>
</OrderResult>
TMS Field Updates
Object | Field | Type | Value | MacroPoint Field |
---|---|---|---|---|
Load | Carrier Tracking Status | Picklist | Set to Scheduled or On | Not sent by MacroPoint (No value) |
Load | Tracking Duration | Picklist | Amount of time | TrackDurationInHours |
Load | Tracking Notes | Text Area(255) | Load information | Notes |
Load | Tracking Number | Text(40) | MacroPoint provided tracking number. | TrackingRequestID, OrderID |
Load | Tracking Provider | Text(40) | "MacroPoint" | Not sent to MacroPoint |
Load | Tracking Update Email List | Text Area(255) | Email addresses | EmailCopiesofUpdatesTo |
Load | Tracking Update Interval | Picklist | Amount of time | TrackIntervalInMinutes |
Stop | Carrier Status Comments | Text(255) | Load Tracking Started. | City, State, ScheduleAlertText |
Stop | Carrier Status as of | Date/Time | Date/Time now | Location DateTimeUTC |
See MacroPoint Create Order documentation here.
Update Load Tracking
The update tracking call sends new load and stop information to MacroPoint. The Tracking Notes and Tracking Update Email List fields may be updated and sent in this call. See the tables below for acceptable and unacceptable field changes.
During an active tracking session there are a limited number of load fields that may be changed.
When fields require changing from the Unacceptable table below, stop the current tracking session. Make any necessary changes in the TMS, and begin a new tracking session.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Update Tracking | Change Order | POST | 201: Success, 400: Bad request, 401: Unauthorized |
Click the Update Tracking button to send the API call with the new tracking information.
Acceptable Changes
TMS Field | Type | MacroPoint Field |
---|---|---|
Driver Phone | Phone | Mobile |
Tractor Number | Text(40) | VehicleID |
Container/Trailer Number | Text(40) | TrailerID |
Stop Address | Text(255) | Line1, Line2, City, StateorProvince, PostalCode, Country |
Appointment Time | Text(11) | StartDateTime, EndDateTime |
Stop Status | Picklist (Arrived/Departed) | Event, LastEventCompleted |
Tracking Update Email List | Text Area(255) | EmailCopiesofUpdatesTo |
Tracking Notes | Text Area(255) | Notes |
Unacceptable Changes
TMS Field | Type | MacroPoint Field |
---|---|---|
Tracking Number | Text(40) | TrackingRequestID, OrderID |
Load Number, PO Number(s) | Text(80) | IDNumber |
Tracking Duration | Picklist | TrackDurationInHours |
Tracking Update Interval | Picklist | TrackIntervalInMinutes |
Name | Text(80) | Carrier Name |
CASESAFEID formula field | 18 character Account ID | Carrier ID |
Stop | Text(80) | Name |
Stop Number | Number(3,0) | SequenceNumber |
Sample Update Load Tracking Request Payload
<Order xmlns="http://macropoint-lite.com/xml/1.0" >
<TrackVia>
<Number Type="Mobile">{CellNumber}</Number>
<Number Type="VehicleID">{VehicleNumber}</Number>
<Number Type="TrailerID">{TrailerNumber}</Number>
</TrackVia>
<TrackStartDateTime>2022-12-01T12:00Z</TrackStartDateTime>
<Notifications>
<Notification>
<PartnerMPID>{MPID}</PartnerMPID>
<IDNumber>{UniqueShipmentID}</IDNumber>
<TrackDurationInHours>{TrackDurationInHours}</TrackDurationInHours>
<TrackIntervalInMinutes>{TrackIntervalInMinutes}</TrackIntervalInMinutes>
<Carrier>
<Name>{Carrier Name}</Name>
<CarrierID>{CarrierID}</CarrierID>
</Carrier>
<TripSheet>
<Stops>
<Stop>
<Name>{StopName}</Name>
<StopType>{StopType}</StopType>
<Address>
<Line1>{Line1}</Line1>
<Line2>{Line2}</Line2>
<City>{City}</City>
<StateOrProvince>{StateOrProvince}</StateOrProvince>
<PostalCode>{PostalCode}</PostalCode>
<Country>{Country}</Country>
</Address>
<Latitude>{Latitude}</Latitude>
<Longitude>{Longitude}</Longitude>
<StartDateTime>2022-12-01T12:00Z</StartDateTime>
<EndDateTime>2022-12-01T12:00Z</EndDateTime>
<SequenceNumber>{SequenceNumber}</SequenceNumber>
<StopID>{StopID}</StopID>
<LastStopEventCompleted>{Arrived/Departed}</LastStopEventCompleted>
</Stop>
<Stop>
<Name>{StopName}</Name>
<StopType>{StopType}</StopType>
<Address>
<Line1>{Line1}</Line1>
<Line2>{Line2}</Line2>
<City>{City}</City>
<StateOrProvince>{StateOrProvince}</StateOrProvince>
<PostalCode>{PostalCode}</PostalCode>
<Country>{Country}</Country>
</Address>
</Stop>
</Stops>
</TripSheet>
<EmailCopiesOfUpdatesTo>{EmailCopiesOfUpdatesTo}</EmailCopiesOfUpdatesTo>
<Notes>{OrderNotes}</Notes>
</Order>
No response payload is sent back from MacroPoint to this request.
TMS Field Updates
Object | Field | Type | Value | MacroPoint Field |
---|---|---|---|---|
Stop | Carrier Status Comments | Text(255) | Load Tracking Updated. | City, State, ScheduleAlertText |
Stop | Carrier Status as of | Date/Time | Date/Time now | Location DateTimeUTC |
See MacroPoint Change Order documentation here.
Stop Load Tracking
The stop load tracking call sends a request to MacroPoint to end the current tracking session.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
End load tracking session | Stop Order | POST | 201: Success, 400: Bad request, 401: Unauthorzied |
Sample XML End Tracking Session Request Payload
'https://macropoint-lite.com/api/1.0/orders/stoporder/7C915EA32EA349FCBDBCB3E2F0506D9'
No response payload is sent back from MacroPoint to this request.
TMS Field Updates
Object | Field | Type | MacroPoint Field |
---|---|---|---|
Load | Carrier Tracking Status | Picklist (set to Off) | Not sent by MacroPoint (No value) |
Load | Tracking Number | Text(255) | (No value) TrackingRequestID, OrderID |
Load | Tracking Provider | Text(40) | Not sent by MacroPoint (No value) |
Stop | Carrier Status Comments | Text(255) | Not sent by MacroPoint (“Load Tracking Stopped”) |
Stop | Carrier Status as of | Date/Time | Location DateTimeUTC |
See MacroPoint Stop Order documentation here.
Load Updates from MacroPoint (PUSH into Revenova)
Update Load Location
The update load tracking call receives the latest location data from MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Update load location | Location Updates Callback | GET | 201: Success, 400: Bad request, 401: Unauthorized |
Sample Curl Location Updates Callback Request Payload
'https://CustomerSpecifiedURL?MPOrderID={1}&ID={2}&Latitude={3}&Longitude={4}&Uncertainty={5}&Street1={6}&Street2={7}&Neighborhood={8}&City={9}&State={10}&Postal={11}&Country={12}&LocationDateTimeUTC={13}&ApproxLocationDateTimeInLocalTime={14}&DataSource={15}&MPTrackingRequestID={16}&Locator={17}'
TMS Field Updates
Object | TMS Field | Type | MacroPoint Field |
---|---|---|---|
Load | Last Reported Geolocation | Geolocation | Latitude |
Load | Last Reported Geolocation | Geolocation | Longitude |
Load | Last Reported City | Text(40) | City |
Load | Last Reported State/Province | Picklist | State or Province |
Load | Last Tracking Update | Date/Time | Not sent by MacroPoint |
Load | Last Tracking Update Source | Text(50) (“MacroPoint”) | Not sent by MacroPoint |
Load | Load Status Comments | Text(255) | Street1, City, State, Postal |
Stop | Carrier Status as of | Date/Time | Location DateTimeUTC |
See MacroPoint Location Updates documentation here.
Update Order Status
The update order status call receives the latest load information from MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Update order status | Order Status Callback | GET | 201: Success, 400: Bad request, 401: Unauthorized |
Sample Curl Order Status Callback Request Payload
'https://CustomerSpecifiedURL?MPOrderID={1}&MPTrackingRequestID={2}&ID={3}&Code={4}&Message={5}'
TMS Field Updates
Object | TMS Field | Type | MacroPoint Field |
---|---|---|---|
Load | Load Status Comments | Text(255) | Code (On Schedule/Behind Schedule) |
Load | Load Status Comments | Text(255) | Message (Tracking Now/Tracking - Wait for Update) |
Load | Last Tracking Update | Date/Time | Not sent by MacroPoint |
Load | Last Tracking Update Source | Text(50) (“MacroPoint”) | Not sent by MacroPoint |
See MacroPoint Order Status documentation here.
Update Trip Events
The update trip events call receives the latest stop arrival/departure data from MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Update trip events | Trip Events Callback | GET | 201: Success, 400: Bad request, 401: Unauthorized |
Sample Curl Trip Events Callback Request Payload
'https://CustomerSpecifiedURL?MPOrderID={1}&TrackingRequestID={2}&ID={3}&Stop={4}&Event={5}&EventDateTime={6}&StopID={7}&ApproxLocationDateTimeInLocalTime={8}&Latitude={9}&Longitude={10}&Street1={11}&Street2={12}&Neighborhood={13}&City={14}&State={15}&Postal={16}&Country={17}&UpdatedBy={18}&UnLocode={19}'
TMS Field Updates
Object | TMS Field | Type | MacroPoint Field |
---|---|---|---|
Load | Last Tracking Update | Date/Time | EventDateTime |
Load | Last Tracking Update Source | Text(50) “MacroPoint” | Not sent by MacroPoint |
Stop | Stop Name | Text(80) | StopName |
Stop | Stop Status | Picklist | Event - Code (Arrived/Departed) |
Stop | Arrival Date | Date | ApproxLocationDateTimeInLocalTime |
Stop | Arrival Time | Text(5) | ApproxLocationDateTimeInLocalTime |
Stop | Carrier Status as of | Date/Time | ApproxLocationDateTimeInLocalTime |
MacroPoint Tracking Updates | MacroPoint Event Code |
---|---|
Arrived at Pickup | X3 |
Departed from Pickup | AF |
Arrived at Dropoff | X1 |
Departed from Dropoff | D1 |
See MacroPoint Trip Events documentation here.
Update Load Schedule Alerts
The update load location call receives the latest load schedule alerts from MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response |
---|---|---|---|
Update load location | Schedule Alerts Callback | GET | 201: Success, 400: Bad request, 401: Unauthorized |
Sample Curl Schedule Alerts Callback Request Payload
'https://CustomerSpecifiedURL?MPOrderID={1}&ID={2}&StopType={3}&StopID={4}&StopName={5}&AddressLine1={6}&City={7}&State={8}&PostalCode={9}&ScheduleAlertCode={10}&ScheduledStartTimeInLocalTimeForStop={11}&ScheduledEndTImeInLocalTimeForStop={12}&ScheduleAlertText={13}&DistanceToStopInMiles={14}&EtaToStop={15}&ETALocalTimeZoneOffset={16}&MPTrackingRequestID={17}'
TMS Field Updates
Object | TMS Field | Type | MacroPoint Field |
---|---|---|---|
Load | Load Status Comments | Text(255) | ScheduleAlertCode |
Load | Last Tracking Update | Date/Time | Not sent by MacroPoint |
Load | Last Tracking Update Source | Text(50) | Not sent by MacroPoint |
Used to determine Stop | Stop ID | ||
Stop | Carrier Status Comments | Text(255) | City, State, ScheduleAlertText |
Stop | Carrier Status as of | Date/Time | Location DateTimeUTC |
Stop | Name | Text(80) | StopName |
Stop | *Is Dropoff / Is Pickup | Checkbox | StopType |
MacroPoint Schedule Alert Text | MacroPoint Schedule Code |
---|---|
Cannot Determine | 0 |
On Time or Ahead of Schedule | 1 |
Behind Schedule | 2 |
Cannot Make It | 3 |
Past Appointment Time | 4 |
See MacroPoint Schedule Alerts documentation here.
Customer Load Tracking
The MacroPoint integration supports sending tracking updates from the TMS to MacroPoint. Two pieces of customer information data are required.
The MacroPoint Customer ID (MPID) specifies the customer that the data is for.
The customer load ID specifies which load the data applies to.
Enter the MacroPoint Customer ID into the Tracking Customer ID field on the customer's Transportation Profile record. The Tracking Customer ID is a value provided by MacroPoint and is unique to the customer's MacroPoint account. This value represents the customer requesting visibility of the load and tracking updates.
The Tracking Number (Customer) must be entered on the load record. This value is usually sent in an EDI204 as the Bill of Lading number or another load reference. The customer may have a regular method for generating this number. A Flow/process to automate entering the number is usually possible.
The Tracking Number (Customer) field should ONLY contain a value if sending API updates to a tracking provider.
The Tracking Customer ID and the Tracking Number (Customer) fields should NOT be the same value.
The following load status updates can be sent from the TMS to the customer through MacroPoint:
Load ID
Stop Appointment Time
Stop Arrival, Stop Departure
Load Location Change/Updates
Coordinates of the Location
Latitude/Longitude - Last Reported Geolocation
Customer load tracking is initiated on the Customer Banner LWC. Click the antenna button to open the Load Tracking Administration LWC to begin tracking the load.
Begin tracking the customer load by completing the following tasks.
Select MacroPoint as the Tracking Provider from the picklist.
Add the Tracking Number (Customer) field.
Click the On button.
Click the Off button to stop tracking the load.
Send Load Location
The load location call sends the latest load location data to MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response | Description |
---|---|---|---|---|
Send Load Location Update | Location Update | POST | 201: Success, 400: Bad request, 5xx: Server failure | Update location for tracking session. |
Sample Send Load Location XML Payload (Location Update)
<TMSLocationData xmlns="http://macropoint-lite.com/xml/1.0">
<Sender>
<LoadID>ABC123</LoadID>
</Sender>
<Requestor>
<MPID>123456</MPID>
<LoadID>Load-123</LoadID>
</Requestor>
<AllowAccessFrom>
<MPID>123456</MPID>
</AllowAccessFrom>
<Location>
<Coordinates>
<Latitude>41.396900</Latitude>
<Longitude>-81.662491</Longitude>
</Coordinates>
<CreatedDateTime>2020-01-01T12:00:00Z</CreatedDateTime>
</Location>
</TMSLocationData>
Fields sent in Payload
Object | Field | Type | MacroPoint Field |
---|---|---|---|
Load | Last Reported Geolocation | Geolocation | Latitude |
Load | Last Reported Geolocation | Geolocation | Longitude |
Load | Last Tracking Update | Date/Time (yyyy-MM-dd HH:mm:ss) | CreatedDateTime |
Load | Tracking Number (Customer) | Text(40) | LoadID |
Transportation Profile | Tracking Customer ID | Text(20) | MacroPoint Customer ID (MPID) |
See MacroPoint location update documentation here.
Send Load Event
The load location event call sends the latest stop location event data to MacroPoint.
TMS Operation | MacroPoint Endpoint | Request Type | Response | Description |
---|---|---|---|---|
Send Load Location Event | Event Update | POST | 201: Success, 400: Bad request, 5xx: Server failure | Update location event for tracking session (Arrived/Departed) |
Sample Send Load Location Event XML Payload
<TMSStopEventData xmlns="http://macropoint-lite.com/xml/1.0">
<Sender>
<LoadID>ABC123</LoadID>
</Sender>
<Requestor>
<MPID>123456</MPID>
<LoadID>Load-123</LoadID>
</Requestor>
<Stop>
<Name>Shipper</Name>
<StopType>PickUp</StopType>
<Address>
<Line1>6050 Oak Tree Blvd</Line1>
<City>Independence></City>
<StateOrProvince>OH</StateOrProvince>
<PostalCode>44131</PostalCode>
</Address>
<SequenceNumber>1</SequenceNumber>
</Stop>
<Event>
<Name>Arrived</Name>
<CompletedDateTime>2020-01-01T12:00:00Z</CompletedDateTime>
</Event>
</TMSStopEventData>
Fields sent in Payload
Object | Field | Type | MacroPoint Field |
---|---|---|---|
Load | Tracking Number (Customer) | Text(40) | LoadID |
Stop | Stop Name | Text(80) | Name |
Stop | Is Dropoff / Is Pickup | Checkbox | StopType |
Stop | Address (Shipping Street, Shipping City, Shipping State or Province, Shipping Postal Code) | Text(255) | AddressLine1, Address Line2, City, StateorProvince, PostalCode |
Stop | Country | Picklist | Country |
Stop | Arrival Date | Date | CompletedDateTime |
Stop | Arrival Time | Text(5) | CompletedDateTime |
Stop | Departure Date | Date | CompletedDateTime |
Stop | Departure Time | Text(5) | CompletedDateTime |
Stop | Number | Number(3, 0) | SequenceNumber |
Stop | Stop Status (“Arrived,” or “Departed”) | Picklist | Event |
Transportation Profile | Tracking Customer ID | Text(20) | MacroPoint Customer ID (MPID) |
See MacroPoint location event documentation here.
API Field Mapping
The following table relates TMS data fields with the equivalent MacroPoint fields used in API calls.
Object | Field | Type | MacroPoint Field |
---|---|---|---|
Account | *CASESAFEID formula field | 18 character Account ID | Carrier ID |
Load | Container/Trailer Number | Text(40) | TrailerID |
Load | Driver Phone | Phone | Mobile |
Load | Last Reported Geolocation | Geolocation | Latitude |
Load | Last Reported Geolocation | Geolocation | Longitude |
Load | Last Reported City | Text(40) | City |
Load | Last Reported State/Province | Picklist | StateorProvince |
Load | Last Tracking Update | Date/Time (yyyy-MM-dd HH:mm:ss) | CreatedDateTime |
Load | Last Tracking Update Source | Text(50) ('MacroPoint') | Not sent by MacroPoint |
Load | Load Status Comments | Text(255) | Street1, City, State, Postal, ScheduleAlertCode |
Load | *Load Number, PO Number(s) | Text(80) | IDNumber |
Load Tracking Administration LWC | *Start Day/Start Time/Time Zone | Date/Time/Time zone (yyyy-MM-dd HH:mm:ss) | TrackStartDateTime |
Load | *Tracking Duration | Picklist | TrackDurationInHours |
Load | Tracking Notes | Text Area(255) | Notes |
Load | *Tracking Number | Text(40) | TrackingRequestID, OrderID |
Load | Tracking Number (customer) | Text(40) | LoadID |
Load | Tracking Provider | Text(40) "MacroPoint" | Not sent by MacroPoint |
Load | Tracking Update Email List | Text Area(255) | EmailCopiesofUpdatesTo |
Load | *Tracking Update Interval | Picklist | TrackIntervalInMinutes |
Load | Tractor Number | Text(40) | VehicleID |
Stop | *Address (Shipping Street) | Text(255) | AddressLine1 |
Stop | Address | Text(255) | AddressLine2 |
Stop | *Address (Shipping City) | Text(255) | City |
Stop | *Address (Shipping State) | Text(255) | StateorProvince |
Stop | *Address (Shipping Postal Code) | Text(255) | PostalCode |
Stop | *Address (Shipping Country) | Text(255) | Country |
Stop | Appointment Time | Text(11) | StartDateTime, EndDateTime |
Stop | Arrival Date | Date | CompletedDateTime |
Stop | Arrival Time | Text(5) | CompletedDateTime |
Stop | Carrier Status as of | Date/Time | LocationDateTimeUTC |
Stop | Carrier Status Comments | Text(255) | City, State, ScheduleAlertText |
Stop | Departure Date | Date | CompletedDateTime |
Stop | Departure Time | Text(5) | CompletedDateTime |
Stop | Geolocation | Geolocation | Latitude |
Stop | Geolocation | Geolocation | Longitude |
Stop | *Is Dropoff / Is Pickup | Checkbox | StopType (Pickup/Dropoff) |
Stop | *Number | Number(3, 0) | SequenceNumber |
Stop | *Shipping/Receiving Hours | Text(11) | StartDateTime |
Stop | *Shipping/Receiving Hours | Text(11) | EndDateTime |
Stop | *Stop | Text(80) | Name |
Stop | Stop Status | Picklist (Arrived/Departed) | Event, LastEventCompleted |
Transportation Profile | *Name | Text(80) | Carrier Name |
Transportation Profile | Tracking Customer ID | Text(20) | MacroPoint Customer ID (MPI) |
* Fields marked with an asterisk are required.
MacroPoint Codes
The following table contains some of the codes sent by MacroPoint that can appear in the TMS user interface. Some of the codes represent errors, and others indicate a status.
Error Code | Error Name | Description |
---|---|---|
1000 | ValidationError | Catch all code for a lot of generic validation related errors like "Number is Required", "Number Type is Required", "Mobile Number is not in the correct format", "At least one stop required for tripsheet" etc. |
1001 | InsufficientFunds | The MacroPoint account does not have enough money in the account to pay for this transaction. |
1002 | RequestingAppInstall | The tracking is pending the driver download of the MacroPpoint app for tracking to take place. |
1003 | PhoneOnBlackList | The driver has put themselves on the blacklist and is not agreeing to share their location with MacroPoint. |
1020 | ReadyToTrack | The tracking session is awaiting the tracking start time. |
1021 | TrackingNow | Tracking is actively taking place. |
1022 | TrackingCompletedSuccessfully | The Tracking was completed and the session yielded location data. |
1050 | StoppedByCreator | The tracking session was cancelled before completion by the creator. |
1053 | LocationHiddenByDriver | The driver disabled or limited location services on the app. |
1060 | Tracking-WaitingForUpdate | A scheduled ping has not yet been acquired. |
1061 | IncompatiblePhone | The phone does not support the Descartes MacroPoint mobile app. |
1065 | InvalidTruckNumber | The truck number is determined to be invalid. |
1066 | InvalidTrailerNumber | The trailer number is determined to be invalid. |
1067 | ExpiredWithLocationHiddenByDriver | The tracking session expired without a location due to location setting restrictions at the mobile device level. |
1068 | DriverPhoneUnresponsive | The mobile device is not responding to Descartes MacroPoint request for a ping. |
1069 | ExpiredWithDriverPhoneUnresponsive | The tracking session expired without a location due to no response from the mobile device. |
1070 | ExpiredWithoutInstallation | The tracking session expired without the installation of the Descartes Macropoint app. |
1071 | ExpiredWithoutLocation | The tracking session expired without a ping. |
1072 | InvalidBillOfLading | The Ocean Bill of Lading is invalid. |
1073 | InvalidPRONumber | The LTL PRO is invalid. |
1074 | InvalidAirWaybill | The Air Waybill is invalid. |
2000 | UniqueIdNotValid | For API endpoints that accept a Guid input (ChangeOrder, StopOrder, messaging), the Tracking Request GUID or Order GUID passed was not valid. |
2001 | OrderExpired | The order that you are attempting to update is expired or complete. |
2003 | MobileNumberNotUpdatable | On a change order API call, the number was not updated. One reason could be the order has expired. |
2004 | MobileUserInactive | For Order Messaging API endpoint: The number you are trying to message is not active in MacroPoint. |
2005 | OrderMessageFeatureNotProvisioned | For Order Messaging API endpoint: Order messaging is not enabled for your account. |
2006 | OrderMessageUrlEmpty | For Order Messaging API endpoint: Endpoint to post messages from driver to you is not configured on company preferences. |
2007 | CustomScheduleNotUpdatable | For ChangeOrder API call, MacroPoint does not support updating the Custom Schedule. |
2008 | TrackingRequestDeleted | The tracking request you are trying to update has been removed and cannot be updated. |
2009 | CarrierNotFound | The Carrier you have assigned is not partnered with your company in MacroPoint. |
2010 | CarrierNotChanged | For ChangeOrder API call, a Carrier change is not allowed if the Tracking Request has already been assigned to another carrier. |
3000 | FeatureNotProvisioned | The feature you are trying to use is has not been provisioned for your MacroPoint tenant. Please contact your sales rep or MP support team for more information. |
3001 | CustomerUDFKeyNotValid | For CreateOrder, ChangeOrder API call, notification contains an invalid User Defined Key for Company. |
4000 | InvalidBulkLoadImportFile | For SendBulkFile API endpoint, the format of the supplied bulk import file is invalid. |
5000 | OrderCurrentlyNotEligibleForPingNow | For UpdateLocation API endpoint, order is not eligible for location update now. This is possible when the order is not in TrackingNow status or a UpdateLocation has been requested in the last 3 minutes. |
6000 | ThrottleError | For Carrier AddLocationData API endpoint, this error indicates that calls to add location data to a specific Load are being throttle because of high volume. Please contact your MacroPoint Account Representative. |
9999 | UnexpectedError | An unexpected error has occured. |