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

Login and Get Session Token.

Status
colourGreen
titlebUSINESS
Status
colourRed
titleProvider

Description: To acquire authorization token.

Endpoint: /login

Method: POST

Request Headers: 

Code Block
languagejs
{
  "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
languagejs
{
	"email": "sandbox_dev@gmail.com",
	"password": "password"
}

Sample Response:

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

...

Field

...

Description

...

apiKey

...

generated hash on client-side to be pass for succeeding request

...

clientId

...

client ID reference

...

sessionToken

...

generated hash on every API login to be pass for succeeding request. Expires after 20 minutes.

...

title2. Get Partners

Get Partners

Status
colourGreen
titleBusiness
Status
colourRed
titleProvider

Endpoint: /getPartners

Method: GET

Description: To get the list of your preferred partners.

Request Headers:

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

Query parameters (URL): 

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

Sample Response:

...

languagejs

...


Endpoint URL

Staging

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

Production

will be provided after SIT

...

Expand
title1. Login 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.

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
languagejson
{
  "Auth-Token": "<Auth token acquired on api LOGIN>"
}


URL Query parameters

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


Sample Response

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

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

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


Query parameters (URL)

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


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

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


Query parameters (URL)

Code Block
languagejson
{
  "apiKey": "<apiKey will be acquired on login API>",
  "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,
                "idlongitude": "SANDBOX_BUSINESS",121.00680469999998,
                "name": "SandboxMain Business"Store",
             },   "province": "Metro Manila",
   {             "idprovinceKey": "SANDBOX_QAMM",
            "name": "Sandbox_Qa"}
        }
    ],
    "total": 1
}
Expand
title35. Update Post Status

Update Post Status
Status
colourRed
titleProvider

Description

To Update post status

.

Endpoint

:

/updatePostStatus

Method

:

POST


Request Headers

:

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


URL Query parameters

(URL): 

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


Request Body Fields

:

Field

Data Type

Required

Description

postId

string

yes

id ID of post to update.

status

string

yes

status to update

remarks

string

no

update remarks from provider

timeStamp

number

no

timestamp in millisecond. Leave 0, null or empty string to use current time.

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

Description

START_PICKUP

Order is for pickup

START_DELIVERY

Order is out for delivery

DONE

Order has been delivered

FAILED_PICKUP

Failed to pickup order

FAILED_DELIVERY

Failed to deliver order

FAILED_RETURN

Failed to return order

CANCEL

Cancel order

IN_TRANSIT_FOR_RETURN

Order is out for return

RETURNED

Order has been returned to sender

UPDATE

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

Expand
title46. 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

:

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


URL Parameters (Query Parameters)

:

Parameter

Required

Description

apiKey

yes

api API key from login Login API

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 , one which can be either of the following:

  • post

or
  • opportunity

Defaults to opportunity if empty or undefined.

status

no

filter by status.

set to “DONE“ DONE to get delivered posts.


Sample URL Parameters

: 

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



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": "ASSIGNED",
            "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": {}
        },
	]
}
Expand
title57. Update Meta Fields

Update Meta Fields
Status
colourRed
titleProvider

Description

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

.

Endpoint

:

/updateMetaFields

Method

:

POST


Request Headers

:

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


Query parameters (URL)

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


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 metaFields requires at least one field to update.

  • Undefined meta fields will not be updated.


Sample Request Body

:

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



Sample Response

:

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

Expand
title78. Get Partner Metafields

Get Partner Metafields
Status
colourPurple
titleINTERNAL

Description

To get metafields of all or a specific provider. For internal use of DPH

.

Endpoint

:

/getPartnersMetaFields

Method

:

GET


Request Headers

:

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


Query parameters (URL):

 

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

Note: Empty partnerId url params will fetch all of your partners' metafields.



Sample Response with valid partnerId:

Code Block
languagejsjson
Status: 200 OK!
{
    "success": true,
    "result": {
        "goods": {
            "active": true
        }
    }
}


Sample Response for empty partnerId

:

