...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Endpoint URL
...
Staging
...
https://us-central1-fleet-staging-2333a.cloudfunctions.net
...
Production
...
will be provided after SIT
...
title | 1. Login and Get Session |
---|
Login and Get Session Token.
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Description: To acquire authorization token.
Endpoint: /login
Method: POST
Request Headers:
Code Block | ||
---|---|---|
| ||
{
"Content-Type": "application/json"
} |
Request Body:
...
Field
...
Data type
...
Required
...
Description
...
...
string
...
yes
...
email credential
...
password
...
string
...
yes
...
password
Sample Request Body:
Code Block | ||
---|---|---|
| ||
{
"email": "sandbox_dev@gmail.com",
"password": "password"
} |
Sample Response:
Code Block | ||
---|---|---|
| ||
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.
...
title | 2. Get Partners |
---|
Get Partners
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
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:
...
language | js |
---|
...
Endpoint URL
Staging | |
---|---|
Production | will be provided after SIT |
...
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Login and Get Session Token
|
Code Block | ||
---|---|---|
| ||
{
"Content-Type": "application/json"
} |
Request Body
Field | Data type | Required | Description |
---|---|---|---|
string | yes | email credential | |
password | string | yes | password |
Sample Request Body
Code Block | ||
---|---|---|
| ||
{
"email": "sandbox_dev@gmail.com",
"password": "password"
} |
Sample Response
Code Block | ||
---|---|---|
| ||
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. |
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
Get Partners
|
Code Block | ||
---|---|---|
| ||
{
"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 | ||
---|---|---|
| ||
Status: 200 OK!
{
"success": true,
"results": [
{
"id": "SANDBOX_BUSINESS",
"name": "Sandbox Business"
},
{
"id": "SANDBOX_QA",
"name": "Sandbox_Qa"
}
]
} |
Expand | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Get List of Areas
|
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 | ||
---|---|---|
| ||
Status: 200 OK!
{
"success": true,
"results": [
{
"id": "-KnmC5Y0pFYBquoDL1zo",
"info": {
"code": "A1",
"name": "Area 1",
"stores": [
"-LDnYzs1xbK-FeQ0VPFr"
]
}
}
]
} |
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
Get List of Stores/Hubs
|
Code Block |
---|
{
"Auth-Token": "<Auth token acquired on api LOGIN>"
} |
Query parameters (URL)
Code Block | ||
---|---|---|
| ||
{
"apiKey": "<apiKey will be acquired on login API>",
"areaCode": "<area Code acquired from getListOfAreas API>"
} |
Sample URL
Code Block | ||
---|---|---|
| ||
https://us-central1-fleet-staging-2333a.cloudfunctions.net
/getListOfStores?apiKey=7c5dd55738b964944f9357bcc7f45ce6d857ff18&areaCode=A1 |
Sample Response
Code Block | ||
---|---|---|
| ||
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 BusinessStore", }, "province": "Metro Manila", { "idprovinceKey": "SANDBOX_QAMM", "name": "Sandbox_Qa"} } ], "total": 1 } |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update Post Status
: |
Code Block | ||
---|---|---|
| ||
{ "Auth-Token": "<Auth token acquired on api LOGIN>", "Content-Type": "application/json" } |
URL 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 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 | ||
---|---|---|
| ||
{ "postId": "uuNzkYoOy1VI373BoKY9", "status": "START_DELIVERY", "remarks": "Rider is on his way", "timeStamp": 1575890011178, "metaState": "" } |
Sample Response
:Code Block | ||
---|---|---|
| ||
Status: 200 OK! { "success": true, "message": "Post successfully updated." } |
Status Updates:
Status | Description |
| Order is for pickup |
| Order is out for delivery |
| Order has been delivered |
| Failed to pickup order |
| Failed to deliver order |
| Failed to return order |
| Cancel order |
| Order is out for return |
| Order has been returned to sender |
| Push an event update on job history without updating the status of the post. Please use the remarks field. |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Post
: |
Code Block | ||
---|---|---|
| ||
{ "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:
Defaults to opportunity if empty or undefined. |
status | no | filter by status. set to “DONE“ |
Sample URL Parameters
: Code Block | ||
---|---|---|
| ||
{ "apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd", "postId": "uuNzkYoOy1VI373BoKY9", "partnerId": "SANDBOX_DX" } |
Sample Response:
Code Block | ||
---|---|---|
| ||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||
Update Meta Fields
: |
Code Block | ||
---|---|---|
| ||
{ "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 |
---|
|
Sample Request Body
:Code Block | ||
---|---|---|
| ||
{ "postId": "uuNzkYoOy1VI373BoKY9", "metaFields": { "trackingNumber": "ORDER-001-AKS-ASV", "trackingUrl": "https://trackmyorder.com/track?id=ORDER-001-AKS-ASV" } } |
Sample Response
:Code Block | ||
---|---|---|
| ||
Status: 200 OK! { "success": true, "message": "Post successfully updated." } |
Expand | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||
Get Partner Metafields
:code |
Code Block | ||
---|---|---|
| ||
{ "Content-Type": "application/json" "Auth-Token": "<Auth token acquired on api LOGIN>" } |
Query parameters (URL):
Code Block | ||
---|---|---|
| ||
{ "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 | ||
---|---|---|
| ||
Status: 200 OK! { "success": true, "result": { "goods": { "active": true } } } |
Sample Response for empty partnerId
:Code Block | ||
---|---|---|
| ||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Provider's Create Post Template
: |
Code Block | ||
---|---|---|
| ||
{ "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 | ||
---|---|---|
| ||
https://us-central1-fleet-dev-ph.cloudfunctions.net/getCreatePostTemplate?apiKey=7c5dd55738b964944f9357bcc7f45ce6d857ff18&partnerId=SANDBOX_DX |
Sample Response
Code Block | ||
---|---|---|
| ||
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update Fee
: |
Code Block |
---|
{ "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 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:
|
Info |
---|
|
Sample Request Body
:Code Block | ||
---|---|---|
| ||
{ "postId": "Wq9FPWxCYVxNgrPrn08D", "remarks": "Shipping fee from upon booking.", "fees": [ { "value": 100, "type": "shipping" }, { "value": 20, "type": "insurance" } ] } |
Sample Response
:Code Block | ||
---|---|---|
| ||
status: 200 OK! { "success": true, "result": "Post successfully updated." } |
...