Skip to main content

Carrier public API ePOD synchronization

1. Inspection Photos API

  • Extended Vehicle API with additional photos fields: id, step, subject, taken_at, latitude, longitude
  • Added new API endpoint for creating inspection photos
  • Added new API endpoint for receiving inspection photos
  • Added new API endpoint for receiving inspection photo by id
  • Added new API endpoint for deleting inspection photo by id
Example of vehicle list API endpoint response

Request: GET <base_url>/orders/<order_id>/vehicles/

{
"meta": {
"status": 200,
"request_id": "ad123-ada434....-123def"
},
"data": [
{
"id": 1,
"make": "BMW",
"model": "E250",
"year": 1995,
"color": "black",
"vin": "VIN",
"type": "sedan",
"lot_number": "LOT number",
"is_inoperable": false,
"requires_enclosed_trailer": true,
"photos": [
{
"id": 1,
"step": "pickup",
"subject": "all_keys",
"taken_at": "2025-03-20T10:25+0000",
"latitude": 12.3454,
"longitude": 24.4543,
"url": "Super Dispatch file bucket URL",
}
]
}
],
"pagination": {
"next": "",
"prev": ""
}
}
Example of vehicle create API endpoint

Request: POST <base_url>/vehicles/<vehicle_id>/photos/

{
"url": "url",
"step": "pickup",
"subject": "front_windshield",
"taken_at": "2025-03-20T10:25+0000",
"latitude": 12.3454,
"longitude": 24.4543
}

Response:

{
"meta": {
"code": 201,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"url": "Super Dispatch file bucket URL",
"step": "pickup",
"subject": "front_windshield",
"taken_at": "2025-03-20T10:25+0000",
"latitude": 12.3454,
"longitude": 24.4543
}
}
Example of receiving inspection photos API endpoint

Request: GET <base_url>/vehicles/{vehicle_id}/photos/

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": [
{
"id": 1,
"url": "Super Dispatch file bucket URL",
"step": "pickup",
"subject": "front_windshield",
"taken_at": "2025-03-20T10:25+0000",
"latitude": 12.3454,
"longitude": 24.4543
}
],
"pagination": {
"previous": "",
"next": ""
}
}
Example of receiving inspection photo by id API endpoint

Request: GET <base_url>/photos/<photo_id>/

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"url": "Super Dispatch file bucket URL",
"step": "pickup",
"subject": "front_windshield",
"taken_at": "2025-03-20T10:25+0000",
"latitude": 12.3454,
"longitude": 24.4543
}
}
Example of deleting inspection photo by id API endpoint

Request: DELETE <base_url>/photos/<photo_id>/

{
"meta": {
"code": 204,
"request_id": "ad123-ada434....-123def"
}
}

2. Damages API

  • Added new API endpoint for creating vehicle damage
  • Added new API endpoint for receiving vehicle damages
  • Added new API endpoint for receiving vehicle damage by id
  • Added new API endpoint for deleting vehicle damage by id
Example of vehicle damage create API endpoint

Request: POST <base_url>/photos/<photo_id>/damages/

{
"code": "BR",
"notes": "Notes about damage"
}

Response:

{
"meta": {
"code": 201,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"code": "BR",
"notes": "Notes about damage"
}
}
Example of receiving vehicle damages API endpoint

Request: GET <base_url>/photos/<photo_id>/damages/

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": [
{
"id": 1,
"code": "BR",
"notes": "Notes about damage"
}
],
"pagination": {
"previous": "",
"next": ""
}
}
Example of receiving vehicle damage by id API endpoint

Request: GET <base_url>/damages/<damage_id>/

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"code": "BR",
"notes": "Notes about damage"
}
}
Example of deleting vehicle damage by id API endpoint

Request: DELETE <base_url>/damages/<damage_id>/

{
"meta": {
"code": 204,
"request_id": "ad123-ada434....-123def"
}
}

3. Inspections API

  • Added new API endpoint for creating vehicle inspection
  • Added new API endpoint for receiving vehicle inspection by step
  • Added new API endpoint for updating vehicle inspection by step
Example of vehicle inspection create API endpoint

Request: POST <base_url>/vehicles/<vehicle_id>/inspections/<step>/

