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. |
Info |
---|
|
Error Messages:
Invalid Email
Code Block | ||
---|---|---|
| ||
Status: 401 Unauthorized
{
"success": false,
"results": "EMAIL_NOT_FOUND"
} |
Invalid Password
Code Block | ||
---|---|---|
| ||
Status: 401 Unauthorized
{
"success": false,
"results": "INVALID_PASSWORD"
} |
Quota Limit Exceeded Error
Code Block | ||
---|---|---|
| ||
Status: 401 Unauthorized
{
"success": false,
"results": "QUOTA_EXCEEDED : Exceeded quota for verifying passwords."
} |
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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."
} |
Expand | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||
Update Meta Fields v2
|
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",
"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 | ||
---|---|---|
| ||
Status: 200 OK!
{
"success": true,
"message": "Post successfully updated."
} |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Provider's Create Post v3 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/v3/getCreatePostTemplate?apiKey=7c5dd55738b964944f9357bcc7f45ce6d857ff18&partnerId=SANDBOX_DX |
Sample Response
Code Block | ||
---|---|---|
| ||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Create Post v3
|
Code Block | ||
---|---|---|
| ||
{
"Auth-Token": "<Auth token acquired on api LOGIN>",
"Content-Type": "application/json"
} |
Query parameters (URL)
Code Block | ||
---|---|---|
| ||
{
"apiKey": "<REQUIRED, apiKey will be acquired on login API>",
"partnerId": "<REQUIRED, preferred partner/provider, can be acquired on getPartners API>"
} |
Info |
---|
|
metaFields:
Meta fields are special fields requested by the provider that needs input from the customer.
To be able to determine 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:
| |
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 |
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 |
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. |
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 API | |
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: |
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 |
Sample Request Body
Code Block | ||
---|---|---|
| ||
{
"refNo": "order-001",
"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": {}
}
} |
Sample Response
Code Block | ||
---|---|---|
| ||
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": {}
}
} |
Error Messages:
Invalid Request Parameter
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Missing partnerId. Please check your dashboard documentation."
} |
Invalid Partner ID
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Invalid pickup location."
}
Status: 400 Bad Request
{
"success": false,
"message": "Invalid delivery location."
} |
Not Serviceable
Code Block | ||
---|---|---|
| ||
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."
} |
Product
Code Block |
---|
Status: 400 Bad Request
{
"success": false,
"message": "Product size not available for the designated service area."
} |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Quotation
|
Code Block | ||
---|---|---|
| ||
{
"Auth-Token": "<Auth token acquired on api LOGIN>",
"Content-Type": "application/json"
} |
Request Params
Code Block | ||
---|---|---|
| ||
{
"apiKey": "<apiKey will be acquired on login API>",
"partnerId": "<provider’s id, can be acquired on getPartners API >"
} |
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 | ||
---|---|---|
| ||
{
"pickup": {
"province": "metro manila",
"city": "pasig city",
"barangay": "pinagbuhatan"
},
"delivery": {
"province": "rizal",
"city": "cainta",
"barangay": "san andres"
}
} |
Sample Response (Serviceable area)
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"result": "Pickup/delivery location is not serviceable by the selected provider."
} |
Error Messages:
Missing Partner Id
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Missing partnerId. Please check your dashboard documentation."
} |
Invalid Partner Id
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Price quotation is not yet available for on demand providers."
} |
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. |