Domestic Pricing
What's New
26 September 2022
Recommended By Shipper (RBS) Best Performance
We have updated this endpoint with the addition of RBS feature. With this update, You will be able to provide the best performance logistic options to your customers through Shipper by using an additional param (array of item_category) on the request payload.
Then, Shipper will return new logistic option with rate.id 365. When create order use that rate.id (courier.rate_id) than your order will be RBS order.
There are two ways to obtain the pricing rates available via Shipper API
Get Pricing Domestic
This endpoint will display all logistics available by Shipper on that particular route
Get Pricing Domestic by Rate Types
This endpoint will only display logistics available based on the rate type query request.
Example of Get Domestic Pricing User Interface

Authorizations : X-API-Key_Header
Request Body Schema : application/json
POST Pricing Domestic
POST /v3/pricing/domestic
Request Data
Parameter / Object | Type | Description |
---|---|---|
item_categories (optional) | Array of string (item category name) | Item categories of the package. Options that allowed: 1. Cairan 2. Dokumen 3. Elektronik 4. Furnitur 5. Kosmetik 6. Makanan 7. Minuman 8. Pakaian 9. Sepatu 10. Spare Parts 11. Aksesoris 12. Dekorasi Rumah 13. Mainan 14. Obat dan Herbal 15. Garmen dan Tekstil 16. Buku 17. Lainnya |
origin.area_id (Required when not use lat & lon) | integer | Area id of the origin obtained from Get Location |
origin.lat (Required for Instant & Same Day Service) | string | Latitude Position of the Origin |
origin.lng (Required for Instant & Same Day Service) | string | Longitude Position of the Origin |
origin.suburb_id | integer | Suburb id of the origin |
destination.area_id (Required when not use lat & lon) | integer | Area id of the destination obtained from Get Location |
destination.lat (Required for Instant & Same Day Service) | string | Latitude Position of the Destination |
destination.lng (Required for Instant & Same Day Service) | string | Longitude Position of the Destination |
destination.suburb_id (Optional) | integer | Suburb id of the destination |
for_order (required) | boolean | Set this parameter to true to ensure pricing eligibility. |
height (required) | integer | Height in cm |
length (required) | integer | Length in cm |
width (required) | integer | Width in cm |
weight (required) | integer | Weight in kg |
item_value (required) | integer | Value of the item in IDR |
limit | integer | Limit data displayed for each page, default 30 |
page | integer | Page Number default 1 |
sort_by | Array of Strings | Sort the orders of available services based on the filter. Example "final_price" |
Sample Request and Response
curl --location --request POST '{{baseUrl}}/v3/pricing/domestic' \
--header 'Content-Type: application/json' \
{
"cod": false,
"destination": {
"area_id": 4711,
"lat": "-6.2195686",
"lng": "106.8325872",
"suburb_id": 482
},
"for_order": true,
"height": 10,
"item_value": 40000,
"length": 10,
"limit": 30,
"origin": {
"area_id": 4711,
"lat": "-6.2195686",
"lng": "106.8325872",
"suburb_id": 482
},
"page": 1,
"sort_by": [
"final_price"
],
"weight": 0.5,
"width": 10
}
{
"metadata": {
"path": "/v3/pricing/domestic",
"http_status_code": 200,
"http_status": "OK",
"timestamp": 1634791012
},
"data": {
"origin": {
"area_id": 4711,
"area_name": "Karet Kuningan",
"suburb_id": 482,
"suburb_name": "Setia Budi",
"city_id": 41,
"city_name": "Jakarta Selatan",
"province_id": 6,
"province_name": "DKI Jakarta",
"country_id": 228,
"country_name": "INDONESIA",
"lat": -6.2197608,
"lng": 106.8266873
},
"destination": {
"area_id": 4711,
"area_name": "Karet Kuningan",
"suburb_id": 482,
"suburb_name": "Setia Budi",
"city_id": 41,
"city_name": "Jakarta Selatan",
"province_id": 6,
"province_name": "DKI Jakarta",
"country_id": 228,
"country_name": "INDONESIA",
"lat": -6.2197608,
"lng": 106.8266873
},
"pricings": [
{
"logistic": {
"id": 36,
"name": "Recommended by Shipper",
"logo_url": "https://global-cdn.shipper.id/images/png/logistic/shipper.240x90.png",
"code": "RBS",
"company_name": "PT SHIPPINDO TEKNOLOGI LOGISTIK"
},
"rate": {
"id": 365,
"name": "Regular",
"type": "Regular",
"description": "",
"full_description": "",
"is_hubless": false
},
"weight": 1,
"volume": 10,
"volume_weight": 0.002,
"final_weight": 1,
"min_day": 1,
"max_day": 2,
"unit_price": 9000,
"total_price": 9000,
"discount": 0,
"discount_value": 0,
"discounted_price": 9000,
"insurance_fee": 5000,
"must_use_insurance": true,
"liability_value": 2000000,
"final_price": 14000,
"currency": "IDR",
"insurance_applied": true,
"base_price": 9000,
"surcharge_fee": 0
},
"pagination": {
"current_page": 1,
"current_elements": 22,
"total_pages": 1,
"total_elements": 22,
"sort_by": [
"final_price"
]
}
}
Response List
Parameter | Description |
---|---|
metadata | Metadata information |
metadata.path | API endpoint path |
metadata.http_status_code | HTTP status code |
metadata.http_status | HTTP status |
metadata.timestamp | Timestamp |
pagination | Paging information |
pagination.current_page | Current page |
pagination.current_elements | Total item per page |
pagination.total_pages | Total pages |
pagination.total_elements | Total datas |
data | All important information about the 3PL pricing |
data.origin | All important information about the origin that have been sent |
data.origin.area_id | Area ID of the origin |
data.origin.area_name | Area name of the origin |
data.origin.suburb_id | Suburb ID of the origin |
data.origin.suburb_name | Suburb name of the origin |
data.origin.city_id | City ID of the origin |
data.origin.city_name | City name of the origin |
data.origin.province_id | Province ID of the origin |
data.origin.province_name | Province name of the origin |
data.origin.country_id | Country ID of the origin |
data.origin.country_name | Country name of the origin |
data.origin.lat | Latitude of the origin |
data.origin.lng | Longitude of the origin |
data.destination | All important information about the destination that have been sent |
data.destination.area_id | Area ID of the destination |
data.destination.area_name | Area name of the destination |
data.destination.suburb_id | Suburb ID of the destination |
data.destination.suburb_name | Suburb name of the destination |
data.destination.city_id | City ID of the destination |
data.destination.city_name | City name of the destination |
data.destination.province_id | Province ID of the destination |
data.destination.province_name | Province name of the destination |
data.destination.country_id | Country ID of the destination |
data.destination.country_name | Country name of the destination |
data.destination.lat | Latitude of the destination |
data.destination.lng | Longitude of the destination |
data.pricings | All important information about the available 3PLs based on the request |
data.pricings.[].logistic | All information about the available logistic |
data.pricings.[].logistic.id | Logistic ID |
data.pricings.[].logistic.name | Logistic name |
data.pricings.[].logistic.logo_url | Logistic URL logo |
data.pricings.[].logistic.code | Logistic code |
data.pricings.[].logistic.company_name | Logistic company name |
data.pricings.[].rate | All important information about the available rate service of the logistic |
data.pricings.[].rate.id | Rate service ID. Required to use when Create Order |
data.pricings.[].rate.name | Rate service name |
data.pricings.[].rate.type | Rate service type |
data.pricings.[].rate.description | Rate service description |
data.pricings.[].rate.full_description | Rate service full description |
data.pricings.[].weight | Weight of the package (kg) |
data.pricings.[].volume | Volume of the package based on the length, width, and height |
data.pricings.[].volume_weight | Volumetric weight of the package |
data.pricings.[].final_weight | Final weight that have been chosen between "weight" and "volume_weight". Will choose which one is heavier. |
data.pricings.[].min_day | Minimum day of delivery estimation |
data.pricings.[].max_day | Maximum day of delivery estimation |
data.pricings.[].unit_price | Shipment fee for 1 kg |
data.pricings.[].total_price | Total shipment fee |
data.pricings.[].discount | Discount percentage |
data.pricings.[].discount_value | Discount value (IDR) |
data.pricings.[].discounted_price | Shipment fee after discount |
data.pricings.[].insurance_fee | Insurance fee for the package |
data.pricings.[].must_use_insurance | Information about whether required to use insurance or not. If ""must_use_insurance"" true, then final_price will be total_price + insurance_fee If ""must_use_insurance"" false, then final_price will be total_price only. If ""must_use_insurance"" true, then use_insurance on Create Order must be true. |
data.pricings.[].lialibility_value | Package value |
data.pricings.[].final_price | Total shipment fee with discount and insurance fee |
data.pricings.[].currency | Currency |
data.pricings.[].insurance_applied | Information about whether the insurance fee already applied in the price |
Important Return Parameters
rate.id - Required to be use when Create Order
must_use_insurance - Determine whether it is required to use insurance or not
insurance_fee - The cost of insurance
final_price - Price of the Shipment
If "must_use_insurance" true, final_price will be total_price + insurance_fee
If "must_use_insurance" false, final_price will be total_price only.rate.is_hubless - If is_hubless is true, the order will be pick up by the 3PL courier directly.
Updated 29 days ago