API Reference

Create Order (Task)

Send the details of a new order to Bringg from your Order Management System (OMS).

The Create Order endpoint allows you to create an order (also known as a task) in Bringg. This API service supports various use cases and workflows.

The Order (Task) Object can include a wide variety of attributes, including the following components:

  • Customer: the recipient of the goods or services provided by this order. The customer's address is often the second waypoint in the order. Visit the Customer Object to learn more.
  • User: the driver associated with the order. The driver can be assigned when creating an order but is often assigned automatically or manually once the order is created in Bringg. Read more about the User Object.
  • Waypoints: One or two waypoints, each of which can be a pickup, drop-off, or visit. Each waypoint can include specific customer and inventory details as well as requirements such as the handoff policies. For information about the waypoint object, see Way Point Object.

NOTE: Some order details are associated with the entire order, while other details are associated with individual waypoints or customers at individual waypoints. For example, the payment method is associated with the order and is an attribute of the Create Order service. On the other hand, the delivery confirmation options are associated with individual waypoints and are attributes of waypoint objects within the order.

Potential Errors
Error CodeError MessageResolution
200Quote expiredThe quote_id has expired. Obtain a new quote ID and try again.
200One of the parameters is incorrect: [Time '+92022-02-01T00:00:00Z' is out of range '10 years' for 'no_earlier_than']Make sure that date and time values fall within a 10-year range.
200Task with external id [ID] exists alreadyThere is already an order with this external ID. Send Update Task or check the external ID and try again.
400An order can not include more than 2 way points. Please remove additional destinations.Remove extra waypoints and try again.
200No service_plan with id <ID> foundCheck the service plan ID in the Settings > Service Plans and try again.
200reserved_until cannot be in the pastUpdate the reserved_until timestamp and try again. Check your external systems to understand why this timestamp was sent.
200Task with uuid [id] exists already.There is already an order with this Bringg ID. Send Update Task to update the order instead.
200The max allowed inventory per task is passed the limit. Reach your account manger for more information.Reach out to your account manager for more information.
200Teams [team IDs] not found.Check the team IDs:

- Go to Resources > Teams, or
- Send the Show All Teams API request.
200Customer [customer_id] does not exist.Check the customer ID in Customers or create a new customer by including the customer object.
200Customer [customer_id] is out of range.
200Driver with external_id [user_external_id] was not found or Driver with id [user_id] was not foundCheck the driver's ID:

- Go to Resources > Drivers, or
- Send the Get Users API request.
200Driver can't access to the team id [team_id]Check which team the driver is assigned to:

- Go to Resources > Drivers and select the driver's name, or
- Send the Get User API request.

Response (Output) Params

This list of output parameters includes all of the fields that Bringg adds to an order once it is received. For more details, including a table of body params, see the Order (Task) Object.

ParameterDescription
success
boolean
Indicates whether the service completed successfully.

