Urbantz API documentation (v2)

Download OpenAPI specification:Download

Introduction

About our APIs

Our resources are the first part of the URI and then eventually followed by some sub-resources (i.e. /users/timesheet) or actions (i.e. /task/{id}/discard). Those URIs are predictable and make use of the various HTTP verbs, such as GET, POST, PUT and DELETE. For more details about the REST specification, visit the dedicated Wikipedia page.

When an issue occurs, we will return standardized error codes, such as 401 (you did not authenticate), 400 (bad payload), 403 (requested action is not allowed), 404 (resource not found), and so on. If you want a list of the available HTTP status codes, please click here.

Our sole type of content is JSON. Please be sure to be able to process JSON responses when implementing our APIs in your programs. We also solely accept application/json as a Content-Type when sending us payloads.

Our documentation is written following the OAS 3.0.2 format. This allows you to download our YAML documentation and use it with other documentation generators, generate client SDKs to consume it, or even make your developer's life easier by giving them simply the file instead of having to navigate through a website. If you wish to learn more about the OAS format, please click here.

Authentication

Urbantz offers two authentication methods: Basic auth with API key and oAuth2 / OpenId Connect.

To authenticate with API key, you need to copy the api key shown in Administration > Platform > General and include it in every request as username in the authorization header or use the header “x-api-key”.

To authenticate with OpenID, you need to create a client in Administration > Platform > General > Security and use the following URL to retrieve the temporary token

https://auth.urbantz.com/realms/{account_snake}-{account_type}/protocol/openid-connect/token being:

  1. account_snake the snake-case identifier used in the URL of your platform or sender portal.

  2. account_type the type of account. It can be “platform“ or “sender”.

Request

curl --location --request POST 'https://auth.urbantz.com/realms/my_account_name-platform/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id={{ CLIENT_ID }}' \
--data-urlencode 'client_secret={{ CLIENT_SECRET }}' \
--data-urlencode 'grant_type=client_credentials'

Response

{
    "access_token": {{ JWT_TOKEN }},
    "expires_in": 300,
    "refresh_expires_in": 0,
    "token_type": "Bearer",
    "not-before-policy": 0,
    "scope": "urbantz"
}

In the response you will find the access token and the expiration time:

  • access_token is the Bearer token that will be passed to the Urbantz API
  • expires_in indicates how long (in seconds) the token is valid (5 minutes).

The access token must be provided in every request using the authorization header.

Example

curl --location --request GET '{{ URBANTZ_API }}/v2/announcement' \
--header 'Authorization: Bearer {ACCESS_TOKEN}';

Pagination

Some of our endpoints implement pagination, which allows you to retrieve a limited number of results per query and navigate through these results using pages.

Introduction

In this section, we'll explain how pagination works in Urbantz APIs. Pagination is employed in endpoints that return lists of entities such as tasks, rounds, reservations, or announcements. This approach enhances efficiency by managing large datasets effectively.

How Pagination Works

When you make requests to endpoints that support pagination, the results are constrained to a specific page size. This page size is determined by the endpoint itself and the size of the retrieved data.

To utilize pagination, you are required to include the page number with every request. Although the page size is optional, you can find information about the default value and maximum limit for each endpoint in their respective documentation.

Parameters

  • page: An integer indicating the page number to retrieve. The default value is 0.

  • pageSize: An integer representing the number of results to retrieve in a single request. Each endpoint has a default value and a predefined maximum limit.

To retrieve all results associated with a particular request, you need to increment the page number. If the number of results is fewer than the page size, it indicates that you've reached the last available page. Any page number beyond this limit will result in an empty array ([]) being returned.

Make sure to consult the documentation for each specific endpoint to determine if it supports pagination.

By following these guidelines, you can effectively implement pagination in Urbantz APIs and optimize the process of retrieving large sets of data.

Where to test endpoints

If you wish to dry-run the calls to our APIs, (i.e. to develop your integration to our APIs) without playing with live/real data, you are invited to use the sandbox endpoints. Those endpoints are the same as production ones, but the domain is different. Production data is made with domain api.urbantz.com, where sandbox uses the api.sandbox.urbantz.com domain.

Please note that the domains have independent credentials. This is useful if you mistakenly switched environments and went into production instead of sandbox.

If you have more questions

Feel free to contact our Support Team if any question remains after reading this documentation our looking up in our Help center.

Announcements

Announcements are the tasks and services you created - There is one for the tasks and services created using the Web interface, and one for each announce made using the APIs, FTP or file upload.

Retrieve announcements

Returns a list of announcements. By default, it will return the 10 announcements for today (UTC). If you provide the date query parameter, it will return announcements for that specific date instead. It is possible to get the next ones adding the 'page' parameter. Announcements with unplanned tasks will be returned regardless of the date provided.

An announcement is the action of sending tasks into the system by making an API call. Tasks will be routed within the system according to the flow configuration.

Authorizations:
PlatformKeyBasicAuth
query Parameters
date
string <date>
Example: date=2019-09-30

The date the announcement was received

page
number (Page)
Default: 0

The page index of the requested records

status
string
Enum: "SUCCESS" "FAILED" "IN_PROGRESS"
Example: status=IN_PROGRESS

The announcement's status

Responses

Response Schema: application/json
Array
_id
string (ID)
name
string

The name of the announcement

flux
string (ID)
endpoint
string (ID)
by
string (ID)
count
number

The number of imported tasks

updatedCount
number

The number of times the announcement was updated

platform
string

The internal identifier of the platform

mode
string
Enum: "FILE" "API" "UI"

The mode used to import the tasks

Array of objects (AnnouncementTargetFlux)
Array
_id
string (ID)
name
string

A targetFlux (hub-shift-flux-date combination) representing an independent optimization problem

A target flux is the combination of parameters allowing to isolate an optimisation problem. It is a key composed of:

  • hub
  • shift
  • optimisation
  • date

An independent optimization problem occurs at a hub, on a particular date, during a specific shift in a defined flow (or flux).

date
string <date-time>
hub
string (ID)
status
string
Enum: "NON_OPTIMIZED" "IN_PROGRESS" "PARTIAL" "OPTIMIZED"

The optimization status of the target flux

logs
Array of objects

The logs of the optimization result

count
number

The number of imported tasks linked to the target flux

object (AnnouncementIssues)
geocoding
number

The number of geocoding errors

validation
number

The number of validation errors

jobs
Array of strings
published
boolean

if the flux is published

updated
string <date-time>

The date of the last update of that flux

validated
boolean

if the flux has been validated or not

object
rounds
Array of strings
tasks
Array of strings
status
string
Enum: "SUCCESS" "FAILED" "IN_PROGRESS"

The announcement's status

start
string <date-time>

The timestamp of when the announcement was received

end
string <date-time>

The timestamp of when the announcement was completed

isLocked
boolean

An announcement is locked when a round linked to it is started

object
details
Array of strings
object (AnnouncementIssues)
geocoding
number

The number of geocoding errors

validation
number

The number of validation errors

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve a single announcement by id

Returns one single announcement by its ID that is attached to the platform you are querying with. An announcement is the action of sending tasks into the system by making an API call. Tasks will be routed within the system according to the flow configuration.

Authorizations:
PlatformKeyBasicAuth
path Parameters
id
required
string
Example: 4dfc181e09d4e5eb4d3463da

Id of the announcement

Responses

Response Schema: application/json
_id
string (ID)
name
string

The name of the announcement

flux
string (ID)
endpoint
string (ID)
by
string (ID)
count
number

The number of imported tasks

updatedCount
number

The number of times the announcement was updated

platform
string

The internal identifier of the platform

mode
string
Enum: "FILE" "API" "UI"

The mode used to import the tasks

Array of objects (AnnouncementTargetFlux)
Array
_id
string (ID)
name
string

A targetFlux (hub-shift-flux-date combination) representing an independent optimization problem

A target flux is the combination of parameters allowing to isolate an optimisation problem. It is a key composed of:

  • hub
  • shift
  • optimisation
  • date

An independent optimization problem occurs at a hub, on a particular date, during a specific shift in a defined flow (or flux).

date
string <date-time>
hub
string (ID)
status
string
Enum: "NON_OPTIMIZED" "IN_PROGRESS" "PARTIAL" "OPTIMIZED"

The optimization status of the target flux

logs
Array of objects

The logs of the optimization result

count
number

The number of imported tasks linked to the target flux

object (AnnouncementIssues)
geocoding
number

The number of geocoding errors

validation
number

The number of validation errors

jobs
Array of strings
published
boolean

if the flux is published

