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: |
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", "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 |
timeStamp | number | no | timestamp in milliseconds. Leave 0, null or empty string to use current server timestamp. |
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
|
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...