VI | EN
Nhắn Messenger
Dành cho developer

Hủy vận đơn J&T Express — API J&T Express

order.cancelOrder · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

order.cancelOrder

POST/order/cancelOrderGọi qua 360: POST https://partner.quantri360.com/v1/jtexpress/order/cancelOrder
Sắp mở. API này đã chạy thật qua 360 và đang được chốt giá — bạn có thể đọc tài liệu và chuẩn bị tích hợp trước.
Endpoint ghi — thay đổi dữ liệu trên J&T Express. Key phải được tạo với tick "Cho phép gọi API ghi", nếu không sẽ nhận 403 write_not_allowed. Mỗi lần gọi được ghi nhật ký.
Mô tả API

Hủy vận đơn J&T theo mã đơn của bạn.

Request

Địa chỉ

POST https://partner.quantri360.com/v1/jtexpress/order/cancelOrder

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystringTEST001apiAccount J&T đã nối (GET /v1/platforms). Có thể bỏ.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
txlogisticIdbodystringCóDH1001Mã đơn của bạn (đã gửi khi tạo).
billCodebodystringKhôngMã vận đơn J&T.
reasonbodystringCóKhách đổi ýLý do hủy.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/jtexpress/order/cancelOrder" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"txlogisticId":"DH1001","reason":"Khách đổi ý"}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/jtexpress/order/cancelOrder",
    params={},
    json={
        "txlogisticId": "DH1001",
        "reason": "Khách đổi ý"
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/jtexpress/order/cancelOrder');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"txlogisticId":"DH1001","reason":"Khách đổi ý"}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/jtexpress/order/cancelOrder' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"txlogisticId":"DH1001","reason":"Khách đổi ý"}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Tham số phản hồi (nguyên của J&T Express)

TênKiểuMẫuMô tả
codestring1`"1"` = thành công; mã khác = lỗi, xem `msg` (J&T trả HTTP 200 kèm mã lỗi).
msgstringsuccessThông báo kết quả.
dataobjectDữ liệu.
billCodestringMã vận đơn.
txlogisticIdstringDH1001Mã đơn của bạn.

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Vận đơn ở trang nền tảng
  3. Tạo API key (tick kênh J&T Express)
  4. Gọi theo ví dụ ở trên