Tham chiếu API
Xác thựcPOST

Bắt đầu xác thực bằng mã

Khởi động luồng đăng nhập bằng mã. Sau lệnh này, gửi mã qua /auth/code. Nếu cần 2FA thì tiếp tục với /auth/password. WhatsApp cũng dùng endpoint này để ghép cặp bằng số điện thoại — số điện thoại được đọc từ tài khoản (đã lưu khi tạo qua provider_data.phone) và không cần cung cấp tại đây.

https://api.unifyport.ai/v1/accounts/{account_id}/auth/start

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.

Content-Type
stringbắt buộc

Dùng application/json khi gửi nội dung yêu cầu JSON.

Tham số đường dẫn

account_id
stringbắt buộc

Định danh dùng cho route authentication.

Nội dung yêu cầu

Điểm cuối này không cần nội dung JSON.

Nội dung phản hồi

account_id
string

Tài khoản nhà cung cấp mà phản hồi này tham chiếu tới.

status
string

Trạng thái hiện tại của luồng xác thực, ví dụ awaiting_code, awaiting_qr_scan, authorized hoặc cancelled.

auth_fields
object[]

Mô tả những gì bước tiếp theo yêu cầu — mỗi mục mang một type và việc nó có bắt buộc hay không.

auth_payload
object

Tài liệu mà client cần để hiển thị bước tiếp theo, ví dụ qr_code hoặc verify_code.

expires_at
string

Dấu thời gian RFC3339 mà sau đó auth_payload hiện tại không còn hợp lệ.

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

409
Conflict

Thao tác đang yêu cầu xung đột với tài khoản hoặc tài nguyên nhà cung cấp đã có.

500
Internal Server Error

Dịch vụ gặp lỗi không mong muốn.

Yêu cầu

curl -X POST https://api.unifyport.ai/v1/accounts/{account_id}/auth/start \
  -H "X-Api-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{}'

Phản hồi

{
  "data": {
    "account_id": "acc_example",
    "status": "awaiting_code",
    "auth_fields": [
      { "type": "code", "required": true }
    ],
    "auth_payload": {
      "verify_code": "ABCD-EFGH"
    },
    "expires_at": "2026-01-01T00:00:00Z"
  }
}