บัญชี
ดูบัญชี
คืนค่า config ของบัญชีหนึ่ง provider_data ที่บรรจุ credential ของผู้ให้บริการถูกตัดออกจากการตอบกลับนี้โดยตั้งใจเพื่อความปลอดภัย ส่วนสถานะการยืนยันตัวตน เช่น QR ที่รอสแกนหรือรหัสยืนยัน จะเปิดเผยแยกต่างหากผ่าน จุดเชื่อมต่อ กลุ่ม Authentication
https://api.unifyport.ai/v1/accounts/{account_id}ช่องทางที่รองรับ
ก่อนเรียกใช้
ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้
ที่มาของพารามิเตอร์
- account_id
- รับ data.id จากการสร้างหรือค้นหาบัญชี รหัสเป็นของ workspace ที่ระบุด้วย X-Api-Key ดูบัญชี
พารามิเตอร์คำขอ
ส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
พารามิเตอร์ใน path
account_idตัวระบุที่ใช้ใน route ของ accounts
เนื้อหาของคำขอ
จุดเชื่อมต่อนี้ไม่ต้องใช้เนื้อหา JSON
ทำความเข้าใจผลลัพธ์
พิจารณาผลจากฟิลด์คำตอบและสถานะ HTTP ของ API นี้ แล้วเลือกขั้นตอนถัดไปจากคำสั่งที่เกี่ยวข้อง
การตอบกลับ 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"
}
}
}
เนื้อหาการตอบกลับ
provider_profileobjectโปรไฟล์ที่ผู้ให้บริการรายงาน เช่น display_name จะถูกละไว้ก่อนที่บัญชีจะยืนยันตัวตน
provider_profileโปรไฟล์ที่ผู้ให้บริการรายงาน เช่น display_name จะถูกละไว้ก่อนที่บัญชีจะยืนยันตัวตน
idตัวระบุแบบ opaque ของบัญชีในช่องทางที่เชื่อมต่อ สำหรับ WhatsApp อาจเป็น canonical LID ที่ไม่มี suffix ของอุปกรณ์
device_idหมายเลขอุปกรณ์ที่เข้าสู่ระบบ ซึ่งอาจปรากฏในรายละเอียดบัญชี WhatsApp เมื่อระบุเซสชันปัจจุบันได้ อาจเปลี่ยนหลังยืนยันตัวตนใหม่และไม่ใช่รหัสอุปกรณ์ถาวร
minimum: 0 · maximum: 65535
phoneหมายเลขโทรศัพท์ที่ normalize แล้ว ไม่มีช่องว่าง ขีด หรือเครื่องหมาย + นำหน้า
usernameusername ที่ provider รายงาน ถ้ามี
display_nameชื่อแสดงผลของบัญชี สำหรับ WhatsApp จะสร้างโดยให้ BusinessName มาก่อนและใช้ PushName เป็นค่าทดแทน
push_namePushName ที่ตั้งอยู่บนบัญชี WhatsApp ปัจจุบัน provider อื่นไม่ได้กำหนดความหมายของฟิลด์นี้
business_nameWhatsApp BusinessName; จะละฟิลด์นี้เมื่อ provider ไม่ส่งค่ากลับมา
first_nameชื่อที่ provider รายงาน ถ้ามี
last_nameนามสกุลที่ provider รายงาน ถ้ามี
avatar_urlURL รูปประจำบัญชีที่ provider รายงาน
bioประวัติหรือข้อความสถานะที่ provider รายงาน
platformตัวระบุแพลตฟอร์มการเข้าสู่ระบบที่ WhatsApp รายงานระหว่างการจับคู่ ให้ถือเป็นสตริงทึบและรองรับค่าที่ไม่รู้จัก provider อื่นไม่ได้กำหนดความหมายของฟิลด์นี้ และฟิลด์นี้ต่างจาก device_platform
billingobjectรอบที่จ่ายแล้วเฉพาะบัญชีกระเป๋า ห้ามอนุมานซื้อจากยอดเงิน
billingรอบที่จ่ายแล้วเฉพาะบัญชีกระเป๋า ห้ามอนุมานซื้อจากยอดเงิน
period_start_atเริ่มรอบที่จ่ายแล้วจากเซิร์ฟเวอร์
format: date-time
period_end_atสิ้นสุดรอบที่จ่ายแล้วจากเซิร์ฟเวอร์
format: date-time
amount_minorยอดคงที่จากเซิร์ฟเวอร์หน่วยเซนต์ USD ใช้จำนวนเต็มแม่นยำ
minimum: 1 · format: int64
currencyเฉพาะ USD
operation_idรหัสสาธารณะจาก billing.operation_id หรือผลลบ ใช้เดิมในพื้นที่เดิม
stateสถานะคิดเงินหรือการดำเนินการ ไม่ยืนยันตัวตน ออนไลน์ หรือคืนเงินแล้ว
enum: ACTIVE, DELETING, DELETED, COMPENSATED, REVIEW
idตัวระบุบัญชีที่ไม่ซ้ำ (acc_...) ใช้ใน route ที่อิงกับบัญชี
nameชื่อบัญชีที่อ่านได้
providerรหัสช่องทาง ใช้ค่าที่ API ส่งกลับโดยไม่แก้ไขในการเรียกครั้งต่อไป ดูค่าที่ API นี้คืนได้จาก enum ด้านล่าง
enum: telegram, whatsapp, line, twitter, facebook, zalo, tiktok, whatsapp-protocol
regionภูมิภาคทางออกเครือข่ายเริ่มต้นที่เลือกสำหรับบัญชี
statusสถานะ lifecycle ของบัญชี เช่น active
runtime_statusสถานะ runtime ที่ปรับเป็นมาตรฐาน หนึ่งในค่า unknown, starting, running, stopping, stopped, reconnecting, disconnected หรือ error
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeflow การยืนยันตัวตนที่บัญชีใช้: code, qrcode หรือ session โดย TikTok รองรับ qrcode และ session แต่ไม่รองรับการสลับระหว่างสองโหมดนี้ในบัญชีเดิม
capabilities[]ความสามารถที่เปิดใช้สำหรับบัญชี เช่น send_message และ receive_message
metadatalabel สภาพแวดล้อมของคุณเองที่เก็บไว้บนบัญชี
provider_account_refตัวระบุฝั่งผู้ให้บริการที่คุณแนบได้เพื่อเชื่อมโยงบัญชีกับระบบของคุณเอง
proxyproxy ที่ลูกค้ากำหนดไว้อย่างชัดเจน โดยไม่ส่งคืนข้อมูลรับรองของทางออกเริ่มต้นของแพลตฟอร์ม
การตอบกลับ
200200 OK
คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400Bad Request
เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401Unauthorized
ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
403Forbidden
ระบบระบุคำขอได้ แต่ไม่อนุญาตให้ดำเนินการนี้
404Not Found
ไม่พบทรัพยากรที่ร้องขอ โปรดตรวจสอบ error.code ร่วมกับการดำเนินการปัจจุบัน
500Internal Server Error
บริการพบข้อผิดพลาดที่ไม่คาดคิด
เมื่อคำขอล้มเหลว
ตรวจ HTTP และ error.code/numeric_code เก็บ request_id แล้วแก้พารามิเตอร์ ยืนยันตัวตนต่อ หรือตรวจ runtime ตามสาเหตุ ตรวจผลครั้งก่อนก่อนส่งหรือเขียนซ้ำ อ้างอิงรหัสข้อผิดพลาด
อ่านสถานะ HTTP, error.code และ error.numeric_code ร่วมกับคำสั่งที่เรียก รหัสตัวเลขเป็นสตริง เก็บ request_id เพื่อตรวจปัญหา ค่านี้ไม่ใช่คีย์ป้องกันการทำซ้ำหรือรหัสงาน
- invalid_request · 10000 · 400
ตรวจ JSON และฟิลด์ที่จำเป็น
เงื่อนไข: ใช้เมื่อเนื้อหาคำขอไม่ว่าง แต่ Content-Type ไม่ใช่ application/json
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 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
เวิร์กสเปซเป้าหมายที่กำหนดทับว่างหรือรูปแบบไม่ถูกต้อง ให้ลบเฮดเดอร์กำหนดทับและใช้ API Key ของเวิร์กสเปซเป้าหมาย
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 11003
{ "request_id": "req_example", "error": { "code": "invalid_target_workspace", "numeric_code": "11003", "message": "Invalid target workspace" } }- invalid_api_key · 11001 · 401
ตรวจว่า API Key ถูกต้องและเปิดใช้งานอยู่
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 401 · 11001
{ "request_id": "req_example", "error": { "code": "invalid_api_key", "numeric_code": "11001", "message": "Invalid API key" } }- missing_api_key · 11000 · 401
เพิ่มส่วนหัว X-Api-Key
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
ตัวอย่าง · 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
คำขอพยายามระบุเวิร์กสเปซทับโดย API Key นี้ไม่มีสิทธิ์ ให้ลบเฮดเดอร์กำหนดทับและใช้ API Key ของเวิร์กสเปซเป้าหมาย
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 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
ไม่พบเวิร์กสเปซที่กำหนดทับหรือใช้งานไม่ได้ ตรวจเจ้าของเวิร์กสเปซ ลบเฮดเดอร์กำหนดทับ และใช้ API Key ของเวิร์กสเปซเป้าหมาย การส่งซ้ำไม่เพิ่มสิทธิ์
เงื่อนไข: ใช้เมื่อคำขอมีเฮดเดอร์ X-Workspace-Id เพื่อระบุเวิร์กสเปซทับ
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 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
ดูบัญชี: บริการไม่สามารถให้ผลการค้นหาที่ใช้ได้
วิธีจัดการและลองใหม่: เก็บ request_id และตรวจรหัสเป้าหมายกับสิทธิ์เข้าถึงของบัญชี ตรวจสาเหตุก่อนอ่านใหม่ การค้นหาล้มเหลวไม่ได้แปลว่าข้อมูลว่างหรือไม่มีทรัพยากร
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 500 · 20001
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20001", "message": "Failed to get account" } }- get_account_failed · 20020 · 500
ตรวจ account_id และใช้ X-Api-Key ของเวิร์กสเปซเจ้าของบัญชี คีย์ปัจจุบันไม่สามารถเข้าถึงบัญชีที่ไม่พบในเวิร์กสเปซนี้
เงื่อนไข: ใช้เมื่อไม่พบบัญชี โดยคงสถานะ HTTP และ code ของคำสั่งเดิม และใช้ numeric_code ระบุว่าบัญชีไม่มีอยู่
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 500 · 20020
{ "request_id": "req_example", "error": { "code": "get_account_failed", "numeric_code": "20020", "message": "Account not found" } }