Skip to main content

Enabling McLeod TMS

Param avatar
Written by Param
Updated over a week ago

Overview

In this guide, you will understand how a load that is inside of McLeod interacts with Chain.

Prerequisites:

  1. McLeod version 20.2 or higher for Booking capabilities in Chain

  2. McLeod version 22.1 or higher for Tracking capabilities in Chain

  3. DFM Module in McLeod’s PowerBroker software

  4. McLeod App Enabled in your Chain Workspace's Settings > Apps

  5. Chain Enterprise License

Additionally, you will need to have someone generate or obtain the following from your McLeod instance:

  • Set up a username and password within your PowerBroker application for Chain to use. See Generate a username and password for more information

  • obtain the URL for your McLeod instance


Basics

  • Order numbers are shown as the load number in Chain

  • Each movement on an order will be its own load in Chain, with the same order number (same load number), but different stops

Setup in McLeod

The overall set up flow is as follows:

  • Generate an accountID in Chain to be used for McLeod.

  • Generate a username and password in McLeod for Chain to use, add the accountID from Chain, and Chain's URL to McLeod.

  • Provide the username and password to Chain for integration.


Generate an accountID in Chain

  1. Go to Settings > Apps

  2. Click on "Enable" under the McLeod app

  3. Click on "Generate Account ID" and copy the generated account ID. This will be used in the next steps.

For now, ignore the username and password fields. We will come back to these later.

Generate a username and password

  1. Begin by setting up a vendor login id and password in Sys Admin > Brokerage > Freight Matching > Freight Matching Control

mcleod freight matching control menu
  1. Click Add.

mcleod freight matching control modal
  1. Add a Login ID for Chain. You can use ChainAPI or any other name you prefer.

  2. Generate a secure password for Chain. It is recommended to to use a password greater than 12 characters with a mix of upper and lower case letters, numbers, and special characters. Note this password down as you will need to provide it to Chain.

  3. Make sure the "Active" checkbox is checked.

  4. Paste the Account ID from Chain into the "Account ID" field.

  5. Add the following for the vendor contact name and email:

    Name: Chain Dev Support
    Email: dev-support@chaineapp.com
  6. Under Webhook URL, paste the following:

https://api.chaineapp.com/apps/events/v1/mcleod

7. Click OK

Configure Freight Match Control Settings

Under the Freight Matching Control screen, make sure the newly created user ID for Chain is included under the "Load booking user(s)", "Create offer user(s)", and "Carrier pay rate provider(s)" sections.

mcleod freight matching control modal

At the bottom of the Freight Matching Control, you will have "Process intervals". This allows you to specify how frequently the Freight Matching transaction records should be processed to be sent as notifications to the vendors for updates to your qualified loads and carriers. Values greater than 5 minutes are not recommended. If your system can handle it, 1 minute is recommended.

Configure additional fields in the freight match control

In addition to the standard fields, Chain uses many other fields to enable various products such as Chain Booking, Autopilot and Visibility.

Here are all the fields that should be available for the Chain Profile in the Freight Match Control.

Field Name

Table

Description

disable_automatic_tracking

drs_payee

Disable Driver App Tracking

dot_number

drs_payee

Carrier DOT Number

icc_number

drs_payee

ICC Number

equip_length

equipment_type

(appears under orders in equipmentType)

Length of trailer

equip_width

equipment_type

(appears under orders in equipmentType)

Width of trailer

id

equipment_type

Broker-specific ID for the equipment

pnn_code_id

equipment_type

(appears under orders in equipmentType)

Loadboard compatible equipment ID

br_details_link

movement

Tracking provider link

br_status_link

movement

Tracking provider's tracking status

br_track_status

movement

Tracking provider's status

br_tracking_id

movement

Tracking provider's tracking id

br_vendor

movement

Tracking provider (vendor)

brokerage_status

movement

Brokerage status of the movement

dispatcherUser

movement

Dispatch User (contains the email_address, phone and id)

carrier_contact

movement

Carrier contact name

carrier_email

movement

Carrier Email

carrier_tractor

movement

Carrier Tractor Number

carrier_trailer

movement

Carrier Trailer Number

id

movement

Movement ID

max_buy

movement

Maximum Rate to pay the carrier

move_distance

movement

The distance in miles

override_drvr_cell

movement

Driver Cell Phone Number

override_max_pay

movement

Max carrier pay

override_payee_id

movement

Unique carrier ID

override_pay_amt

movement

Rate paid to carrier

