Dashdoc API Documentation
  • πŸ‘‹GET STARTED
    • Introduction
    • Core API concepts
      • Authentication
      • External identifiers
      • Date and time formats
      • Requests and filters
      • Pagination
      • HTTP status codes
      • Rate limiting
      • Send documents
    • Understand the data model
      • Transport - Segment - Delivery
      • Origin/Destination sites
      • Company - Address
      • Trucker
  • πŸ”INTEGRATE YOUR SOFTWARE
    • How to integrate your software with Dashdoc
    • Setup
      • Create a sandbox account
      • Get the API token
      • Make an authenticated request
  • πŸŽ“USE CASES AND TUTORIALS
    • Shippers (ERP, WMS) πŸ”€
      • Create a simple transport as a shipper
      • Manage the address book
    • Carriers πŸš›
      • Create a simple transport as a carrier
      • Create a multi-deliveries transport as a carrier
      • Create a break in a transport (segment)
      • Charter whole or part of a transport - AffrΓ¨tement
      • Manage truckers
      • Create and follow rental orders
      • Handle Qualimat transports
    • Retrieve transport data 🏁
      • Get last updated transports (Poll vs. webhooks)
      • Get status updates with dates and times
      • Get load information (quantity, weight...)
      • Get mileage from transport
      • Get documents and photos with their type
      • Get observations from trucker / signatory
      • Get information about washings
      • Filter transports created by your truckers and partners
    • Invoicing πŸ’°
    • Dashdoc Wam ♻️
      • Create a Waste Form
      • Sign a Waste Form as Organizer
      • Create a Transport for a Waste Form
      • Find the transport linked to a waste form
  • ☁️WEBHOOKS
    • Webhooks
  • πŸ“±MOBILE APP
    • Use the mobile app to simulate transports
  • πŸ’‘UPGRADES
    • Upgrading API from v3 to v4
  • πŸ“šAPI Reference
    • API v4 Reference
    • List of all endpoints for v4
      • Addresses
        • Security Protocol
      • Adr Un Codes
      • Carbon Footprint
        • Transport Operation Categories
      • Companies
      • Contacts
        • Invite
      • Deliveries
        • Add Round
        • Cmrs
      • Dock Activities
        • Mark Loaded By Dock
        • Mark Unloaded By Dock
      • Invoices
        • Items
        • Mark Paid
        • Mark Not Paid
      • Managers
        • Invite
        • Me
        • Set Company
      • Manager Truckers
        • Lease
        • Generate Invite Code
        • Unavailability
      • Security Protocols
      • Segments
        • Assign
        • Break
        • Charter
      • Tracking Files
      • Sites
        • Mark Done
        • Enable Eta
      • Support Types
      • Supports Exchanges
      • Telematics
        • Vehicles
        • Traces
      • Trailers
        • Unavailability
      • Track Dechets
      • Transport Loading Plans
      • Transport Messages
      • Transports
        • Charter
        • Assign
        • Archive
        • Merge To Trip
        • Mark Done
        • Mark Invoiced
        • Mark Paid
        • Cancel
        • Confirm
        • Decline
        • Revenue Split
        • Cmrs
        • Effective Price Lines
        • Loads Constraints
      • Transport Status
      • Transport Templates
      • Scheduler
        • Trips
          • Set Name
      • Vehicles
        • Unavailability
      • Wam
        • Contacts
        • Forms
          • Sign As Organizer
          • Create Transport
          • Loads
        • Companies
          • Details
Powered by GitBook
On this page

Was this helpful?

  1. USE CASES AND TUTORIALS
  2. Carriers πŸš›

Create a multi-deliveries transport as a carrier

Multi-deliveries transport are using same endpoint as simple transport but with modification an deliveries and segments

Specificity for Multi-deliveries transport :

Deliveries

The deliveries object is an array. You need to include as many deliveries as you have loading-unloading point pairs. Each delivery represents one loading point and its corresponding unloading point.

Segments

The segments represent the truck's route. They allow you to define the sequence of activities for each step of the journey.

For example, you have 2 deliveries:

  • A -> B

  • C -> D

If you want to complete all the pickups first and then all the deliveries, starting with B, you should use the following segments:

  1. A -> C

  2. C -> B

  3. B -> D

This way, it specifies that the truck will start with pickup A, followed by pickup C, and then proceed to deliveries B and D.

