ticket/get.possible.actions
POST/extapi/v1/ticket/get.possible.actionsGọi qua 360: POST https://partner.quantri360.com/v1/base_service/extapi/v1/ticket/get.possible.actions
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.
Mô tả API
Những HÀNH ĐỘNG một người được làm ở bước hiện tại của phiếu (sửa phiếu, sửa trường, thực thi / duyệt, trả lại bước, thêm người theo dõi…) kèm tham số bắt buộc / tùy chọn của từng hành động. Gọi trước khi thực thi để biết người đó có quyền gì và cần gửi gì.
- Kết quả phụ thuộc người: người đang xử lý bước có đủ hành động (vd execute, move.back); người khác thường chỉ còn add.bulk.followers.
required_paramscóaccess_token— khi gọi qua 360 KHÔNG gửi, 360 tự gắn token.
Request
Địa chỉ
POST https://partner.quantri360.com/v1/base_service/extapi/v1/ticket/get.possible.actions
Xác thực & gian hàng
| Tên | Vị trí | Kiểu | Mẫu | Mô tả |
|---|---|---|---|---|
| Authorization | header | header | Bearer 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_id | query | string | heradg | Tên kết nối Base Service (GET /v1/platforms). Có thể bỏ khi chỉ nối một token. |
| username | body | string | nguyenvana | API ghi (tạo / sửa / thực thi / chuyển khối / giao người) chạy DƯỚI TÊN người dùng Base này — phải là người có quyền ở khối đó. |
Tham số request
| Tên | Vị trí | Kiểu | Bắt buộc | Mẫu | Mô tả |
|---|---|---|---|---|---|
| ticket_id | body | string | Có | 1196889 | Mã phiếu gốc. |
| current_ticket_block_id | body | string | Có | 1286443 | Mã bước hiện tại của phiếu (dòng có status 0 trong ticket/get.all). |
| username | body | string | Có | levanc | Người cần kiểm tra quyền (không kèm @). |
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/base_service/extapi/v1/ticket/get.possible.actions" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"ticket_id":"1196889","current_ticket_block_id":"1286443","username":"levanc"}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/base_service/extapi/v1/ticket/get.possible.actions",
params={},
json={
"ticket_id": "1196889",
"current_ticket_block_id": "1286443",
"username": "levanc"
},
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/base_service/extapi/v1/ticket/get.possible.actions');
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({"ticket_id":"1196889","current_ticket_block_id":"1286443","username":"levanc"}),
});
console.log(r.status, await r.json());PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/base_service/extapi/v1/ticket/get.possible.actions' . '?' . 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, '{"ticket_id":"1196889","current_ticket_block_id":"1286443","username":"levanc"}');
$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 Base Service)
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| code | int | 1 | 1 = thành công · 0 = lỗi. |
| message | string | Successfully updated | Base trả thông điệp này cả với API đọc — không có gì bị sửa. |
| ticket_data | object | ||
| ticket_id | string | 1196889 | |
| current_ticket_block_id | string | 1286443 | |
| name | string | ĐH01-2026 L1 | Tên phiếu. |
| status | string | 0 | |
| status_tag | string | processing | Trạng thái chữ. |
| assignees | string[] | ["levanc"] | Người xử lý bước hiện tại. |
| possible_actions | object[] | Hành động được phép. | |
| key | string | execute | `add.bulk.followers` · `edit` · `edit.custom.fields` · `execute` · `move.back` · … |
| method | string | POST | |
| description | string | Execute ticket | |
| url | string | …/extapi/action/v1/ticket/execute | Đường dẫn Base của hành động (gọi qua 360 bằng /extapi/v1/ticket/<key>). |
| required_params | object | Tham số bắt buộc → mô tả / giá trị gợi ý (vd intent: approve · reject · ask). | |
| optional_params | object | Tham số tùy chọn, gồm khóa các trường tùy chỉnh của phiếu. |
Mẫu phản hồi
{
"code": 1,
"message": "Successfully updated",
"data": null,
"httpCode": "200",
"ticket_data": {
"name": "ĐH01-2026 L1",
"ticket_id": "1196889",
"current_ticket_block_id": "1286443",
"status": "0",
"status_tag": "processing",
"username": "tranthib",
"assignees": [
"levanc"
],
"possible_actions": [
{
"key": "execute",
"url": "…/extapi/action/v1/ticket/execute",
"method": "POST",
"description": "Execute ticket",
"required_params": {
"access_token": "Access Token",
"username": "levanc",
"ticket_id": "1196889",
"intent": "Approve = \"approve\", Reject = \"reject\", Ask for more info = \"ask\""
},
"optional_params": {
"current_ticket_block_id": "1286443",
"root_content": "Ticket Description",
"root_file": "Ticket Attachments"
}
},
{
"key": "edit.custom.fields",
"url": "…/extapi/action/v1/ticket/edit.custom.fields",
"method": "POST",
"description": "Edit custom fields",
"required_params": {
"access_token": "Access Token",
"username": "levanc",
"ticket_id": "1196889",
"custom_field_ids": "Ticket Custom field keys, separated by commas"
},
"optional_params": {
"current_ticket_block_id": "1286443",
"service_file_pakd": "File PAKD"
}
}
]
}
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Phiếu & tiến độ ở trang nền tảng
- Tạo API key (tick kênh Base Service)
- Gọi theo ví dụ ở trên