Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Endpoint URL

...

Staging

...

https://us-central1-fleet-staging-2333a.cloudfunctions.net

...

Production

...

will be provided after SIT

...

title1. Login and Get Session

Endpoint URL

Staging

https://us-central1-fleet-staging-2333a.cloudfunctions.net

Production

will be provided after SIT

...

Expand
title1. Login (Version 1) and Get Session

Login and Get Session Token
Status
colourGreen
titlebUSINESS
Status
colourRed
titleProvider

Description

To acquire authorization token

Endpoint

/login

Method

POST


Request Headers

Code Block
languagejson
{
    "Content-Type": "application/json"
}


Request Body

Field

Data type

Required

Description

email

string

yes

email credential

password

string

yes

password


Sample Request Body

Code Block
languagejson
{
    "email": "sandbox_dev@gmail.com",
    "password": "password"
}

Sample Response

Code Block
languagejson
Status: 200 OK!
{
    "success": true,
    "results": {
        "apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd",
        "clientId": "SANDBOX_DEV",
        "sessionToken": "b45e2fb77c9653bf5e736d19e1fd18ebbffd0f6d3dd25af118e5eb38851bf4d"
    }
}

Field

Description

apiKey

Generated hash on client-side to be used on succeeding API request

clientId

Reference Client ID

sessionToken

Generated hash on every API login to be used on succeeding API requests.
Expires after 20 minutes.

Info
  • Session token expires after 20 minutes of use.

  • Session duration refreshes every login or on API (createPost, getPost, etc.) calls given that the token is still valid.

  • QUOTA_EXCEEDED error message occurs when you reach a certain number of login API request per second. For bulk API calls, please use the login API once and reuse the session token. You may also retry the operation after 1-2 seconds.

Error Messages:

Invalid Email

Code Block
languagejson
Status: 401 Unauthorized
{
    "success": false,
    "results": "EMAIL_NOT_FOUND"
}

Invalid Password

Code Block
languagejson
Status: 401 Unauthorized
{
    "success": false,
    "results": "INVALID_PASSWORD"
}

Quota Limit Exceeded Error

