Skip to main content

Load Sync API: In-house TMS

Any time there is a change to the load object inside of your TMS, send the entire load object to this end-point. This is a high throughput end-point and can handle thousands of requests per second. It is highly available, fault tolerant, and scalable.

This end-point will always return a 200 status code. Since Chaine will be listening to load events from your TMS based on your load object, there is no reason to return any other error. If there is an error, Chaine will simply not process the load object and will retry the request at a later time without any impact to the API.

Finally, this end-point is idempotent. If you send the same load object multiple times, Chaine will only process it once. This is to ensure that if there is a network error, or if you send the same load object multiple times, Chaine will not create duplicate loads.

Header Parameters
    Authorization string required

    API Key that a Chaine Admin or Owner creates in their workspace under developer settings

    Example: 1AbC2DeFgH34IJKlm5N6O7p8QR9s0tU1VWcYZABcDeFg2HIJ
    Content-Type string required

    The content type of the request. Currently we accept application/json or application/xml. If these don't work for you, please reach out to your technical contact at Chaine.

    Example: application/json
Request Body

This is just a sample of the fields you can send on the load object. Our integrations are highly configurable and you can send essentially any other fields you want. If you don't have a lot of flexibility on your end, we provide a user-interface for you to create a custom mapper where you can map any object you send to us to Chaine's internal load object.

    actionType ActionType

    Possible values: [Create, Update, Delete, Upsert]

    This can be used to indicate whether this event/request is a create, update or delete.

    assignedBookingReps object[]

    An array of booking reps assigned to the load. If it is just one, send an array with one. If a carrier rep is assigned to an available load for booking purposes, add them here. The customer sales rep can also be added here.

  • Array [
  • email string

    The email of the user

    id string

    Your internal unique user ID

    role string

    The role of the user. i.e. CarrierSalesRep, CustomerSalesRep, etc...

  • ]
  • assignedTrackingReps object[]

    Any user that is responsible for tracking the load. This is used for load load tracking and collaboration. Alternatively, you can provide this in other custom fields and we would map this to our standard load object.

  • Array [
  • email string

    The email of the user

    id string

    Your internal unique user ID

    role string

    The role of the user. i.e. CarrierSalesRep, CustomerSalesRep, etc...

  • ]
  • carrier object
    dotNumber string
    doNotUse boolean
    doNotUseReason string
    companyName string
    id string

    Your internal unique carrier ID

    mcNumber string
    scacCode string

    The SCAC code of the carrier

    carrierSalesRep object

    The carrier sales rep assigned to the load. This is used for carrier collaboration and shown in the driver mobile app.

    id string

    Your internal unique user ID

    email string
    id string

    Your internal unique load ID

    officeID string

    If this load is part of a unique office, team or POD, this will be used by Chaine to separate out the loads to the appropriate teams.

    officeDisplayName string

    The name of the office specified by officeID. This will be used in Chaine for display purposes.

    commodity string

    The commodity of the load. This is used for load matching.

    createdOn string

    The date the load was created.

    customer object
    name string

    The company name of the customer

    id string

    Your internal unique customer ID

    contact object

    A contact at the customer. This can be used to automatically share tracking with and also for customer to customerSalesRep collaboration

    id string

    Your internal unique user ID

    email string
    customerSalesRep object

    The customer sales rep assigned to the load. This is used for both freight matching so they can see the offers on loads and also for customer collaboration.

    id string

    Your internal unique user ID

    email string
    createdBy object

    The user that created the load.

    id string

    Your internal unique user ID

    email string
    dispatchers object[]

    An array of dispatchers assigned to the load. If it is just one, send an array with one.

  • Array [
  • email string
    phone string
  • ]
  • distance object

    The distance details of the load with a value and unit of measure

    value number

    The value of the distance

    unit string

    The unit of measure for the distance

    drivers object[]

    An array of drivers assigned to the load. If it is just one, send an array with one.

  • Array [
  • phone string

    The cell phone number of the driver used for mobile app tracking or load assignment via the Chaine mobile app

  • ]
  • doNotPost boolean

    Indicates whether the load should be posted to the load board. This is used for load matching.

    equipment string[]

    The equipment types that are required for the load. This is used for load matching.

    equipmentTags string[]

    Additional equipment tags that may be specified to provide more details on the equipment. I.e. RGN, Hot shot, 8 tarps etc...

    financials object

    The financials of the load. This is used for load matching, and to better understand the historical rate information for available loads.

    carrierInvoiceTotal number

    The total amount the carrier invoiced the mutual customer

    carrierPaymentTotal number

    The total amount that was paid to the carrier. This is usually the carrierInvoiceTotal minus any fees.

    customerInvoiceTotal number

    The total amount that was invoiced to the shipper/customer. This is usually the customerQuoteTotal plus any fees.

    customerQuoteTotal number

    The total amount that was quoted to the customer.

    hazmatIndicator boolean

    Indicates whether the load is hazmat. This is used load matching.

    hotLoadIndicator boolean

    Indicates whether this is an urgent or important. This is used for load matching.

    mode string

    The mode of the load

    proofOfDeliveryReceived boolean

    Whether the POD has been received. This is used by the copilot for automated POD retrieval workflows.

    referenceNumbers object

    The various reference numbers on the load. This is used for carrier collaboration.

    billOfLading string

    The bill of lading number. This is used for load collaboration in the Chaine mobile app.

    billingReferenceNumber string

    The billing reference number. This can be used to help identify the load in the Chaine for your customers when sharing tracking.

    orderNumber string

    The order number. This can be used to help identify the load in the Chaine for your customers when sharing tracking.

    pickupNumber string

    The pick-up numberr. This is used for load collaboration in the Chaine mobile app.

    purchaseOrderNumber string

    The purchase order number. This can be used to help identify the load in the Chaine for your customers when sharing tracking.

    progressiveRotatingOrderNumber string

    The PRO number. This can be used to help identify the load in the Chaine for your customers when sharing tracking.

    loadNumber string

    The user facing non-unique load number

    loadStatus LoadStatus

    Possible values: [Canceled, Carrier assigned, Delivered, In transit, Needs carrier]

    The load status of the load i.e. In transit, Delivered, etc.

    specialInstructions string

    The special instructions for the load that is relayed to the carrier. This is used for the chaine mobile app for drivers and also for carrier collaboration features.

    stops object[]

    The array of all of the stops. Always provide the latest stops. If an appointment gets updated, just send the entire object with the updated stops.

  • Array [
  • appointment object
    start object
    date string

    A date in the format of MM-DD-YYYY or YYYY-MM-DD. We can configure to map your format during integration to a Chaine format.

    time string

    A time in any format. We can configure to map your format during integration to a Chaine format.

    timezone string

    The timezone of the appointment. This is optional.

    end object
    date string

    A date in the format of MM-DD-YYYY or YYYY-MM-DD. We can configure to map your format during integration to a Chaine format.

    time string

    A time in any format. We can configure to map your format during integration to a Chaine format.

    timezone string

    The timezone of the appointment. This is optional.

    isFirstComeFirstServe boolean

    Indicates whether the appointment is first come first serve. This is used for load matching and carrier collaboration.

    arrivalDateTime object
    date string

    A date in the format of MM-DD-YYYY or YYYY-MM-DD. We can configure to map your format during integration to a Chaine format.

    time string

    A time in any format. We can configure to map your format during integration to a Chaine format.

    timezone string

    The timezone of the appointment. This is optional.

    id string

    Your internal unique stop ID

    departureDateTime object
    date string

    A date in the format of MM-DD-YYYY or YYYY-MM-DD. We can configure to map your format during integration to a Chaine format.

    time string

    A time in any format. We can configure to map your format during integration to a Chaine format.

    timezone string

    The timezone of the appointment. This is optional.

    eta object
    date string

    A date in the format of MM-DD-YYYY or YYYY-MM-DD. We can configure to map your format during integration to a Chaine format.

    time string

    A time in any format. We can configure to map your format during integration to a Chaine format.

    timezone string

    The timezone of the appointment. This is optional.

    instructions string

    Any stop specific special instructions that can be relayed to the carrier. This is used for carrier collaboration and shown in the driver mobile app.

    pickupDeliveryNumber string

    If the stop has a specific pickup/delivery number that the carrier needs to reference to the warehouse. This is used for carrier collaboration and shown in the driver mobile app.

    referenceNumber string

    Often times there are reference numbers on a stop that may refer to a specific pickup number. If you have an additional reference number field, you can send it.

    sequence number

    The sequence of the stop. Required in the stops array.

    type StopTypeEnum

    Possible values: [Pick, Drop]

    Indicates whether the stop is a pick or drop

    warehouse object
    id string

    Your internal unique warehouse ID

    address object
    addressLabel string
    boundingBox string[]

    A bounding box of the address. This is used for load collaboration and Geo-fence

    city

    The city of the address

    coordinates object

    The coordinates of the address.

    latitude number
    longitude number
    country string

    The country of the address

    countryCode string

    The country code of the address

    county string

    The county of the address

    postalCode string

    The postal code of the address

    postalCodeSuffix string

    The postal code suffix of the address

    state string

    The state of the address

    stateCode string

    The state code of the address

    street string

    The street of the address

    streetNumber string

    The street number of the address

    suiteNumber string

    The suite number of the address

    name string

    The warehouse location name. This is used for carrier collaboration and shown in the driver mobile app.

    warehouseHours string

    The warehouse hours. This is used for carrier collaboration and shown in the driver mobile app.

    contact object

    The warehouse contact. This is used for carrier collaboration and can optionally be shown in the driver mobile app.

    name string

    The name of the warehouse contact

    phone string

    The phone number of the warehouse contact

    email string

    The email of the warehouse contact

    latched boolean
  • ]
  • teamRequired boolean

    Boolean that indicates whether the load requires a team

    temperatureControlled boolean

    Boolean that indicates whether the load is temperature controlled

    temperatureRange object

    If the load is temperature controlled, the temperature range that provides the temperature details

    runType string

    The way the reefer unit should be run. i.e. Continuous, Start-stop, etc...

    min number

    The minimum temperature the reefer unit can be at.

    max number

    The maximum temperature the reefer unit can be at.

    unit string

    The unit of measure for the temperature. i.e. Fahrenheit, Celsius, etc...

    tmsRates object

    Internal rates that may be specified by users using the TMS

    source BookingRatesSource

    The source of the rates i.e. DAT, Greenscreens, TMS

    benchmarkRate object

    The benchmark rate that the chaine customer is willing to pay for the load. Some customers may determine this based on historical data. This is used for load matching.

    value number

    The value of the currency

    currency string

    The currency code i.e. USD, CAD, etc...

    maxRate object

    The maximum rate that the chaine customer is willing to pay for the load. This is used for load matching.

    value number

    The value of the currency

    currency string

    The currency code i.e. USD, CAD, etc...

    targetRate object

    The target rate that is determined by the Chaine customer (or source) for the load. This is used for load matching.

    value number

    The value of the currency

    currency string

    The currency code i.e. USD, CAD, etc...

    tmsURL string

    If your TMS is web based and has a unique URL for the load, this is the URL to the load which Chaine uses inside of the app to provide a better user experience for mutual users.

    totalStops number

    The total number of stops

    trailerNumber string

    Usually the trailer number field indicates the trailer the carrier has assigned to the load. This is used for ELD tracking if the carrier is using ELD tracking.

    truckNumber string

    Usually the truck number field indicates the truck the carrier has assigned to the load. This is used for ELD tracking if the carrier is using ELD tracking.

    updatedBy object

    The user that last updated the load

    id string

    Your internal unique user ID

    email string
    weight object

    The weight details of the load

    value number

    The value of the weight

    unit WeightUnit

    Possible values: [lb, kg]

    The unit of measure for the weight

Responses

A successful operation.


Schema
    any
Loading...