updated
string <date-time>

The date of the last update of that flux

validated
boolean

if the flux has been validated or not

object
rounds
Array of strings
tasks
Array of strings
status
string
Enum: "SUCCESS" "FAILED" "IN_PROGRESS"

The announcement's status

start
string <date-time>

The timestamp of when the announcement was received

end
string <date-time>

The timestamp of when the announcement was completed

isLocked
boolean

An announcement is locked when a round linked to it is started

object
details
Array of strings
object (AnnouncementIssues)
geocoding
number

The number of geocoding errors

validation
number

The number of validation errors

Response samples

Content type
application/json
{
  • "_id": "507f191e810c19729de860ea",
  • "name": "string",
  • "flux": "507f191e810c19729de860ea",
  • "endpoint": "507f191e810c19729de860ea",
  • "by": "507f191e810c19729de860ea",
  • "count": 0,
  • "updatedCount": 0,
  • "platform": "4D3F12345AAAF30B2DD1CCFB",
  • "mode": "FILE",
  • "targetFluxes": [
    ],
  • "status": "SUCCESS",
  • "start": "2019-03-13T12:34:56.012Z",
  • "end": "2019-03-13T12:34:56.012Z",
  • "isLocked": true,
  • "error": {
    },
  • "issues": {
    }
}

Attachments

Attachments are files attached to entities, such as documents on tasks.

Get attachment URI

This endpoint is for getting a URI that can be used to download an attachment for an entity.

The relative path for this can be found on the attachments/[attachment]/url value when retrieving an entity.

The API does not check for the existence of the attachment, but generates a signed URI to retrieve the attachment. This means that if you provide details for an attachment that does not exist, then you will still get a signed URI, but will not be able to retrieve the document.

Authorizations:
PlatformKeyBasicAuth
path Parameters
type
required
string
Enum: "platforms" "tasks"

The type of the entity that the attachment is on (plural form)

Use “platforms” to retrieve any image of the task (signature, failed delivery picture, etc..)

Use “tasks” to retrieve the delivery note of the task (pdf file)

id
required
string
Example: 5f9af3044f8cc32e047d83a7

The ID of the entity

key
required
string
Example: cd360c3e-b917-40b2-ad71-885413c98dd6.pdf

The key for the attachment

Responses

Response Headers
Location
string

The URI to download the attachment

External Carrier

The External Carrier endpoints are dedicated to our standardized integration for carriers. This collection of endpoints allows them to update parts of a task, to make the communication with their systems as seamless as possible.

This allows various carriers to implement an integration with our services - This is an advantage for both Urbantz and the Third-party, as Urbantz can provide more delivery solutions to the customers, and the third-party can be suggested by Urbantz when a customer wishes to easily start delivering without having its own fleet. This is still a new feature and will be evolving in the future.

set External Tracking ID of a task (id)

This endpoint allows you to assign a External Tracking ID (i.e. a tracking number for your delivery company) to a task identified by its internal Identifier.

This is mandatory to assign an External Tracking ID to a task you wish to work with. The other External Carrier APIs base themselves on the External Tracking ID to modify the statuses of the task, such as marking them delivered, returned, or assigned to a driver of your Carrier Fleet.

Authorizations:
PlatformKeyBasicAuth
path Parameters
id
required
string (ID)
Example: 507f191e810c19729de860ea

The Urbantz internal task id

Request Body schema: application/json
extTrackId
required
string (ExtTrackId)

An external task identifier to use for mapping data between an external carrier and Urbantz

Responses

Response Schema: application/json
object (UserSummaryExternal)

The user object. Present when the task was manually created by a user, null otherwise

firstName
string
lastName
string
_id
string (ID)
id
string (ID)
externalId
string

The external identifier of a user. Can be undefined if account is old. Unique accross the same platform.

__v
number

For internal use only. Please do not use.

_id
string (InternalTaskID)

Internal ID of the task. You should use this identifier for other API calls.

initialSequence
number

This represents the initial sequence number of the task, defined by the optimizer, before it was modified

trackingId
string (TrackingId)

The tracking identifier for this task. You need to add the urbantz domain in front of it. For example, in production the URI would look like https://web.urbantz.com/portal/tracking/insert-tracking-id-here.

extTrackId
string (ExtTrackId)

An external task identifier to use for mapping data between an external carrier and Urbantz

type
string (TaskType)
Enum: "delivery" "pickup"

The type of task to be performed

taskId
string (TaskId)

Your own task identifier. This enables you to use your backend (ERP, CMS, ...) system identifier.

taskReference
string (TaskReference) <= 256 characters

A secondary task identifier to use for mapping data between systems.

progress
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

Array of objects (Item)

The content of the task to be picked up or delivered.

Array
_id
string (ItemID)

The identifier of the item

type
string <= 255 characters

Item type defined in the platform configuration

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

name
string <= 255 characters

Item name

description
string <= 255 characters

Item description

barcode
string <= 128 characters

Item barcode

barcodeEncoding
string <= 20 characters
Default: "CODE128"
Enum: "CODE128" "EAN13" "CODE39" "MSI"

Item barcode encoding

reference
string <= 256 characters

Item external reference

quantity
integer

Quantity of units of his item. The dimensions of the item will be multiplied by the number specified in this field.

processedQuantity
integer

Quantity of processed units of this item. If not specified then is considered that is not changed (the initial value is the item quantity).

object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object (Damaged)

Indicates if the item is damaged

confirmed
boolean
Default: false

True if the item is damaged

pictures
Array of strings

List of pictures taken of the item

labels
Array of strings (ItemLabels)

Labels the vehicle must have to execute the item. Only labels which have been defined on the platform can be used.

skills
Array of strings (ItemSkills)

Skills the driver must have to execute the item. Only skills which have been defined on the platform can be used.

Array of objects (ItemLog)

Log of the status transition of the item

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (ItemStatus)
Enum: "PENDING" "RECEIVED" "ARRIVED" "PREPARED" "DEPARTED" "NOT_DELIVERED" "DELIVERED" "RETURNED" "MISSING" "PICKED_UP" "NOT_PICKED_UP" "TRANSFERED" "OPEN" "STARTED" "HOLD" "CLOSED"
by
string

The user or system responsible for the status transition.

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
group
string <= 128 characters

Barcode of the group in which the item is placed

client
string (ClientID)

The sender identifier

hub
string (HubID)

The hub identifier

hubName
string

The hub name

associatedName
string

The name of the associated platform

associated
string

The unique identifier of the associated platform

dependency
string

the identifier of a pickup task on which our task depends on (in case of a delivery task)

hasDependency
string

the identifier of a delivery task who depends on this task (in case of a pickup task)

round
string (RoundID)

The round identifier. It is only present after the task has been optimized.

archived
string (TaskInternalField)

For internal use only. Please do not use.

object (TaskActualTime)

It contains information of the time and place where the driver started executing the task. This information is only present if the Onsite feature is enabled

object
when
string <date-time>

when the driver arrived at the delivery location (in ISO 8601 format)

object

location indicated by the driver

type
string
Default: "Point"
geometry
Array of numbers
forced
boolean
Default: false

indicates if the driver was not at the delivery location and forced the delivery

isCorrectAddress
boolean

indicates if the driver was in a different location but it was correct

order
string (TaskInternalField)

For internal use only. Please do not use.

paymentType
string (TaskPaymentType)
Enum: "CCOD" "COD" "(null value)"

The kind of payment used: Cash on Delivery (COD), Credit Card on Delivery (CCOD) or null

platform
string

The platform identifier

platformName
string

The platform name

endpoint
string

The identifier of the flow in which the task was announced

object
addressLines
Array of strings
geocodeScore
number
object
type
string
geometry
Array of numbers
Array of objects

The list of calls recorded by the driver

Array
when
string <date-time>

When the call was recorded (in ISO 8601 format)

by
string

The user identifier of this call

Array of objects

Issues occurred during the announcement of the task

Array
type
string
Enum: "GEOCODING" "VALIDATION"
code
number
line
number
error
string
Array of objects

List of manual SMS notifications sent to the recipient

Array
notificationId
string
sentDate
string <date-time>

When the notification was sent (in ISO 8601 format)

object (TaskDriver)

The driver of the task. It is an Urbantz user. Can be null.

firstName
string
lastName
string
email
string

Email of the user. May be provided or not depending on the context.

phoneNumber
string

Phone number of the user. May be provided or not depending on the context.

picture
string

Picture relative link of the user. May be provided or not depending on the context.

object
name
string

The type of reference

value
string

The value of the reference

