8. Webhook
Luồng webhook được sử dụng để đồng bộ trạng thái mã vận đơn GHTK tới hệ thống của đối tác tích hợp APIs.
thông tin
Giả sử đơn hàng mã "S1.A1.17373471" (mã trên hệ thống khách hàng là "1234567") được cập nhật ""đã giao hàng thành công".
Giả sử callback link của đối tác là
https://doitac.example.com/updateShipment?hash=XXX
Data GHTK sẽ gửi tới callback link của đối tác theo nội dung
{
"partner_id" : "1234567",
"label_id": "S1.A1.17373471",
"status_id": 5,
"action_time": "2016-11-02T12:18:39+07:00",
"reason_code": "",
"reason": "",
"weight": 2.4,
"fee": 15000,
"pick_money": 100000,
"return_part_package": 0
}
Request gửi từ máy chủ của GHTK gọi sang hệ thống của đối tác
- HTTP
- CURL
- PHP
POST /updateShipment?hash=XXX HTTP/1.1
Host: doitac.example.com
Content-type: application/x-www-form-urlencoded
label_id=S1.A1.17373471&partner_id=1234567&action_time=2016-11-02T12:18:39+07:00&status_id=5&reason_code=&reason=&weight=2.4&fee=1500&return_part_package=0
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
-d 'label_id=S1.A1.17373471&partner_id=1234567&action_time=2016-11-02T12:18:39+07:00&status_id=5&reason_code=&reason=&weight=2.4&fee=1500&return_part_package=0' \
"https://doitac.example.com/updateShipment?hash=XXX"
<?php
$data = array(
'label_id' => 'S1.A1.17373471',
'partner_id' => 1234567,
'action_time' => '2016-11-02T12:18:39+07:00',
'status_id' =>5,
'reason_code'=> '',
'reason'=> '',
'weight'=> 2.4,
'fee'=> 1500,
'return_part_package'=> 0
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://doitac.example.com/updateShipment?hash=XXX",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_POSTFIELDS => $data,
));
$response = curl_exec($curl);
curl_close($curl);
echo 'Response: ' . $response;
?>
thông tin
GHTK sử dụng response HTTP Status code để xác định là có gửi cập nhật cho đối tác thành công hay không.
Nếu nhận được response code 200, GHTK ghi nhận đã cập nhật thành công cho đối tác
HTTP/1.1 200 OK
warning
Nếu không nhận được response, hoặc code khác 200. GHTK sẽ gửi cập nhật lại một lần nữa
HTTP/1.1 500 Internal Server Error
Danh sách tham số cung cấp cho đối tác
Tham số | Kiểu dữ liệu | Mô tả |
---|---|---|
label_id | String | - Mã đơn hàng của hệ thống GHTK |
partner_id | String | - Mã đơn hàng thuộc hệ thống của đối tác |
status_id | Integer | - Mã trạng thái đơn hàng |
action_time | String | ISO 8601 - Thời gian cập nhật trạng thái đơn hàng |
reason_code | String | - Mã lý do cập nhật |
reason | String | - Lý do chi tiết cập nhật |
weight | Float | - khối lượng đơn hàng tính theo kilogram |
fee | Integer | - phí ship của đơn hàng (VNĐ) |
return_part_package | Integer | - Nếu bằng 1 là đơn giao hàng một phần |