เอกสารอ้างอิง API

การอนุญาตบัญชี

นำเข้า session

ทำการยืนยันให้เสร็จด้วยการนำเข้า session URL หรือ cookie/session ที่มีอยู่ ในตัวอย่าง client ให้ใช้ค่าตัวแทนและไม่บันทึก session จริงลง log

POSThttps://api.unifyport.ai/v1/accounts/{account_id}/auth/session

ก่อนเรียกใช้

ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้

WhatsApp Protocol เป็นช่องทางแยกต่างหาก โดยใช้ provider=whatsapp-protocol ปัจจุบันรองรับเฉพาะการนำเข้าเซสชัน (auth_mode=session) เพื่อให้สิทธิ์บัญชีด้วยข้อมูลเซสชันที่มีอยู่ การให้สิทธิ์ WhatsApp Protocol

ที่มาของพารามิเตอร์
account_id
รับ data.id จากการสร้างหรือค้นหาบัญชี รหัสเป็นของ workspace ที่ระบุด้วย X-Api-Key ดูบัญชี

พารามิเตอร์คำขอ

ส่วนหัว

X-Api-Key
stringจำเป็น

API key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้

Content-Type
stringจำเป็น

ใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON

พารามิเตอร์ใน path

account_id
stringจำเป็น

ตัวระบุที่ใช้ใน route ของ authentication

เนื้อหาของคำขอ

session_url
string

URL หรือ reference ของ session artifact ที่มีอยู่ของผู้ให้บริการ

format: uri

whatsapp-protocol
object

ข้อมูลรับรองสำหรับนำเข้าเซสชัน WhatsApp Protocol ส่งได้เฉพาะที่ /v1/accounts/{account_id}/auth/session ผ่านออบเจ็กต์ซ้อนนี้ ไม่ใช่ provider_data เมื่อระบุออบเจ็กต์นี้ ต้องมี phone, static_pub_key, static_pri_key, identity_pub_key และ identity_pri_key การตอบกลับไม่ส่งคืนคีย์โปรโตคอลหรือข้อมูลรับรองที่ละเอียดอ่อนอื่น phone ใช้ตรวจสอบความสอดคล้องของตัวตน ส่วนคีย์สาธารณะและคีย์ส่วนตัวของโปรโตคอลใช้เฉพาะสำหรับเริ่มต้นระบบต้นทาง แพลตฟอร์มใส่ edge_routing แบบตายตัว ห้ามผู้เรียกส่งฟิลด์นี้

phone
string

หมายเลขโทรศัพท์มีช่องว่าง ขีด วงเล็บ หรือเครื่องหมายบวกได้ เซิร์ฟเวอร์จะปรับให้เป็นสตริงตัวเลขจำนวนบวก

minLength: 1

platform
integer

ค่าแพลตฟอร์มสำหรับนำเข้าเซสชัน WhatsApp Protocol (int32)

format: int32

app_version
string

เวอร์ชันแอปสำหรับนำเข้าเซสชัน WhatsApp Protocol

server_address
string

ที่อยู่เซิร์ฟเวอร์ของ provider สำหรับนำเข้าเซสชัน WhatsApp Protocol

fallback_server_addresses[]
string[]

รายการที่อยู่เซิร์ฟเวอร์สำรองสำหรับนำเข้าเซสชัน WhatsApp Protocol

country
string

รหัสประเทศสำหรับนำเข้าเซสชัน WhatsApp Protocol

device
integer

ค่าอุปกรณ์สำหรับนำเข้าเซสชัน WhatsApp Protocol (uint32)

format: uint32

static_pub_key
string

คีย์สาธารณะของโปรโตคอล เขียนได้อย่างเดียว

minLength: 1

static_pri_key
string

คีย์ส่วนตัวของโปรโตคอล เขียนได้อย่างเดียว

minLength: 1

identity_pub_key
string

คีย์สาธารณะของตัวตน เขียนได้อย่างเดียว

minLength: 1

identity_pri_key
string

คีย์ส่วนตัวของตัวตน เขียนได้อย่างเดียว

minLength: 1

hash
string

ฟิลด์ความเข้ากันได้ที่เลิกใช้แล้ว ปัจจุบันค่าจะถูกละเลยและไม่บันทึก แนะนำให้ละไว้

peer_kem_public
string

คีย์สาธารณะ KEM ของอีกฝ่าย เขียนได้อย่างเดียว

auth_hex_data
string

ข้อมูลยืนยันตัวตนปัจจุบันในรูปเลขฐานสิบหก เขียนได้อย่างเดียว

authhexdata
string

ฟิลด์ข้อมูลยืนยันตัวตนแบบเก่าในรูปเลขฐานสิบหกที่เลิกใช้แล้ว เขียนได้อย่างเดียว

pq_handshake_mode
string

โหมด PQ handshake สำหรับนำเข้าเซสชัน WhatsApp Protocol

use_xxkem_handshake
boolean

ระบุว่าจะใช้ XXKEM handshake สำหรับนำเข้าเซสชัน WhatsApp Protocol หรือไม่

ทำความเข้าใจผลลัพธ์

อ่านผลยืนยันตัวตนแล้วตรวจสอบ runtime_status การนำเข้าเซสชันและการเชื่อมต่อออนไลน์เป็นคนละขั้นตอน

การตอบกลับ 200 OK

{
  "request_id": "<REQUEST_ID>",
  "data": {
    "account_id": "acc_example",
    "status": "authorized"
  }
}

เนื้อหาการตอบกลับ

account_id
string

บัญชีของผู้ให้บริการที่การตอบกลับนี้อ้างถึง

status
string

สถานะ flow การให้สิทธิ์ปัจจุบัน เช่น pending_auth, awaiting_qr_scan, awaiting_code, pending, passkey_required, passkey_pending, passkey_confirmation, passkey_confirmation_sent, authorized หรือ failed

การตอบกลับ

200

200 OK

คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน

400

Bad Request

เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง

401

Unauthorized

ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง

409

Conflict

การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่

500

Internal Server Error

บริการพบข้อผิดพลาดที่ไม่คาดคิด

502

Bad Gateway

อะแดปเตอร์หรือ upstream provider ไม่สามารถทำรายการให้เสร็จได้

เมื่อคำขอล้มเหลว

ตรวจ HTTP และ error.code/numeric_code เก็บ request_id แล้วแก้พารามิเตอร์ ยืนยันตัวตนต่อ หรือตรวจ runtime ตามสาเหตุ ตรวจผลครั้งก่อนก่อนส่งหรือเขียนซ้ำ อ้างอิงรหัสข้อผิดพลาด

invalid_request · 10000 · 400
ตรวจฟิลด์บังคับ รูปแบบ และเงื่อนไขช่องทาง แล้วแก้คำขอ
invalid_api_key · 11001 · 401
ตรวจ X-Api-Key และว่า workspace ยังใช้งานอยู่
provider_invalid_request · 30001 · 400
ตรวจฟิลด์บังคับ รูปแบบ และเงื่อนไขช่องทาง แล้วแก้คำขอ