_id
string (ID)
externalId
string

The external identifier of the user. Can be undefined if account is old. Unique accross the same platform.

object (TaskNotificationSettings)

Notification settings for this task

sms
boolean

Should the task trigger sms notifications

email
boolean

Should the task trigger email notifications

replanned
boolean
sourceHash
string (TaskInternalField)

For internal use only. Please do not use.

updated
string <date-time>

When the task was updated the last time (in ISO 8601 format)

when
string <date-time> (TaskWhen)

When the task was created (in ISO 8601 format)

targetFlux
string

A targetFlux (hub-shift-flux-date combination) representing an independent optimization problem

skills
Array of strings (TaskSkills)

Skills the driver must have to execute the task. They are calculated from the items.

roundName
string (RoundName)

Specify the name of the round where the task is assigned. It is only present after the task has been optimized.

roundColor
string

The round color, in hexadecimal, including the hash

Array of objects (TaskProductsArray)

A list of products that the delivery will include

Array
productId
string
name
string
description
string
type
string
barcode
string
quantity
integer >= 1
unitPrice
number >= 0
isSubstitution
boolean
quantityRejected
integer >= 0
object

The rejected reason associated with this product

_id
string (ID)
name
string
hasRejectedProducts
boolean
Default: false

If the task has one or more rejected products

activity
string (TaskInternalField)

For internal use only. Please do not use.

sequence
integer (TaskSequence) >= 1

Specifies the sequence of the task in the round. It is only present after the task has been optimized

id
string

The id of the task. If _id is provided, their value is shared.

flux
string (TaskFlux)

The identifier of the optimization configured used to optimize the task

collectedAmount
number (CollectedAmount) >= 0

The amount of money the driver collected while delivering the goods

closureDate
string <date-time> (ClosureDate)

The date and time the task was completed (in ISO 8601 format)

by
string (TaskSender)

The sender name

attempts
integer >= 0

The number of delivery attempts done

arriveTime
string <date-time> (TaskArrivalTime)

The estimated time of arrival to the delivery location (in ISO 8601 format)

announcement
string (AnnouncementID)

The identifier of the announcement

shift
string <= 32 characters

The name of the shift the task was assigned to

serviceTime
integer (ServiceTime) [ 0 .. 18000 ]

The amount of time in minutes required to effectively complete the task. It cannot be modified once the task is assigned to a round

object (RealServiceTime)

It is the time the driver spent at the delivery address since parking the vehicle to departure that Urbantz calculated based on the data received when the round is completed.

serviceTime
number

It is the duration in seconds urbantz calculated

tasksDeliveredInSameStop
number

Specifies the number of tasks that were completed during this time without moving the vehicle

confidence
string
Enum: "HIGH" "LOW"

It represents the level of confidence on the calculated service time

version
number

It is the version of the algorithm

imagePath
string

The base path for images of this task. You can concatenate this URI (if provided) with, for instance, the content of 'execution.signature.data' to obtain the signature.

maxTransitTime
integer (MaxTransitTime) >= 0

The maximum transit time in minutes. The transit time is the duration from the departure time of the pickup to the arrival time at the delivery.

timeWindowMargin
number >= 0
Default: 0

A margin in minutes to the time window which is deemed acceptable

stopSequence
number

The stop sequence number for this task, in the related round.

date
string <date-time>

USE TIME WINDOW ONLY WITH ISO DATES INSTEAD.

labels
Array of strings (TaskLabels)

Labels the vehicle must have to execute the task. They are calculated from the items.

instructions
string (Instructions) <= 1024 characters

Extra information for the driver to reach the destination

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object

The time window during which the task should be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object

A second time window during which the task can be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object (Contact)

Information of the recipient of the task

account
string <= 255 characters

Contact account number

name
string <= 255 characters

Contact company name

person
string <= 255 characters

Contact first and last name

phone
string <= 255 characters

Contact phone number

email
string <= 255 characters

Contact email address

extraPhones
Array of strings[ items <= 255 characters ]

List of phone numbers to send SMS notifications

extraEmails
Array of strings[ items <= 255 characters ]

List of emails to send email notifications

language
string <= 255 characters

Contact language 2 letter ISO code

object (BuildingInfo)
floor
number [ -200 .. 200 ]

Floor number

hasElevator
boolean

Indicates if the building has elevator

digicode1
string <= 255 characters

Digicode

digicode2
string <= 255 characters

Second digicode

hasInterphone
boolean

Indicates if the building has interphone

interphoneCode
string <= 255 characters

Interphone code

object (Address)

Geocoded address of the task

building
string <= 255 characters

Extra information about the building.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

origin
string

The origin of this address

country
string <= 255 characters

Country

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address of the address

addressLines
Array of strings
geocodeScore
number [ 0 .. 100 ]

internal use only. The accuracy of the localisation

countryCode
string = 3 characters

The ISO 3166-1 alpha-3 code of the country

object (SourceAddress)

Address provided at announcement

building
string <= 255 characters

Extra information about the building. This data will be copied to the parsed address but it won't be taken into account during the geocoding process.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

country
string <= 255 characters

Country

geocodeScore
integer [ 0 .. 100 ]

For internal purposes only. The confidence of the geocoder

addressLines
Array of strings <= 4 items [ items <= 255 characters ]

Unformatted address information. To use only when it is not possible to identify the previous fields in the source data.

hasBeenPaid
boolean

Indicates if the task has been paid by the recipient

price
number >= 0

The price of the task (basket price for e-commerce)

driver
string

The identifier of the driver (urbantz user)

object (Requirements)

Required actions in the mobile application. It cannot be modified once the task is assigned to a round

object (RequirementsPickup)

Pickup actions

object (RequirementsPickupDispatcher)

Actions when the package arrives to the hub.

scan
boolean
Default: false

The dispatcher has to scan the package when it arrives to the hub.

object (RequirementsPickupDriver)

Actions during the pick up

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

scan
boolean
Default: false

Scan the barcode is mandatory

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of pick up is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsPickupFailure)

Actions when the pick up fails

photo
boolean
Default: false

A picture as a proof of the failed pick up

object (RequirementsDelivery)

Delivery actions

object (RequirementsDeliveryDispatcher)

Actions during the delivery

scan
boolean
Default: false

Scanning the barcode before the driver preparation is mandatory.

object (RequirementsDeliveryDriver)

Actions during the preparation and the delivery.

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

prepCheckList
boolean
Default: false

The preparation of the items by a check list is mandatory.

prepScan
boolean
Default: false

The preparation of the items by scanning the barcode is mandatory.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

signatureAndItemConcerns
boolean
Default: false

The signature of the customer is mandatory and the customer can state concerns about the condition of delivered items

scan
boolean
Default: false

Scan the barcode at the delivery moment is mandatoryRN0XILZ0!

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of delivery is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsDeliveryFailure)

Actions when the delivery fails

photo
boolean
Default: false

A picture as a proof of the failed delivery

object (RequirementsOther)
object (RequirementsOtherDriver)

Other actions required

timer
boolean
Default: false

Start and stop a timer to measure the service time

object (TaskExecution)

Information collected by the driver during the execution of the task

successComment
string

Comment of the client when the delivery is successful.

successPicture
string

URL of the picture taken as a proof of the successful task.

object (TaskExecutionFailedReason)
reasonId
string (ID)
reason
string

Reason why the task failed.

custom
string

Custom reason why the task failed.

picture
string

URL of the picture taken as a proof of the failed task.

object

Time the driver spent on a task

Array of objects
Array
type
string

The type of timer

time
string <date-time>
object (TaskExecutionSignature)
data
string

URL of the picture taken as a proof of the successful task.

name
string

Name of the person who signed.

object (Position)

Position of the driver at the moment of the task completion

accuracy
integer

Accuracy of the position in percentage

altitude
integer

Altitude

heading
integer

heading

latitude
number
longitude
number
speed
integer
timestamp
integer
object

Information about the contactless delivery

forced
boolean

Indicate if the pincode was skipped

reason
string

the reason for skipping the pincode

Array of objects (TaskLog)

Log of the progress transition of the task

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

by
string

The user or system responsible for the status transition.

categories
Array of strings (Categories)

Categories are labels assigned to tasks. They can be used to collect delivery preferences in the tracking page or to show information on the driver app as icons.

object

Information about contactless delivery

pin
string

The PIN code used for contactless delivery

object

If there are assets to picked up or to be left at the client

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects

List of file attachments (pictures, delivery notes, etc...)

Array
_id
string

The unique identifier of attachment

name
string

The name of the printing template used