Code Block
languagejson
Status: 401 Unauthorized
{
    "success": false,
    "results": "QUOTA_EXCEEDED : Exceeded quota for verifying passwords."
}
{ "
Expand
title1.1 Login v2

Login v2
Status
colourGreen
title

bUSINESS

BUSINESS
Status
colourRed
titleProvider

Description

To acquire authorization token

Login V2 that uses JWT Auth

Endpoint

/

login

loginV2

Method

POST

Request Headers

code

KEY

languagejson

VALUE

Content-Type

": "

application/json

" }

Request Body

Field

Data type

Required

Description

email

string

yes

email credential

password

string

yes

password

Sample Request Body
Code Block
languagejson
{
    	"email": "sandbox_dev@gmailsample@email.com",
    	"password": "password1234456"
}

Sample Response

json
Code Block
language
Status: 200 OK!
{
    "success": true,
    "results": {
        "apiKeyaccessTokenExpiresAt": 1650941635051,
        "fb77c9653bf5e736d191b46bbfed7c2bdrefreshTokenExpiresAt": 1653532435052,
        "clientIdaccessToken": "SANDBOX_DEVeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQiOiJTQU5EQk9YX0RFViIsImxtaUF1dGhLZXkiOiIyRjlCNTdGQTlDNzRGOEUwQ0YyM0NCMDUyQjJDNDM4RTBBRDhEOTUxREE5QzczQkM1QjZEQUYxOEZDMDNFMjVBIiwiZW1haWwiOiJjaHJpc0BkZXYuZmxlZXQucGgiLCJpYXQiOjE2NTA5NDA0MzUsImV4cCI6MTY1MDk0MTYzNX0.5ulcbOQkNP5ESFmf8xVvGhdEi_U7tPb32Uvyqpevp_I",
        "sessionTokenrefreshToken": "b45e2fb77c9653bf5e736d19e1fd18ebbffd0f6d3dd25af118e5eb38851bf4deyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQiOiJTQU5EQk9YX0RFViIsImxtaUF1dGhLZXkiOiIyRjlCNTdGQTlDNzRGOEUwQ0YyM0NCMDUyQjJDNDM4RTBBRDhEOTUxREE5QzczQkM1QjZEQUYxOEZDMDNFMjVBIiwiZW1haWwiOiJjaHJpc0BkZXYuZmxlZXQucGgiLCJjbGllbnRBcGlLZXkiOiJiMmY1YzVhNi1hZGIwLTQ5MTktODZkMy1mMzIwNTdlN2RlZGMiLCJpYXQiOjE2NTA5NDA0MzUsImV4cCI6MTY1MzUzMjQzNX0.eKG-NTpoApJ314nQ2Vgj8mZF8QrwV7oUuEmZLif3JrI"
    }
}

Field

Description

apiKey

Generated hash on client-side to be used on succeeding API request

clientId

Reference Client ID

sessionToken

Generated hash on every API login to be used on succeeding API requests.
Expires after 20 minutes.

Info
  • Session token expires after 20 minutes of use.

  • Session duration refreshes every login or on API (createPost, getPost, etc.) calls given that the token is still valid.

  • QUOTA_EXCEEDED error message occurs when you reach a certain number of login API request per second. For
     
    Info
    • To use Login API v2 on our existing endpoints (e.g. /getpost), “x-access-token" must be defined in the HEADERS instead of the "Auth-token" and value for it should be “Bearer {{accessToken}}”.

    • apiKey is no longer required to be defined in the Parameters on our existing endpoints
      (e.g. /getpost) if “x-access-token" is defined in the Headers.

    Note
    • For LoginV2 bulk API calls, please use the

    login API once and reuse the session token. You may also retry the operation after 1-2 seconds.

    Error Messages:

    Invalid Email

    Code Block
    languagejson
    Status: 401 Unauthorized
    {
        "success": false,
        "results": "INVALID_EMAIL_NOT_FOUND"
    }

    Invalid Password

    language
    Code Block
    json
    Status: 401 Unauthorized
    {
            "success": false false,
            "results":  "INVALID_PASSWORD"
    }

    Quota Limit Exceeded Error

    Code Block
    languagejson
    Status: 401 Unauthorized
    {
        "success": false,
        "results": "QUOTA_EXCEEDED : Exceeded quota for verifying passwords."
    }
    json
    Expand
    title2. Get Partners

    Get Partners
    Status
    colourGreen
    titleBusiness
    Status
    colourRed
    titleProvider

    Description

    To get the list of your preferred partners

    Endpoint

    /getPartners

    Method

    GET

    Request Headers
    Code Block
    language

    /getPartners

    Method

    GET


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "Authx-access-Tokentoken": "<AuthBearer <Access token acquired on api LOGIN>LOGIN V2>"
    }
    URL Query parametersjson
    Code Block
    language
    Info

    To use "x-access-token" for our Login V2 successfully, “auth-token” must no longer be defined in the headers.

    Query parameters (URL)

    Login V1

    Code Block
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }

    Login V2

    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "results": [
            {
                "id": "SANDBOX_BUSINESS",
                "name": "Sandbox Business",
                "serviceType": "onDemand"
            },
            {
                "id": "SANDBOX_QA",
                "name": "Sandbox_QA",
                "serviceType": "scheduled"
            }
        ]
    }

    Expand
    title3. Get List of Areas

    Get List of Areas
    Status
    colourGreen
    titleBusiness

    Description

    To get the list of areas

    Endpoint

    /getListOfAreas

    Method

    GET

    Request Headers

    Endpoint

    /getListOfAreas

    Method

    GET


    Request Headers

    Login V1

    Code Block
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "Authx-access-Tokentoken": "<AuthBearer <Access token acquired on api LOGIN>LOGIN V2>"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “auth-token” must no longer be defined in the headers.


    Query parameters (URL)

    Login V1

    Code Block
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }

    Login V2

    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "results": [
            {
                "id": "-KnmC5Y0pFYBquoDL1zo",
                "info": {
                    "code": "A1",
                    "name": "Area 1",
                    "stores": [
                        "-LDnYzs1xbK-FeQ0VPFr"                
                    ]
                }
            }
        ]
    }
    Expand
    title4. Get Stores/Hubs

    Get List of Stores/Hubs
    Status
    colourGreen
    titleBUSINESS

    Description

    To get the list of stores/hubs

    Endpoint

    /getListOfStores

    Method

    GET


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "<AuthBearer <Access token acquired on api LOGIN LOGIN>V2>"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “auth-token” must no longer be defined in the headers.

    Query parameters (URL)

    Login V1

    language
    Code Block
    json
    {
        "apiKey": "<apiKey will be acquired on login API>",
        "areaCode": "<area code acquired from getListOfAreas API>"
    }

    Login V2

    Info

    There is no need to define the apiKey in the parameters for our LoginV2.

    Code Block
    languagejson
    {
        "areaCode": "<area code acquired from getListOfAreas API>"
    }


    Sample URL

    Code Block
    languagejson
    https://us-central1-fleet-staging-2333a.cloudfunctions.net
    /getListOfStores?apiKey=7c5dd55738b964944f9357bcc7f45ce6d857ff18&areaCode=A1


    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "results": [
            {
                "id": "-LDnYzs1xbK-FeQ0VPFr",
                "info": {
                    "address": "7391 Building 9 Bakawan St. Corner Mayapis St., San Antonio Village, Makati, 1203 Metro Manila",
                    "advanceStart": false,
                    "code": "main_store",
                    "default": true,
                    "latitude": 14.5601823,
                    "longitude": 121.00680469999998,
                    "name": "Main Store",
                    "province": "Metro Manila",
                    "provinceKey": "MM"
                }
            }
        ],
        "total": 1
    }
    json

    Login V1

    Expand
    title5. Get Provider's Create Post v3 Template

    Get Provider's Create Post v3 Template
    Status
    colourGreen
    titleBusiness

    Description

    Get provider’s create post template and meta fields schema for createPost v3 API.
    For integration only

    Endpoint

    /v3/getCreatePostTemplate

    Method

    GET


    Request Headers

    Code Block
    language
    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "Authx-access-Tokentoken": "<AuthBearer <Access token acquired on api LOGIN LOGIN>V2>"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “auth-token” must no longer be defined in the headers.

    Query parameters (URL

    Parameters

    )

    Field

    Required

    Description

    apiKey

    yes

    API key from login API

    Info
    There is no need to define the apiKey in the parameters for our LoginV2.

    partnerId

    yes

    Client id of desired partner’s create post template and meta fields schema. Can be acquired through getPartners API

    isAutoReattempt

    no

    Set to true to get create post template of your configured auto reattempt providers. This will disregard the value of your partnerId if set to true.

    Sample Request

    Code Block
    languagejson
    https://us-central1-fleet-dev-ph.cloudfunctions.net/v3/getCreatePostTemplate?apiKey=7c5dd55738b964944f9357bcc7f45ce6d857ff18&partnerId=SANDBOX_DX



    Sample Response

    Code Block
    languagejson
    status: 200 OK!
    {
        "success": true,
        "result": {
            "requestBody": {
                "refNo": "",
                "pickupDetails": {
                    "customerName": "",
                    "contactNumber": "",
                    "emailAddress": "",
                    "lat": 0,
                    "long": 0,
                    "tags": [],
                    "remarks": "",
                    "barangay": "",
                    "province": "",
                    "postalCode": "",
                    "pickupDateTime": "",
                    "pickupAddress": "",
                    "pickupCity": ""
                },
                "deliveryDetails": {
                    "customerName": "",
                    "contactNumber": "",
                    "emailAddress": "",
                    "lat": 0,
                    "long": 0,
                    "tags": [],
                    "remarks": "",
                    "barangay": "",
                    "province": "",
                    "postalCode": "",
                    "deliveryDateTime": "",
                    "deliveryAddress": "",
                    "deliveryCity": "",
                    "itemDescription": "",
                    "itemPrice": 0,
                    "codAmount": 0,
                    "productSize": "",
                    "length": 0,
                    "width": 0,
                    "height": 0,
                    "weight": 0,
                    "metaFields": {
                        "shipment": ""
                    }
                }
            },
            "metaFieldSchema": {
                "shipment": {
                    "required": true,
                    "type": "string",
                    "description": "Shipment/Parcel Size",
                    "values": [
                        "big-pouch",
                        "box"
                    ],
                    "details": [
                        {
                            "value": "big-pouch",
                            "description": "Big Pouch (100 pesos within metro manila)"
                        },
                        {
                            "value": "box",
                            "description": "Box"
                        }
                    ]
                }
            }
        }
    }


    Meta fields schema

    Field

    Data type

    Description

    type

    string

    data type of a meta field.

    Can either be object or string

    required

    boolean

    indicator if meta field is required

    description

    string

    description of a meta field

    values

    array

    options/values for the specified meta field

    details

    array

    in depth description of options/values

    properties

    object

    details for object type meta fields

    Expand
    title6. Get Quotation

    Get Quotation
    Status
    colourGreen
    titlebUSINESS

    Description

    To get the list of available product’s information and rates based on location per provider.

    Endpoint

    /getQuotation

    Method

    POST

    Info
    • Price quotation is not available for partners with “on demand” service type.

    • Inches is used as a unit of measurement for length, width and height. (Please see sample request response).

    • Kg is used as a unit of measurement for weight. (Please see sample request response).


    Request Headers

    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “auth-token” must no longer be defined in the headers.

    Request Params

    Code Block
    languagejson
    {
        "apiKey": "<apiKey will be acquired on login API>",
        "partnerId": "<provider’s id, can be acquired on getPartners API >"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body

    Field

    Data type

    Required

    Description

    pickup

    object

    yes

    object for pickup address

    delivery

    object

    yes

    object for delivery address

    Fields of pickup and delivery:

    Field

    Data Type

    Required

    Max Length

    Description

    province

    string

    yes

    60

    province

    city

    string

    yes

    60

    city

    barangay

    string

    no

    60

    barangay


    Sample Request Body

    Code Block
    languagejson
    {
    	"pickup": {
    		"province": "metro manila",
    		"city": "pasig city",
    		"barangay": "pinagbuhatan"
    	},
    	"delivery": {
    		"province": "rizal",
    		"city": "cainta",
    		"barangay": "san andres"
    	}
    }

    Sample Response (Serviceable area)

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "result": {
            "destinations": [
                "REGION 4-A"
                "NCR"
            ],
            "estimatedPickupDays": 3,
            "estimatedDeliveryDays": 6,
            "products": [
                {
                    "size": "L",
                    "price": 165,
                    "description": "12 x 18 x 2",
                    "name": "Large Pouch",
                    "length": 12,
                    "width": 18,
                    "height": 2,
                    "weight": 3
                },
                {
                    "size": "XL",
                    "price": 310,
                    "description": "18 x 12 x 9",
                    "name": "Box",
                    "length": 18,
                    "width": 12,
                    "height": 9,
                    "weight": 6
                }
            ]
        }
    }

    Sample Response (Not serviceable area)

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "result": "Pickup/delivery location is not serviceable by the selected provider."
    }

    Error Messages:

    Missing Partner Id

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Missing partnerId. Please check your dashboard documentation."
    }

    Invalid Partner Id

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid partner id. Either it's not existing or you don't have rights to post to the partner."
    }

    Service type “On Demand”

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Price quotation is not yet available for on demand providers."
    }
    Expand
    title7. Create Post v3

    Create Post v3
    Status
    colourGreen
    titleBusiness

    Description

    To create a post based on providers serviceable area.

    Endpoint

    /v3/createPost

    Method

    POST


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }"application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.

    Query parameters (URL)

    Code Block
    languagejson
    {
        "apiKey": "<REQUIRED, apiKey will be acquired on login API>",
        "partnerId": "<REQUIRED, preferred partner/provider, can be acquired on getPartners API>"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.

    Info
    • To view the Deliveries PH address library, kindly refer to this pages:

    • Lat/long fields is required for on demand providers.

    • Barangay field is not required but will affect the accuracy of identifying if the pickup/delivery location is serviceable by the provider or not.

    • Availability of product sizes varies to each providers and pickup/delivery location.

    • To be able to get the available sizes and price of a provider, see /getQuotation API.

    • productSize field is currently not available for on demand providers. Leave an empty string instead.

    • Lat/long fields is required for on demand providers.

    • barangay field is not required but will affect the accuracy of identifying if the pickup/delivery location is serviceable by the provider or not.

    metaFields:

    • Meta fields are special fields requested by the provider that needs input from the customer.

    • To to get provider’s meta fields schema, see /getCreatePostTemplate API.


    Request Body Fields:

    Field

    Data Type

    Required

    Max Length

    Description

    refNo

    string

    yes

    30

    reference number of post

    isDraft

    boolean

    no

    n/a

    set true to save post as draft.

    source

    string

    no

    origin/source of post, can be one of the ff:

    Shopify

    isAutoReattempt

    boolean

    no

    Set to true to assign as auto reattempt post. This will disregard the value of your partnerId on params if set to true.

    businessStoreId

    string

    no

    create a post by store/hub, empty string or null will assign to default store.

    see /getListOfStores API for the id.

    pickupDetails

    object

    yes

    object for pickup details

    deliveryDetails

    object

    yes

    object for delivery details

    isPSGC

    boolean

    no

    Set to true to receive PSGC address format


    Fields of pickupDetails

    Field

    Data Type

    Required

    Max Length

    Description

    senderName

    string

    yes

    80

    name of sender

    contactNumber

    string

    yes

    20

    contact number of sender. Must be a valid contact number

    emailAddress

    string

    no

    60

    email address of sender

    pickupDateTime

    string

    yes

    n/a

    date and time of pickup
    Format: YYYY-MM-DDTHH:mm


    If past dated, it will be overridden by the current time + 5 mins.

    pickupAddress

    string

    yes

    350

    pickup address

    pickupCity

    string

    yes

    60

    pickup city

    province

    string

    yes

    60

    pickup province

    barangay

    string

    no

    60

    pickup barangay

    note: not required but will affect the accuracy of identifying if the location is serviceable by the provider.

    postalCode

    string

    no

    10

    pickup postal code

    lat

    number

    yes (for onDemand providers)

    n/a

    latitude of pickup location

    long

    number

    yes (for onDemand providers)

    longitude of pickup location

    tags

    array

    no

    list of tag id, can be get through getTags API

    remarks

    string

    no

    350

    pickup remarks


    Fields of deliveryDetails

    Field

    Data Type

    Required

    Max Length

    Description

    recipientName

    string

    yes

    80

    name of recipient

    contactNumber

    string

    yes

    20

    contact number of receiver. Must be a valid number

    emailAddress

    string

    no

    60

    email address of receiver

    deliveryDateTime

    string

    yes

    n/a

    date and time of deliver.
    Format: YYYY-MM-DDTHH:mm

    deliveryAddress

    string

    yes

    350

    delivery address

    deliveryCity

    string

    yes

    60

    delivery city

    province

    string

    yes

    60

    delivery province

    barangay

    string

    no

    60

    delivery barangay

    note: not required but will affect the accuracy of identifying if the location is serviceable by the provider.

    postalCode

    string

    no

    10

    delivery postal code

    lat

    number

    yes (for onDemand providers)

    n/a

    latitude of delivery location

    long

    number

    yes (for onDemand providers)

    longitude of delivery location

    tags

    array

    no

    list of tag id, can be get through getTags APIbe get through getTags API.

    https://ctoglobal.atlassian.net/wiki/spaces/ITX/pages/618921985/Fleet+-+API#Get-List-of-Tags

    itemDescription

    string

    no

    350

    Details about the item/product. e.g. Item name, quantity etc.

    remarks

    string

    no

    350

    delivery remarks

    productSize

    string

    yes (for scheduled providers)

    n/a

    product/parcel size

    can be one of the following:
    (empty string for on demand providers)
    S
    M
    L
    XL

    vehicleType

    string

    yes (for on-demand providers)

    (empty string for scheduled providers)
    MOTORCYCLE CAR MPV PICKUP_TRUCK LONG_PICKUP_TRUCK SEDAN VAN_MULTICAB CANOPY_MULTICAB SMALL_PICKUP CLOSED_VAN_XS CLOSED_VAN PICKUP_TRUCK_XS MINI_DUMP_TRUCK SIX_WHEELER_FORWARD_TRUCK_XS SIX_WHEELER_FORWARD_TRUCK TEN_WHEELER_TRUCK WING_VAN_40 TRUCK LD_10W_TRUCK TEN_WHEELER_WING_VAN_32 VAN_L300 TRUCK330

    length

    number

    no

    length measurement of an item in inches

    width

    number

    no

    length measurement of an item in inches

    height

    number

    no

    length measurement of an item in inches

    weight

    number

    no

    weight measurement of an item in kilograms

    declaredValue

    number

    no

    declared item price

    codAmount

    number

    no

    cash on delivery amount

    metaFields

    object

    no

    metaFields to fulfill provider’s required fields

    quantity

    number

    no

    5

    item quantity

    items

    array

    no

    list of item details.

    declaredValue

    number

    no

    15

    declared item price

    codAmount

    number

    no

    15

    cash on delivery amount

    Fields of items

    Field

    Data Type

    Required

    Max Length

    Description

    name

    string

    yes

    350

    item name

    quantity

    number

    no

    5

    item quantity

    unitPrice

    number

    no

    8

    item unit price

    declaredValue

    number

    no

    815

    item declared unit price

    dimensions

    object

    no

    n/a

    item dimensions

    Fields of dimensions

    Field

    Data Type

    Required

    Description

    length

    number

    no

    item length in inches

    width

    number

    no

    item width in inches

    height

    number

    no

    item height in inches

    breadth

    number

    no

    item breadth in inches

    depth

    number

    no

    item depth in inches

    weight

    number

    no

    item weight in kilograms

    Sample Request Body

    Code Block
    languagejson
    {
        "refNo": "order-001",
        "businessStoreID": "",
        "isPSGC": false,
        "isAutoReattempt": false,
        "pickupDetails": {
            "senderName": "Christian Pick up",
            "contactNumber": "09123456789",
            "emailAddress": "a@gmail.com",
            "pickupDateTime": "2020-09-29T21:05",
            "pickupAddress": "536 Calbayog St. Highway Hills Mandaluyong City",
            "pickupCity": "Mandaluyong City",
            "province": "Metro Manila",
            "barangay": "Highway Hills",
            "postalCode": "1556",
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [],
            "remarks": "my remarks"
        },
        "deliveryDetails": {
            "recipientName": "Christian Delivery",
            "contactNumber": "09123456789",
            "emailAddress": "a@email.com",
            "deliveryDateTime": "2020-09-29T22:06",
            "deliveryAddress": "Vermont Royale, Antipolo",
            "deliveryCity": "Antipolo",
            "province": "Rizal",
            "barangay": "San Roque",
            "postalCode": "1870",
            "declaredValue": 200,
            "productSize": "L",
            "vehicleType": "MOTORCYCLE",
            "width": 0, 
            "height": 0,
            "length": 10,
            "weight": 0,
            "codAmount": 250,
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [],
            "itemDescription": "Brand New Phone X",
            "remarks": "Please handle with care. Ask the guards for direction.",
            "metaFields": {},
             "quantity": 50,
            "items": [{
                "name": "Sample item 1",
                "quantity": 10,
                "unitPrice":20.00,
                "declaredValue":5,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }
                },
                {
                "name": "Sample item 2",
                "quantity": 15,
                "unitPrice":140.34,
                "declaredValue":500.55,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }
                },
                {
                "name": "Sample item 3",
                "quantity": 100,
                "unitPrice":120.23,
                "declaredValue":500.55,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }     
            } 
            ]
        }
    }


    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "message": "Job posted on marketplace",
        "result": {
            "postId": "3nHfPLXUGWYhlQ5TcNva",
            "customerName": "Christian Pick up",
            "contactNumber": "09123456789",
            "emailAddress": "a@gmail.com",
            "completionDateTime": 1601384700000,
            "pickupAddress": "536 Calbayog St. Highway Hills Mandaluyong City",
            "pickupCity": "Mandaluyong City",
            "province": "Metro Manila",
            "barangay": "Highway Hills",
            "postalCode": "1556",
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [
                "-LI4Qgef9HIHhb2AzGzW",
                "-LK5fMS1u-Qsv-G1tc9l"
            ],
            "metaTags": "{\"-LI4Qgef9HIHhb2AzGzW\":{\"colorIndex\":1,\"label\":\"API\"},\"-LK5fMS1u-Qsv-G1tc9l\":{\"colorIndex\":4,\"label\":\"Pick-up\"}}",
            "storeName": "",
            "details": "",
            "remarks": "my remarks",
            "transactions": [],
            "attempts": {},
            "approximateShippingFee": 115,
            "billableShippingFee": 0,
            "actualShippingFee": 0,
            "finalShippingFee": 0,
            "metaState": "",
            "lastUpdateRemarks": "",
            "businessId": "DRINKKA",
            "businessName": "Drinkka_DEMO",
            "businessStoreId": null,
            "storeId": null,
            "courierName": "Sandbox_DX",
            "createdAt": 1601372523479,
            "partnerId": "SANDBOX_DX",
            "refNo": "order-001",
            "status": "ASSIGNED",
            "meta": "{\"customerName\":\"Christian Delivery\",\"contactNumber\":\"09123456789\",\"emailAddress\":\"a@email.com\",\"completionDateTime\":1601388360000,\"deliveryAddress\":\"Vermont Royale, Antipolo\",\"deliveryCity\":\"Antipolo\",\"province\":\"Rizal\",\"barangay\":\"San Roque\",\"postalCode\":\"1870\",\"itemPrice\":200,\"dimension\":{\"length\":10,\"width\":0,\"height\":0},\"codAmount\":250,\"lat\":14.5776292,\"long\":121.0463673,\"tags\":[\"-LI4Qgef9HIHhb2AzGzW\",\"-LK5fK2Pq--uEhN4T9UG\"],\"metaTags\":\"{\\\"-LI4Qgef9HIHhb2AzGzW\\\":{\\\"colorIndex\\\":1,\\\"label\\\":\\\"API\\\"},\\\"-LK5fK2Pq--uEhN4T9UG\\\":{\\\"colorIndex\\\":3,\\\"label\\\":\\\"Delivery\\\"}}\",\"details\":\"Brand New Phone X\",\"remarks\":\"Please handle with care. Ask the guards for direction.\",\"trackingNumber\":\"\",\"trackingUrl\":\"\",\"weight\":0}",
            "metaFields": {},
            "items": [
                {
                    "name": "Sample item 1",
                    "quantity": 10,
                    "unitPrice": 20,
                    "declaredValue": 5,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                },
                {
                    "name": "Sample item 2",
                    "quantity": 15,
                    "unitPrice": 140.34,
                    "declaredValue": 500.55,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                },
                {
                    "name": "Sample item 3",
                    "quantity": 100,
                    "unitPrice": 120.23,
                    "declaredValue": 500.55,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                }
            ]
        }
    }

    Sample Request Body

    Code Block
    languagejson
    {
        "refNo": "order-001",
        "businessStoreID": "",
        "isPSGC": true,
        "isAutoReattempt": false,
        "pickupDetails": {
            "senderName": "Christian Pick up",
            "contactNumber": "09123456789",
            "emailAddress": "a@gmail.com",
            "pickupDateTime": "2020-09-29T21:05",
            "pickupAddress": "536 Calbayog St. Highway Hills Mandaluyong City",
            "pickupCity": "Mandaluyong City",
            "province": "Metro Manila",
            "barangay": "Highway Hills",
            "postalCode": "1556",
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [],
            "remarks": "my remarks"
        },
        "deliveryDetails": {
            "recipientName": "Christian Delivery",
            "contactNumber": "09123456789",
            "emailAddress": "a@email.com",
            "deliveryDateTime": "2020-09-29T22:06",
            "deliveryAddress": "Vermont Royale, Antipolo",
            "deliveryCity": "Antipolo",
            "province": "Rizal",
            "barangay": "San Roque",
            "postalCode": "1870",
            "declaredValue": 200,
            "productSize": "L",
            "width": 0, 
            "height": 0,
            "length": 10,
            "weight": 0,
            "codAmount": 250,
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [],
            "itemDescription": "Brand New Phone X",
            "remarks": "Please handle with care. Ask the guards for direction.",
            "metaFields": {},
            "items": [{
                "name": "Sample item 1",
                "quantity": 10,
                "unitPrice":20.00,
                "declaredValue":5,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }
                },
                {
                "name": "Sample item 2",
                "quantity": 15,
                "unitPrice":140.34,
                "declaredValue":500.55,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }
                },
                {
                "name": "Sample item 3",
                "quantity": 100,
                "unitPrice":120.23,
                "declaredValue":500.55,
                "dimensions":{
                   "length":2.55,
                   "width":1.56,
                   "height":1.28,
                   "breadth":5.29,
                   "depth":2.41,
                   "weight":1.51
                }     
            } 
            ]
        }
    }

    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "message": "Job posted on marketplace",
        "result": {
            "postId": "3nHfPLXUGWYhlQ5TcNva",
            "customerName": "Christian Pick up",
            "contactNumber": "09123456789",
            "emailAddress": "a@gmail.com",
            "completionDateTime": 1601384700000,
            "pickupAddress": "536 Calbayog St. Highway Hills Mandaluyong City",
            "pickupCity": "CITY OF MANDALUYONG",
            "province": "SECOND DISTRICT",
            "barangay": "HIGHWAY HILLS",
            "postalCode": "1556",
            "lat": 14.5776292,
            "long": 121.0463673,
            "tags": [
                "-LI4Qgef9HIHhb2AzGzW",
                "-LK5fMS1u-Qsv-G1tc9l"
            ],
            "metaTags": "{\"-LI4Qgef9HIHhb2AzGzW\":{\"colorIndex\":1,\"label\":\"API\"},\"-LK5fMS1u-Qsv-G1tc9l\":{\"colorIndex\":4,\"label\":\"Pick-up\"}}",
            "storeName": "",
            "details": "",
            "remarks": "my remarks",
            "transactions": [],
            "attempts": {},
            "approximateShippingFee": 115,
            "billableShippingFee": 0,
            "actualShippingFee": 0,
            "finalShippingFee": 0,
            "metaState": "",
            "lastUpdateRemarks": "",
            "businessId": "DRINKKA",
            "businessName": "Drinkka_DEMO",
            "businessStoreId": null,
            "storeId": null,
            "courierName": "Sandbox_DX",
            "createdAt": 1601372523479,
            "partnerId": "SANDBOX_DX",
            "refNo": "order-001",
            "status": "ASSIGNED",
            "meta": "{\"customerName\":\"Christian Delivery\",\"contactNumber\":\"09123456789\",\"emailAddress\":\"a@email.com\",\"completionDateTime\":1601388360000,\"deliveryAddress\":\"Vermont Royale, Antipolo\",\"deliveryCity\":\"CITY OF ANTIPOLO\",\"province\":\"RIZAL\",\"barangay\":\"SAN ROQUE\",\"postalCode\":\"1870\",\"itemPrice\":200,\"dimension\":{\"length\":10,\"width\":0,\"height\":0},\"codAmount\":250,\"lat\":14.5776292,\"long\":121.0463673,\"tags\":[\"-LI4Qgef9HIHhb2AzGzW\",\"-LK5fK2Pq--uEhN4T9UG\"],\"metaTags\":\"{\\\"-LI4Qgef9HIHhb2AzGzW\\\":{\\\"colorIndex\\\":1,\\\"label\\\":\\\"API\\\"},\\\"-LK5fK2Pq--uEhN4T9UG\\\":{\\\"colorIndex\\\":3,\\\"label\\\":\\\"Delivery\\\"}}\",\"details\":\"Brand New Phone X\",\"remarks\":\"Please handle with care. Ask the guards for direction.\",\"trackingNumber\":\"\",\"trackingUrl\":\"\",\"weight\":0}",
            "metaFields": {},
            "items": [
                {
                    "name": "Sample item 1",
                    "quantity": 10,
                    "unitPrice": 20,
                    "declaredValue": 5,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                },
                {
                    "name": "Sample item 2",
                    "quantity": 15,
                    "unitPrice": 140.34,
                    "declaredValue": 500.55,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                },
                {
                    "name": "Sample item 3",
                    "quantity": 100,
                    "unitPrice": 120.23,
                    "declaredValue": 500.55,
                    "dimensions": {
                        "length": 2.55,
                        "width": 1.56,
                        "height": 1.28,
                        "breadth": 5.29,
                        "depth": 2.41,
                        "weight": 1.51
                    }
                }
            ]
        }
    }

    Error Messages:

    Invalid Request Parameter

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid Request Parameter. Check your dashboard documentation",
        "result": {
            "pickupDetails": {
                "customerName": "Required field.",
                "contactNumber": "Required field.",
                "province": "Required field.",
                "pickupDateTime": "Invalid data type. Must be in string",
                "pickupAddress": "Required field.",
                "pickupCity": "Required field."
            },
            "deliveryDetails": {
                "customerName": "Required field.",
                "contactNumber": "Required field.",
                "province": "Required field.",
                "deliveryDateTime": "Invalid data type. Must be in string",
                "deliveryAddress": "Required field.",
                "deliveryCity": "Required field.",
                "itemDescription": "Invalid data type. Must be in string",
                "productSize": "Invalid data type. Must be in string",
                "width": "Invalid data type. Must be in number",
                "height": "Invalid data type. Must be in number",
                "length": "Invalid data type. Must be in number",
                "weight": "Invalid data type. Must be in number",
                "metaFields": {
                    "shipment": "Required field."
                }
            }
        }
    }
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid Request Parameter. Check your dashboard documentation",
        "result": {
            "pickupDetails": {
                "customerName": "Maximum length exceeded.",
                "contactNumber": "Invalid format.",
                "emailAddress": "Maximum length exceeded.",
                "remarks": "Maximum length exceeded.",
                "barangay": "Maximum length exceeded.",
                "province": "Maximum length exceeded.",
                "postalCode": "Maximum length exceeded.",
                "pickupAddress": "Maximum length exceeded.",
                "pickupCity": "Maximum length exceeded."
            },
            "deliveryDetails": {
                "customerName": "Maximum length exceeded.",
                "contactNumber": "Invalid format.",
                "emailAddress": "Maximum length exceeded.",
                "remarks": "Maximum length exceeded.",
                "barangay": "Maximum length exceeded.",
                "province": "Maximum length exceeded.",
                "postalCode": "Maximum length exceeded.",
                "deliveryAddress": "Maximum length exceeded.",
                "deliveryCity": "Maximum length exceeded.",
                "itemDescription": "Maximum length exceeded."
            }
        }
    }


    Missing Partner ID

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Missing partnerId. Please check your dashboard documentation."
    }


    Invalid Partner ID

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid partner id. Either it's not existing or you don't have rights to post to the partner."
    }


    Invalid business store id

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid store ID. Check your storeId. Remove storeId to use default store."
    }


    Invalid pickup/delivery date and time.

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Pickup/delivery date and time must be greater than the current time."
    }
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Delivery date and time must be greater than the pickup time."
    }


    Missing coordinates for on demand providers.

    Code Block
    {
        "success": false,
        "message": "Pickup/delivery latitude and longitude is required for on demand providers."
    }


    Invalid pickup/delivery location.

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid pickup location."
    }
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid delivery location."
    }


    Not Serviceable

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Pickup location is not serviceable by the provider."
    }
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Delivery location is not serviceable by the provider."
    }
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Pickup and delivery location is not serviceable by the provider."
    }

    If isPSGC is false and field pickup/delivery address is in PSGC format

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid pickup location."
    }
    
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid delivery location."
    }


    Product

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Product size not available for the designated service area."
    }

    Auto Reattempt

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "No auto re-attempt settings configured in your Deliveries PH Web account."
    }
    Expand
    title8. Update Post Status

    Update Post Status
    Status
    colourRed
    titleProvider

    Description

    To Update post status

    Endpoint

    /updatePostStatus

    Method

    POST


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.


    URL Query parameters

    Code Block
    languagejson
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body Fields

    Field

    Data Type

    Required

    Description

    postId

    string

    yes

    ID of post to update.

    status

    string

    yes

    status to update

    remarks

    string

    no

    update remarks from provider

    timeStamp

    number

    no

    timestamp in milliseconds. Leave 0, null or empty string to use current server timestamp.update

    remarks

    string

    no

    update remarks from provider

    metaState

    string

    no

    custom status/state from provider


    Sample Request Body

    Code Block
    languagejson
    {
          "postId": "uuNzkYoOy1VI373BoKY9",
          "status": "START_DELIVERY",
          "remarks": "Rider is on his way",
          "timeStamp": 1575890011178,
          "metaState": ""
    }



    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "message": "Post successfully updated."
    }


    Status Updates:

    Status

    Is substatus?

    Description

    ASSIGNED

    No

    this can only be triggered in web if business or customers assign a post/an opportunity to provider

    ACCEPTED

    No

    this can only be triggered through manual accept in their DPH account or

    if AUTO ACCEPT is toggled on, post will automatically be accepted

    REJECTED

    No

    this can only be triggered through manual reject in their DPH account and is returned in /getpost as “MPREJECTED”

    ASSIGNING_RIDER

    No

    Provider is assigning a rider for the order. For on-demand providers only.

    START_PICKUP

    Yes, under “STARTED” main status

    Order is for pickup

    DONE_PICKUP

    Yes, under “STARTED” main status

    Order has been picked up

    ARRIVED_AT_HUB

    Yes, under “STARTED” main status

    Courier has successfully delivered order to hub. For scheduled providers only.

    START_DELIVERY

    Yes, under “STARTED” main status

    Order is out for delivery

    DONE

    No

    Order has been delivered

    FAILED_PICKUP

    No

    Failed to pickup order

    FAILED_DELIVERY

    No

    Failed to deliver order

    FAILED_RETURN

    No

    Failed to return order

    CANCEL

    No

    Cancel order

    IN_TRANSIT_FOR_RETURN

    No

    Order is out for return

    RETURNED

    No

    Order has been returned to sender

    UPDATE

    No

    Push an event update on job history without updating the status of the post. Please fill up the remarks field.

    Expand
    title9. Get Post

    Get Post
    Status
    colourGreen
    titleBUSINESS
    Status
    colourRed
    titlePROVIDER

    Description

    To get a specific post or all post

    Endpoint

    /getPost

    Method

    GET


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
       "Auth-Token": "<Auth token acquired on api LOGIN>"
    }  "Content-Type": "application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.


    URL Parameters (Query Parameters)

    Parameter

    Required

    Description

    apiKey

    yes

    API key from Login API

    Info
    There is no need to define the apiKey in the parameters for our LoginV2.

    postId

    no

    Filter by post id, leave empty or remove postId parameter to query all

    partnerId

    no

    Filter by partner id, leave empty or remove partnerId parameter to query all

    type

    no

    Post type which can be either of the following:

    • post

    • opportunity

    Defaults to opportunity if empty or undefined.

    status

    no

    Filter by status.

    Set to DONE to get delivered posts.

    businessStoreId

    no

    Filter by store/hub.

    isPSGC

    no

    Set to true to receive PSGC address format


    Sample URL Parameters

    Code Block
    languagejson
    {
        "apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd",
    	"postId": "uuNzkYoOy1VI373BoKY9",
    	"partnerId": "SANDBOX_DX",
    	"isPSGC": false
    }



    Sample Response:

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "result": [
    		{
                "postId": "uuNzkYoOy1VI373BoKY9",
                "customerName": "Christian Pick up",
                "contactNumber": "09123456789",
                "emailAddress": "a@gmail.com",
                "completionDateTime": 1583836200000,
                "pickupAddress": "Sitio barrio, Angeles Pampanga Philippines",
                "pickupCity": "Mandaluyong City",
                "province": "Metro Manila",
                "lat": 14.5776292,
                "long": 121.0463673,
                "tags": [
                    "-LI4Qgef9HIHhb2AzGzW",
                    "-LK5fMS1u-Qsv-G1tc9l"
                ],
                "metaTags": "{\"-LI4Qgef9HIHhb2AzGzW\":{\"colorIndex\":1,\"label\":\"API\"},\"-LK5fMS1u-Qsv-G1tc9l\":{\"colorIndex\":4,\"label\":\"Pick-up\"}}",
                "storeName": "",
                "remarks": "my remarks",
                "businessId": "SANDBOX_DEV",
                "businessName": "Sandbox_Dev",
                "businessStoreId": null,
                "storeId": null,
                "courierName": "Sandbox_DX",
                "createdAt": 1583381948826,
                "partnerId": "SANDBOX_DX",
                "refNo": "order-001",
                "status": "STARTED",
                "isAutoReattempt": true,
                "subStatus": "DONE_PICKUP",
                "meta": "{\"customerName\":\"Christian Delivery\",\"contactNumber\":\"09123456789\",\"emailAddress\":\"a@gmail.com\",\"completionDateTime\":1583928900000,\"deliveryAddress\":\"Vermont Royale, Antipolo\",\"deliveryCity\":\"Antipolo\",\"province\":\"Rizal\",\"itemPrice\":200,\"dimension\":\"fff\",\"actualShippingCost\":50,\"codAmount\":250,\"lat\":14.5776292,\"long\":121.0463673,\"tags\":[\"-LI4Qgef9HIHhb2AzGzW\",\"-LK5fK2Pq--uEhN4T9UG\"],\"details\":\"my details\",\"remarks\":\"my remarks\",\"metaTags\":\"{\\\"-LI4Qgef9HIHhb2AzGzW\\\":{\\\"colorIndex\\\":1,\\\"label\\\":\\\"API\\\"},\\\"-LK5fK2Pq--uEhN4T9UG\\\":{\\\"colorIndex\\\":3,\\\"label\\\":\\\"Delivery\\\"}}\"}",
                "metaFields": {},
                "items": [
                    {
                        "name": "Sample item1",
                        "quantity": 10,
                        "unitPrice": 20,
                        "declaredValue": 5,
                        "dimensions": {
                            "length": 2.55,
                            "width": 1.56,
                            "height": 1.28,
                            "breadth": 5.29,
                            "depth": 2.41,
                            "weight": 1.51
                        }
                    },
                    {
                        "name": "Sample item2",
                        "quantity": 15,
                        "unitPrice": 140.34,
                        "declaredValue": 500.55,
                        "dimensions": {
                            "length": 2.55,
                            "width": 1.56,
                            "height": 1.28,
                            "breadth": 5.29,
                            "depth": 2.41,
                            "weight": 1.51
                        }
                    },
                    {
                        "name": "Sample item3",
                        "quantity": 100,
                        "unitPrice": 120.23,
                        "declaredValue": 500.55,
                        "dimensions": {
                            "length": 2.55,
                            "width": 1.56,
                            "height": 1.28,
                            "breadth": 5.29,
                            "depth": 2.41,
                            "weight": 1.51
                        }
                    }
                ]
            }
    	]
    }

    Sample URL Parameters:

    Code Block
    languagejson
    {
        "apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd",
    	"postId": "uuNzkYoOy1VI373BoKY9",
    	"partnerId": "SANDBOX_DX"
    	"isPSGC": true
    }

    Sample Response:

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "result": [
    		{
                "postId": "uuNzkYoOy1VI373BoKY9",
                "customerName": "Christian Pick up",
                "contactNumber": "09123456789",
                "emailAddress": "a@gmail.com",
                "completionDateTime": 1583836200000,
                "pickupAddress": "Sitio barrio, Angeles Pampanga Philippines",
                "pickupCity": "CITY OF MANDALUYONG",
                "province": "SECOND DISTRICT",
                "lat": 14.5776292,
                "long": 121.0463673,
                "tags": [
                    "-LI4Qgef9HIHhb2AzGzW",
                    "-LK5fMS1u-Qsv-G1tc9l"
                ],
                "metaTags": "{\"-LI4Qgef9HIHhb2AzGzW\":{\"colorIndex\":1,\"label\":\"API\"},\"-LK5fMS1u-Qsv-G1tc9l\":{\"colorIndex\":4,\"label\":\"Pick-up\"}}",
                "storeName": "",
                "remarks": "my remarks",
                "businessId": "SANDBOX_DEV",
                "businessName": "Sandbox_Dev",
                "businessStoreId": null,
                "storeId": null,
                "courierName": "Sandbox_DX",
                "createdAt": 1583381948826,
                "partnerId": "SANDBOX_DX",
                "refNo": "order-001",
                "status": "ACCEPTED",
                "isAutoReattempt": true,
                "subStatus":,
                "meta": "{\"customerName\":\"Christian Delivery\",\"contactNumber\":\"09123456789\",\"emailAddress\":\"a@gmail.com\",\"completionDateTime\":1583928900000,\"deliveryAddress\":\"Vermont Royale, Antipolo\",\"deliveryCity\":\"CITY OF ANTIPOLO\",\"province\":\"RIZAL\",\"itemPrice\":200,\"dimension\":\"fff\",\"actualShippingCost\":50,\"codAmount\":250,\"lat\":14.5776292,\"long\":121.0463673,\"tags\":[\"-LI4Qgef9HIHhb2AzGzW\",\"-LK5fK2Pq--uEhN4T9UG\"],\"details\":\"my details\",\"remarks\":\"my remarks\",\"metaTags\":\"{\\\"-LI4Qgef9HIHhb2AzGzW\\\":{\\\"colorIndex\\\":1,\\\"label\\\":\\\"API\\\"},\\\"-LK5fK2Pq--uEhN4T9UG\\\":{\\\"colorIndex\\\":3,\\\"label\\\":\\\"Delivery\\\"}}\"}",
                "metaFields": {}
            },
    	]
    }

    Expand
    title10. Update Fee

    Update Fee
    Status
    colourRed
    titleProvider

    Description

    To pass or update fees of a post. For providers only

    Endpoint

    /updateFee

    Method

    POST


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }-Type": "application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.


    Query parameters (URL)

    Code Block
    languagejson
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body Fields

    Field

    Data Type

    Required

    Description

    postId

    string

    yes

    ID of post to be updated.

    remarks

    string

    no

    short description or remarks of the update

    fees

    array

    yes

    breakdown of fees


    Fees object fields

    Field

    Data Type

    Required

    Description

    value

    number

    yes

    amount of fee

    type

    string

    yes

    type of fee, must be of the following:

    • shipping

    • return

    • insurance

    • handling

    • others

    Info
    • List of fees must contain at least one value with fee type of shipping or return.

    • Type of fee must be unique to other fees within the list.


    Sample Request Body

    Code Block
    languagejson
    {
        "postId": "Wq9FPWxCYVxNgrPrn08D",
        "remarks": "Shipping fee from upon booking.",
        "fees": [
            {
                "value": 100,
                "type": "shipping"
            },
            {
                "value": 20,
                "type": "insurance"
            }
        ]
    }


    Sample Response

    Code Block
    languagejson
    status: 200 OK!
    {
        "success": true,
        "result": "Post successfully updated."
    }
    Expand
    title11. Update Meta Fields v2

    Update Meta Fields v2
    Status
    colourRed
    titleProvider

    Description

    To update tracking number and tracking url of pickup or delivery of a post. For providers only

    Endpoint

    /v2/updateMetaFields

    Method

    POST


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }-Type": "application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.


    Query parameters (URL)

    Code Block
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body Fields

    Field

    Data Type

    Required

    Description

    postId

    string

    yes

    id of post to update.

    trackingNumber

    string

    no

    tracking number

    trackingUrl

    string

    no

    tracking URL

    Info
    • Fields under pickup/delivery requires at least one field to update.

    • You may update the tracking of both or pickup/delivery only.

    • Undefined tracking number/url fields will not be updated.


    Sample Request Body

    Code Block
    languagejson
    {
        "postId": "uuNzkYoOy1VI373BoKY9",
        "pickup": {
            "trackingNumber": "ORDER-001-PIC-ASV",
            "trackingUrl": "https://trackmyorder.com/track?id=ORDER-001-PIC-ASV"
        },
        "delivery": {
            "trackingNumber": "ORDER-001-DEL-ASV",
            "trackingUrl": "https://trackmyorder.com/track?id=ORDER-001-DEL-ASV"
        }
    }


    Sample Response

    Code Block
    languagejson
    Status: 200 OK!
    {
        "success": true,
        "message": "Post successfully updated."
    }

    Expand
    title12. Get Available Partners

    Get Available Partners
    Status
    colourGreen
    titlebUSINESS

    Description

    To get the list of available scheduled providers and its product information and rates based on location and dimensions.

    Endpoint

    /v3/getAvailablePartners

    Method

    POST

    Info
    • Get Available Partners is not yet available for partners with “on demand” service type.

    • Inches is used as a unit of measurement for length, width and height. (Please see sample request response).

    • Kg is used as a unit of measurement for weight. (Please see sample request response).


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }-Type": "application/json"
    }
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.

    Request Params

    Code Block
    languagejson
    {
        "apiKey": "<apiKey will be acquired on login API>",
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body

    Field

    Data type

    Required

    Description

    serviceType

    string

    yes

    can be any of the following:
    onDemand
    scheduled

    pickup

    object

    yes

    object for pickup address

    delivery

    object

    yes

    object for delivery address

    dimensions

    object

    no

    object for dimensions

    weight

    number

    no

    weight measurement of an item in kilograms

    Fields of pickup and delivery:

    Field

    Data Type

    Required

    Max Length

    Description

    province

    string

    yes

    60

    province

    city

    string

    yes

    60

    city

    barangay

    string

    no

    60

    barangay

    Fields of dimensions:

    Field

    Data Type

    Required

    Description

    length

    number

    no

    length measurement of an item in inches

    width

    number

    no

    length measurement of an item in inches

    height

    number

    no

    length measurement of an item in inches

    Sample Request Body

    Code Block
    languagejson
    {
       "serviceType": "Scheduled",
       "pickup": {
          "province": "metro manila",
          "city": "quezon city",
          "barangay": "Katipunan"
       },
       "delivery": {
          "province": "rizal",
          "city": "antipolo city",
          "barangay": "san juan"
       },
       "dimensions": {
          "length": 100,
          "width": 18,
          "height": 6
       },
       "weight": 5
    }

    Sample Response (Serviceable area)

    Code Block
    languagejson
    Status: 200 OK!
    {
      "success": true,
      "result": [
        {
          "id": "SANDBOX_DX",
          "serviceType": "scheduled",
          "serviceableAreas": [
            {
              "pickup": {
                "province": "METRO MANILA",
                "city": "QUEZON CITY",
                "barangay": "KATIPUNAN"
              }
            },
            {
              "delivery": {
                "province": "RIZAL",
                "city": "ANTIPOLO CITY",
                "barangay": "SAN JUAN"
              }
            }
          ],
          "estimatedDeliveryDays": 5,
          "destinations": [
            "NCR",
            "REGION 4-A"
          ],
          "products": [
            {
              "size": "L",
              "price": 200,
              "weight": 20
            }
          ]
        },
        {
          "id": "SANDBOX_PROVIDER",
          "serviceType": "scheduled",
          "serviceableAreas": [
            {
              "pickup": {
                "province": "METRO MANILA",
                "city": "QUEZON CITY",
                "barangay": "KATIPUNAN"
              }
            },
            {
              "delivery": {
                "province": "RIZAL",
                "city": "ANTIPOLO CITY",
                "barangay": "SAN JUAN"
              }
            }
          ],
          "estimatedDeliveryDays": 9,
          "destinations": [
            "REGION 4-A",
            "NCR"
          ],
          "products": [
            {
              "size": "XL",
              "price": 300,
              "weight": 6
            }
          ]
        }
      ]
    }

    Sample Response (Non Serviceable Area)

    Code Block
    languagejson
    Status: 200 OK!
    {
      "success": true,
      "result": []
    }

    Error Messages:

    Invalid Delivery Location

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid delivery location"
    }

    Invalid Pickup Location

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": "Invalid pickup location"
    }

    Service type “onDemand”

    Code Block
    languagejson
    Status: 400 Bad Request
    {
        "success": false,
        "message": ""The Service Type: On Demand is currently NOT available for this endpoint.
    }

    Expand
    title13. Get On Demand Quotation

    Get On Demand Quotation
    Status
    colourGreen
    titleBUSINESS
    Status
    colourRed
    titleProvider

    Description

    To provide rates from different providers depending on selected vehicle, pickup and delivery address.

    Endpoint

    /v3/getOnDemandQuotation

    Method

    POST


    Request Headers

    Login V1

    Code Block
    languagejson
    {
        "Auth-Token": "<Auth token acquired on api LOGIN>",
        "Content-Type": "application/json"
    }

    Login V2

    Info

    As an alternative, “x-access-token” for our login v2 can be used instead of using the “auth-token” for our login v1. Value for it will be “Bearer {{accessToken}}“. See below:

    Code Block
    {
        "x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
        "Content-Type": "application/json"
    }}
    Info

    To use "x-access-token" for our Login V2 successfully, “Auth-Token” must no longer be defined in the headers.


    Query parameters (URL)

    Code Block
    {
        "apiKey": "<apiKey will be acquired on login API>"
    }
    Info

    There is no need to define the apiKey in the parameters for our LoginV2.


    Request Body Fields

    Field

    Data Type

    Required

    Description

    couriers

    array

    yes

    Array of provider. Empty array will return all on demand provider quote.

    Lalamove, MrSpeedy, Transportify, Grab

    pickup_province

    string

    yes

    Pickup Province

    localeKey

    string

    yes

    Default value: “en_PH“

    pickup.name

    string

    yes

    Pickup Full Name

    pickup.phone

    string

    yes

    Pickup Contact Number

    pickup.address

    string

    yes

    Pickup Address

    pickup.lat

    number

    yes

    Pickup Latitude

    pickup.long

    number

    yes

    Pickup Longitude

    delivery.name

    string

    yes

    Delivery Full Name

    delivery.phone

    string

    yes

    Delivery Contact Number

    delivery.address

    string

    yes

    Delivery Address

    delivery.lat

    number

    yes

    Delivery Latitude

    delivery.long

    number

    yes

    Delivery Longitude

    remarks

    string

    no

    Remarks

    scheduleAt

    number

    yes

    Date and Time in milliseconds

    serviceType

    string

    yes

    MOTORCYCLE, CAR, VAN, MPV, L300, ECONOMY, PICKUP_TRUCK, LONG_PICKUP_TRUCK, WING_VAN

    dimensions.height

    number

    yes

    Height of package in inches

    dimensions.width

    number

    yes

    Width of package in inches

    dimensions.depth

    number

    yes

    Depth of package in inches

    dimensions.weight

    number

    yes

    Weight of package in kilograms


    Sample Request Body

    Code Block
    languagejson
    {
        "couriers": ["grab", "lalamove"],
        "pickup_province": "Metro Manila",
        "data": {
            "localeKey": "en_PH",
            "pickup": {
                "name": "Mariel Quibal",
                "phone": "09561441650",
                "address": "San agustine ave blk 2 lot 41 Asilo Ville Pinagbuhatan Pasig City Pasig City Metro Manila",
                "lat": 14.559774,
                "long": 121.086519
            },
            "delivery": {
                "name": "Mara Quibal",
                "phone": "09561441650",
                "address": "Unit 802, EcoTower, 32nd Street corner 9th Avenue, BGC, Taguig, 1634 Metro Manila",
                "lat": 14.5597745528425,
                "long": 121.0865190518742
            },
            "deliveryremarks": { "sample remarks",
            "scheduleAt": 1613566801000,
            "namevehicleType": "Mara QuibalMOTORCYCLE",
      
             "phonedimensions": "09561441650",{
                "addressheight": "Unit 802, EcoTower, 32nd Street corner 9th Avenue, BGC, Taguig, 1634 Metro Manila" 5,    
                "width": 5,
                "latdepth": 14.55284255,
                "longweight": 121.05187425
            },
        }
    }


    Sample Response

    Code Block
    languagejson
    {
        "remarkssuccess": true,
       "sample remarks", "result": [
            {
                "scheduleAtcourier": 1613566801000,"GRAB",
                "vehicleTypeerror": "MOTORCYCLE",Bad Input"
            },
            {
         "dimensions       "courier": {"LALAMOVE",
                "heightrate": 5113,
                "vehicleType": "MOTORCYCLE"
         "width": 5,  }
        ]
    }
    Expand
    title14. Refresh Token

    Refresh Token
    Status
    colourGreen
    titleBUSINESS
    Status
    colourRed
    titleProvider

    Description

    Renew Access Token and Refresh Token of LoginV2 before expiration.

    Endpoint

    /refreshToken

    Method

    POST

    Request Headers

    KEY

    VALUE

    Content-Type

    application/json

    Request Body

    Field

    Data type

    Required

    Description

    refreshToken

    string

    yes

    Value should be “Bearer” plus the last generated Refresh token

    Sample Request body

    Code Block
    {
        "depthrefreshToken": 5,
     "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQiOiJTQU5EQk9YX0RFViIsImxtaUF1dGhLZXkiOiIyRjlCNTdGQTlDNzRGOEUwQ0YyM0NCMDUyQjJDNDM4RTBBRDhEOTUxREE5QzczQkM1QjZEQUYxOEZDMDNFMjVBIiwiZW1haWwiOiJjaHJpc0BkZXYuZmxlZXQucGgiLCJjbGllbnRBcGlLZXkiOiJiMmY1YzVhNi1hZGIwLTQ5MTktODZkMy1mMzIwNTdlN2RlZGMiLCJpYXQiOjE2NTA5NDA0MzUsImV4cCI6MTY1MzUzMjQzNX0.eKG-NTpoApJ314nQ2Vgj8mZF8QrwV7oUuEmZLif3JrI"
    }

    Sample Response

    Code Block
    {
        "success": true,
        "weightresults": 5{
            }
    "accessTokenExpiresAt": 1650957491706,
       }
    }
    Sample Response
    Code Block
    languagejson
    {      "successrefreshTokenExpiresAt": true1653548291707,
            "resultaccessToken": [ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQiOiJTQU5EQk9YX0RFViIsImxtaUF1dGhLZXkiOiIyRjlCNTdGQTlDNzRGOEUwQ0YyM0NCMDUyQjJDNDM4RTBBRDhEOTUxREE5QzczQkM1QjZEQUYxOEZDMDNFMjVBIiwiZW1haWwiOiJjaHJpc0BkZXYuZmxlZXQucGgiLCJpYXQiOjE2NTA5NTYyOTEsImV4cCI6MTY1MDk1NzQ5MX0.ZVnswQ18zZB81qUagssdwGjiedhHwanwpaJjUlKnQmg",
            "refreshToken":  {"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnQiOiJTQU5EQk9YX0RFViIsImxtaUF1dGhLZXkiOiIyRjlCNTdGQTlDNzRGOEUwQ0YyM0NCMDUyQjJDNDM4RTBBRDhEOTUxREE5QzczQkM1QjZEQUYxOEZDMDNFMjVBIiwiZW1haWwiOiJjaHJpc0BkZXYuZmxlZXQucGgiLCJjbGllbnRBcGlLZXkiOiJmZThkN2Y3Ni0xNzA0LTQ5YjQtYTUwZi1hZDRjZTI5MmY1OWEiLCJpYXQiOjE2NTA5NTYyOTEsImV4cCI6MTY1MzU0ODI5MX0.oxifGyrkJw3sk5ftukPLO_IzH2A0ttGEU1FbRVjax7o"
        }
    }


    Error messages

    Invalid/Expired value in ‘refreshToken’ field

    Code Block
    Status: 401 Unauthorized
    {
        "couriersuccess": "GRAB"false,
        "results": "Invalid Refresh Token or Refresh token  "error": "Bad Input"
    expired."
    }

    No Refresh token defined

    Code Block
    Status: 401 Unauthorized
    {
           }"success": false,
        "results": "Missing Refresh  {
           Token."
    }

    Expand
    titleCancel Post API (On Demand)

    Cancel Post API
    Status
    colourGreen
    titleBUSINESS

    Description

    To cancel post via API

    Endpoint

    /v3/cancelPost

    Method

    POST

    Request Headers

    Code Block
    Content-Type: application/json
    auth-token": "<Auth token acquired on api LOGIN>"

    URL Query parameters

    Code Block
    {
        "courierapiKey": "LALAMOVE",<apiKey will be acquired on login API>"
    }

    Sample Request Body

    Code Block
    {
         "ratetrackingNumber": 113"720664",
           "postId": "ubyhvwENm8VRbsMPDGFg",
        "vehicleTypecourierId": "MOTORCYCLE"
            }
        ]
    }

    JSON file

    Expand

    Address format

    Standard (Default)

    View file
    namePhilippines.json

    Philippine Standard Geographic Code (PSGC)

    View filenamePSGC.zip
    SANDBOX_QA"
    }

    Key

    Required

    Description

    trackingNumber

    yes

    • Tracking Number of provider

    postId

    yes

    • Post Id of order

    courierId

    yes

    • Provider of the order

    Sample Response

    Code Block
    Status: 200 OK!
    {
        "message": "Success",
    }

    ...

    List of Statuses

    Expand

    Status

    Is substatus?

    Description

    QUEUED

    No

    This is for On-demand providers only. Order will be queued before creating the order to the Provider.

    ASSIGNED

    No

    this can only be triggered in web if business or customers assign a post/an opportunity to provider

    ACCEPTED

    No

    this can only be triggered through manual accept in their DPH account or

    if AUTO ACCEPT is toggled on, post will automatically be accepted

    REJECTED

    No

    this can only be triggered through manual reject in their DPH account and is returned in /getpost as “MPREJECTED”

    ASSIGNING_RIDER

    No

    Provider is assigning a rider for the order. For on-demand providers only.

    START_PICKUP

    Yes, under “STARTED” main status

    Order is for pickup

    DONE_PICKUP

    Yes, under “STARTED” main status

    Order has been picked up

    ARRIVED_AT_HUB

    Yes, under “STARTED” main status

    Courier has successfully delivered order to hub. For scheduled providers only.

    START_DELIVERY

    Yes, under “STARTED” main status

    Order is out for delivery

    DONE

    No

    Order has been delivered

    FAILED_PICKUP

    No

    Failed to pickup order

    FAILED_DELIVERY

    No

    Failed to deliver order

    FAILED_RETURN

    No

    Failed to return order

    CANCEL

    No

    Cancel order

    IN_TRANSIT_FOR_RETURN

    No

    Order is out for return

    RETURNED

    No

    Order has been returned to sender

    UPDATE

    No

    Push an event update on job history without updating the status of the post. Please fill up the remarks field.

    Responses (Success and Errors)

    Status

    Message

    Description

    200

    OK

    Success

    400

    Bad Request

    We could not understand the request due to invalid syntax or invalid parameters.

    401

    Unauthorized

    Your apiKey can be missing or invalid. Your auth-token is not valid or may have already expired.

    500

    Internal Server Error

    Unhandled exception. Please contact the production team when you encounter this error.