{
"title_present": true,
"is_drivable": true,
"all_glasses_ok": true,
"navigation_disk_present": true,
"spare_tire_present": true,
"cargo_cover_present": true,
"plugin_charger_cable_present": true,
"windscreen_present": true,
"radio_present": true,
"manuals_present": true,
"headphones_present": true,
"headrests_count": 3,
"remotes_count": 3,
"valet_keys_count": 3
}

Response:

{
"meta": {
"code": 201,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"step": "pickup",
"title_present": true,
"is_drivable": true,
"all_glasses_ok": true,
"navigation_disk_present": true,
"spare_tire_present": true,
"cargo_cover_present": true,
"plugin_charger_cable_present": true,
"windscreen_present": true,
"radio_present": true,
"manuals_present": true,
"headphones_present": true,
"headrests_count": 3,
"remotes_count": 3,
"valet_keys_count": 3
}
}
Example of receiving vehicle inspection by step API endpoint

Request: GET <base_url>/vehicles/<vehicle_id>/inspections/<step>/

{
"meta": {
"code": 200,
"request_id": ""
},
"data": {
"id": 1,
"step": "pickup",
"title_present": true,
"is_drivable": true,
"all_glasses_ok": true,
"navigation_disk_present": true,
"spare_tire_present": true,
"cargo_cover_present": true,
"plugin_charger_cable_present": true,
"windscreen_present": true,
"radio_present": true,
"manuals_present": true,
"headphones_present": true,
"headrests_count": 3,
"remotes_count": 3,
"valet_keys_count": 3
}
}
Example of updating vehicle inspection by step API endpoint

Request: PATCH <base_url>/vehicles/<vehicle_id>/inspections/<step>/

{
"title_present": true,
"is_drivable": true,
"all_glasses_ok": true,
"navigation_disk_present": true,
"spare_tire_present": true,
"cargo_cover_present": true,
"plugin_charger_cable_present": true,
"windscreen_present": true,
"radio_present": true,
"manuals_present": true,
"headphones_present": true,
"headrests_count": 3,
"remotes_count": 3,
"valet_keys_count": 3
}

Response:

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"step": "pickup",
"title_present": true,
"is_drivable": true,
"all_glasses_ok": true,
"navigation_disk_present": true,
"spare_tire_present": true,
"cargo_cover_present": true,
"plugin_charger_cable_present": true,
"windscreen_present": true,
"radio_present": true,
"manuals_present": true,
"headphones_present": true,
"headrests_count": 3,
"remotes_count": 3,
"valet_keys_count": 3
}
}

4. Offers API

  • Added new API endpoint for receiving offers
  • Added new API endpoint for receiving offer by id
  • Added new API endpoint for accepting offer
  • Added new API endpoint for declining offer
Example of receiving offers API endpoint

Request: GET <base_url>/offers/

{
"mata": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": [
{
"id": 1,
"status": "pending",
"load_id": null,
"order": {
"number": "Test Order",
"payment_method": "cash",
"payment_terms": "1_3_days",
"instructions": "instructions here",
"price": "200.00",
"price_per_mile": "10.20",
"distance_in_miles": 98.2,
"inspection_type": "advanced",
"pickup": {
"scheduled_at": "2023-10-15T00:00:00-05:00",
"notes": null,
"venue": {
"name": "Test Pickup",
"address": "pickup test address",
"city": "Kansas City",
"state": "MO",
"zip": "64030",
"contact": {
"name": "Joe",
"phone": "+12015550123",
"email": "test.pickup_contact@email.com"
}
}
},
"delivery": {
...
}
"customer": {
...
},
"vehicles": [
...
]
}
}
]
"pagination": {
"prev": "",
"next": ""
}
}
Example of receiving offer by id API endpoint

Request: GET <base_url>/offers/<offer_id>/

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"status": "pending",
"load_id": null,
"order": {
...
}
}
}
Example of accepting offer API endpoint

Request: POST <base_url>/offers/<offer_id>/accept/

Response:

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"status": "accepted",
"load_id": 1,
"order": {
...
}
}
}
Example of declining offer API endpoint

Request: POST <base_url>/offers/<offer_id>/decline/

Response:

{
"meta": {
"code": 200,
"request_id": "ad123-ada434....-123def"
},
"data": {
"id": 1,
"status": "declined",
"load_id": null,
"order": {
...
}
}
}