url
string

The relative URI path to the attachment (see Attachments)

brandingTemplate
string (TaskInternalField)

For internal use only. Please do not use.

Request samples

Content type
application/json
{
  • "extTrackId": "ext-12345"
}

Response samples

Content type
application/json
{
  • "createdBy": {
    },
  • "__v": 0,
  • "_id": "507f191e810c19729de860ea",
  • "initialSequence": 0,
  • "trackingId": "abcdef-123456-4abc-acbacbfcabcfbcbfbacbfab",
  • "extTrackId": "ext-12345",
  • "type": "delivery",
  • "taskId": "my-task-id",
  • "taskReference": "task-ref-001-d",
  • "progress": "ANNOUNCED",
  • "status": "ARRIVED",
  • "items": [
    ],
  • "client": "507f191e810c19729de860ea",
  • "hub": "507f191e810c19729de860ea",
  • "hubName": "My Warehouse",
  • "associatedName": "Lumikko Oyj",
  • "associated": "5c3c63c23c32c30cb3cc1234c",
  • "dependency": "507f191e810c19729de860ea",
  • "hasDependency": "507f191e810c19729de860ea",
  • "round": "R01",
  • "archived": "string",
  • "actualTime": {
    },
  • "order": "string",
  • "paymentType": "CCOD",
  • "platform": "5c98f80a6b3dc61664c05cbf",
  • "platformName": "Cortedal SYS, Oy",
  • "endpoint": "5c3c645e3b37f30b3fc0240f",
  • "errorLocation": {
    },
  • "customerCalls": [
    ],
  • "issues": [
    ],
  • "notifications": [
    ],
  • "notificationSettings": {
    },
  • "replanned": false,
  • "sourceHash": "string",
  • "updated": "2019-03-24T12:34:56.123Z",
  • "when": "2019-03-24T12:34:56.123Z",
  • "targetFlux": "56fe250f1eb3571100bb081c_MORNING_57454b1556950a11005189fa_2017-11-15",
  • "skills": [
    ],
  • "roundName": "R03",
  • "roundColor": "#FFCC0D",
  • "products": [
    ],
  • "hasRejectedProducts": false,
  • "activity": "string",
  • "sequence": 1,
  • "id": "5c98f80a6b3dc61664c05cbb",
  • "flux": "5c3c63c23c32c30cb3cc1234c",
  • "collectedAmount": 10.2,
  • "closureDate": "2019-03-25T15:50:50.123Z",
  • "by": "5c3c63c23c32c30cb3cc1234c",
  • "attempts": 0,
  • "arriveTime": "2019-03-25T15:50:50.123Z",
  • "announcement": "507f191e810c19729de860ea",
  • "shift": "string",
  • "serviceTime": 5,
  • "realServiceTime": {
    },
  • "maxTransitTime": 0,
  • "timeWindowMargin": 0,
  • "stopSequence": 2,
  • "date": "2019-03-13T12:34:56.012Z",
  • "labels": [
    ],
  • "instructions": "Once inside of the building, follow the corridor on the right and take the elevator",
  • "metadata": {
    },
  • "dimensions": {
    },
  • "timeWindow": {
    },
  • "timeWindow2": {
    },
  • "contact": {
    },
  • "location": {
    },
  • "source": {
    },
  • "hasBeenPaid": false,
  • "price": 0,
  • "driver": "5c98f80a6b3dc61664c05cbb",
  • "requires": {
    },
  • "execution": {
    },
  • "log": [
    ],
  • "categories": [
    ],
  • "contactless": {
    },
  • "assets": {
    },
  • "attachments": [
    ],
  • "brandingTemplate": "string"
}

set External Tracking ID of a task (TaskId)

This endpoint allows you to assign a External Tracking ID (i.e. a tracking number for your delivery company) to a task identified by its TaskId.

This is mandatory to assign an External Tracking ID to a task you wish to work with. The other External Carrier APIs base themselves on the External Tracking ID to modify the statuses of the task, such as marking them delivered, returned, or assigned to a driver of your Carrier Fleet.

Authorizations:
PlatformKeyBasicAuth
path Parameters
taskId
required
string (TaskId)
Example: my-task-id

The taskId of the task

Request Body schema: application/json
extTrackId
required
string (ExtTrackId)

An external task identifier to use for mapping data between an external carrier and Urbantz

Responses

Response Schema: application/json
object (UserSummaryExternal)

The user object. Present when the task was manually created by a user, null otherwise

firstName
string
lastName
string
_id
string (ID)
id
string (ID)
externalId
string

The external identifier of a user. Can be undefined if account is old. Unique accross the same platform.

__v
number

For internal use only. Please do not use.

_id
string (InternalTaskID)

Internal ID of the task. You should use this identifier for other API calls.

initialSequence
number

This represents the initial sequence number of the task, defined by the optimizer, before it was modified

trackingId
string (TrackingId)

The tracking identifier for this task. You need to add the urbantz domain in front of it. For example, in production the URI would look like https://web.urbantz.com/portal/tracking/insert-tracking-id-here.

extTrackId
string (ExtTrackId)

An external task identifier to use for mapping data between an external carrier and Urbantz

type
string (TaskType)
Enum: "delivery" "pickup"

The type of task to be performed

taskId
string (TaskId)

Your own task identifier. This enables you to use your backend (ERP, CMS, ...) system identifier.

taskReference
string (TaskReference) <= 256 characters

A secondary task identifier to use for mapping data between systems.

progress
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

Array of objects (Item)

The content of the task to be picked up or delivered.

Array
_id
string (ItemID)

The identifier of the item

type
string <= 255 characters

Item type defined in the platform configuration

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

name
string <= 255 characters

Item name

description
string <= 255 characters

Item description

barcode
string <= 128 characters

Item barcode

barcodeEncoding
string <= 20 characters
Default: "CODE128"
Enum: "CODE128" "EAN13" "CODE39" "MSI"

Item barcode encoding

reference
string <= 256 characters

Item external reference

quantity
integer

Quantity of units of his item. The dimensions of the item will be multiplied by the number specified in this field.

processedQuantity
integer

Quantity of processed units of this item. If not specified then is considered that is not changed (the initial value is the item quantity).

object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object (Damaged)

Indicates if the item is damaged

confirmed
boolean
Default: false

True if the item is damaged

pictures
Array of strings

List of pictures taken of the item

labels
Array of strings (ItemLabels)

Labels the vehicle must have to execute the item. Only labels which have been defined on the platform can be used.

skills
Array of strings (ItemSkills)

Skills the driver must have to execute the item. Only skills which have been defined on the platform can be used.

Array of objects (ItemLog)

Log of the status transition of the item

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (ItemStatus)
Enum: "PENDING" "RECEIVED" "ARRIVED" "PREPARED" "DEPARTED" "NOT_DELIVERED" "DELIVERED" "RETURNED" "MISSING" "PICKED_UP" "NOT_PICKED_UP" "TRANSFERED" "OPEN" "STARTED" "HOLD" "CLOSED"
by
string

The user or system responsible for the status transition.

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
group
string <= 128 characters

Barcode of the group in which the item is placed

client
string (ClientID)

The sender identifier

hub
string (HubID)

The hub identifier

hubName
string

The hub name

associatedName
string

The name of the associated platform

associated
string

The unique identifier of the associated platform

dependency
string

the identifier of a pickup task on which our task depends on (in case of a delivery task)

hasDependency
string

the identifier of a delivery task who depends on this task (in case of a pickup task)

round
string (RoundID)

The round identifier. It is only present after the task has been optimized.

archived
string (TaskInternalField)

For internal use only. Please do not use.

object (TaskActualTime)

It contains information of the time and place where the driver started executing the task. This information is only present if the Onsite feature is enabled

object
when
string <date-time>

when the driver arrived at the delivery location (in ISO 8601 format)

object

location indicated by the driver

type
string
Default: "Point"
geometry
Array of numbers
forced
boolean
Default: false

indicates if the driver was not at the delivery location and forced the delivery

isCorrectAddress
boolean

indicates if the driver was in a different location but it was correct

order
string (TaskInternalField)

For internal use only. Please do not use.

paymentType
string (TaskPaymentType)
Enum: "CCOD" "COD" "(null value)"

The kind of payment used: Cash on Delivery (COD), Credit Card on Delivery (CCOD) or null

platform
string

The platform identifier

platformName
string

The platform name

endpoint
string

The identifier of the flow in which the task was announced

object
addressLines
Array of strings
geocodeScore
number
object
type
string
geometry
Array of numbers
Array of objects

