Edit Deliveries

3. EDIT DELIVERIES

URL: https://app.detrack.com/api/v1/deliveries/update.json
Limit: 100 deliveries per request (send separate requests if you are editing more than 100 deliveries)
HTTP POST REQUEST

Note: the request structure below is for Method #1: Name/Value Pair (NVP) + JSON String. For Method #2: Custom Header + JSON Body, please refer to the json parameter only.

Parameter Description
key Your API key. You can obtain this from your dashboard.
json The JSON string containing the deliveries you wish to edit. It should contain an array of deliveries with the following fields:

Field Description
date The delivery date. Format: YYYY-MM-DD e.g. 2014-02-28. Required field.
do The D.O. #. This field must be unique for the date. Required field.
address The delivery address. Always include country name for accurate geocoding results.
delivery_time The delivery time window. This will be displayed in the job list view and the delivery detail view on the app.
deliver_to The name of the recipient to deliver to. This can be a person’s name e.g. John Tan, a company’s name e.g. ABC Inc., or both e.g. John Tan (ABC Inc.)
phone The phone number of the recipient. If specified, the driver can call the recipient directly from the app.
notify_email The email address to send customer-facing delivery updates to. If specified, a delivery notification will be sent to this email address upon successful delivery.
notify_url The URL to post delivery updates to. Please refer to Delivery Push Notification
assign_to The name of the vehicle to assign this delivery to. This must be spelled exactly the same as your vehicle’s name in your dashboard.
instructions Any special delivery instruction for the driver. This will be displayed in the delivery detail view on the app.
zone If you divide your deliveries into zones, then specifying this will help you to easily filter out the deliveries by zones in your dashboard.
items This field is optional. If specified, it should contain an array of items with the following fields:

Field Description
sku Stock keeping unit or item #. Required for item only.
desc The item description. Required for item only.
qty Quantity of the item to be delivered. Required for item only.

For additional fields, please refer to Additional Delivery Fields.

HTTP POST RESPONSE (JSON)
Field Description
info Contains information on the status of the request.

Field Description
status The status of the request. The value will be “ok” if request is processed successfully or “failed” if the key or json parameter is missing.
failed The number of deliveries that are not edited due to error.
error Contains the error details if the request failed. Note: this field is set only if the request failed.

Field Description
code The error code. Please refer to Delivery Error Codes
message The corresponding error message.
results Contains an array of statuses with the following fields:

Field Description
date The date of the delivery. Format: YYYY-MM-DD e.g. 2014-02-28
do The D.O. # of the delivery.
status The status of the delivery edit request. The value will be “ok” if the delivery is successfully edited or “failed” if the delivery is not edited.
errors Contains an array of error messages if the delivery edit request failed. Note: this field is set only if the delivery edit request failed.

Field Description
code The error code. Please refer to Delivery Error Codes
message The corresponding error message.
SAMPLE REQUEST JSON
[
   {
      "date":"2014-02-13",
      "do":"DO140213001",
      "address":"63 Ubi Avenue 1 Singapore 408937",
      "delivery_time":"09:00 AM - 12:00 PM",
      "deliver_to":"John Tan",
      "phone":"+6591234567",
      "notify_email":"john.tan@example.com",
      "notify_url":"http://www.example.com/notify.php",
      "assign_to":"GT1234H",
      "instructions":"Call customer upon arrival.",
      "zone":"East",
      "items":[
         {
            "sku":"T0201",
            "desc":"Test Item #01",
            "qty":1
         },
         {
            "sku":"T0202",
            "desc":"Test Item #02",
            "qty":5
         },
         {
            "sku":"T0203",
            "desc":"Test Item #03",
            "qty":10
         }
      ]
   },
   {
      "date":"2014-02-13",
      "do":"DO140213002",
      "address":"59 Ubi Avenue 1 Singapore 408938",
      "delivery_time":"02:00 PM - 05:30 PM",
      "deliver_to":"Jane Lim",
      "phone":"+6581234567",
      "notify_email":"jane.lim@example.com",
      "notify_url":"http://www.example.com/notify.php",
      "assign_to":"GT1234H",
      "instructions":"Change pass at security counter before proceeding to level 3.",
      "zone":"East",
      "items":[
         {
            "sku":"T0211",
            "desc":"Test Item #11",
            "qty":1
         },
         {
            "sku":"T0212",
            "desc":"Test Item #12",
            "qty":5
         },
         {
            "sku":"T0213",
            "desc":"Test Item #13",
            "qty":10
         }
      ]
   }
]
SAMPLE RESPONSE JSON #1
{
   "info":{
      "status":"ok",
      "failed":0
   },
   "results":[
      {
         "date":"2014-02-13",
         "do":"DO140213001",
         "status":"ok"
      },
      {
         "date":"2014-02-13",
         "do":"DO140213002",
         "status":"ok"
      }
   ]
}
SAMPLE RESPONSE JSON #2
{
   "info":{
      "status":"ok",
      "failed":2
   },
   "results":[
      {
         "date":"2014-02-13",
         "do":"DO140213003",
         "status":"failed",
         "errors":[
            {
               "code":1003,
               "message":"Delivery with D.O. # DO140213003 not found on 2014-02-13."
            }
         ]
      },
      {
         "date":"2014-02-13",
         "do":"DO140213004",
         "status":"failed",
         "errors":[
            {
               "code":1003,
               "message":"Delivery with D.O. # DO140213004 not found on 2014-02-13."
            }
         ]
      }
   ]
}