Welcome!

Start using Super Dispatch as a platform.

Shipper API

Dispatch loads to any carrier and receive ePOD in real-time.

Documentation API Reference
Carrier API

Dispatch loads to your drivers and receive ePOD in real-time.

Documentation & API Reference
Support

We’re ready to help with your integration. Contact us to discuss any topics and questions. We will set up a dedicated Slack channel to communicate with you in real-time.

Contact Us

Release NotesRSS

November 25, 2020

Webhooks for order and vehicle revisions

Webhooks for order and vehicle revisions allow getting notifications when an order or its vehicles are updated. Using these webhook events API users are able to fully synchronize data in their system with Shipper TMS. These events allow subscribing to any subset of field changes. For example, if you are interested only in price changes you can subscribe to the price field changes and get notified only when the order price is changed.

Please, see details in the Webhooks for order and vehicle revisions section of documentation and in API Reference.

November 18, 2020

Partial Order Update

With the PUT method for order update, we have to send the full representation of the resource even when we need to modify a single field. Unlike the PUT method PATCH method allows updating order with the partial payload. The partial update is implemented according to JSON Merge Patch standard proposed in RFC 7396.

In order to perform the partial update, you should send a payload with a set of fields that needs to be updated. The content type of the request should be application/merge-patch+json. Field values that are included in the payload replace old values. Fields that aren't included in the payload remain untouched.

Notice that according to the standard it is not possible to patch part of an array. For example, if you send a nested vehicles array field in a payload, the vehicle list in the order will be completely overwritten by the content of this array.

The following example demonstrates a partial update of price, pickup.scheduled_at, and delivery.scheduled_at fields:

1
2
3
4
5
6
7
8
9
    {
        "price": 123.99,
        "pickup": {
            "scheduled_at": "2020-12-22T10:33:29.112+0000"
        },
        "delivery": {
            "scheduled_at": "2020-12-28T10:33:29.112+0000"
        }
    }

Please, see details on how to use the HTTP PATCH method for partial order update from the API reference.

November 10, 2020

Additional Date Fields - Customer Pickup and Delivery Dates, Updates by Carrier Pickup and Delivery Dates

It is important for shippers to preserve agreed dates with the Customer in order to review carrier dates, changes, and build reports. Therefore, we added additional fields like scheduled_at_by_customer and scheduled_ends_at_by_customer which show the dates agreed with the Customer.

Additionally, from now on, carriers cannot change Pickup/Delivery dates set by shippers. Instead, changes to the dates will be stored in the readOnly scheduled_at_by_carrier field.

Please check out order request and response endpoints.

October 13, 2020

Per vehicle order activity

Added a vehicles object into the order's activity payload.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
  "status": "success",
  "data": {
    "objects": [
      {
        "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
        "id": 0,
        "created_at": "2019-11-15T10:33:29.112+0000",
        "action_status": "SUCCESS",
        "carrier_address": "Main street, 5",
        "carrier_city": "Salt Lake City",
        "carrier_contact_name": "John Smith",
        "carrier_email": "[email protected]",
        "carrier_guid": "512cb41f-45f3-4996-83a5-83687bf0cc0b",
        "carrier_name": "string",
        "carrier_phone": "+1 234 5678 910",
        "carrier_state": "UT",
        "carrier_usdot": 123456,
        "carrier_zip": 84199,
        "code": "picked_up",
        "driver_name": "string",
        "driver_phone": "string",
        "error_details": "string",
        "error_message": "string",
        "status": "new",
        "user": {
          "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
          "is_active": true,
          "is_superuser": false,
          "created_at": "2019-11-15T10:33:29.112+0000",
          "changed_at": "2019-11-15T10:33:29.112+0000",
          "email": "[email protected]",
          "first_name": "string",
          "last_name": "string",
          "username": "string"
        },
        "vehicles": [
          {
            "guid": "ee6a7af7-650d-499b-8e32-58a52ffdb7bc",
            "lot_number": 1234,
            "make": "BMW",
            "model": "Gran Coupe",
            "vin": "1G8AL52F03Z157046",
            "year": 2012
          }
        ]
      }
    ],
    "pagination": {
      "total_pages": 0,
      "total_objects": 0,
      "limit": 20,
      "page": 0
    }
  }
}

This way it will allow shippers to track each particular vehicle better: when it is picked up or delivered.

Vehicles object is empty unless order is in status Picked up or Delivered.

Please, see the API reference on the per vehicle order activity.

June 23, 2020

Added new Approved Carrier status

Added new Approved Carrier status which is designed for shippers who want to monitor carrier compliance on their own.

Please, see the API reference how to get the list of Approved carriers.

API reference how to mark a carrier as Approved.

Please, read an article on Approved carriers.