The list of calls recorded by the driver

Array
when
string <date-time>

When the call was recorded (in ISO 8601 format)

by
string

The user identifier of this call

Array of objects

Issues occurred during the announcement of the task

Array
type
string
Enum: "GEOCODING" "VALIDATION"
code
number
line
number
error
string
Array of objects

List of manual SMS notifications sent to the recipient

Array
notificationId
string
sentDate
string <date-time>

When the notification was sent (in ISO 8601 format)

object (TaskDriver)

The driver of the task. It is an Urbantz user. Can be null.

firstName
string
lastName
string
email
string

Email of the user. May be provided or not depending on the context.

phoneNumber
string

Phone number of the user. May be provided or not depending on the context.

picture
string

Picture relative link of the user. May be provided or not depending on the context.

object
name
string

The type of reference

value
string

The value of the reference

_id
string (ID)
externalId
string

The external identifier of the user. Can be undefined if account is old. Unique accross the same platform.

object (TaskNotificationSettings)

Notification settings for this task

sms
boolean

Should the task trigger sms notifications

email
boolean

Should the task trigger email notifications

replanned
boolean
sourceHash
string (TaskInternalField)

For internal use only. Please do not use.

updated
string <date-time>

When the task was updated the last time (in ISO 8601 format)

when
string <date-time> (TaskWhen)

When the task was created (in ISO 8601 format)

targetFlux
string

A targetFlux (hub-shift-flux-date combination) representing an independent optimization problem

skills
Array of strings (TaskSkills)

Skills the driver must have to execute the task. They are calculated from the items.

roundName
string (RoundName)

Specify the name of the round where the task is assigned. It is only present after the task has been optimized.

roundColor
string

The round color, in hexadecimal, including the hash

Array of objects (TaskProductsArray)

A list of products that the delivery will include

Array
productId
string
name
string
description
string
type
string
barcode
string
quantity
integer >= 1
unitPrice
number >= 0
isSubstitution
boolean
quantityRejected
integer >= 0
object

The rejected reason associated with this product

_id
string (ID)
name
string
hasRejectedProducts
boolean
Default: false

If the task has one or more rejected products

activity
string (TaskInternalField)

For internal use only. Please do not use.

sequence
integer (TaskSequence) >= 1

Specifies the sequence of the task in the round. It is only present after the task has been optimized

id
string

The id of the task. If _id is provided, their value is shared.

flux
string (TaskFlux)

The identifier of the optimization configured used to optimize the task

collectedAmount
number (CollectedAmount) >= 0

The amount of money the driver collected while delivering the goods

closureDate
string <date-time> (ClosureDate)

The date and time the task was completed (in ISO 8601 format)

by
string (TaskSender)

The sender name

attempts
integer >= 0

The number of delivery attempts done

arriveTime
string <date-time> (TaskArrivalTime)

The estimated time of arrival to the delivery location (in ISO 8601 format)

announcement
string (AnnouncementID)

The identifier of the announcement

shift
string <= 32 characters

The name of the shift the task was assigned to

serviceTime
integer (ServiceTime) [ 0 .. 18000 ]

The amount of time in minutes required to effectively complete the task. It cannot be modified once the task is assigned to a round

object (RealServiceTime)

It is the time the driver spent at the delivery address since parking the vehicle to departure that Urbantz calculated based on the data received when the round is completed.

serviceTime
number

It is the duration in seconds urbantz calculated

tasksDeliveredInSameStop
number

Specifies the number of tasks that were completed during this time without moving the vehicle

confidence
string
Enum: "HIGH" "LOW"

It represents the level of confidence on the calculated service time

version
number

It is the version of the algorithm

imagePath
string

The base path for images of this task. You can concatenate this URI (if provided) with, for instance, the content of 'execution.signature.data' to obtain the signature.

maxTransitTime
integer (MaxTransitTime) >= 0

The maximum transit time in minutes. The transit time is the duration from the departure time of the pickup to the arrival time at the delivery.

timeWindowMargin
number >= 0
Default: 0

A margin in minutes to the time window which is deemed acceptable

stopSequence
number

The stop sequence number for this task, in the related round.

date
string <date-time>

USE TIME WINDOW ONLY WITH ISO DATES INSTEAD.

labels
Array of strings (TaskLabels)

Labels the vehicle must have to execute the task. They are calculated from the items.

instructions
string (Instructions) <= 1024 characters

Extra information for the driver to reach the destination

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object

The time window during which the task should be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object

A second time window during which the task can be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object (Contact)

Information of the recipient of the task

account
string <= 255 characters

Contact account number

name
string <= 255 characters

Contact company name

person
string <= 255 characters

Contact first and last name

phone
string <= 255 characters

Contact phone number

email
string <= 255 characters

Contact email address

extraPhones
Array of strings[ items <= 255 characters ]

List of phone numbers to send SMS notifications

extraEmails
Array of strings[ items <= 255 characters ]

List of emails to send email notifications

language
string <= 255 characters

Contact language 2 letter ISO code

object (BuildingInfo)
floor
number [ -200 .. 200 ]

Floor number

hasElevator
boolean

Indicates if the building has elevator

digicode1
string <= 255 characters

Digicode

digicode2
string <= 255 characters

Second digicode

hasInterphone
boolean

Indicates if the building has interphone

interphoneCode
string <= 255 characters

Interphone code

object (Address)

Geocoded address of the task

building
string <= 255 characters

Extra information about the building.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

origin
string

The origin of this address

country
string <= 255 characters

Country

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address of the address

addressLines
Array of strings
geocodeScore
number [ 0 .. 100 ]

internal use only. The accuracy of the localisation

countryCode
string = 3 characters

The ISO 3166-1 alpha-3 code of the country

object (SourceAddress)

Address provided at announcement

building
string <= 255 characters

Extra information about the building. This data will be copied to the parsed address but it won't be taken into account during the geocoding process.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

country
string <= 255 characters

Country

geocodeScore
integer [ 0 .. 100 ]

For internal purposes only. The confidence of the geocoder

addressLines
Array of strings <= 4 items [ items <= 255 characters ]

Unformatted address information. To use only when it is not possible to identify the previous fields in the source data.

hasBeenPaid
boolean

Indicates if the task has been paid by the recipient

price
number >= 0

The price of the task (basket price for e-commerce)

driver
string

The identifier of the driver (urbantz user)

object (Requirements)

Required actions in the mobile application. It cannot be modified once the task is assigned to a round

object (RequirementsPickup)

Pickup actions

object (RequirementsPickupDispatcher)

Actions when the package arrives to the hub.

scan
boolean
Default: false

The dispatcher has to scan the package when it arrives to the hub.

object (RequirementsPickupDriver)

Actions during the pick up

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

scan
boolean
Default: false

Scan the barcode is mandatory

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of pick up is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsPickupFailure)

Actions when the pick up fails

photo
boolean
Default: false

A picture as a proof of the failed pick up

object (RequirementsDelivery)

Delivery actions

object (RequirementsDeliveryDispatcher)

Actions during the delivery

scan
boolean
Default: false

Scanning the barcode before the driver preparation is mandatory.

object (RequirementsDeliveryDriver)

Actions during the preparation and the delivery.

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

prepCheckList
boolean
Default: false

The preparation of the items by a check list is mandatory.

prepScan
boolean
Default: false

The preparation of the items by scanning the barcode is mandatory.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

signatureAndItemConcerns
boolean
Default: false

The signature of the customer is mandatory and the customer can state concerns about the condition of delivered items

scan
boolean
Default: false

Scan the barcode at the delivery moment is mandatoryRN0XILZ0!

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of delivery is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsDeliveryFailure)

Actions when the delivery fails

photo
boolean
Default: false

A picture as a proof of the failed delivery

object (RequirementsOther)
object (RequirementsOtherDriver)

Other actions required

timer
boolean
Default: false

Start and stop a timer to measure the service time

object (TaskExecution)

Information collected by the driver during the execution of the task

successComment
string

Comment of the client when the delivery is successful.

successPicture
string

URL of the picture taken as a proof of the successful task.

object (TaskExecutionFailedReason)
reasonId
string (ID)
reason
string

Reason why the task failed.

custom
string

Custom reason why the task failed.

picture
string

URL of the picture taken as a proof of the failed task.

object

Time the driver spent on a task

Array of objects
Array
type
string

The type of timer

time
string <date-time>
object (TaskExecutionSignature)
data
string

URL of the picture taken as a proof of the successful task.

name
string

Name of the person who signed.

object (Position)

Position of the driver at the moment of the task completion