false - the service failed.
true - the service succeeded
message
string
If an error occurred, a message indicating the error is included.
rc
integer
If an error occurred, the return code is included.
accept_time
datetime
The date and time when the driver accepted this order.
acknowledged_at
datetime
The time at which the order was acknowledged by a dispatcher. If orders are auto-acknowledged, then this time is set upon creation.
active_way_point_id
integer
The ID for the incomplete waypoint associated with this order.
automatically_assigned
boolean
Indicates whether this order was automatically assigned. The values are:
false or 0 - this order was not automatically assigned
true or 1 - this order was automatically assigned.
automatically_cancelled
integer
Indicates the method used to cancel this order. Possible values:
0 - manually using the Driver App
1 - automatic check-in or check-out via geofence
2 - driver's action when prompted by the Driver App
3 - from linked task
4 - updated via the Cancel Order API request
5 - updated by the carrier
6 - automated by activity trigger
7 - updated using the Bringg platform
8 - updated using the store app
9 - updated from Run End
10 - automatic by server
automatically_ended
integer
Indicates the method used to end this order. Possible values:
0 - manually using the Driver App)
1 - automatic check-in or check-out via geofence
2 - driver's action when prompted by the Driver App
3 - from linked task
4 - updated via the Cancel Order API request
5 - updated by the carrier
6 - automated by activity trigger
7 - updated from a child task
8 - from the store app
9 - from run end
10 - updated by Bringg automation
11- updated via API
automatically_started
integer
Indicates the method used to start this order. Possible values:
0 - manually using the Driver App
1 - automatic check-in or check-out via geofence
2 - driver's action when prompted by the Driver App
4 - auto_corrected_by_client
5 - auto_corrected_by_server
6 - automated by activity trigger
7 - updated in the Bringg platform
8 - updated in the store app
9 - from_run_end
10 - updated by Bringg automation
cancelled_at
datetime
The date and time when this order was canceled.
created_at
datetime
The date and time this order was created. This is in UTC and is in the format is "%Y-%m-%dT%H:%M:%S%z".
delete_at
datetime
A null timestamp indicates that the entity is still active or present in Bringg.
delivery_cost
float
The delivery fee charged by a third-party carrier.
delivery_window_id
integer
Bringg's ID for the delivery window selected by or assigned to the customer.
dispatcher_id
integer
The ID of the dispatcher who assigned this order.
distance_automatically_set
integer
Indicates how the distance_traveled for this order was calculated. Possible values:
0 - automatic
1 - estimated
2 - manual
distance_traveled
double
The actual distance traveled (in km).
driver_payments
Array
An array including details of all payments accepted by a driver for this order.
ended_time
datetime
The date and time when the order was canceled or marked as complete.
external_user_id
string
Your external system's ID for the driver associated with this order.
failed_delivery_attempts
integer
The number of times a driver unsuccessfully attempted to deliver the order.
fleet
object
An object containing the details of an assigned or quoted fleet.
fleet_delivery_external_id
string
The external carrier's ID for the order.
fleet_id
integer
Bringg's ID for the external carrier.
group_leader_id
integer
If this order is part of a group of orders, this is the ID of the order representing the entire collection of orders in the group (the parent order containing all child orders in the group). This is the ID that Bringg operators (for example, dispatchers and users/drivers) view. NOTE: Bringg internally maintains each order and each order contains the same group leader ID.
group_uuid
string
If this order is a group of orders, this is the UUID of the group (see group_leader_id).
id
integer
The unique ID of this order in Bringg.
invalidated
boolean
When true, signifies that this order is missing fields that Bringg requires to validate orders and include them in order lists and optimization among other Bringg features.
last_assigned_time
datetime
The last date and time this order was assigned to a driver.
last_ready_to_execute_at
datetime
The last time this order was marked as ready to execute.
last_way_point_lat
double
The geographical latitude for the last waypoint for the order.
last_way_point_lng
double
The geographical longitude of the last waypoint for the order.
late
boolean
Indicates whether the driver has not arrived at a destination in this order on or before the scheduled times. The values are:
false or 0 - the driver is not late
true or 1 - the driver is late
The default value is false.
late_reason
string
linked_task_id
integer
Bringg’s ID for a linked order. Linked orders are created when one order is split into distinct tasks for each waypoint.
parent_task_id
integer
If this order was created from another order (for example, one that failed), this is the ID of the original order.
planned_distance_from_prev_task
double
The distance to this order's last waypoint from the last waypoint of the preceding order in the route, as calculated during Route Optimization and via manual planning adjustments in the route planner.
planning_done
boolean
Indicates if this order has been organized into a route, and that route has been marked as "Done Planning."
planning_published
boolean
Indicates if the planned delivery window has been finalized or shared with the customer.
post_delivery_tip_cash
double
The tip (gratuity) paid to the driver in cash after delivery.
post_delivery_tip_credit
double
The tip (gratuity) paid to the driver by credit after delivery.
pre_delivery_tip
double
The tip (gratuity) paid to the driver before delivery.
preparation_acknowledge
_time_actual

datetime
Time and date when the order was actually acknowledged.
preparation_end
_time_actual

datetime
Time and date when the order actually ended.
preparation_end
_time_planned

datetime
Time and date when the order was scheduled to end.
preparation_picked_up_
time_actual

datetime
Time and date when the order was actually picked up.
preparation_ready_for_
pickup_time_actual

datetime
Time and date when the order was actually ready for pick up.
preparation_ready_for
_pickup_time_planned

datetime
Time and date when the order was scheduled to be ready for pickup.
preparation_start_
time_actual

datetime
Time and date when preparation of the order actually began.
preparation_start_
time_planned

datetime
Time and date when preparation of the order was scheduled to begin.
preparation_status
integer
The order's stage in the preparation workflow. Possible values:
0- acknowledged
1- preparation started
2- preparation ended
3- ready for pickup
4- picked up
5- send to preparation failed
recurrent_task_template_id
integer
Designates the recurring order series that generated this order. See Create Recurring Order Template.
reserved_until
datetime
Date and time when the reservation of a delivery slot for an order expires. If the order is not completed by this time, the delivery slot reservation expires and the order is canceled.
run_id
integer
The ID of the route the order is assigned to.
run_uuid
uuid
The UUID of the run the order is assigned to. Use run_id to search in Bringg UI.
scans
array of objects
An array of objects including details about barcode scans related to an order, such as for inventory items.
scheduled_to_be_ready
datetime
The date and time when an order is scheduled to be ready for pickup from a waypoint.
service_fee
double
The service fee charged by an external carrier. Usually calculated as a percentage of the subtotal of the order.
service_plan_id
integer
Bringg's ID for the Service Plan applied to this order. Service Plans are used to set SLA and driver actions.
shared_locations
array of objects
Array of objects that includes URLs, tokens, and identifying data related to the customer experience for a waypoint.
shift_id
integer
Bringg's ID for the driver's shift when fulfilling this order.
start_lat
double
The geoposition latitude of the driver when this order started.
start_lng
double
The geoposition longitude of the driver when this order started.
started_time
datetime
The date and time when the driver started this order.
status
string
Indicates the current status of this order. Possible values include:
0- new
1 - assigned
2 - on the way
3 - checked in
4- done
6 - accepted
7- canceled
8 - rejected
9 - unacknowledged
external_carrier_tracking_url >
string
The carrier's tracking link.
Included as part of the task_fleet_mapping > shared_extras objects, which contain information provided by the carrier associated with this order and can be included in flexible webhooks.
tip
float
The tip (gratuity) paid for this order.
updated_at
datetime
The last time this order's details were updated.
way_points
array of objects
The list of waypoints associated with this order. For more details, see the Way Point Object.
user_id
integer
Bringg's ID for the driver associated with this order.
uuid
uuid
A universally unique identifier (UUID) for this order.

Language