Tài khoản
Lấy tài khoản
Trả về cấu hình của một tài khoản. Thông tin xác thực nhạy cảm chứa trong provider_data được cố ý loại bỏ khỏi phản hồi này. Trạng thái xác thực — bao gồm QR đang chờ và mã xác minh — được expose riêng qua nhóm Authentication.
https://api.unifyport.ai/v1/accounts/{account_id}Kênh được hỗ trợ
Trước khi gọi
Dùng X-Api-Key của workspace sở hữu tài nguyên trên máy chủ. Thay mọi giá trị mẫu trước khi chạy.
Nguồn tham số
- account_id
- Lấy data.id từ phản hồi tạo hoặc truy vấn tài khoản. ID thuộc workspace của X-Api-Key. Lấy tài khoản
Tham số yêu cầu
Tiêu đề
X-Api-KeyAPI key của không gian làm việc. Không gian làm việc được xác định từ tiêu đề này.
Tham số đường dẫn
account_idĐịnh danh dùng cho route accounts.
Nội dung yêu cầu
Điểm cuối này không cần nội dung JSON.
Hiểu kết quả
Đánh giá kết quả theo các trường phản hồi và trạng thái HTTP của API này, rồi chọn bước tiếp theo từ các thao tác liên quan.
Phản hồi 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"id": "acc_example",
"name": "Telegram Production",
"provider": "telegram",
"region": "global",
"status": "active",
"runtime_status": "running",
"auth_mode": "qrcode",
"capabilities": [
"send_message",
"receive_message"
],
"metadata": {
"env": "production"
},
"provider_account_ref": "provider-side-identifier",
"provider_profile": {
"id": "778899",
"phone": "8600000000000",
"username": "production_bot",
"display_name": "Production Bot",
"first_name": "Production",
"last_name": "Bot",
"avatar_url": "https://example.com/avatar.jpg",
"bio": "Customer support"
}
}
}
Nội dung phản hồi
provider_profileobjectHồ sơ do nhà cung cấp báo cáo, ví dụ display_name. Bị bỏ qua trước khi tài khoản được xác thực.
provider_profileHồ sơ do nhà cung cấp báo cáo, ví dụ display_name. Bị bỏ qua trước khi tài khoản được xác thực.
idĐịnh danh opaque của tài khoản trên kênh đã kết nối. Với WhatsApp, đây có thể là canonical LID không có hậu tố thiết bị.
device_idSố thiết bị đăng nhập tùy chọn trong chi tiết tài khoản WhatsApp khi xác định được phiên hiện tại. Có thể thay đổi sau khi xác thực lại và không phải mã thiết bị cố định.
minimum: 0 · maximum: 65535
phoneSố điện thoại đã chuẩn hóa, bỏ khoảng trắng, gạch nối và dấu + đầu.
usernameusername do provider báo cáo, nếu có.
display_nameTên hiển thị của tài khoản; với WhatsApp, tên này được tạo bằng cách ưu tiên BusinessName và dùng PushName làm giá trị dự phòng.
push_namePushName hiện được đặt trên tài khoản WhatsApp; các provider khác không định nghĩa ngữ nghĩa cho trường này.
business_nameWhatsApp BusinessName; trường này bị bỏ qua khi provider không trả về giá trị.
first_nameTên do provider báo cáo, nếu có.
last_nameHọ do provider báo cáo, nếu có.
avatar_urlURL avatar tài khoản do provider báo cáo.
bioTiểu sử hoặc trạng thái tài khoản do provider báo cáo.
platformĐịnh danh nền tảng đăng nhập do WhatsApp báo cáo khi ghép nối. Hãy coi đây là chuỗi opaque và chấp nhận giá trị chưa biết; các provider khác không định nghĩa ý nghĩa của trường này. Trường này khác với device_platform.
billingobjectChu kỳ đã trả chỉ tài khoản ví; không suy ra đã mua từ số dư.
billingChu kỳ đã trả chỉ tài khoản ví; không suy ra đã mua từ số dư.
period_start_atBắt đầu chu kỳ đã trả từ máy chủ.
format: date-time
period_end_atKết thúc chu kỳ đã trả từ máy chủ.
format: date-time
amount_minorSố tiền máy chủ cố định theo cent USD; xử lý số nguyên chính xác.
minimum: 1 · format: int64
currencyChỉ USD.
operation_idMã công khai từ billing.operation_id hoặc phản hồi xóa; dùng nguyên trong workspace cũ.
stateTrạng thái thanh toán hay thao tác không chứng minh xác thực, trực tuyến hoặc ghi có hoàn tiền.
enum: ACTIVE, DELETING, DELETED, COMPENSATED, REVIEW
idĐịnh danh tài khoản duy nhất (acc_...). Dùng trong các route theo phạm vi tài khoản.
nameTên tài khoản dễ đọc.
providerMã định danh kênh. Dùng nguyên giá trị API trả về trong các lần gọi sau; xem enum bên dưới để biết giá trị của API này.
enum: telegram, whatsapp, line, twitter, facebook, zalo, tiktok, whatsapp-protocol
regionKhu vực đầu ra mạng mặc định được chọn cho tài khoản.
statusTrạng thái vòng đời của tài khoản, ví dụ active.
runtime_statusTrạng thái runtime đã chuẩn hoá: một trong unknown, starting, running, stopping, stopped, reconnecting, disconnected hoặc error.
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeLuồng xác thực mà tài khoản dùng: code, qrcode hoặc session. TikTok hỗ trợ qrcode và session nhưng không hỗ trợ chuyển đổi giữa hai chế độ ngay trên tài khoản hiện có.
capabilities[]Các năng lực được bật cho tài khoản, ví dụ send_message và receive_message.
metadataNhãn môi trường của riêng bạn được lưu trên tài khoản.
provider_account_refĐịnh danh phía nhà cung cấp mà bạn có thể gắn để liên kết tài khoản với hệ thống của riêng mình.
proxyProxy do khách hàng cấu hình rõ ràng; không trả về thông tin xác thực đầu ra mặc định của nền tảng.
Phản hồi
200200 OK
Yêu cầu thành công. Xem ví dụ nội dung phản hồi.
400Bad Request
Body, đường dẫn hoặc tham số yêu cầu không hợp lệ.
401Unauthorized
Header X-Api-Key thiếu hoặc không hợp lệ.
403Forbidden
Yêu cầu đã được nhận diện nhưng thao tác không được phép.
404Not Found
Không tìm thấy tài nguyên được yêu cầu. Kiểm tra error.code cùng với thao tác hiện tại.
500Internal Server Error
Dịch vụ gặp lỗi không mong muốn.
Khi yêu cầu thất bại
Kiểm tra HTTP và error.code/numeric_code, giữ request_id. Sửa tham số, tiếp tục xác thực hoặc kiểm tra runtime tùy nguyên nhân. Xác nhận kết quả cũ trước khi thử lại thao tác gửi hoặc ghi. Tham chiếu mã lỗi
Đọc trạng thái HTTP, error.code và error.numeric_code theo thao tác đang gọi. Mã số có kiểu chuỗi. Giữ request_id để chẩn đoán; đây không phải khóa chống lặp hay mã tác vụ.
- invalid_request · 10000 · 400
Kiểm tra JSON và các trường bắt buộc.
Điều kiện: Áp dụng khi phần thân yêu cầu không rỗng nhưng Content-Type không phải application/json.
Xử lý và thử lại: Sửa tham số theo thao tác và điều kiện của kênh rồi mới gọi lại. Lặp lại yêu cầu sai y nguyên không khắc phục lỗi.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Content-Type must be application/json" } }- invalid_target_workspace · 11003 · 400
Đích ghi đè workspace trống hoặc sai định dạng. Bỏ tiêu đề ghi đè và dùng API Key thuộc workspace đích.
Điều kiện: Áp dụng khi yêu cầu có tiêu đề X-Workspace-Id để ghi đè workspace.
Xử lý và thử lại: Sửa tham số theo thao tác và điều kiện của kênh rồi mới gọi lại. Lặp lại yêu cầu sai y nguyên không khắc phục lỗi.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 400 · 11003
{ "request_id": "req_example", "error": { "code": "invalid_target_workspace", "numeric_code": "11003", "message": "Invalid target workspace" } }- invalid_api_key · 11001 · 401
Kiểm tra API Key có đúng và được bật hay không.
Xử lý và thử lại: Giữ request_id và mã lỗi có cấu trúc; kiểm tra thao tác hiện tại trước khi chọn hành động tiếp theo.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 401 · 11001
{ "request_id": "req_example", "error": { "code": "invalid_api_key", "numeric_code": "11001", "message": "Invalid API key" } }- missing_api_key · 11000 · 401
Thêm tiêu đề X-Api-Key.
Xử lý và thử lại: Giữ request_id và mã lỗi có cấu trúc; kiểm tra thao tác hiện tại trước khi chọn hành động tiếp theo.
Ví dụ · 401 · 11000
{ "request_id": "req_xxx", "error": { "code": "missing_api_key", "numeric_code": "11000", "message": "Missing X-Api-Key header" } }- workspace_override_forbidden · 11002 · 403
Yêu cầu cố ghi đè workspace mà API Key không được phép dùng. Bỏ tiêu đề ghi đè và dùng API Key thuộc workspace đích.
Điều kiện: Áp dụng khi yêu cầu có tiêu đề X-Workspace-Id để ghi đè workspace.
Xử lý và thử lại: Giữ request_id và mã lỗi có cấu trúc; kiểm tra thao tác hiện tại trước khi chọn hành động tiếp theo.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 403 · 11002
{ "request_id": "req_example", "error": { "code": "workspace_override_forbidden", "numeric_code": "11002", "message": "Workspace override is not allowed" } }- target_workspace_not_found · 11004 · 404
Không tìm thấy workspace được ghi đè hoặc workspace không khả dụng. Kiểm tra chủ sở hữu, bỏ tiêu đề ghi đè và dùng API Key của workspace đích; gọi lặp không cấp thêm quyền.
Điều kiện: Áp dụng khi yêu cầu có tiêu đề X-Workspace-Id để ghi đè workspace.
Xử lý và thử lại: Kiểm tra mã đích, chủ sở hữu tài nguyên và workspace hiện tại. Không coi đích đã xác nhận thiếu hoặc không truy cập được là lỗi dịch vụ tạm thời để tự thử lại.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 404 · 11004
{ "request_id": "req_example", "error": { "code": "target_workspace_not_found", "numeric_code": "11004", "message": "Target workspace not found" } }- get_account_failed · 20001 · 500
Lấy tài khoản: dịch vụ không tạo được kết quả truy vấn hợp lệ.
Xử lý và thử lại: Giữ request_id, kiểm tra mã định danh và quyền truy cập của tài khoản. Chỉ thử đọc lại sau khi kiểm tra nguyên nhân; truy vấn thất bại không chứng minh dữ liệu rỗng hay không tồn tại.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 500 · 20001
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20001", "message": "Failed to get account" } }- get_account_failed · 20020 · 500
Kiểm tra account_id và dùng X-Api-Key của không gian làm việc sở hữu tài khoản. Khóa hiện tại không truy cập được tài khoản không tìm thấy trong không gian này.
Điều kiện: Áp dụng khi không tìm thấy tài khoản; giữ trạng thái HTTP và code của thao tác, dùng numeric_code để làm rõ tài khoản bị thiếu.
Xử lý và thử lại: Kiểm tra mã đích, chủ sở hữu tài nguyên và workspace hiện tại. Không coi đích đã xác nhận thiếu hoặc không truy cập được là lỗi dịch vụ tạm thời để tự thử lại.
JSON minh họa; message thay đổi theo nguyên nhân thực tế · 500 · 20020
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20020", "message": "Account not found" } }