Macropoint: Configuring the Macropoint Capacity Connector

Introduction

The Macropoint Capacity tool is a sophisticated capability to show which carriers would be best suited to transport a specific load.  This information is provided by reviewing aggregate load delivery information to determine which carriers have a greater affinity for a particular lane, and also which carriers may be within the best proximity of the shipper to allow for the best match of aligned route planning.

Function Overview

The typical use case for Macropoint Capacity involves several steps.  First - selected Carriers (or all Carriers) are sent from Revenova to Macropoint.  Typically we would set up a flow to send this data once a carrier has been vetted and approved.  

Once a Load is set up in Revenova - the Load is sent to Macropoint Capacity.  Typically, we would set up a flow to automatically transmit the Load to Macropoint whenever the Load needs to be covered.

Users can then execute (or automation can execute) the Find Power, Single Carrier Statistics, and Lane History Search - Single Carrier Statistics functions.  The Find Power function identifies a list of potential Carrier matches (ranked by best match).  Once the top matches are identified, users can request detailed information about the Carrier and the Lane History of that carrier - including Tripsheets if desired.

Once the user has investigated the Capacity data, and made a determination of which Carrier they want to Offer, the user can submit an Offer from Salesforce to Macropoint.  As details are updated on the load within Macropoint, those details are pulled down into Salesforce, including Accept and Rescind. Any additional status updates that occur in Macropoint are sent to Salesforce via Callback.

Implementation Strategy

The typical implementation strategy for this connector is to set up automation on Carriers and Loads - once these records are complete - you can send these to Macropoint Capacity.  The Find Power function can either be automatically invoked, or manually invoked via Universal Action Component.  This will depend on whether you want to take the Load and perform the Find Power function (e.g. if you already have a Carrier contract or have already determined coverage for the Load).  When you execute the Find Power function - you will pull back many records (sometimes up to 100 potential Carrier candidates).  Pulling this much data all the time can cause excessive data element storage issues in Salesforce - so this feature should be utilized with discretion.

Once you have pulled the Carrier candidates using Find Power, 

Implementation Instructions - Capacity Check

Carrier Import

Typically - this API is set up via automation - where we invoke the Carrier Import send to Macropoint once the Carrier has been vetted and is in an Active state.  The business rules for when it is appropriate to send the Carrier to Macropoint Capacity will be at the discretion of the customer.  Map the Outbound fields from your Carrier record (typically Account).  You'll need to create two fields on your Salesforce Account to accommodate the return response from Macropoint.

ExecutionTime Text (10)
Success Boolean 

Load Import

Typically - this API is set up via automation - where we invoke the Load Import send to Macropoint once the Load has been input and is ready to be covered.  The business rules for when it is appropriate to send the Load to Macropoint Capacity will be at the discretion of the customer.  Map the Outbound fields from your Load / Lane record.  You'll need to create two fields on your Salesforce Load/Lane to accommodate the return response from Macropoint.

ExecutionTime Text (10)
Success Boolean

Find Power

The next function to set up is the Find Power function.  This requires the creation of a new object in Salesforce to store this data.  Create a new object called "Find Power" in Salesforce and make this record a master/detail record underneath the "Load" object.  The Find Power function can be invoked either manually (via use of the Universal Action Component, or creation of a Salesforce Button), or it can be invoked via automation via Flow or Trigger.  The business rules for when (and how) it is appropriate to invoke the Find Power function will be at the discretion of the customer.  Map the Outbound fields from the Load/Lane record and map the return fields into the new Find Power object.  Show this object as a related list on the Load/Lane record.

Find Power Object:

laneScore Number
status Text
r Number
dot Text
avgRatePerMile Number
executionTime Text
OriginatingRecordId Text
mc Text
name Text
contactName Text
contactName Text
contactName Text
contactEmail Text
percentOfHistoryFromCoOp Number
t Number
contactPhone Text
d Number
contactPhone Text
lratio Number
contactEmail Text
contactEmail Text
o Number
l Number
lspId Text
contactPhone Text
loadId Text
dh Number
r Number
flc Number
rl Number

Single Carrier Statistics