accuracy
integer

Accuracy of the position in percentage

altitude
integer

Altitude

heading
integer

heading

latitude
number
longitude
number
speed
integer
timestamp
integer
object

Information about the contactless delivery

forced
boolean

Indicate if the pincode was skipped

reason
string

the reason for skipping the pincode

Array of objects (TaskLog)

Log of the progress transition of the task

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

by
string

The user or system responsible for the status transition.

categories
Array of strings (Categories)

Categories are labels assigned to tasks. They can be used to collect delivery preferences in the tracking page or to show information on the driver app as icons.

object

Information about contactless delivery

pin
string

The PIN code used for contactless delivery

object

If there are assets to picked up or to be left at the client

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects

List of file attachments (pictures, delivery notes, etc...)

Array
_id
string

The unique identifier of attachment

name
string

The name of the printing template used

url
string

The relative URI path to the attachment (see Attachments)

brandingTemplate
string (TaskInternalField)

For internal use only. Please do not use.

Request samples

Content type
application/json
{
  • "extTrackId": "ext-12345"
}

Response samples

Content type
application/json
{
  • "createdBy": {
    },
  • "__v": 0,
  • "_id": "507f191e810c19729de860ea",
  • "initialSequence": 0,
  • "trackingId": "abcdef-123456-4abc-acbacbfcabcfbcbfbacbfab",
  • "extTrackId": "ext-12345",
  • "type": "delivery",
  • "taskId": "my-task-id",
  • "taskReference": "task-ref-001-d",
  • "progress": "ANNOUNCED",
  • "status": "ARRIVED",
  • "items": [
    ],
  • "client": "507f191e810c19729de860ea",
  • "hub": "507f191e810c19729de860ea",
  • "hubName": "My Warehouse",
  • "associatedName": "Lumikko Oyj",
  • "associated": "5c3c63c23c32c30cb3cc1234c",
  • "dependency": "507f191e810c19729de860ea",
  • "hasDependency": "507f191e810c19729de860ea",
  • "round": "R01",
  • "archived": "string",
  • "actualTime": {
    },
  • "order": "string",
  • "paymentType": "CCOD",
  • "platform": "5c98f80a6b3dc61664c05cbf",
  • "platformName": "Cortedal SYS, Oy",
  • "endpoint": "5c3c645e3b37f30b3fc0240f",
  • "errorLocation": {
    },
  • "customerCalls": [
    ],
  • "issues": [
    ],
  • "notifications": [
    ],
  • "notificationSettings": {
    },
  • "replanned": false,
  • "sourceHash": "string",
  • "updated": "2019-03-24T12:34:56.123Z",
  • "when": "2019-03-24T12:34:56.123Z",
  • "targetFlux": "56fe250f1eb3571100bb081c_MORNING_57454b1556950a11005189fa_2017-11-15",
  • "skills": [
    ],
  • "roundName": "R03",
  • "roundColor": "#FFCC0D",
  • "products": [
    ],
  • "hasRejectedProducts": false,
  • "activity": "string",
  • "sequence": 1,
  • "id": "5c98f80a6b3dc61664c05cbb",
  • "flux": "5c3c63c23c32c30cb3cc1234c",
  • "collectedAmount": 10.2,
  • "closureDate": "2019-03-25T15:50:50.123Z",
  • "by": "5c3c63c23c32c30cb3cc1234c",
  • "attempts": 0,
  • "arriveTime": "2019-03-25T15:50:50.123Z",
  • "announcement": "507f191e810c19729de860ea",
  • "shift": "string",
  • "serviceTime": 5,
  • "realServiceTime": {
    },
  • "maxTransitTime": 0,
  • "timeWindowMargin": 0,
  • "stopSequence": 2,
  • "date": "2019-03-13T12:34:56.012Z",
  • "labels": [
    ],
  • "instructions": "Once inside of the building, follow the corridor on the right and take the elevator",
  • "metadata": {
    },
  • "dimensions": {
    },
  • "timeWindow": {
    },
  • "timeWindow2": {
    },
  • "contact": {
    },
  • "location": {
    },
  • "source": {
    },
  • "hasBeenPaid": false,
  • "price": 0,
  • "driver": "5c98f80a6b3dc61664c05cbb",
  • "requires": {
    },
  • "execution": {
    },
  • "log": [
    ],
  • "categories": [
    ],
  • "contactless": {
    },
  • "assets": {
    },
  • "attachments": [
    ],
  • "brandingTemplate": "string"
}

set task as ASSIGNED

This endpoint allows you to mark a task as assigned, which means a driver has been assigned to do this pickup or delivery.

Authorizations:
PlatformKeyBasicAuth
path Parameters
extTrackId
required
string (ExtTrackId)
Example: ext-12345

The extTrackId of the task

Request Body schema: application/json
updatedTime
string <date-time> (CarrierTaskStatusUpdatedTime)

The date-time of the operation in ISO date format

updateType
string (CarrierTaskStatusUpdateType)
Enum: "id" "barcode" "total"

Specify how to identify the items to update. If id or barcode is selected then the field items must be used otherwise the field total will specify the transition for all.

object

Specify the items that are pending.

total
boolean (CarrierTaskStatusTotal)

Specify if the totality of items should change to this status. Only used if the update type is 'total'.

items
Array of strings (CarrierTaskStatusItems)
object

Specify the items that have arrived. Only for tasks of type delivery

total
boolean (CarrierTaskStatusTotal)

Specify if the totality of items should change to this status. Only used if the update type is 'total'.

items
Array of strings (CarrierTaskStatusItems)
roundName
string

Specify the name of the round where the task is assigned

sequence
integer

Specify the sequence of the task in the round

Responses

Response Schema: application/json
object (UserSummaryExternal)

The user object. Present when the task was manually created by a user, null otherwise

firstName
string
lastName
string
_id
string (ID)
id
string (ID)
externalId
string

The external identifier of a user. Can be undefined if account is old. Unique accross the same platform.

__v
number

For internal use only. Please do not use.

_id
string (InternalTaskID)

Internal ID of the task. You should use this identifier for other API calls.

initialSequence
number

This represents the initial sequence number of the task, defined by the optimizer, before it was modified

trackingId
string (TrackingId)

The tracking identifier for this task. You need to add the urbantz domain in front of it. For example, in production the URI would look like https://web.urbantz.com/portal/tracking/insert-tracking-id-here.

extTrackId
string (ExtTrackId)

An external task identifier to use for mapping data between an external carrier and Urbantz

type
string (TaskType)
Enum: "delivery" "pickup"

The type of task to be performed

taskId
string (TaskId)

Your own task identifier. This enables you to use your backend (ERP, CMS, ...) system identifier.

taskReference
string (TaskReference) <= 256 characters

A secondary task identifier to use for mapping data between systems.

progress
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

Array of objects (Item)

The content of the task to be picked up or delivered.

Array
_id
string (ItemID)

The identifier of the item

type
string <= 255 characters

Item type defined in the platform configuration

status
string (TaskStatus)
Enum: "ARRIVED" "DELIVERED" "DEPARTED" "MISSING" "NOT_DELIVERED" "NOT_PICKED_UP" "PARTIAL_ARRIVED" "PARTIAL_DELIVERED" "PARTIAL_PICKED_UP" "PARTIAL_PREPARED" "PARTIAL_READY_TO_COLLECT" "PARTIAL_RECEIVED" "PENDING" "PICKED_UP" "PREPARED" "READY_TO_COLLECT" "RECEIVED" "RETURNED" "TRANSFERED"

Provides more granular details about what's happening with the physical task. It is usually calculated based on the status of the items and it can change within a given progress stage

name
string <= 255 characters

Item name

description
string <= 255 characters

Item description

barcode
string <= 128 characters

Item barcode

barcodeEncoding
string <= 20 characters
Default: "CODE128"
Enum: "CODE128" "EAN13" "CODE39" "MSI"

Item barcode encoding

reference
string <= 256 characters

Item external reference

quantity
integer

Quantity of units of his item. The dimensions of the item will be multiplied by the number specified in this field.

processedQuantity
integer

Quantity of processed units of this item. If not specified then is considered that is not changed (the initial value is the item quantity).

object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object (Damaged)

Indicates if the item is damaged

confirmed
boolean
Default: false

True if the item is damaged

pictures
Array of strings

List of pictures taken of the item

labels
Array of strings (ItemLabels)

Labels the vehicle must have to execute the item. Only labels which have been defined on the platform can be used.

skills
Array of strings (ItemSkills)

Skills the driver must have to execute the item. Only skills which have been defined on the platform can be used.

