Đối tác
doi tacĐối tác thanh toán, khoản thu dự kiến và công việc theo dõi công nợ. doi tac thanh toan, khoan thu du kien va cong viec theo doi cong no.Đối tác thanh toán, khoản thu dự kiến và công việc theo dõi công nợ.
Endpoint
Phần tiêu đề “Endpoint”| Method | Path | Tóm tắt | Quyền | Nhóm tốc độ | Tương tác |
|---|---|---|---|---|---|
GET | /v1/counterparties | Danh sách đối tượng (khách hàng, nhà cung cấp) | counterparty.read | read | Scalar |
POST | /v1/counterparties | Tạo đối tượng mới | counterparty.write | write | Scalar |
GET | /v1/counterparties/{id} | Chi tiết đối tượng | counterparty.read | read | Scalar |
PATCH | /v1/counterparties/{id} | Cập nhật đối tượng | counterparty.write | write | Scalar |
POST | /v1/counterparties/{id}:refresh-tax-status | Làm mới trạng thái thuế từ masothue.pro | counterparty.write | write | Scalar |
POST | /v1/counterparties:merge | Gộp 2 đối tượng trong cùng công ty | counterparty.merge | write | Scalar |
GET | /v1/settlement/connections | Danh sách kết nối gian hàng | settlement.read | read | Scalar |
PUT | /v1/settlement/connections | Tạo hoặc cập nhật kết nối gian hàng | partner.write | write | Scalar |
POST | /v1/settlement/connections/{id}:reconnect | Cấp lại xác thực OAuth gian hàng | partner.write | write | Scalar |
GET | /v1/settlement/partners | Danh sách đối tác sàn/hãng/CTV | settlement.read | read | Scalar |
POST | /v1/settlement/partners | Tạo đối tác mới | partner.write | write | Scalar |
GET | /v1/settlement/partners/{id} | Chi tiết đối tác | settlement.read | read | Scalar |
PATCH | /v1/settlement/partners/{id} | Cập nhật thông tin đối tác | partner.write | write | Scalar |
GET | /v1/settlement/partners/{id}/members | Danh sách thành viên CTV của đối tác | settlement.read | read | Scalar |
POST | /v1/settlement/partners/{id}/members:import | Nhập danh sách thành viên CTV | partner.write | write | Scalar |
POST | /v1/settlement/partners/{id}:approve | Duyệt kích hoạt đối tác | partner.approve | write | Scalar |
POST | /v1/settlement/partners/{id}:reject | Từ chối duyệt đối tác | partner.approve | write | Scalar |
Chi tiết endpoint
Phần tiêu đề “Chi tiết endpoint”GET /v1/counterparties
Phần tiêu đề “GET /v1/counterparties”Danh sách đối tượng (khách hàng, nhà cung cấp)
Quyền: counterparty.read- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách đối tác —CounterpartyList,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. |
company_id | query | Không | OrgId | Mã công ty / tổ chức (org_…). |
kind | query | Không | string | — |
q | query | Không | string | — |
curl -sS -X GET "https://api.dongtien.pro/v1/counterparties" \ -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/counterparties");import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import list_counterparties
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_counterparties.sync(client=dt.client)POST /v1/counterparties
Phần tiêu đề “POST /v1/counterparties”Tạo đối tượng mới
Quyền: counterparty.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
201: Đối tác đã được tạo —object,application/json - Mã lỗi riêng của endpoint:
conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
company_id | query | Không | OrgId | Mã công ty / tổ chức (org_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/counterparties" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Công ty TNHH Thương mại Sao Việt", "kind": "customer", "tax_code": "0312345678", "address": "25 Nguyễn Huệ, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh", "phone": "0901234567", "email": "ketoan@saoviet.vn", "bank_accounts": [ { "bank_code": "VCB", "account_number": "0011004567890", "account_holder": "CONG TY TNHH THUONG MAI SAO VIET" } ]}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/counterparties", { body: { "name": "Công ty TNHH Thương mại Sao Việt", "kind": "customer", "tax_code": "0312345678", "address": "25 Nguyễn Huệ, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh", "phone": "0901234567", "email": "ketoan@saoviet.vn", "bank_accounts": [ { "bank_code": "VCB", "account_number": "0011004567890", "account_holder": "CONG TY TNHH THUONG MAI SAO VIET" } ] },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import create_counterparty
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = create_counterparty.sync( client=dt.client, body={ "name": "Công ty TNHH Thương mại Sao Việt", "kind": "customer", "tax_code": "0312345678", "address": "25 Nguyễn Huệ, Phường Bến Nghé, Quận 1, TP. Hồ Chí Minh", "phone": "0901234567", "email": "ketoan@saoviet.vn", "bank_accounts": [ { "bank_code": "VCB", "account_number": "0011004567890", "account_holder": "CONG TY TNHH THUONG MAI SAO VIET", }, ], }, )GET /v1/counterparties/{id}
Phần tiêu đề “GET /v1/counterparties/{id}”Chi tiết đối tượng
Quyền: counterparty.read- Nhóm tốc độ:
read - Phản hồi thành công
200: Chi tiết đối tác —object,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ó | CounterpartyId | Mã đối tác (cpt_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/counterparties/$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/counterparties/{id}", { params: { path: { "id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import get_counterparty
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_counterparty.sync(id="cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)PATCH /v1/counterparties/{id}
Phần tiêu đề “PATCH /v1/counterparties/{id}”Cập nhật đối tượng
Quyền: counterparty.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Đối tác đã cập nhật —object,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | CounterpartyId | Mã đối tác (cpt_…). |
curl -sS -X PATCH "https://api.dongtien.pro/v1/counterparties/$ID" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "kind": "customer"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PATCH("/v1/counterparties/{id}", { params: { path: { "id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "kind": "customer" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import update_counterparty
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_counterparty.sync( id="cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body={ "kind": "customer", }, )POST /v1/counterparties/{id}:refresh-tax-status
Phần tiêu đề “POST /v1/counterparties/{id}:refresh-tax-status”Làm mới trạng thái thuế từ masothue.pro
Quyền: counterparty.write- Nhóm tốc độ:
write - Phản hồi thành công
200: Trạng thái thuế đã làm mới —object,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | CounterpartyId | Mã đối tác (cpt_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/counterparties/$ID:refresh-tax-status" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/counterparties/{id}:refresh-tax-status", { params: { path: { "id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import refresh_counterparty_tax_status
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = refresh_counterparty_tax_status.sync(id="cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)POST /v1/counterparties:merge
Phần tiêu đề “POST /v1/counterparties:merge”Gộp 2 đối tượng trong cùng công ty
Quyền: counterparty.merge- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Gộp thành công —object,application/json - Mã lỗi riêng của endpoint:
conflict
curl -sS -X POST "https://api.dongtien.pro/v1/counterparties:merge" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "source_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", "target_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/counterparties:merge", { body: { "source_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", "target_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import merge_counterparties
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = merge_counterparties.sync( client=dt.client, body={ "source_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", "target_id": "cpt_0f5k2m9q4h7t3n8r6v1w0x5yz0", }, )GET /v1/settlement/connections
Phần tiêu đề “GET /v1/settlement/connections”Danh sách kết nối gian hàng
Quyền: settlement.read Scope: settlement:read- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách kết nối. —object,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ả |
|---|---|---|---|---|
partner_id | query | Không | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/settlement/connections" \ -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/settlement/connections");import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import list_connections
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_connections.sync(client=dt.client)PUT /v1/settlement/connections
Phần tiêu đề “PUT /v1/settlement/connections”Tạo hoặc cập nhật kết nối gian hàng
Quyền: partner.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
UpsertConnectionBody(application/json) - Phản hồi thành công
200: Kết nối đã được lưu. —PlatformConnection,application/json - Mã lỗi riêng của endpoint:
conflict
curl -sS -X PUT "https://api.dongtien.pro/v1/settlement/connections" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "partner_id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", "platform": "shopee", "shop_id": "shopee_88123456", "shop_name": "Cửa hàng Minh Anh", "mode": "excel"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PUT("/v1/settlement/connections", { body: { "partner_id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", "platform": "shopee", "shop_id": "shopee_88123456", "shop_name": "Cửa hàng Minh Anh", "mode": "excel" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import upsert_connectionfrom dongtien_api.models import UpsertConnectionBody
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = upsert_connection.sync( client=dt.client, body=UpsertConnectionBody.from_dict({ "partner_id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", "platform": "shopee", "shop_id": "shopee_88123456", "shop_name": "Cửa hàng Minh Anh", "mode": "excel", }), )POST /v1/settlement/connections/{id}:reconnect
Phần tiêu đề “POST /v1/settlement/connections/{id}:reconnect”Cấp lại xác thực OAuth gian hàng
Quyền: partner.write- Nhóm tốc độ:
write - Phản hồi thành công
200: Đường dẫn cấp lại xác thực. —object,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | PlatformConnectionId | Mã kết nối gian hàng (plc_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/settlement/connections/$ID:reconnect" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/settlement/connections/{id}:reconnect", { params: { path: { "id": "plc_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import reconnect_connection
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = reconnect_connection.sync(id="plc_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)GET /v1/settlement/partners
Phần tiêu đề “GET /v1/settlement/partners”Danh sách đối tác sàn/hãng/CTV
Liệt kê danh sách đối tác đối soát theo tổ chức.
Quyền: settlement.read Scope: settlement:read- Nhóm tốc độ:
read - Phản hồi thành công
200: Danh sách đối tác. —PartnerList,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ả |
|---|---|---|---|---|
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. |
limit | query | Không | integer | — |
kind | query | Không | PartnerKind | marketplace sàn TMĐT · agent đại lý bán lẻ · brand_consignor hãng/chủ hàng ký gửi · ctv_group nhóm cộng tác viên. |
state | query | Không | PartnerState | draft mới tạo · pending_approval chờ duyệt · active đang hoạt động · archived lưu trữ. |
curl -sS -X GET "https://api.dongtien.pro/v1/settlement/partners" \ -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/settlement/partners");import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import list_partners
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_partners.sync(client=dt.client)POST /v1/settlement/partners
Phần tiêu đề “POST /v1/settlement/partners”Tạo đối tác mới
Tạo đối tác ở trạng thái draft. Đối tác mới cần phê duyệt trước khi kích hoạt sinh nghĩa vụ.
- Nhóm tốc độ:
write - Nội dung yêu cầu:
CreatePartnerBody(application/json) - Phản hồi thành công
201: Đối tác đã tạo thành công. —Partner,application/json - Mã lỗi riêng của endpoint:
conflict
curl -sS -X POST "https://api.dongtien.pro/v1/settlement/partners" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "kind": "ctv_group", "name": "Nhóm CTV Hà Nội", "legal_name": "Công ty TNHH Thương mại Minh Anh", "mst": "0312345678", "cycle": { "kind": "monthly" }, "payment_terms_days": 7, "data_source": "excel"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/settlement/partners", { body: { "kind": "ctv_group", "name": "Nhóm CTV Hà Nội", "legal_name": "Công ty TNHH Thương mại Minh Anh", "mst": "0312345678", "cycle": { "kind": "monthly" }, "payment_terms_days": 7, "data_source": "excel" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import create_partnerfrom dongtien_api.models import CreatePartnerBody
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = create_partner.sync( client=dt.client, body=CreatePartnerBody.from_dict({ "kind": "ctv_group", "name": "Nhóm CTV Hà Nội", "legal_name": "Công ty TNHH Thương mại Minh Anh", "mst": "0312345678", "cycle": { "kind": "monthly", }, "payment_terms_days": 7, "data_source": "excel", }), )GET /v1/settlement/partners/{id}
Phần tiêu đề “GET /v1/settlement/partners/{id}”Chi tiết đối tác
Lấy thông tin chi tiết của một đối tác.
Quyền: settlement.read Scope: settlement:read- Nhóm tốc độ:
read - Phản hồi thành công
200: Chi tiết đối tác. —Partner,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ó | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/settlement/partners/$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/settlement/partners/{id}", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import get_partner
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = get_partner.sync(id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)PATCH /v1/settlement/partners/{id}
Phần tiêu đề “PATCH /v1/settlement/partners/{id}”Cập nhật thông tin đối tác
Quyền: partner.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
UpdatePartnerBody(application/json) - Phản hồi thành công
200: Thông tin đã cập nhật. —Partner,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X PATCH "https://api.dongtien.pro/v1/settlement/partners/$ID" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "kind": "marketplace", "cycle": { "kind": "daily" }, "payment_terms_days": 0, "data_source": "excel"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.PATCH("/v1/settlement/partners/{id}", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "kind": "marketplace", "cycle": { "kind": "daily" }, "payment_terms_days": 0, "data_source": "excel" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import update_partnerfrom dongtien_api.models import UpdatePartnerBody
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = update_partner.sync( id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body=UpdatePartnerBody.from_dict({ "kind": "marketplace", "cycle": { "kind": "daily", }, "payment_terms_days": 0, "data_source": "excel", }), )GET /v1/settlement/partners/{id}/members
Phần tiêu đề “GET /v1/settlement/partners/{id}/members”Danh sách thành viên CTV của đối tác
STK và MST chỉ trả dạng đã che; bản đầy đủ nằm mã hoá trong cơ sở dữ liệu và không bao giờ ra ngoài API.
Quyền: settlement.read Scope: settlement:read- Nhóm tốc độ:
read - Phản hồi thành công
200: Thành viên của đối tác. —object,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ó | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X GET "https://api.dongtien.pro/v1/settlement/partners/$ID/members" \ -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/settlement/partners/{id}/members", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import list_partner_members
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = list_partner_members.sync(id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)POST /v1/settlement/partners/{id}/members:import
Phần tiêu đề “POST /v1/settlement/partners/{id}/members:import”Nhập danh sách thành viên CTV
Nhập file Excel chứa tên, MST/CCCD, STK ngân hàng. Dữ liệu PII được mã hoá AES-256-GCM tại cột lưu trữ.
Quyền: partner.write- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Kết quả nhập thành viên. —object,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/settlement/partners/$ID/members:import" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "members": [ { "name": "Nguyễn Văn An", "tax_id": "8012345678", "bank_account": "0123456789", "bank_bin": "970436" } ]}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/settlement/partners/{id}/members:import", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "members": [ { "name": "Nguyễn Văn An", "tax_id": "8012345678", "bank_account": "0123456789", "bank_bin": "970436" } ] },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import import_partner_members
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = import_partner_members.sync( id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body={ "members": [ { "name": "Nguyễn Văn An", "tax_id": "8012345678", "bank_account": "0123456789", "bank_bin": "970436", }, ], }, )POST /v1/settlement/partners/{id}:approve
Phần tiêu đề “POST /v1/settlement/partners/{id}:approve”Duyệt kích hoạt đối tác
Maker-checker: Người duyệt phải khác người tạo đối tác.
Quyền: partner.approve- Nhóm tốc độ:
write - Phản hồi thành công
200: Đối tác đã được kích hoạt. —Partner,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/settlement/partners/$ID:approve" \ -H "Authorization: Bearer $DT_API_KEY"import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/settlement/partners/{id}:approve", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import approve_partner
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = approve_partner.sync(id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client)POST /v1/settlement/partners/{id}:reject
Phần tiêu đề “POST /v1/settlement/partners/{id}:reject”Từ chối duyệt đối tác
Quyền: partner.approve- Nhóm tốc độ:
write - Nội dung yêu cầu:
object(application/json) - Phản hồi thành công
200: Đối tác đã bị từ chối. —Partner,application/json - Mã lỗi riêng của endpoint:
resource_not_found,conflict
Tham số
Phần tiêu đề “Tham số”| Tên | Vị trí | Bắt buộc | Kiểu | Mô tả |
|---|---|---|---|---|
id | path | Có | PartnerId | Mã đối tác sàn/hãng/CTV (ptn_…). |
curl -sS -X POST "https://api.dongtien.pro/v1/settlement/partners/$ID:reject" \ -H "Authorization: Bearer $DT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "reason": "Thiếu hồ sơ pháp lý của đối tác"}'import { createClient } from "@dongtien/sdk";
const dt = createClient({ apiKey: process.env.DT_API_KEY! });
const { data } = await dt.POST("/v1/settlement/partners/{id}:reject", { params: { path: { "id": "ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0" }, }, body: { "reason": "Thiếu hồ sơ pháp lý của đối tác" },});import os
from dongtien import DongTienfrom dongtien_api.api.doi_tac import reject_partner
with DongTien(api_key=os.environ["DT_API_KEY"]) as dt: result = reject_partner.sync( id="ptn_0f5k2m9q4h7t3n8r6v1w0x5yz0", client=dt.client, body={ "reason": "Thiếu hồ sơ pháp lý của đối tác", }, )Đối tượng
Phần tiêu đề “Đối tượng”CounterpartyList
Phần tiêu đề “CounterpartyList”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
data | object[] | Có | — |
data[].address | string | null | Không | — |
data[].bank_accounts | object[] | Không | — |
data[].email | string | null | Không | — |
data[].id | CounterpartyId | Có | — |
data[].kind | string | Có | Giá trị: customer, vendor, both, retail_customer, marketplace, other. |
data[].last_tx_at | Timestamp | null | Không | — |
data[].name | string | Có | — |
data[].name_norm | string | Có | — |
data[].notes | string | null | Không | — |
data[].org_id | OrgId | Có | — |
data[].phone | string | null | Không | — |
data[].tax_code | string | null | Không | — |
data[].tax_status | string | null | Không | — |
data[].tax_status_checked_at | Timestamp | null | Không | — |
data[].tax_status_stale | boolean | Không | — |
data[].total_90d | Vnd | Không | — |
data[].tx_count_90d | integer | Không | — |
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. |
UpsertConnectionBody
Phần tiêu đề “UpsertConnectionBody”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
mode | string | Có | Giá trị: excel, api_seller, manual. |
partner_id | PartnerId | Có | — |
platform | SettlementPlatform | Có | Giá trị: shopee, tiktok, lazada. |
shop_id | string | Có | — |
shop_name | string | Không | — |
token_sealed | string | Không | — |
PlatformConnection
Phần tiêu đề “PlatformConnection”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
created_at | Timestamp | Có | — |
id | PlatformConnectionId | Có | — |
last_sync_at | Timestamp | null | Không | — |
mode | PlatformConnectionMode | Có | Giá trị: excel, api_seller, manual. |
partner_id | PartnerId | Có | — |
platform | SettlementPlatform | Có | Giá trị: shopee, tiktok, lazada. |
shop_id | string | Có | — |
shop_name | string | null | Không | — |
sync_status | string | Có | Giá trị: ok, error, reauth_required. |
token_expires_at | Timestamp | null | Không | — |
updated_at | Timestamp | Có | — |
PartnerList
Phần tiêu đề “PartnerList”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
data | Partner[] | Có | — |
data[].approved_by | UserId | null | Không | — |
data[].bank_account_ref | string | null | Không | — |
data[].created_at | Timestamp | Có | — |
data[].created_by | UserId | null | Không | — |
data[].cycle | PartnerCycle | Có | — |
data[].data_source | string | Có | Giá trị: excel, api_seller, manual. |
data[].id | PartnerId | Có | — |
data[].internal_note | string | null | Không | — |
data[].kind | PartnerKind | Có | Giá trị: marketplace, agent, brand_consignor, ctv_group. |
data[].legal_name | string | null | Không | — |
data[].mst | string | null | Không | — |
data[].name | string | Có | — |
data[].org_id | OrgId | Có | — |
data[].payment_terms_days | integer | Có | — |
data[].state | PartnerState | Có | Giá trị: draft, pending_approval, active, archived. |
data[].updated_at | Timestamp | 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. |
CreatePartnerBody
Phần tiêu đề “CreatePartnerBody”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
bank_account_ref | string | Không | — |
cycle | object | Có | — |
cycle.kind | string | Có | Giá trị: daily, weekly, monthly, biweekly. |
cycle.params | map<string, any> | Không | — |
data_source | string | Không | Giá trị: excel, api_seller, manual. |
internal_note | string | Không | — |
kind | PartnerKind | Có | Giá trị: marketplace, agent, brand_consignor, ctv_group. |
legal_name | string | Không | — |
mst | string | Không | — |
name | string | Có | — |
payment_terms_days | integer | Không | — |
Partner
Phần tiêu đề “Partner”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
approved_by | UserId | null | Không | — |
bank_account_ref | string | null | Không | — |
created_at | Timestamp | Có | — |
created_by | UserId | null | Không | — |
cycle | PartnerCycle | Có | — |
cycle.kind | string | Có | Giá trị: daily, weekly, monthly, biweekly. |
cycle.params | map<string, any> | Không | — |
data_source | string | Có | Giá trị: excel, api_seller, manual. |
id | PartnerId | Có | — |
internal_note | string | null | Không | — |
kind | PartnerKind | Có | Giá trị: marketplace, agent, brand_consignor, ctv_group. |
legal_name | string | null | Không | — |
mst | string | null | Không | — |
name | string | Có | — |
org_id | OrgId | Có | — |
payment_terms_days | integer | Có | — |
state | PartnerState | Có | Giá trị: draft, pending_approval, active, archived. |
updated_at | Timestamp | Có | — |
UpdatePartnerBody
Phần tiêu đề “UpdatePartnerBody”| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
bank_account_ref | string | Không | — |
cycle | object | Không | — |
cycle.kind | string | Có | Giá trị: daily, weekly, monthly, biweekly. |
cycle.params | map<string, any> | Không | — |
data_source | string | Không | Giá trị: excel, api_seller, manual. |
internal_note | string | Không | — |
kind | PartnerKind | Không | Giá trị: marketplace, agent, brand_consignor, ctv_group. |
legal_name | string | Không | — |
mst | string | Không | — |
name | string | Không | — |
payment_terms_days | integer | Không | — |