Once you have created the Find Power object - you can then retrieve additional data onto the Find Power object.  You'll need to add some additional fields to the Find Power object in order to support this capability.  When you map this detail - use the Find Power object as both the source and destination for data (Inbound and Outbound data).  

isLaneMatch Boolean
ownerName

Text

rating Text
toD Boolean
reviewDate Text
fromO Boolean
dotStatus Text
totalPower Text
contractAuthority Text
commonAuthority Text
lanes Number
driversTotal Text
equipmentType Text
zip Text
toO Boolean
fromD Boolean

Lane History - Single Carrier 

On the Find Power object - you can request Lane History details for that single Carrier. This will return a significant amount of information - including TripSheets for that carrier.  This function is typically called via Universal Action Component, or via Salesforce button which invokes the Nexus callout for this function. Use of this function should be utilized with discretion - as this data accrual over time can be significant and can cause Salesforce data overage conditions. Use the Find Power record to identify the Outbound message details, and then retrieve the Lane History for that carrier as a child object under the Find Power object.  

Create the Lane History Object

zip Text
mc Text
zip Text
avgRatePerMile Number
r Number
d Number
contactName Text
t Number
laneScore Number
status Text
dot Text
fromO Boolean
OriginatingRecordId Text
ownerName Text
percentOfHistoryFromCoOp Number
l Number
rating Text
name Text
flc Number
dh Number
rl Number
o Number
r Number
equipmentType Text
contactName Text
dotStatus Text
toO Boolean
lspId Text
toD Boolean
contactPhone Text
lratio Number
fromD Boolean
executionTime Text
loadId Text
contactEmail Text
reviewDate Text
contractAuthority Text
contactEmail Text
lanes Number
totalPower Text
contactPhone Text
contactEmail Text
contactName Text
commonAuthority Text
contactPhone Text
driversTotal Text

Lane History Search

You can individually implement a Lane History Search function.  Typically this function requires input form details to input the information required to request the Lane History Search.  This can be accomplished via an Interview Flow, or by creating a Lane History Search Object which allows you to save the input request parameters and then display the response record as a sub-object under this request.  Note that this function retrieves a significant amount of data, and consideration should be given to deleting the request detail after it no longer has value.  Failure to accommodate this will result in Salesforce data overage conditions.

Create an object or an interview flow that contains the following data that will be sent outbound to Macropoint.  Create another object that can be used to receive the response data (many rows).

Outbound Lane History Search:

request.origin.state Text
request.MonthWindowForHistoricalData Text
request.destination.state Text
request.equipmentTypes Text
request.origin.postal Text
request.NumberOfCarriersReturned Text
request.destinationmilesradiuswindow Text
request.originmilesradiuswindow Text
request.origin.city Text
request.destination.city Text
request.destination.postal Text

Response Lane History data:

name Text
avgRatePerMile Number
contactName Text
contactEmail Text
t Number
d Number
l Number
contactPhone Text
mc Text
r Number
status Text
o Number
dot Text
OriginatingRecordId Text
contactName Text
rl Number
flc Number
laneScore Number
dh Number
r Number
contactEmail Text
contactPhone Text
executionTime Text
lspId Text
contactName Text
percentOfHistoryFromCoOp Number
contactPhone Text
contactEmail Text
lratio Number
loadId Text

Implementation Instructions - Offer

The Offer functions are enabled to communicate with Macropoint - so that you can place offers on loads that are displayed in Macropoint - and you can also receive offers from others that are using the Macropoint software.  The APIs here are meant to communicate between Salesforce and Macropoint to send and receive Offer information.

Add Offer

You can send an offer on a Load that is maintained in Macropoint.  The business rules for adding an offer on a load will be at the discretion of the business.  Typically this would be invoked by sending the Offer by invoking this function via the Universal Action Component.  However, other business rules may take precedence.  Map the Load details from the Load object, and map the response elements back into the Load object 

Offer Details

You can request additional information about the offer by sending the Offer ID and receiving Offer response information.  Map information received from the Offer Details onto the Load details in Revenova.  Note: you may have to add some of the fields if they are not present in the current Load record.

