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 | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||
Login v2
Request Headers
Request Body
Sample Response
Error Messages:Invalid Email
Invalid Password
|
Expand | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
Get Partners
|
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 |
---|
{
"x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
} |
Info |
---|
To use |
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 | ||
---|---|---|
| ||
Status: 200 OK!
{
"success": true,
"results": [
{
"id": "SANDBOX_BUSINESS",
"name": "Sandbox Business",
"serviceType": "onDemand"
},
{
"id": "SANDBOX_QA",
"name": "Sandbox_QA",
"serviceType": "scheduled"
}
]
} |
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
Get List of Areas
|
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 |
---|
{
"x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
} |
Info |
---|
To use |
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 | ||
---|---|---|
| ||
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>"
} |
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 |
Query parameters (URL)
Login V1
Code Block |
---|
{
"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 | ||
---|---|---|
| ||
{
"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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Provider's Create Post v3 Template
|
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 |
---|
{
"x-access-token": "Bearer <Access token acquired on api LOGIN V2>"
} |
Info |
---|
To use |
Query parameters (URL)
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 | ||
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 | ||
---|---|---|
| ||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Quotation
|
Code Block | ||
---|---|---|
| ||
{
"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>"
} |
Info |
---|
To use |
Request Params
Code Block | ||
---|---|---|
| ||
{
"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 | ||
---|---|---|
| ||
{
"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."
} |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Create Post v3
|
Code Block | ||
---|---|---|
| ||
{
"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 |
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 |
---|
There is no need to define the apiKey in the parameters for our LoginV2. |
Info |
---|
|
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:
| |
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
|
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: |
vehicleType | string | yes (for on-demand providers) | (empty string for scheduled providers) | |
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 | |
metaFields | object | no | metaFields to fulfill provider’s required fields | |
quantity | number | no | 5 | 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 | 15 | 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 | ||
---|---|---|
| ||
{
"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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
{
"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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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."
} |
If isPSGC is false and field pickup/delivery address is in PSGC format
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Invalid pickup location."
}
Status: 400 Bad Request
{
"success": false,
"message": "Invalid delivery location."
} |
Product
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Product size not available for the designated service area."
} |
Auto Reattempt
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "No auto re-attempt settings configured in your Deliveries PH Web account."
} |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update Post Status
|
Code Block | ||
---|---|---|
| ||
{
"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 |
URL Query parameters
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. |
status | string | yes | status to update |
remarks | string | no | update remarks from provider |
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 | Is substatus? | Description |
| No | this can only be triggered in web if business or customers assign a post/an opportunity to provider |
| 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 | ||
| No | this can only be triggered through manual reject in their DPH account and is returned in /getpost as “MPREJECTED” |
| No | Provider is assigning a rider for the order. For on-demand providers only. |
| Yes, under “STARTED” main status | Order is for pickup |
| Yes, under “STARTED” main status | Order has been picked up |
| Yes, under “STARTED” main status | Courier has successfully delivered order to hub. For scheduled providers only. |
| Yes, under “STARTED” main status | Order is out for delivery |
| No | Order has been delivered |
| No | Failed to pickup order |
| No | Failed to deliver order |
| No | Failed to return order |
| No | Cancel order |
| No | Order is out for return |
| No | Order has been returned to sender |
| No | Push an event update on job history without updating the status of the post. Please fill up the remarks field. |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Post
|
Code Block | ||
---|---|---|
| ||
{
"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 |
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 | ||
businessStoreId | no | Filter by store/hub. | ||
isPSGC | no | Set to true to receive PSGC address format |
Sample URL Parameters
Code Block | ||
---|---|---|
| ||
{
"apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd",
"postId": "uuNzkYoOy1VI373BoKY9",
"partnerId": "SANDBOX_DX",
"isPSGC": false
} |
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": "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 | ||
---|---|---|
| ||
{
"apiKey": "fb77c9653bf5e736d191b46bbfed7c2bd",
"postId": "uuNzkYoOy1VI373BoKY9",
"partnerId": "SANDBOX_DX"
"isPSGC": true
} |
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": "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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update Fee
|
Code Block | ||
---|---|---|
| ||
{
"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 |
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 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"
} |
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 |
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 |
---|
|
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 Available Partners
|
Code Block | ||
---|---|---|
| ||
{
"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 |
Request Params
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
Field | Data type | Required | Description |
---|---|---|---|
serviceType | string | yes | can be any of the following: |
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 | ||
---|---|---|
| ||
{
"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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
Status: 200 OK!
{
"success": true,
"result": []
} |
Error Messages:
Invalid Delivery Location
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Invalid delivery location"
} |
Invalid Pickup Location
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": "Invalid pickup location"
} |
Service type “onDemand”
Code Block | ||
---|---|---|
| ||
Status: 400 Bad Request
{
"success": false,
"message": ""The Service Type: On Demand is currently NOT available for this endpoint.
} |
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get On Demand Quotation
|
Code Block | ||
---|---|---|
| ||
{
"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 |
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.
|
pickup_province | string | yes | Pickup Province |
localeKey | string | yes | Default value: “en_PH“ |
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 |
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 |
|
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 | ||
---|---|---|
| ||
{
"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 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.5528425,
"long": 121.0518742
},
"remarks": "sample remarks",
"scheduleAt": 1613566801000,
"vehicleType": "MOTORCYCLE",
"dimensions": {
"height": 5,
"width": 5,
"depth": 5,
"weight": 5
}
}
} |
Sample Response
Code Block | ||
---|---|---|
| ||
{
"success": true,
"result": [
{
"courier": "GRAB",
"error": "Bad Input"
},
{
"courier": "LALAMOVE",
"rate": 113,
"vehicleType": "MOTORCYCLE"
}
]
} |
Expand | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
Refresh Token
Request Headers
Request Body
Sample Request body
Sample Response
No Refresh token defined
|
Expand | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
Cancel Post API
Request Headers
URL Query parameters
Sample Request Body
Sample Response
|
...
List of Statuses
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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. |