Array of objects (ItemLog)

Log of the status transition of the item

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (ItemStatus)
Enum: "PENDING" "RECEIVED" "ARRIVED" "PREPARED" "DEPARTED" "NOT_DELIVERED" "DELIVERED" "RETURNED" "MISSING" "PICKED_UP" "NOT_PICKED_UP" "TRANSFERED" "OPEN" "STARTED" "HOLD" "CLOSED"
by
string

The user or system responsible for the status transition.

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
group
string <= 128 characters

Barcode of the group in which the item is placed

client
string (ClientID)

The sender identifier

hub
string (HubID)

The hub identifier

hubName
string

The hub name

associatedName
string

The name of the associated platform

associated
string

The unique identifier of the associated platform

dependency
string

the identifier of a pickup task on which our task depends on (in case of a delivery task)

hasDependency
string

the identifier of a delivery task who depends on this task (in case of a pickup task)

round
string (RoundID)

The round identifier. It is only present after the task has been optimized.

archived
string (TaskInternalField)

For internal use only. Please do not use.

object (TaskActualTime)

It contains information of the time and place where the driver started executing the task. This information is only present if the Onsite feature is enabled

object
when
string <date-time>

when the driver arrived at the delivery location (in ISO 8601 format)

object

location indicated by the driver

type
string
Default: "Point"
geometry
Array of numbers
forced
boolean
Default: false

indicates if the driver was not at the delivery location and forced the delivery

isCorrectAddress
boolean

indicates if the driver was in a different location but it was correct

order
string (TaskInternalField)

For internal use only. Please do not use.

paymentType
string (TaskPaymentType)
Enum: "CCOD" "COD" "(null value)"

The kind of payment used: Cash on Delivery (COD), Credit Card on Delivery (CCOD) or null

platform
string

The platform identifier

platformName
string

The platform name

endpoint
string

The identifier of the flow in which the task was announced

object
addressLines
Array of strings
geocodeScore
number
object
type
string
geometry
Array of numbers
Array of objects

The list of calls recorded by the driver

Array
when
string <date-time>

When the call was recorded (in ISO 8601 format)

by
string

The user identifier of this call

Array of objects

Issues occurred during the announcement of the task

Array
type
string
Enum: "GEOCODING" "VALIDATION"
code
number
line
number
error
string
Array of objects

List of manual SMS notifications sent to the recipient

Array
notificationId
string
sentDate
string <date-time>

When the notification was sent (in ISO 8601 format)

object (TaskDriver)

The driver of the task. It is an Urbantz user. Can be null.

firstName
string
lastName
string
email
string

Email of the user. May be provided or not depending on the context.

phoneNumber
string

Phone number of the user. May be provided or not depending on the context.

picture
string

Picture relative link of the user. May be provided or not depending on the context.

object
name
string

The type of reference

value
string

The value of the reference

_id
string (ID)
externalId
string

The external identifier of the user. Can be undefined if account is old. Unique accross the same platform.

object (TaskNotificationSettings)

Notification settings for this task

sms
boolean

Should the task trigger sms notifications

email
boolean

Should the task trigger email notifications

replanned
boolean
sourceHash
string (TaskInternalField)

For internal use only. Please do not use.

updated
string <date-time>

When the task was updated the last time (in ISO 8601 format)

when
string <date-time> (TaskWhen)

When the task was created (in ISO 8601 format)

targetFlux
string

A targetFlux (hub-shift-flux-date combination) representing an independent optimization problem

skills
Array of strings (TaskSkills)

Skills the driver must have to execute the task. They are calculated from the items.

roundName
string (RoundName)

Specify the name of the round where the task is assigned. It is only present after the task has been optimized.

roundColor
string

The round color, in hexadecimal, including the hash

Array of objects (TaskProductsArray)

A list of products that the delivery will include

Array
productId
string
name
string
description
string
type
string
barcode
string
quantity
integer >= 1
unitPrice
number >= 0
isSubstitution
boolean
quantityRejected
integer >= 0
object

The rejected reason associated with this product

_id
string (ID)
name
string
hasRejectedProducts
boolean
Default: false

If the task has one or more rejected products

activity
string (TaskInternalField)

For internal use only. Please do not use.

sequence
integer (TaskSequence) >= 1

Specifies the sequence of the task in the round. It is only present after the task has been optimized

id
string

The id of the task. If _id is provided, their value is shared.

flux
string (TaskFlux)

The identifier of the optimization configured used to optimize the task

collectedAmount
number (CollectedAmount) >= 0

The amount of money the driver collected while delivering the goods

closureDate
string <date-time> (ClosureDate)

The date and time the task was completed (in ISO 8601 format)

by
string (TaskSender)

The sender name

attempts
integer >= 0

The number of delivery attempts done

arriveTime
string <date-time> (TaskArrivalTime)

The estimated time of arrival to the delivery location (in ISO 8601 format)

announcement
string (AnnouncementID)

The identifier of the announcement

shift
string <= 32 characters

The name of the shift the task was assigned to

serviceTime
integer (ServiceTime) [ 0 .. 18000 ]

The amount of time in minutes required to effectively complete the task. It cannot be modified once the task is assigned to a round

object (RealServiceTime)

It is the time the driver spent at the delivery address since parking the vehicle to departure that Urbantz calculated based on the data received when the round is completed.

serviceTime
number

It is the duration in seconds urbantz calculated

tasksDeliveredInSameStop
number

Specifies the number of tasks that were completed during this time without moving the vehicle

confidence
string
Enum: "HIGH" "LOW"

It represents the level of confidence on the calculated service time

version
number

It is the version of the algorithm

imagePath
string

The base path for images of this task. You can concatenate this URI (if provided) with, for instance, the content of 'execution.signature.data' to obtain the signature.

maxTransitTime
integer (MaxTransitTime) >= 0

The maximum transit time in minutes. The transit time is the duration from the departure time of the pickup to the arrival time at the delivery.

timeWindowMargin
number >= 0
Default: 0

A margin in minutes to the time window which is deemed acceptable

stopSequence
number

The stop sequence number for this task, in the related round.

date
string <date-time>

USE TIME WINDOW ONLY WITH ISO DATES INSTEAD.

labels
Array of strings (TaskLabels)

Labels the vehicle must have to execute the task. They are calculated from the items.

instructions
string (Instructions) <= 1024 characters

Extra information for the driver to reach the destination

object (Metadata)

A general-purpose mechanism to store additional data. At the task level, metadata can be made explicit with a base schema in order to push or capture information during the execution of the task. Ask for support if you believe this can enhance your use case. Note: New metadata are merged with the existing one when updating a task

property name*
additional property
object
object (Dimensions)

An object of key-value pairs where the key represents the dimension type (such as weight or volume) and the value the corresponding dimensional value. For the keys, only dimensions which have been defined on the Platform can be used. For values, up to 6 decimals are taken into account, extra decimals are truncated.

property name*
additional property
number >= 0
object

The time window during which the task should be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object

A second time window during which the task can be completed. It cannot be modified once the task is assigned to a round.

start
string <date-time>

The start of the time window. The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

stop
string <date-time>

The end of the time window.The value provided should either be an ISO 8601 date time string or a string in the HH:mm format.

object (Contact)

Information of the recipient of the task

account
string <= 255 characters

Contact account number

name
string <= 255 characters

Contact company name

person
string <= 255 characters

Contact first and last name

phone
string <= 255 characters

Contact phone number

email
string <= 255 characters

Contact email address

extraPhones
Array of strings[ items <= 255 characters ]

List of phone numbers to send SMS notifications

extraEmails
Array of strings[ items <= 255 characters ]

List of emails to send email notifications

language
string <= 255 characters

Contact language 2 letter ISO code

object (BuildingInfo)
floor
number [ -200 .. 200 ]

Floor number

hasElevator
boolean

Indicates if the building has elevator

digicode1
string <= 255 characters

Digicode

digicode2
string <= 255 characters

Second digicode

hasInterphone
boolean

Indicates if the building has interphone

interphoneCode
string <= 255 characters

Interphone code

object (Address)

Geocoded address of the task

building
string <= 255 characters

Extra information about the building.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

origin
string

The origin of this address

country
string <= 255 characters

Country

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address of the address

addressLines
Array of strings
geocodeScore
number [ 0 .. 100 ]

internal use only. The accuracy of the localisation

countryCode
string = 3 characters

The ISO 3166-1 alpha-3 code of the country

object (SourceAddress)

Address provided at announcement

building
string <= 255 characters