Accept Offer

You can accept an offer by sending the Offer ID.  This will allow you to receive the details around the Offer response information.  Map information received from the Accept Offer response onto the Load details in Revenova.  Note: you may have to add some of the fields if they are not present in the current Load record.

Rescind Offer

If a Macropoint record Offer is Rescinded - there will be a message received that the particular load offer has been deleted.  Note: you may wish to add Flow information to issue a notification that the Rescind message has been received - and notify a business user about this outcome.

Offer Callback

If a Macropoint record Offer is updated- there will be a message received that the particular load offer has been updated.

 

API Function Data Dictionary

This document provides details on the Nexus API fields, their event types, and data types, grouped by API function.

DELETE Recind Load Offer

Nexus API Field Name Event Type Data Type
offerId Outbound Text

GET Accept Offer

Nexus API Field Name Event Type Data Type
ChildCompany Inbound Text
dateCreatedUtc Inbound Text
Rate Inbound Number
offerId Inbound Text
loadId Inbound Text
carrierDot Inbound Text
OriginatingRecordId Inbound Text
lspId Inbound Text
notes Inbound Text
ExpiryHours Inbound Text
LimitRate Inbound Number
originalOfferId Inbound Text
equipment Inbound Text
subEquipment Inbound Text
offerId Outbound Text

GET Find Power

Nexus API Field Name Event Type Data Type
laneScore Inbound Number
status Inbound Text
r Inbound Number
dot Inbound Text
avgRatePerMile Inbound Number
executionTime Inbound Text
OriginatingRecordId Inbound Text
mc Inbound Text
name Inbound Text
contactName Inbound Text
contactEmail Inbound Text
percentOfHistoryFromCoOp Inbound Number
t Inbound Number
contactPhone Inbound Text
d Inbound Number
lratio Inbound Number
o Inbound Number
l Inbound Number
lspId Inbound Text
loadId Inbound Text
dh Inbound Number
flc Inbound Number
rl Inbound Number
request.timeWindowAfterOriginAppointment Outbound Text
request.equipmentTypes Outbound Text
request.originMilesRadiusWindow Outbound Text
request.destinationMilesRadiusWindow Outbound Text
request.timeWindowBeforeOriginAppointment Outbound Text
request.loadId Outbound Text
request.monthWindowForHistoricalData Outbound Text

 

GET Lane History Search

Nexus API Field Name Event Type Data Type
name Inbound Text
avgRatePerMile Inbound Number
contactName Inbound Text
contactEmail Inbound Text
t Inbound Number
d Inbound Number
l Inbound Number
contactPhone Inbound Text
mc Inbound Text
r Inbound Number
status Inbound Text
o Inbound Number
dot Inbound Text
OriginatingRecordId Inbound Text
rl Inbound Number
flc Inbound Number
laneScore Inbound Number
dh Inbound Number
contactEmail Inbound Text
contactPhone Inbound Text
executionTime Inbound Text
lspId Inbound Text
percentOfHistoryFromCoOp Inbound Number
lratio Inbound Number
loadId Inbound Text
request.origin.state Outbound Text
request.MonthWindowForHistoricalData Outbound Text
request.destination.state Outbound Text
request.equipmentTypes Outbound Text
request.origin.postal Outbound Text
request.NumberOfCarriersReturned Outbound Text
request.destinationmilesradiuswindow Outbound Text
request.originmilesradiuswindow Outbound Text
request.origin.city Outbound Text
request.destination.city Outbound Text
request.destination.postal Outbound Text

GET Lane History Single Carrier

