Skip to main content

Payment Method & Payment Terms Validation and Vehicle Type Enhancements

1. Payment Method & Payment Terms Validation​

  • Added validation rules to ensure only valid payment method & payment terms pairs can be used
  • Implemented stricter checks to prevent incorrect or unsupported payment combinations
  • Improved error handling with descriptive user feedback for invalid entries
Supported Payment Methods & Payment Terms Pairs​
Payment MethodSupported Payment Terms
cashcash_on_pickup, cash_on_delivery, 2_days, 5_days
checkcheck_on_pickup, check_on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
cashiers_checkcheck_on_pickup, check_on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
money_ordercheck_on_pickup, check_on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
comchekcheck_on_pickup, check_on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
achon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
direct_depositon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
credit_cardon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
venmoon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
cashappon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
ushipon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
zelleon_pickup, on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
superpay1_3_days, 5_days, 10_days, 15_days, 20_days, 30_days
otherother, ach, cash_on_pickup, cash_on_delivery, quickpay, check_on_pickup, check_on_delivery, 2_days, 5_days, 7_days, 10_days, 15_days, 20_days, 30_days, 45_days, 60_days
Example Invalid Request​

Request: POST <base_url>/v1/public/orders

{
"payment": {
"method": "cash",
"terms": "10_days"
}
}

Response:

{
"status_code": 400,
"error": "Invalid payment terms '10_days' for method 'cash'. Allowed terms are: [cash_on_pickup, cash_on_delivery, 5_days, 2_days]"
}

2. Vehicle Type Validation​

  • Added vehicle.type as a mandatory field for all vehicle-related entries
  • Implemented validation rules to prevent incorrect vehicle type submissions
Supported Vehicle Types​
  • sedan
  • 2_door_coupe
  • suv
  • pickup
  • 4_door_pickup
  • van
  • truck_daycab
  • truck_sleeper
  • motorcycle
  • boat
  • rv
  • heavy_machinery
  • freight
  • livestock
  • atv
  • trailer_bumper_pull
  • trailer_gooseneck
  • trailer_5th_wheel
  • other
Example Invalid Request​

Request: POST <base_url>/v1/public/orders

{
"vehicles": [
{
"type": "car"
}
]
}

Response:

{
"status_code": 400,
"error": "Invalid vehicle type 'car'. Allowed types are: [sedan, 2_door_coupe, suv, pickup, 4_door_pickup, van, truck_daycab, truck_sleeper, motorcycle, boat, rv, heavy_machinery, freight, livestock, atv, trailer_bumper_pull, trailer_gooseneck, trailer_5th_wheel, other]"
}

General Improvements​

  • Optimized API request validation for better data quality.
  • Updated API documentation to reflect the latest validation rules.
Migration Steps​
  1. Ensure all API requests include valid payment.method and payment.terms pairs.
  2. Validate vehicle.type before submitting requests.
  3. Review API documentation for the updated validation rules.
Support​

For assistance, contact support@superdispatch.com.

New Escalation feature for Shipper-to-Broker flow

We have improved the Shipper-to-Broker flow by introducing the following features:

  1. New Endpoint for resolve escalation issues: Added an API endpoint to resolve escalation issues. Refer to the "Resolve Escalation" section in the Shipper-to-Broker flow API documentation.
  2. New Webhook for Escalation: A shipper can now subscribe to the webhook for escalation issues. The webhook will notify the shipper when an escalation issue has been submitted.

Improved Shipper-to-Broker Flow

We have improved the Shipper-to-Broker flow by introducing the following features:

  1. New Endpoint for Broker Listing: Added an API endpoint to retrieve a comprehensive list of linked brokers. Refer to the "Get linked brokers" section in the Shipper-to-Broker flow API documentation.
  2. Enhanced Load Offer Functionality: Updated the "Send load offer" endpoint to automatically populate broker-specific details. By utilizing carrier_guid={broker_guid} and carrier_type=BROKER, the system now auto-fills contact information and address details, streamlining the load offer process.
  3. Expanded Order Submission Capabilities: Modified the "Submit order to the broker" endpoint to provide greater flexibility. Previously, the endpoint allowed only one broker relation within the system. Now you can have multiple connections, and all you need to do is specify the broker_guid field with the GUID of the broker to whom you want to submit the order.

Added new SuperPay terms

SuperPay related updates

  1. SuperPay Payment Method:

    • payment.method field has been updated to support SuperPay. Set it as superpay to create or modify an order with SuperPay.
  2. SuperPay Payment Terms:

    • When using SuperPay (payment.method as superpay), payment.terms should be one of the following values:
      • 1_3_days - 1-3 Business days
      • 5_days - 5 Business days
      • 10_days - 10 Business days
      • 15_days - 15 Business days
      • 20_days - 20 Business days
  3. Temporary Usage of superpay Payment Terms:

    • Until August 1, 2023, superpay is still accepted as a value for payment.terms and be replaced with 1_3_days on our side.
    • Replace superpay with the appropriate replacement values before the deprecation deadline.

Vehicle sample photos

Now it's possible to add vehicle sample photos into orders. These photos are displayed in Super Loadboard and Carrier TMS. Adding sample photos help carriers to book your orders and avoid unnecessary phone calls by revealing the custom equipment and actual condition of the vehicle.

Please see details in the API Reference.

Added damage photos for AIAG inspection

Now the damages object includes a nested photos array with photo guid, file location as original_url, and taken_at datetime field.

...
"photos": [
{
"guid": "eu281196-a55e-436a-a61e-993ae0440928",
"original_url": "https://storage.googleapis.com/carrier-tms/media/carriers/eu281196-a55e-436a-a61e-993ae0440928/2021/4/20/example.jpg",
"taken_at": "2019-11-15T10:33:29.112+0000"
}
]

Please see the API reference.

Added webhooks for Pickup and Delivery BOL notifications

So far as the processing time for pickup and delivery vehicle photos and inspections on driver's phone varies significantly depending on the amount of data and drivers' internet connection, an order's status is always updated prior to pdf BOL URL becomes available. Therefore, new webhook events are added which are triggered only when pickup or delivery BOL becomes available.

Please see the additional description.

Cancel Order endpoint

Canceled orders have "status": "order_canceled". However, such orders are still active and can undergo a normal flow such as sending offer or posting to LBs. The status order_canceled is added to distinguish between ready orders (new) and the ones that were canceled by the customer or need a revision later on (order_canceled).

Please, see the API reference.

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.

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:

{
"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.