override_pay_rate

movement

-

override_targetpay

movement

Target rate to pay the carrier

external_tracking_link_url

movement

Custom field we ask you create to store any tracking links carriers provide

rate_confirmation_sent_date

movement

Timestamp when rate confirmation was sent

responsibleHists

movement

Responsibility histories for. thismovement

status

movement

Movement status

stops

movement

stops on the movement

target_pay

movement

Target carrier pay for order

blnum

order

The customer's reference number. This is used in visibility provider apps like P44 or FourKites when needing to send data to them.

bol_received

order

Field indicating whether the bill of lading was received

bol_recv_date

order

The date the BOL was received

salesperson_id

order (or under customer)

The customer's salesperson ID

equipment_type_id

order

Equipment type identifier

freight_charge

order

Base freight charge amount to the customer

hazmat

order

If shipment is hazmat

high_value

order

If shipment is high value

id

order

Unique order identifier

loadboard

order

Should be posted to load board

ltl

order

Is shipment LTL

on_hold

order

On hold indicator

operationsUser

order

Operations User object which will contain the email_address, id and phone properties

operations_user

order

operations user identifier

order_mode

order

The mode of the order

order_value

order

Total value. of the order in terms of insurance requirements.

order_type_id

order

Order type identifier ("SPOT", "CONTRACT")

otherchargetotal

order

Additional charges total billed to the customer

pallets_how_many

order

Number of pallets

pieces

order

Number of pieces in the shipment

pnn_comment

order

Comment used for posting to load boards

pnn_comment2

order

Secondary comments used for load boards

pnn_post_type

order

Post type for load matching

pnn_rate

order

The value to indicate total carrier pay for the order

pnn_rate_type

order

Flat or Per Mile rate type

pnn_trailer_length

order

Loadboard trailer length

pnn_trailer_width

order

Loadboard trailer width

revenue_code_id

order

Revenue Code ID

status

order

Overall order status

teams_required

order

If a team. isrequired

temperature_max

order

Highest allowable temp

temperature_min

order

Lowest allowable temp

total_charge

order

Total freight and other charges

weight

order

The weight of the order in pounds

actual_arrival

stop

Stop arrival

actual_departure

stop

Stop departure

address

stop

Stop's address

appt_required

stop

Deontes that an appointment is required

cases

stop

The cases relative to this stop

city_name

stop

Stop's city name

confirmed

stop

Appointment confirmed

contact_name

stop

Name of the contact person. forthis stop

eta

stop

The ETA for the stop

latitude

stop

The latitude of the stop's location

location

stop

The location object on the stop and all the fields relevant to it like address related fields, pallets_required, pnn_city_name, pn_state, pnn_zip_code, latitude, longitude and id

location_id

stop

The location's unique id

location_name

stop

The location's name

longitude

stop

The latitude of the location

pallets_dropped

stop

Number of pallets dropped at this stop

pallets_picked_up

stop

Number of pallets picked up at this stop

sched_arrive_early

stop

Earliest acceptable arrival date/time

sched_arrive_late

stop

Latest acceptable arrival date/time

state

stop

The state of the stop's location

stop_type

stop

Two-character stop type

zip_code

stop

The zip code for the location

zone_id

stop

The zone identifier

If you are NOT using Chain visibility, then these fields are required to sync your tracking data:

Field Name

Table

Description

br_details_link

movement

Tracking URL of your tracking provider

br_tracking_id

movement

The tracking id of the load from visibility provider

br_track_status

movement

Tracking status of your tracking provider

br_track_status_desc

movement

Tracking status description of your tracking provider

br_vendor

movement

Tracking vendor

Enable the "Responsibility Output" field in the Freight Matching Control.

Check the box Enable responsibility output and make sure the field "revenue_code_id" is checked. This is used to separate loads in different workspaces in Chain.

mcleod freight matching control modal


Add a new field to the movement table

We ask your McLeod Chain Implementation rep to create a new field on the movement called: external_tracking_link_url. This field is used to add any "external tracking link" that is provided by the carrier. This field will be sent to Chain and it will be tracked with data sent back to McLeod.


Setup in Chain

Return to the McLeod app in Chain and fill in the username and password fields with the username and password you created in McLeod.

You will also need to add your McLeod Instance URL. This is the URL you use to access McLeod. If you are unsure about this, please ask your McLeod rep on what your "Freight Matching Instance URL" is which is used to access the Freight Matching API for your instance.

Did this answer your question?