Extra information about the building. This data will be copied to the parsed address but it won't be taken into account during the geocoding process.

number
string <= 255 characters

Street number

street
required
string <= 255 characters

Street name

object (Location)
geometry
Array of numbers (Geometry) [ items = 2 items ]
type
string
Default: "Point"

The type of location. Usually "Point"

address
string

The full address

city
string <= 255 characters

City

zip
string <= 255 characters

Postal code

country
string <= 255 characters

Country

geocodeScore
integer [ 0 .. 100 ]

For internal purposes only. The confidence of the geocoder

addressLines
Array of strings <= 4 items [ items <= 255 characters ]

Unformatted address information. To use only when it is not possible to identify the previous fields in the source data.

hasBeenPaid
boolean

Indicates if the task has been paid by the recipient

price
number >= 0

The price of the task (basket price for e-commerce)

driver
string

The identifier of the driver (urbantz user)

object (Requirements)

Required actions in the mobile application. It cannot be modified once the task is assigned to a round

object (RequirementsPickup)

Pickup actions

object (RequirementsPickupDispatcher)

Actions when the package arrives to the hub.

scan
boolean
Default: false

The dispatcher has to scan the package when it arrives to the hub.

object (RequirementsPickupDriver)

Actions during the pick up

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

scan
boolean
Default: false

Scan the barcode is mandatory

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of pick up is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsPickupFailure)

Actions when the pick up fails

photo
boolean
Default: false

A picture as a proof of the failed pick up

object (RequirementsDelivery)

Delivery actions

object (RequirementsDeliveryDispatcher)

Actions during the delivery

scan
boolean
Default: false

Scanning the barcode before the driver preparation is mandatory.

object (RequirementsDeliveryDriver)

Actions during the preparation and the delivery.

contactless
boolean
Default: false

The recipient must provide a PIN code to accept the pickup/delivery.

prepCheckList
boolean
Default: false

The preparation of the items by a check list is mandatory.

prepScan
boolean
Default: false

The preparation of the items by scanning the barcode is mandatory.

signature
boolean
Default: false

The signature of the customer is mandatory

signatureAndComment
boolean
Default: false

The signature and comment of the customer is mandatory

signatureAndItemConcerns
boolean
Default: false

The signature of the customer is mandatory and the customer can state concerns about the condition of delivered items

scan
boolean
Default: false

Scan the barcode at the delivery moment is mandatoryRN0XILZ0!

comment
boolean
Default: false

The customer comment is mandatory

photo
boolean
Default: false

A picture as a proof of delivery is mandatory

object (RequirementsPickupStop)

Actions when the driver arrives at the stop

onSite
boolean
Default: false

The driver must indicate his arrival

object (RequirementsDeliveryFailure)

Actions when the delivery fails

photo
boolean
Default: false

A picture as a proof of the failed delivery

object (RequirementsOther)
object (RequirementsOtherDriver)

Other actions required

timer
boolean
Default: false

Start and stop a timer to measure the service time

object (TaskExecution)

Information collected by the driver during the execution of the task

successComment
string

Comment of the client when the delivery is successful.

successPicture
string

URL of the picture taken as a proof of the successful task.

object (TaskExecutionFailedReason)
reasonId
string (ID)
reason
string

Reason why the task failed.

custom
string

Custom reason why the task failed.

picture
string

URL of the picture taken as a proof of the failed task.

object

Time the driver spent on a task

Array of objects
Array
type
string

The type of timer

time
string <date-time>
object (TaskExecutionSignature)
data
string

URL of the picture taken as a proof of the successful task.

name
string

Name of the person who signed.

object (Position)

Position of the driver at the moment of the task completion

accuracy
integer

Accuracy of the position in percentage

altitude
integer

Altitude

heading
integer

heading

latitude
number
longitude
number
speed
integer
timestamp
integer
object

Information about the contactless delivery

forced
boolean

Indicate if the pincode was skipped

reason
string

the reason for skipping the pincode

Array of objects (TaskLog)

Log of the progress transition of the task

Array
_id
string (ID)
when
string <date-time>

The timestamp of when the transition of status occurred.

to
string (TaskProgress)
Enum: "ANNOUNCED" "ASSIGNED" "COMPLETED" "DISCARDED" "ERROR" "GEOCODED" "MISSING" "ONGOING" "READY_TO_COLLECT" "UNPLANNED"

Represents the high-level stage of the task. Follows a general sequence as the task moves through its lifecycle

by
string

The user or system responsible for the status transition.

categories
Array of strings (Categories)

Categories are labels assigned to tasks. They can be used to collect delivery preferences in the tracking page or to show information on the driver app as icons.

object

Information about contactless delivery

pin
string

The PIN code used for contactless delivery

object

If there are assets to picked up or to be left at the client

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects (DeliveryAssets)
Array
assetId
string

identifier field, could be anything

name
string

name of the asset, example, "bottles"

price
number

the amount charged for the assets

amount
number

amount of assets being delivered/picked up

Array of objects

List of file attachments (pictures, delivery notes, etc...)

Array
_id
string

The unique identifier of attachment

name
string

The name of the printing template used

url
string

The relative URI path to the attachment (see Attachments)

brandingTemplate
string (TaskInternalField)

For internal use only. Please do not use.

Request samples

Content type
application/json
{
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "updateType": "barcode",
  • "pending": {
    },
  • "arrived": {
    },
  • "roundName": "R01",
  • "sequence": 1
}

Response samples

Content type
application/json
{
  • "createdBy": {
    },
  • "__v": 0,
  • "_id": "507f191e810c19729de860ea",
  • "initialSequence": 0,
  • "trackingId": "abcdef-123456-4abc-acbacbfcabcfbcbfbacbfab",
  • "extTrackId": "ext-12345",
  • "type": "delivery",
  • "taskId": "my-task-id",
  • "taskReference": "task-ref-001-d",
  • "progress": "ANNOUNCED",
  • "status": "ARRIVED",
  • "items": [
    ],
  • "client": "507f191e810c19729de860ea",
  • "hub": "507f191e810c19729de860ea",
  • "hubName": "My Warehouse",
  • "associatedName": "Lumikko Oyj",
  • "associated": "5c3c63c23c32c30cb3cc1234c",
  • "dependency": "507f191e810c19729de860ea",
  • "hasDependency": "507f191e810c19729de860ea",
  • "round": "R01",
  • "archived": "string",
  • "actualTime": {
    },
  • "order": "string",
  • "paymentType": "CCOD",
  • "platform": "5c98f80a6b3dc61664c05cbf",
  • "platformName": "Cortedal SYS, Oy",
  • "endpoint": "5c3c645e3b37f30b3fc0240f",
  • "errorLocation": {
    },
  • "customerCalls": [
    ],
  • "issues": [
    ],
  • "notifications": [
    ],
  • "notificationSettings": {
    },
  • "replanned": false,
  • "sourceHash": "string",
  • "updated": "2019-03-24T12:34:56.123Z",
  • "when": "2019-03-24T12:34:56.123Z",
  • "targetFlux": "56fe250f1eb3571100bb081c_MORNING_57454b1556950a11005189fa_2017-11-15",
  • "skills": [
    ],
  • "roundName": "R03",
  • "roundColor": "#FFCC0D",
  • "products": [
    ],
  • "hasRejectedProducts": false,
  • "activity": "string",
  • "sequence": 1,
  • "id": "5c98f80a6b3dc61664c05cbb",
  • "flux": "5c3c63c23c32c30cb3cc1234c",
  • "collectedAmount": 10.2,
  • "closureDate": "2019-03-25T15:50:50.123Z",
  • "by": "5c3c63c23c32c30cb3cc1234c",
  • "attempts": 0,
  • "arriveTime": "2019-03-25T15:50:50.123Z",
  • "announcement": "507f191e810c19729de860ea",
  • "shift": "string",
  • "serviceTime": 5,
  • "realServiceTime": {
    },
  • "maxTransitTime": 0,
  • "timeWindowMargin": 0,
  • "stopSequence": 2,
  • "date": "2019-03-13T12:34:56.012Z",
  • "labels": [
    ],
  • "instructions": "Once inside of the building, follow the corridor on the right and take the elevator",
  • "metadata": {
    },
  • "dimensions": {
    },
  • "timeWindow": {
    },
  • "timeWindow2": {
    },
  • "contact": {
    },
  • "location": {
    },
  • "source": {
    },
  • "hasBeenPaid": false,
  • "price": 0,
  • "driver": "5c98f80a6b3dc61664c05cbb",
  • "requires": {
    },
  • "execution": {