บัญชี
สร้างบัญชี
สร้างบัญชี provider โดยต้องระบุ auth_mode เป็น qrcode, code หรือ session หากคู่ provider + auth_mode ต้องใช้หมายเลขโทรศัพท์ ให้ส่ง provider_data.phone ซึ่งระบบจะเก็บไว้ใช้ในขั้นยืนยันตัวตนถัดไป โหมดกระเป๋าสร้างบัญชีได้โดยตรง ไม่ต้องขอราคาก่อน 201 ยืนยันการสร้างและหักเงิน แต่ต้องดู billing.state ก่อนยืนยันตัวตน การสร้างพร้อมกันใน workspace เดียวกันได้ 409 wallet_account_creation_in_progress Idempotency-Key เป็นทางเลือก หลังหมดเวลาให้ตรวจสอบผลก่อน และใช้คีย์เดิมเมื่อจะลองซ้ำเพื่อป้องกันการซื้อซ้ำ
https://api.unifyport.ai/v1/accountsช่องทางที่รองรับ
ก่อนเรียกใช้
ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้
ใช้ API Key ของพื้นที่ทำงานเป้าหมาย บัญชีโหมดกระเป๋าเงินคิดค่าบริการเป็น USD รอบละ 30 วัน ดูยอดคงเหลือและเติมเงินได้ใน Dashboard
พารามิเตอร์คำขอ
ส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
Content-Typeใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON
Idempotency-KeyIdempotency-Key เป็นทางเลือกสำหรับการสร้างแบบกระเป๋า ใช้คีย์เดิมเมื่อลองซ้ำหลังผลไม่ชัดเจน หากไม่ใช้คีย์ คำขอหลังรายการแรกเสร็จจะสร้างบัญชีใหม่
เนื้อหาของคำขอ
nameชื่อบัญชีที่อ่านได้
providerตัวระบุ provider สำหรับลูกค้า: telegram, whatsapp, whatsapp-protocol, line, twitter, zalo หรือ tiktok
enum: telegram, whatsapp, line, twitter, zalo, tiktok, whatsapp-protocol, x, x_client, twitter_client
regionภูมิภาคของผู้ให้บริการที่ใช้ในการจัดสรร เลือกภูมิภาคที่รายงานว่า allocatable: true จาก รายชื่อภูมิภาคของผู้ให้บริการ
minLength: 1
statusสถานะทางธุรกิจของบัญชี เช่น active หรือ inactive
runtime_statusสถานะ runtime ที่ร้องขอ เมื่อ provider รองรับการเปลี่ยนผ่านการตั้งค่าบัญชี
enum: unknown, starting, running, stopping, stopped, reconnecting, disconnected, error
auth_modeต้องระบุเมื่อสร้างบัญชี: qrcode, code หรือ session
enum: qrcode, code, session
capabilities[]สำหรับ PATCH ให้ละไว้เพื่อคงค่า ส่ง [] เพื่อล้าง และห้ามส่ง null
metadataสำหรับ PATCH ให้ละไว้เพื่อคงค่า ส่ง {} เพื่อล้าง และห้ามส่ง null
provider_account_refตัวตนบัญชีฝั่ง provider ซึ่งโดยปกติจะมีค่าหลังการยืนยันตัวตน
provider_dataการตั้งค่าผู้ให้บริการ PATCH ละไว้เพื่อคงค่า {} ล้างโดยไม่เติมข้อมูลรับรองเริ่มต้น และ null ใช้ไม่ได้ TikTok provider_data.enable_comment รับเฉพาะ Boolean ค่าเริ่มต้น false สตริง ตัวเลข และ null คืน 400 invalid_request การแก้ขณะออนไลน์ต้อง reconnect ความสำเร็จของ start ไม่ยืนยันว่าใช้ค่าใหม่แล้ว การปิดไม่ถอนเหตุการณ์ในคิว Telegram ใช้ api_id และ api_hash แบบไม่บังคับใน code, qrcode และ session ข้อมูลรับรองกำหนดเองต้องเป็นสตริงคู่จากแอปเดียวกัน การสร้างโดยไม่มีข้อมูลรับรองกำหนดเองและฟิลด์รับรองที่ละไว้ในการแทนที่ด้วยค่าที่ไม่ว่างจะใช้ค่าเริ่มต้นของแพลตฟอร์ม หากค่าเริ่มต้นที่จำเป็นไม่พร้อม คำขอจะล้มเหลว การเปลี่ยนค่าเริ่มต้นไม่แทนที่ข้อมูลรับรองบัญชีเดิม ห้ามบันทึกความลับลง log
proxyการตั้งค่า proxy ขาออกแบบเลือกสำหรับบัญชีนี้
ทำความเข้าใจผลลัพธ์
โหมดกระเป๋าสร้างบัญชีได้โดยตรง ไม่ต้องขอราคาก่อน 201 ยืนยันการสร้างและหักเงิน แต่ต้องดู billing.state ก่อนยืนยันตัวตน การสร้างพร้อมกันใน workspace เดียวกันได้ 409 wallet_account_creation_in_progress Idempotency-Key เป็นทางเลือก หลังหมดเวลาให้ตรวจสอบผลก่อน และใช้คีย์เดิมเมื่อจะลองซ้ำเพื่อป้องกันการซื้อซ้ำ
การตอบกลับ 201 · PREPAID_QUOTA
{
"request_id": "<REQUEST_ID>",
"data": {
"id": "acc_example",
"name": "Telegram Production",
"provider": "telegram",
"region": "<REGION>",
"status": "active",
"runtime_status": "stopped",
"auth_mode": "qrcode",
"capabilities": [
"send_message",
"receive_message"
]
}
}
การตอบกลับ 201 · ACCOUNT_WALLET_30D
{
"request_id": "<REQUEST_ID>",
"data": {
"id": "acc_example",
"name": "Messaging account",
"provider": "telegram",
"region": "<REGION>",
"status": "active",
"runtime_status": "stopped",
"auth_mode": "qrcode",
"capabilities": [
"send_message",
"receive_message"
],
"billing": {
"period_start_at": "2026-10-19T00:00:00Z",
"period_end_at": "2026-11-18T00:00:00Z",
"amount_minor": 1000,
"currency": "USD",
"operation_id": "op_example",
"state": "ACTIVE"
}
}
}
เนื้อหาการตอบกลับ
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, 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
capabilities[]ความสามารถที่เปิดใช้สำหรับบัญชี เช่น send_message และ receive_message
metadatalabel สภาพแวดล้อมของคุณเองที่เก็บไว้บนบัญชี
provider_account_refตัวระบุฝั่งผู้ให้บริการที่คุณแนบได้เพื่อเชื่อมโยงบัญชีกับระบบของคุณเอง
proxyการตั้งค่า proxy ขาออกของบัญชี เมื่อมีการกำหนดไว้
การตอบกลับ
201201 Created
คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400Bad Request
เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401Unauthorized
ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
403Forbidden
ระบบระบุคำขอได้ แต่ไม่อนุญาตให้ดำเนินการนี้
404Not Found
ไม่พบทรัพยากรที่ร้องขอ โปรดตรวจสอบ error.code ร่วมกับการดำเนินการปัจจุบัน
409Conflict
การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่
500Internal Server Error
บริการพบข้อผิดพลาดที่ไม่คาดคิด
503Service Unavailable
บริการ backend ที่จำเป็นไม่พร้อมใช้งานชั่วคราว
เมื่อคำขอล้มเหลว
ตรวจ HTTP และ error.code/numeric_code เก็บ request_id แล้วแก้พารามิเตอร์ ยืนยันตัวตนต่อ หรือตรวจ runtime ตามสาเหตุ ตรวจผลครั้งก่อนก่อนส่งหรือเขียนซ้ำ อ้างอิงรหัสข้อผิดพลาด
อ่านสถานะ HTTP, error.code และ error.numeric_code ร่วมกับคำสั่งที่เรียก รหัสตัวเลขเป็นสตริง เก็บ request_id เพื่อตรวจปัญหา ค่านี้ไม่ใช่คีย์ป้องกันการทำซ้ำหรือรหัสงาน
- auth_mode_phone_required · 20019 · 400
วิธีนี้ต้องใส่ provider_data.phone เมื่อสร้างบัญชี
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 20019
{ "request_id": "req_example", "error": { "code": "auth_mode_phone_required", "numeric_code": "20019", "message": "Phone number is required for this auth mode" } }- invalid_request · 10000 · 400
ตรวจ JSON และฟิลด์ที่จำเป็น
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 10000
{ "request_id": "req_example", "error": { "code": "invalid_request", "numeric_code": "10000", "message": "Invalid request parameters" } }- 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" } }- unsupported_provider_auth_mode · 20018 · 400
ใช้ auth_mode ที่ช่องทางรองรับ
วิธีจัดการและลองใหม่: เลือกช่องทางและคำสั่งที่เอกสารระบุว่ารองรับ การส่งซ้ำไม่เพิ่มความสามารถหรือเปิดสิทธิ์เบต้า
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 20018
{ "request_id": "req_example", "error": { "code": "unsupported_provider_auth_mode", "numeric_code": "20018", "message": "Auth mode not supported by this provider" } }- wallet_invalid_request · 20021 · 400
ตรวจสอบพารามิเตอร์สร้างบัญชีด้วยกระเป๋าและส่วนหัว Idempotency-Key ที่เป็นทางเลือก
วิธีจัดการและลองใหม่: แก้พารามิเตอร์ตามคำสั่งและเงื่อนไขช่องทางก่อนเรียกใหม่ การส่งคำขอผิดแบบเดิมซ้ำไม่ช่วยแก้ข้อผิดพลาด
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 400 · 20021
{ "request_id": "req_example", "error": { "code": "wallet_invalid_request", "numeric_code": "20021", "message": "Invalid wallet account request" } }- 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" } }- account_allocation_busy · 20011 · 409
กำลังจัดสรรบัญชี โปรดลองอีกครั้งภายหลัง
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20011
{ "request_id": "req_example", "error": { "code": "account_allocation_busy", "numeric_code": "20011", "message": "Allocation is busy in the current region; please retry later" } }- duplicate_provider_account · 20015 · 409
ตัวตนช่องทางนี้ผูกกับอีกบัญชีในเวิร์กสเปซแล้ว
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20015
{ "request_id": "req_example", "error": { "code": "duplicate_provider_account", "numeric_code": "20015", "message": "A provider account with the same identity already exists in this workspace" } }- no_allocatable_server · 20013 · 409
ภูมิภาคนี้ไม่มีทรัพยากรว่าง ให้สอบถามภูมิภาคที่จัดสรรได้
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20013
{ "request_id": "req_example", "error": { "code": "no_allocatable_server", "numeric_code": "20013", "message": "No allocatable server in the current region" } }- wallet_account_creation_in_progress · 20030 · 409
workspace นี้กำลังสร้างบัญชีด้วยกระเป๋ารายอื่น โปรดรอให้เสร็จก่อนลองอีกครั้ง
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20030
{ "request_id": "req_example", "error": { "code": "wallet_account_creation_in_progress", "numeric_code": "20030", "message": "Account creation is in progress; please wait" } }- wallet_idempotency_conflict · 20024 · 409
คีย์ป้องกันซ้ำผูกกับพารามิเตอร์อื่น ตรวจสอบผลเดิมก่อนสร้างใหม่
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20024
{ "request_id": "req_example", "error": { "code": "wallet_idempotency_conflict", "numeric_code": "20024", "message": "Idempotency key was used for a different request" } }- wallet_insufficient_funds · 20023 · 409
ยอดเงินไม่พอ เจ้าของสามารถเติมเงินแล้วตรวจสอบคำขอเดิม
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20023
{ "request_id": "req_example", "error": { "code": "wallet_insufficient_funds", "numeric_code": "20023", "message": "Insufficient wallet balance" } }- wallet_workspace_disabled · 20022 · 409
ปิดการซื้อใหม่ด้วยยอดคงเหลือ ไม่ได้หมายความว่ายกเลิกการดำเนินการเดิม
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20022
{ "request_id": "req_example", "error": { "code": "wallet_workspace_disabled", "numeric_code": "20022", "message": "New wallet purchases are disabled" } }- workspace_account_quota_exceeded · 20014 · 409
ถึงขีดจำกัดบัญชีรับส่งข้อความแล้ว ตรวจการใช้งานและโควตา
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 409 · 20014
{ "request_id": "req_example", "error": { "code": "workspace_account_quota_exceeded", "numeric_code": "20014", "message": "Workspace account quota exceeded" } }- create_account_failed · 20002 · 500
สร้างบัญชี: การสร้างทรัพยากรล้มเหลวหรือยังยืนยันผลไม่ได้
วิธีจัดการและลองใหม่: ดูรายการหรือค้นหาทรัพยากรที่มีอยู่เพื่อยืนยันว่าการสร้างครั้งก่อนมีผลแล้วหรือไม่ก่อนสร้างอีก แก้สาเหตุและเก็บ request_id อย่าสร้างรายการซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 500 · 20002
{ "request_id": "req_example", "error": { "code": "create_account_failed", "numeric_code": "20002", "message": "Failed to create account" } }- allocation_service_unavailable · 20012 · 503
บริการจัดสรรบัญชีไม่พร้อมชั่วคราว โปรดลองภายหลัง
วิธีจัดการและลองใหม่: เก็บ request_id และรหัสแบบมีโครงสร้าง ตรวจคำสั่งปัจจุบันก่อนเลือกการดำเนินการถัดไป
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 503 · 20012
{ "request_id": "req_example", "error": { "code": "allocation_service_unavailable", "numeric_code": "20012", "message": "Allocation service is temporarily unavailable" } }- wallet_unavailable · 20028 · 503
ข้อมูลหรือการตั้งค่ากระเป๋าไม่พร้อม ผลการเขียนอาจไม่ชัดเจน โปรดตรวจสอบการดำเนินการเดิม
วิธีจัดการและลองใหม่: อ่านสถานะปัจจุบันและยืนยันผลการเปลี่ยนแปลงครั้งก่อนก่อนทำซ้ำ เก็บ request_id และอย่าเขียนซ้ำอัตโนมัติเมื่อยังไม่ทราบผล
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 503 · 20028
{ "request_id": "req_example", "error": { "code": "wallet_unavailable", "numeric_code": "20028", "message": "Wallet service is unavailable" } }