5. Offer Webhooks

  • Added webhook for offer received
  • Added webhook for offer is updated
  • Added webhook for offer is canceled by shipper
Example of offer received webhook

Action name: offer.received Payload:

{
"action": "offer.receieved",
"data": {
"id": 1,
"status": "pending",
"load_id": null,
"order": {
"number": "Test Order",
"payment_method": "cash",
"payment_terms": "1_3_days",
"instructions": "instructions here",
"price": "200.00",
"price_per_mile": "10.2",
"distance_in_miles": 98.2,
"inspection_type": "advanced",
"pickup": {
"scheduled_at": "2023-10-15T00:00:00-05:00",
"notes": null,
"venue": {
"name": "Test Pickup",
"address": "pickup test address",
"city": "Kansas City",
"state": "MO",
"zip": "64030",
"contact": {
"name": "Joe",
"phone": "+12015550123",
"email": "test.pickup_contact@email.com"
}
}
},
"delivery": {
"scheduled_at": "2023-10-20T00:00:00-05:00",
"notes": null,
"venue": {
"name": "Test Delivery",
"address": "delivery test address",
"city": "Austin",
"state": "TX",
"zip": "10999",
"contact": {
"name": "Doe",
"phone": "+12015550123",
"email": "test.delivery_contact@email.com"
}
}
}
"customer": {
"name": "Test Shipper",
"address": "9525 Manchester Lane Bay Shore",
"city": "New York",
"state": "NY",
"zip": "90210",
"contact": {
"name": "Test Shipper",
"phone": "+12011111111",
"email": "testshipperemail@email.com"
}
},
"vehicles": [
{
"make": "Chevrolet",
"model": "Camaro",
"color": "yellow",
"vin": "93773NF830JF83KD",
"type": "sedan",
"lot_number": "9384",
"price": "23.00"
"is_inoperable": true,
"requires_enclosed_trailer": false,
"photos": [
{
"url": "Super Dispatch file bucket URL",
}
]
}
]
}
}
}
Example of offer updated webhook

Action name: offer.updated Payload:

{
"action": "offer.updated",
"data": {
"id": 1,
"status": "pending",
"load_id": null,
"order": {
"number": "Test Order",
"payment_method": "cash",
"payment_terms": "1_3_days",
"instructions": "instructions here",
"price": "200.00",
"price_per_mile": "10.2",
"distance_in_miles": 98.2,
"inspection_type": "advanced",
...
}
}
}
Example of offer canceled by shipper webhook

Action name: offer.canceled Payload:

{
"action": "offer.canceled",
"data": {
"id": 1,
"status": "canceled",
"load_id": null,
"order": {
"number": "Test Order",
"payment_method": "cash",
"payment_terms": "1_3_days",
...
}
}
}

6. Signatures API

  • Added new API endpoint for creating signature
  • Added new API endpoint for receiving signature by step
  • Added new API endpoint for delete signature
Example of creating signature API endpoint

Request: POST <base_url>/orders/<order_id>/signatures/<step>/

{
"url": "<url to file with signature>",
"owner": "driver",
"signer_name": "Name of signature",
"latitude": 12.3453,
"longitude": 24.5234
}

Response:

{
"meta": {
"code": 201,
"request_id": "ad123-ada434....-123def"
},
"data": {
"url": "Super Dispatch file bucket URL",
"owner": "driver",
"signer_name": "Name of signature",
"latitude": 12.3453,
"longitude": 24.5234
}
}
Example of receiving signature by step API endpoint

Request: GET <base_url>/orders/<order_id>/signatures/<step>/

Response:

{
"meta": {
"code": 200,
"request_id": ""
},
"data": {
"driver": {
"url": "Super Dispatch file bucket URL",
"signer_name": "Name of signature",
"latitude": 12.3453,
"longitude": 24.5234
},
"customer": {
"url": "Super Dispatch file bucket URL",
"signer_name": "Name of signature",
"latitude": 12.3453,
"longitude": 24.5234
}
}
}
Example of deleting signature API endpoint

Request: DELETE <base_url>/orders/<order_id>/signatures/<step>/<owner>/

Response:

{
"meta": {
"code": 204,
"request_id": "ad123-ada434....-123def"
}
}