Phê duyệt
phe duyetHàng chờ duyệt hai người (maker–checker) và độ sẵn sàng người duyệt của công ty. hang cho duyet hai nguoi (maker–checker) va do san sang nguoi duyet cua cong ty.Hàng chờ duyệt hai người (maker–checker) và độ sẵn sàng người duyệt của công ty.
Endpoint
Phần tiêu đề “Endpoint”| Method | Path | Tóm tắt | Quyền | Nhóm tốc độ | Tương tác |
|---|---|---|---|---|---|
GET | /v1/approvals | Hàng chờ phê duyệt (mọi loại) | approval.read | read | Scalar |
GET | /v1/approvals/readiness | Ai có thể duyệt tại một công ty | approval.read | read | Scalar |
GET | /v1/approvals/{id} | Chi tiết một yêu cầu phê duyệt | approval.read | read | Scalar |
Chi tiết endpoint
Phần tiêu đề “Chi tiết endpoint”GET /v1/approvals
Phần tiêu đề “GET /v1/approvals”Hàng chờ phê duyệt (mọi loại)
Yêu cầu của các công ty người gọi truy cập được; với vai trò chỉ xem của chính mình thì chỉ thấy yêu cầu do mình đề nghị. Việc duyệt hoặc từ chối nằm ở route của đối tượng được duyệt.
Quyền: approval.read- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách yêu cầu. —ApprovalList,application/json - Mã lỗi riêng của endpoint:
invalid_cursor
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
limit | query | Không | integer | Số phần tử mỗi trang (1–100, mặc định 20). |
cursor | query | Không | Cursor | Con trỏ phân trang mờ (cur_…) lấy từ next_cursor; không tự tạo hay sửa. |
state | query | Không | string | — |
kind | query | Không | string | — |
company_id | query | Không | OrgId | Mã công ty / tổ chức (org_…). |
approver | query | Không | string | me: chỉ yêu cầu đang chờ chính người gọi quyết định (chưa quyết và không do họ đề nghị). |
curl -sS -X GET "https://api.dongtien.pro/v1/approvals" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/approvals");import os
from dongtien import DongTienfrom dongtien_api.api.phe_duyet import list_approvals
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_approvals.sync(client=dt.client)GET /v1/approvals/readiness
Phần tiêu đề “GET /v1/approvals/readiness”Ai có thể duyệt tại một công ty
Chỉ đọc: không ghi gì. Công ty ngoài phạm vi người gọi → 404.
- Nhóm tốc độ:
read - Phản hồi thành công
200: Tình trạng sẵn sàng duyệt. —ApprovalReadiness,application/json - Mã lỗi: chỉ các mã lỗi chung ở Tổng quan
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
company_id | query | Có | OrgId | Mã công ty / tổ chức (org_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/approvals/readiness?company_id=org_0f5k2m9q4h7t3n8r6v1w0x5yz0" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/approvals/readiness", { params: { query: { "company_id": "org_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.phe_duyet import get_approval_readiness
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_approval_readiness.sync(client=dt.client, company_id="org_0f5k2m9q4h7t3n8r6v1w0x5yz0")GET /v1/approvals/{id}
Phần tiêu đề “GET /v1/approvals/{id}”Chi tiết một yêu cầu phê duyệt
Quyền: approval.read- Nhóm tốc độ:
read - Phản hồi thành công
200: Yêu cầu. —Approval,application/json - Mã lỗi riêng của endpoint:
resource_not_found
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | ApprovalRequestId | Mã yêu cầu duyệt (apr_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/approvals/$ID" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.GET("/v1/approvals/{id}", { params: { path: { "id": "apr_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.phe_duyet import get_approval
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_approval.sync(id="apr_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)Đối tượng
Phần tiêu đề “Đối tượng”ApprovalList
Phần tiêu đề “ApprovalList”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
data | Approval[] | Có | — |
data[].checker_user_id | string | null | Có | Người quyết định; null khi chưa quyết định. |
data[].company_id | OrgId | Có | — |
data[].created_at | Timestamp | Có | — |
data[].decided_at | Timestamp | null | Có | — |
data[].decision_reason | string | null | Có | — |
data[].expires_at | Timestamp | Có | — |
data[].id | ApprovalRequestId | Có | — |
data[].kind | string | Có | Giá trị: allocation, obligation_allocation, partner_create, split_rule_version, payout_variance_recognition, export_batch, period_lock, period_unlock, mapping_change, category_retro_apply, tx_verify_manual, quarantine_release, merge_locked_period, shift_close, company_delete, flag_change, plan_change. |
data[].maker_user_id | string | Có | Người đề nghị. |
data[].reason | string | null | Có | — |
data[].self_approved | boolean | Có | Người đề nghị tự duyệt theo chính sách một người duyệt. |
data[].state | string | Có | Giá trị: pending, approved, rejected, withdrawn, expired. |
data[].subject_id | string | Có | — |
data[].subject_type | string | Có | — |
has_more | boolean | Có | — |
next_cursor | string | null | Có | Con trỏ trang kế; null khi hết dữ liệu. |
object | string | Có | Giá trị: list. |
ApprovalReadiness
Phần tiêu đề “ApprovalReadiness”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
auto_disabled | boolean | Có | — |
company_id | OrgId | Có | — |
eligible_approvers | integer | Có | Số người có thể duyệt tại công ty. |
has_chief | boolean | Có | — |
needs_more_approvers | boolean | Có | Công ty chưa có ai ngoài người đề nghị có thể duyệt (hiện biểu ngữ cảnh báo). |
self_approval_allowed | boolean | Có | — |
self_approval_enabled | boolean | Có | — |
solo_self_approve_limit | string | null | Có | Hạn mức tự duyệt (VND, dạng chuỗi số); null khi không đặt. |
Approval
Phần tiêu đề “Approval”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
checker_user_id | string | null | Có | Người quyết định; null khi chưa quyết định. |
company_id | OrgId | Có | — |
created_at | Timestamp | Có | — |
decided_at | Timestamp | null | Có | — |
decision_reason | string | null | Có | — |
expires_at | Timestamp | Có | — |
id | ApprovalRequestId | Có | — |
kind | string | Có | Giá trị: allocation, obligation_allocation, partner_create, split_rule_version, payout_variance_recognition, export_batch, period_lock, period_unlock, mapping_change, category_retro_apply, tx_verify_manual, quarantine_release, merge_locked_period, shift_close, company_delete, flag_change, plan_change. |
maker_user_id | string | Có | Người đề nghị. |
reason | string | null | Có | — |
self_approved | boolean | Có | Người đề nghị tự duyệt theo chính sách một người duyệt. |
state | string | Có | Giá trị: pending, approved, rejected, withdrawn, expired. |
subject_id | string | Có | — |
subject_type | string | Có | — |