The approved carrier object comes with the following properties:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
        ...
    {
            "status": "success",
            "data": {
            "object": {
            "guid": "string",
            "usdot_number": "123456",
            "approved": true,
            "approved_since": "2019-11-15T10:33:29.112+0000",
            "preferred": false,
            "preferred_since": null,
            "in_blacklist": false,
            "in_blacklist_since": null,
            "insurance_certificate_holder": false,
            "insurance_certificate_holder_since": null,
            "insurance_cert_holder_file_url": null,
            "insurance_expires_at": null,
            "custom_external_id": "CARRIER-0098"
            }
        }
    }
        ...

May 1, 2020

Added order's dispatcher's info into the order payload

We have added more details for the dispatcher user in the order's response payload.

The dispatcher object comes with the following properties:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
        ...
        "dispatcher": 
        {
            "is_active": true,
            "created_at": "2019-11-15T10:33:29.112+0000",
            "changed_at": "2019-11-15T10:33:29.112+0000",
            "guid": "4f797316-63a8-432a-a4ef-2986b8occ89d",
            "username": "ZH058gvXGpyHwHQFbxLH",
            "email": "[email protected]",
            "first_name": "John",
            "last_name": "Doe"
        },
        ...

March 20, 2020

Removed a deprecated "active" field

Some endpoints of Shipper API returned two fields: active and is_active.

The field active used to be marked as deprecated in the API reference and was removed.

February 21, 2020

Manual Flow

It is now possible to change some of the order's statuses manually.

Such actions as Mark as Accepted, Mark as Delivered, Mark as Picked Up, and Mark as Carrier Invoiced are available.

The reason behind having these options is because sometimes brokers need to change the order's status independent of the carrier.

  • To Manually Mark Order as Accepted, you need to provide:

    carrier_email

    carrier_phone

    Broker primarily may use this option to mark order as accepted by internal carrier.

  • To Manually Mark Order as Picked Up:

    The order must be in status accepted and you need to pass adjusted_date to adjust the pickup date.

  • To Manually Mark Order as Delivered:

    The order must be in status accepted or picked up. To adjust the pickup and delivery dates, you need to pass adjusted_pickup_date and adjusted_delivery_date if order is in status accepted, and adjusted_delivery_date only if order is in status picked up.

  • To Manually Mark Order as Carrier Invoiced:

    You need to pass adjusted_invoice_date to adjust the invoice date.

January 21, 2020

Load Requests Webhooks

Additional webhooks actions have been added.

Now it is possible to subscribe to the following webhooks:

  • Event created when carrier sends a load request to shipper: load_request.created

  • Carrier cancels their own load request: load_request.canceled_by_carrier

  • Shipper declines carrier's load request: load_request.declined_by_shipper

API reference: Webhooks. Read more on Load Requests Webhooks here.

January 15, 2020

Archive Order

New endpoint to archive an order is now available. Order in any status can be archived, except for inactive orders.

If an order is posted to CD or SLB, it will be unposted once archived.

Please see archive an order endpoint.

December 27, 2019

Customer Portal: new API endpoints and new fields of the Order object

The API endpoints are available that enables API customers to manage customers, terminals, and contacts with more flexibility. These endpoints are replacing the old (now deprecated) Contacts API. Customers and terminals can be reused while creating an order. Each customer or terminal can have several contacts. Only one contact can be marked as primary.

API reference: Customers, Terminals.

These changes add new fields to the Order object.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
        ...
        "pickup_counterparty_guid": "ef2818b8-a55e-436a-a61e-993ae0470928",
        "save_as_new": null,
        "save_as_new_contact": null
        "venue": {
          "name": "First Choice",
          "business_type": "DEALER",
          "address": "7997 Hudson Street",
          "city": "Suffolk",
          "state": "VA",
          "zip": "23434",
          "contact_name": "Patricia Bennett",
          "contact_title": "Dispatcher",
          "contact_email": "[email protected]",
          "contact_phone": "215-800-1859",
          "contact_mobile_phone": "412-452-2889"
        },
        ...
  • pickup and delivery:
    • counterparty_guid to reuse customer or terminal information
    • save_as_new and save_as_new_contact to save customer, terminal, or contact information
  • pickup.venue and delivery.venue:
    • business_type can accept the values DEALER, PRIVATE, AUCTION, REPO_YARD, PORT, BUSINESS
    • contact_title
    • contact_mobile_phone

API reference: create a new order.

December 5, 2019

The field "active" is deprecated

Some endpoints of Shipper API return two fields: active and is_active. Both fields are boolean, and they indicate the object is active, not deleted.

active is deprecated now. API clients should use only is_active from now. We'll remove active from Shipper API on February 7, 2020. The field is marked as deprecated in the API reference already.

December 5, 2019

Domain migration: api.broker.superdispatch.org --> api.shipper.superdispatch.com

Currently our API works on two subdomains:

  • api.broker.superdispatch.org
  • api.shipper.superdispatch.com

We're going to shut down the first domain on January 31, 2020. After this date all requests should be sent to api.shipper.superdispatch.com. Our documentation and API reference already use the second domain.