Tham chiếu API

Nhà cung cấp

Liệt kê khu vực của nhà cung cấp

Trả về các khu vực mà provider đã được triển khai. supported cho biết provider có chạy trong khu vực hay không; allocatable cho biết các tài khoản mới hiện có thể được bind vào đó hay không.

GEThttps://api.unifyport.ai/v1/providers/{provider}/regions

Kênh được hỗ trợ

all

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.

Tham số yêu cầu

Tiêu đề

X-Api-Key
stringbắt buộc

API 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

provider
stringbắt buộc

Định danh dùng cho route providers.

enum: telegram, whatsapp, line, twitter, zalo, tiktok, whatsapp-protocol, x, x_client, twitter_client

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": {
    "provider": "telegram",
    "regions": [
      {
        "region": "global",
        "supported": true,
        "allocatable": true
      }
    ]
  }
}

Nội dung phản hồi

provider
string

Mã đị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, zalo, tiktok, whatsapp-protocol

regions[]
object[]

Danh sách khu vực; mỗi mục có cờ supported và allocatable.

region
string

Định danh khu vực triển khai provider.

supported
boolean

Provider có hoạt động trong khu vực này hay không.

allocatable
boolean

Hiện có thể cấp phát tài khoản mới trong khu vực này hay không.

Phản hồi

200

200 OK

Yêu cầu thành công. Xem ví dụ nội dung phản hồi.

400

Bad Request

Body, đường dẫn hoặc tham số yêu cầu không hợp lệ.

401

Unauthorized

Header X-Api-Key thiếu hoặc không hợp lệ.

403

Forbidden

Yêu cầu đã được nhận diện nhưng thao tác không được phép.

404

Not 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.

500

Internal 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_provider · 30000 · 400

Kiểm tra mã kênh trong URL.

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 · 30000
{
  "request_id": "req_example",
  "error": {
    "code": "invalid_provider",
    "numeric_code": "30000",
    "message": "Invalid provider parameter"
  }
}
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"
  }
}
list_provider_regions_failed · 30011 · 500

Liệt kê khu vực của nhà cung cấp: 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 · 30011
{
  "request_id": "req_example",
  "error": {
    "code": "list_provider_regions_failed",
    "numeric_code": "30011",
    "message": "Failed to list provider regions"
  }
}