Special Process for Deliveries Sharing the Same Activity

When multiple deliveries share the same activity, these similar activities must be differentiated by a unique remote_id.

For example, you have 2 deliveries:

  • A -> B

  • A -> C

You need to differential both A activities, meaning that you have A and A'

If you want to complete pickup first and then all the deliveries, starting with B, you should use the following segments:

  1. A -> A'

  2. A'-> B

  3. B -> C

This way, it specifies that the truck will start with pickup A, then proceed to deliveries B and D.

In this example, remote ID is used for each activity because both deliveries have the same pickup site

{
    "carrier_address": {
        "company": {
            "pk": "YOUR_COMPANY_PK"
        }
    },
    "segments": [
        {
            "origin": {
                "remote_id": "C1",
                "address": {
                    "city": "Loading city",
                    "name": "Loading company",
                    "address": "Loading address",
                    "company": {
                        "country": "FR",
                        "name": "Loading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "instructions publiques"
            },
            "destination": {
                "remote_id": "C2",
                "address": {
                    "city": "Loading city",
                    "name": "Loading company",
                    "address": "Loading address",
                    "company": {
                        "country": "FR",
                        "name": "Loading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "instructions publiques"
            }
        },
        {
            "origin": {
                "remote_id": "C2",
                "address": {
                    "city": "Loading city",
                    "name": "Loading company",
                    "address": "Loading address",
                    "company": {
                        "country": "FR",
                        "name": "Loading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "instructions publiques"
            },
            "destination": {
                "remote_id": "L1",
                "address": {
                    "city": "Unloading city",
                    "name": "Unloading company",
                    "address": "Unloading address",
                    "company": {
                        "country": "FR",
                        "name": "Unloading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "",
                "trucker_instructions": ""
            }
        },
        {
            "origin": {
                "remote_id": "L1",
                "address": {
                    "city": "Unloading city",
                    "name": "Unloading company",
                    "address": "Unloading address",
                    "company": {
                        "country": "FR",
                        "name": "Unloading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "",
                "trucker_instructions": ""
            },
            "destination": {
                "remote_id": "L2",
                "address": {
                    "city": "Unloading city",
                    "name": "Unloading company",
                    "address": "Unloading address",
                    "company": {
                        "country": "FR",
                        "name": "Unloading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "",
                "trucker_instructions": ""
            }
        }
    ],
    "deliveries": [
        {
            "origin": {
                "remote_id": "C1",
                "address": {
                    "city": "Loading city",
                    "name": "Loading company",
                    "address": "Loading address",
                    "company": {
                        "country": "FR",
                        "name": "Loading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "",
                "trucker_instructions": ""
            },
            "destination": {
                "remote_id": "L1",
                "address": {
                    "city": "Unloading city",
                    "name": "Unloading company",
                    "address": "Unloading address",
                    "company": {
                        "country": "FR",
                        "name": "Unloading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "instructions": "",
                "trucker_instructions": ""
            },
            "planned_loads": [
                {
                    "weight": 30,
                    "category": "bulk",
                    "quantity": null,
                    "description": "Sable"
                }
            ],
            "multiple_rounds": false,
            "shipper_address": {
                "company": {
                    "pk": "YOUR_SHIPPER_PK"
                }
            }
        },
        {
            "origin": {
                "remote_id": "C2",
                "address": {
                    "city": "Loading city",
                    "name": "Loading company",
                    "address": "Loading address",
                    "company": {
                        "country": "FR",
                        "name": "Loading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "reference": "",
                "instructions": "",
                "trucker_instructions": ""
            },
            "destination": {
                "remote_id": "L2",
                "address": {
                    "city": "Unloading city",
                    "name": "Unloading company",
                    "address": "Unloading address",
                    "company": {
                        "country": "FR",
                        "name": "Unloading company"
                    },
                    "country": "FR",
                    "postcode": "12345"
                },
                "reference": "",
                "instructions": "",
                "trucker_instructions": ""
            },
            "planned_loads": [
                {
                    "weight": 45,
                    "category": "bulk",
                    "quantity": null,
                    "description": "Gravier"
                }
            ],
            "shipper_address": {
                "company": {
                    "pk": "YOUR_SHIPPER_PK"
                }
            },
        }
    ]
}
PreviousCreate a simple transport as a carrierNextCreate a break in a transport (segment)

Last updated 5 months ago

Was this helpful?

πŸŽ“