When customer buy your product, TIKI have to make sure this product is still available in your warehouse. That’s why confirm order is necessary. Follow these steps to confirm an order:
- Determine order operation models
- Determine seller warehouse where TIKI drivers can go picking the products
- Determine pickup times
- Confirm your order with Tiki using available items and one of the seller warehouses
Determine order operation models
Below order (simplified payload) has operation model drop-shipping:
{
"code": "613795703",
"fulfillment_type": "dropship",
"status": "queueing",
"created_at": "2021-06-02 10:39:45",
"updated_at": "2021-06-02 10:39:46",
"invoice": { ... },
"tiki_warehouse": {
"name": "Sài Gòn",
"code": "sgn"
},
"items": [
{
"id": 191564100,
"product": {
"sku": "SKU3754244478",
"name": "Vịt xiêm nguyên con Organicfood - 1,5kg - 1.7-2kg",
"inventory_type": "backorder",
},
"invoice": { ... },
"seller": {
"id": 46262,
"name": "Organicfood"
},
"confirmation": {
"status": "waiting",
"available_confirm_sla": "2021-06-02 14:40:00"
}
}
],
"customer": {
"id": 14492840,
"full_name": "Nguyễn Yin"
}
}
Determine seller warehouses
Use above tiki_warehouse/code
to get seller warehouses where our drivers will go picking seller products:
curl --location --request GET 'https://api.tiki.vn/integration/v2/seller-inventories?tiki_warehouse_codes=sgn' \
--header 'Authorization: Bearer GGMcFD3REicCR4eVmjR7XFHCyagIEuC2V9OMWm46CoI.pig...'
The response looks like:
{
"seller_inventories": [
{
"id": 188954,
"name": "Big C NTT",
"address": {
"street": "Lô A, Khu dân cư ...",
"ward": "Phường Tân Phú",
"district": "Quận 7",
"region": "Hồ Chí Minh",
"country": "Viet Nam"
},
"type": "requisition"
}
],
"mappings": [
{
"tiki_warehouse_code": "sgn",
"seller_inventory_ids": [
188954
]
}
]
}
Now select from that list of your inventories (seller_inventory_ids) to confirm.
Determine pickup times
Drop-shipping orders can be picked in a limited number of time slots. To get these time slot for confirmation:
curl --location --request GET 'https://api.tiki.vn/integration/v2/orders/dropship/expected-pickup-slots' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer GGMcFD3REicCR4eVmjR7XFHCyagIEuC2V9OMWm46CoI.pig...'
The response will be like:
{
"seller_id": 46262,
"pickup_slots": [
{
"expected_pickup_slot": "sameday_1pm",
"expected_pickup_time": "2021-11-29 13:00:00"
},
{
"expected_pickup_slot": "nextday_9am",
"expected_pickup_time": "2021-11-30 09:00:00"
}
]
}
Now you can select one of these time slots for confirmation. Remember to use the expected_pickup_time field, NOT the expected_pickup_slot field.
See get pickup times for more details.
Confirm availability
You can only confirm you have enough stock for all items, or not enough stock for all items:
curl --location --request POST 'https://api.tiki.vn/integration/v2/orders/4975934716/dropship/confirm-available' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ...' \
--data-raw '{
"confirmation_status": "seller_confirmed",
"seller_inventory_id": 188954,
"expected_pickup_time": "2020-08-20 15:00:00"
}'
If you want to cancel the order, use confirmation_status = seller_canceled
.
DON’T
Don’t put seller ID into the
seller_inventory_id
Don’t put arbitrary date time into
expected_pickup_time
Don’t put
expected_pickup_slot
value intoexpected_pickup_time
The response looks like:
{
"code": 200
}
For more details, see confirm enough stock for drop-shipping orders.
FAQ
What is seller inventory/warehouse id?
To sell products on TIKI, a seller need to register their warehouses with us, telling us exact location of those warehouses. When a customer place an order, we need to know where can we go picking your product to deliver it to the customer. Seller will do this by specifying one of their registered warehouses when confirming the order. That information is the seller inventory/warehouse id.
How can I cancel the order?
Use confirmation_status = seller_canceled
in the confirmation payload.
Can I confirm I have enough stock for a part of the order?
No, you CANNOT. We don’t provide the API to do this. If you intend to confirm that order, the driver will reject the seller package because the package does not have enough stock as customer placed.
I keep receiving HTTP CODE 400 when confirming an order. What should I do?
There are many reasons for this:
Reason | To do |
---|---|
The order has not been accepted by Tiki yet | Only confirm the order when the following 2 conditions hold true: > Order /status = queueing > Order /item/*/confirmation/status = waiting |
The order has already been confirmed | Stop confirming |