Code Block
languagejson
Status: 200 OK!
{
    "success": true,
    "result": {
        "SANDBOX_BA": {
            "goods": {
                "active": true
            }
        },
        "SANDBOX_PROVIDER": {},
        "SANDBOX_QA": {
            "cod": {
                "required": true,
                "active": true,
                "key": "cod",
                "fieldType": "string",
                "placeholder": "COD"
            },
            "name": {
                "fieldType": "string",
                "placeholder": "Name",
                "required": false,
                "active": true,
                "key": "name"
            },
            "insurance": {
                "required": true,
                "active": true,
                "key": "insurance",
                "fieldType": "string",
                "placeholder": "Insurance"
            },
            "vehicleType": {
                "options": [
                    {
                        "value": "car",
                        "label": "Car"
                    },
                    {
                        "value": "motorcycle",
                        "label": "Motorcycle"
                    }
                ],
                "required": false,
                "active": true,
                "key": "vehicleType",
                "placeholder": "Vehicle Type",
                "fieldType": "dropdown"
            }
        }
    }
}


Sample Response with invalid partnerId

:

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


Sample Response with no partner:

Code Block
Status: 400 Bad Request
{
    "success": false,
    "message": "No preferred partners yet. Please invite a partner in Deliveries PH - My Partners"
}
Expand
title89. Get Provider's Create Post Template

Get Provider's Create Post Template
Status
colourGreen
titleBusiness

Description

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

.

Endpoint

:

/getCreatePostTemplate

Method

:

GET


Request Headers

:

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


URL Parameters

:

Field

Required

Description

apiKey

yes

api API key from login API

partnerId

yes

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


Sample Request

:

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



Sample Response

Code Block
languagejsjson
status: 200 OK!
{
    "success": true,
    "result": {
        "requestBody": {
            "refNo": "",
            "pickupDetails": {
                "customerName": "",
                "contactNumber": "",
                "emailAddress": "",
                "completionDateTime": "",
                "lat": 0,
                "long": 0,
                "tags": [],
                "remarks": "",
                "barangay": "",
                "province": "",
                "postalCode": "",
                "pickupAddress": "",
                "pickupCity": ""
            },
            "deliveries": [
                {
                    "customerName": "",
                    "contactNumber": "",
                    "emailAddress": "",
                    "completionDateTime": "",
                    "lat": 0,
                    "long": 0,
                    "tags": [],
                    "remarks": "",
                    "barangay": "",
                    "province": "",
                    "postalCode": "",
                    "deliveryAddress": "",
                    "deliveryCity": "",
                    "details": "",
                    "dimension": "",
                    "itemPrice": 0,
                    "codAmount": 0,
                    "metaFields": {
                        "stringType": "",
                        "dropdownType": "",
                        "listType": [
                            {
                                "quantity": "",
                                "itemName": ""
                            }
                        ]
                    }
                }
            ]
        },
        "metaFieldSchema": {
            "stringType": {
                "required": false,
                "type": "string",
                "description": "Sample string type meta"
            },
            "dropdownType": {
                "required": true,
                "type": "string",
                "description": "Dropdown sample",
                "values": [
                    "car",
                    "van"
                ],
                "details": [
                    {
                        "value": "car",
                        "description": "Car"
                    },
                    {
                        "value": "van",
                        "description": "Van"
                    }
                ]
            },
            "listType": {
                "type": "object",
                "description": "List sample",
                "properties": {
                    "quantity": {
                        "description": "Quantity",
                        "required": true,
                        "type": "string"
                    },
                    "itemName": {
                        "description": "Item Name",
                        "required": true,
                        "type": "string"
                    }
                }
            }
        }
    }
}


Meta fields schema

Field

Data type

Description

type

string

data type of a meta field.

Can either be one of the following 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
title910. 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

:

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


Query parameters (URL)

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


Request Body Fields

:

Field

Data Type

Required

Description

postId

string

yes

id ID of post to updatebe 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

or
  • 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
languagejsjson
{
    "postId": "Wq9FPWxCYVxNgrPrn08D",
    "remarks": "Shipping fee from upon booking.",
    "fees": [
        {
            "value": 100,
            "type": "shipping"
        },
        {
            "value": 20,
            "type": "insurance"
        }
    ]
}


Sample Response

:

Code Block
languagejsjson
status: 200 OK!
{
    "success": true,
    "result": "Post successfully updated."
}

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.

...