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,
"longitude": 121.00680469999998,
"name": "Main Store",
"province": "Metro Manila",
"provinceKey": "MM"
}
}
],
"total": 1
} |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update Post Status
|
Code Block | ||
---|---|---|
| ||
{
"Auth-Token": "<Auth token acquired on api LOGIN>",
"Content-Type": "application/json"
} |
URL Query parameters
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. |
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 key from 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 which can be either of the following:
Defaults to opportunity if empty or undefined. |
status | no | filter by status. set to |
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 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 key from login API |
partnerId | yes | 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 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 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:
|
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."
} |
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. |