Nexus API Field Name Event Type Data Type
zip Inbound Text
mc Inbound Text
avgRatePerMile Inbound Number
r Inbound Number
d Inbound Number
contactName Inbound Text
t Inbound Number
laneScore Inbound Number
status Inbound Text
dot Inbound Text
fromO Inbound Boolean
OriginatingRecordId Inbound Text
ownerName Inbound Text
percentOfHistoryFromCoOp Inbound Number
l Inbound Number
rating Inbound Text
name Inbound Text
flc Inbound Number
dh Inbound Number
rl Inbound Number
o Inbound Number
equipmentType Inbound Text
dotStatus Inbound Text
toO Inbound Boolean
lspId Inbound Text
toD Inbound Boolean
contactPhone Inbound Text
lratio Inbound Number
fromD Inbound Boolean
executionTime Inbound Text
loadId Inbound Text
contactEmail Inbound Text
reviewDate Inbound Text
contractAuthority Inbound Text
lanes Inbound Number
totalPower Inbound Text
commonAuthority Inbound Text
driversTotal Inbound Text
request.destination.city Outbound Text
request.equipmentTypes Outbound Text
request.destination.postal Outbound Text
request.origin.state Outbound Text
request.destination.state Outbound Text
request.NumberOfCarriersReturned Outbound Text
request.origin.postal Outbound Text
request.carrierDotNumber Outbound Text
request.originmilesradiuswindow Outbound Text
request.destinationmilesradiuswindow Outbound Text
request.origin.city Outbound Text
request.MonthWindowForHistoricalData Outbound Text

 

GET Offer Details

Nexus API Field Name Event Type Data Type
dateCreatedUtc Inbound Text
carrierDot Inbound Text
limitRate Inbound Number
additionalNotes Inbound Text
offerId Inbound Text
rate Inbound Number
OriginatingRecordId Inbound Text
fromCarrier Inbound Boolean
status Inbound Text
childCompany Inbound Text
originalOfferId Inbound Text
lspId Inbound Text
loadId Inbound Text
expire Inbound Text
note Inbound Text
offerId Outbound Text

GET Single Carrier Statistics

Nexus API Field Name Event Type Data Type
name Inbound Text
flc Inbound Number
dh Inbound Number
d Inbound Number
laneScore Inbound Number
isLaneMatch Inbound Boolean
OriginatingRecordId Inbound Text
l Inbound Number
avgRatePerMile Inbound Number
r Inbound Number
percentOfHistoryFromCoOp Inbound Number
mc Inbound Text
rl Inbound Number
status Inbound Text
dot Inbound Text
contactName Inbound Text
ownerName Inbound Text
t Inbound Number
r Inbound Number
o Inbound Number
rating Inbound Text
contactEmail Inbound Text
executionTime Inbound Text
contactPhone Inbound Text
toD Inbound Boolean
loadId Inbound Text
reviewDate Inbound Text
fromO Inbound Boolean
lspId Inbound Text
dotStatus Inbound Text
totalPower Inbound Text
contractAuthority Inbound Text
commonAuthority Inbound Text
lanes Inbound Number
driversTotal Inbound Text
equipmentType Inbound Text
zip Inbound Text
toO Inbound Boolean
fromD Inbound Boolean
lratio Inbound Number
request.timeWindowBeforeOriginAppointment Outbound Text
request.carrierDotNumber Outbound Text
request.monthWindowForHistoricalData Outbound Text
request.timeWindowAfterOriginAppointment Outbound Text
request.destinationMilesRadiusWindow Outbound Text
request.loadId Outbound Text
request.equipmentTypes Outbound Text
request.originMilesRadiusWindow Outbound Text

 

POST Carrier Import

API Field Details

Nexus API Field Name Event Type Data Type
ExecutionTime Inbound Text
Success Inbound Boolean
Name Outbound Text
Status Outbound Text
DOTNumber Outbound Text
MCNumber Outbound Text
Name Outbound Text
Email Outbound Text
Phone Outbound Text
PhoneExtension Outbound Text
OwnerName Outbound Text
DNU Outbound Text
Favorite Outbound Text

POST Load Import

Nexus API Field Name Event Type Data Type
ExecutionTime Inbound Text
Success Inbound Boolean
State Outbound Text
LoadId Outbound Text
Street1 Outbound Text
Street1 Outbound Text
Postal Outbound Text
City Outbound Text
City Outbound Text
EquipmentTypes Outbound Text
StopNumber Outbound Number
MPLoadId Outbound Text
Longitude Outbound Number
State Outbound Text
Longitude Outbound Number
Country Outbound Text
EndDateTime Outbound Text
Latittude Outbound Number
DateTime Outbound Text
DateTime Outbound Text
Postal Outbound Text
Latittude Outbound Number
Country Outbound Text
EndDateTime Outbound Text
Miles Outbound Number
TSACert Outbound Boolean
MCNumber Outbound Text
DeliveredDateTime Outbound Text
DropTrailerAtDestination Outbound Boolean
CarrierDOTNumber Outbound Text
Weight Outbound Number
Hazmat Outbound Boolean
LoadDetails Outbound Text
RatePerMileExcludingFuel Outbound Number
BlockingAndBracing Outbound Boolean
ItemizedStandardAccessorialCharges Outbound Number
Commodity Outbound Text
Status Outbound Text
OwnerName Outbound Text
OwnerEmail Outbound Text
TWIC Outbound Boolean
MaxBuyRate Outbound Number
CoverageRegion Outbound Text
SuggestedMarketRate Outbound Number
TruckIdentifier Outbound Text
OwnerPhone Outbound Text
DropTrailerAtOrigin Outbound Boolean
HazmatType Outbound Text
CTPATCert Outbound Boolean
BlockingAndBracingType Outbound Text
ChildCompanyCode Outbound Text

POST Single Carrier Import

Nexus API Field Name Event Type Data Type
Success Inbound Boolean
ExecutionTime Inbound Text
DNU Outbound Text
OwnerName Outbound Text
Status Outbound Text
Name Outbound Text
PhoneExtension Outbound Text
MCNumber Outbound Text
Favorite Outbound Text
DOTNumber Outbound Text
Name Outbound Text
Email Outbound Text
Phone Outbound Text

POST Single Load Import

Nexus API Field Name Event Type Data Type
ExecutionTime Inbound Text
Success Inbound Boolean
TWIC Outbound Boolean
Latittude Outbound Number
Postal Outbound Text
Weight Outbound Number
Country Outbound Text
CarrierDOTNumber Outbound Text
CTPATCert Outbound Boolean
ItemizedStandardAccessorialCharges Outbound Number
OwnerEmail Outbound Text
OwnerPhone Outbound Text
MPLoadId Outbound Text
Postal Outbound Text
MaxBuyRate Outbound Number
Latittude Outbound Number
City Outbound Text
LoadDetails Outbound Text
TSACert Outbound Boolean
BlockingAndBracing Outbound Boolean
EquipmentTypes Outbound Text
CoverageRegion Outbound Text
RatePerMileExcludingFuel Outbound Number
MCNumber Outbound Text
EndDateTime Outbound Text
Status Outbound Text
DateTime Outbound Text
Commodity Outbound Text
LoadId Outbound Text
Miles Outbound Number
StopNumber Outbound Number
DateTime Outbound Text
OwnerName Outbound Text
DropTrailerAtDestination Outbound Boolean
DeliveredDateTime Outbound Text
Longitude Outbound Number
Hazmat Outbound Boolean
SuggestedMarketRate Outbound Number
Country Outbound Text
ChildCompanyCode Outbound Text
TruckIdentifier Outbound Text
HazmatType Outbound Text
DropTrailerAtOrigin Outbound Boolean
BlockingAndBracingType Outbound Text
Street1 Outbound Text
Longitude Outbound Number
State Outbound Text
City Outbound Text
EndDateTime Outbound Text
Street1 Outbound Text
State Outbound Text

PUT Add Offer

Nexus API Field Name Event Type Data Type
expire Inbound Text
limitRate Inbound Number
note Inbound Text
originalOfferId Inbound Text
OriginatingRecordId Inbound Text
rate Inbound Number
status Inbound Text
dateCreatedUtc Inbound Text
fromCarrier Inbound Boolean
childCompany Inbound Text
offerId Inbound Text
carrierDot Inbound Text
loadId Inbound Text
lspId Inbound Text
additionalNotes Inbound Text
Rate Outbound Number
subEquipment Outbound Text
note Outbound Text
equipment Outbound Text
loadId Outbound Text
carrierDot Outbound Text
LimitRate Outbound Number
ChildCompany Outbound Text
Was this article helpful?
0 out of 0 found this helpful