บัญชี
อ่านการดำเนินการคิดเงินบัญชี
ดูราคาและผลการสร้าง ลบบัญชี และการคืนเงินในพื้นที่ทำงานนี้
https://api.unifyport.ai/v1/account-operations/{operation_id}ช่องทางที่รองรับ
ก่อนเรียกใช้
ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้
ใช้ API Key ของพื้นที่ทำงานเป้าหมาย บัญชีโหมดกระเป๋าเงินคิดค่าบริการเป็น USD รอบละ 30 วัน ดูยอดคงเหลือและเติมเงินได้ใน Dashboard
พารามิเตอร์คำขอ
ส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
พารามิเตอร์ใน path
operation_idรหัสสาธารณะจาก billing.operation_id หรือผลลบ ใช้เดิมในพื้นที่เดิม
เนื้อหาของคำขอ
จุดเชื่อมต่อนี้ไม่ต้องใช้เนื้อหา JSON
ทำความเข้าใจผลลัพธ์
เก็บ operation_id เดิม PENDING/PROCESSING ให้รอ REVIEW ต้องตรวจสอบ SUCCEEDED/FAILED บอกผลการดำเนินการ ไม่ยืนยันตัวตนหรือคืนเงินอัตโนมัติ ให้ดูบันทึกเซิร์ฟเวอร์
การตอบกลับ 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"operation_id": "op_example",
"kind": "DELETE",
"state": "REVIEW",
"account_id": "acc_example",
"last_error_code": "cleanup_unconfirmed"
}
}
เนื้อหาการตอบกลับ
operation_idรหัสสาธารณะจาก billing.operation_id หรือผลลบ ใช้เดิมในพื้นที่เดิม
kindประเภทสาธารณะ QUOTE / CREATE, DELETE หรือ COMPENSATE
enum: QUOTE, CREATE, DELETE, COMPENSATE
stateสถานะคิดเงินหรือการดำเนินการ ไม่ยืนยันตัวตน ออนไลน์ หรือคืนเงินแล้ว
enum: QUOTED, CONSUMED, EXPIRED, PENDING, PROCESSING, SUCCEEDED, FAILED, REVIEW
account_idรหัสบัญชีรับส่งข้อความสาธารณะในพื้นที่นี้
last_error_codeรหัสผลสาธารณะที่ปลอดภัย ไม่มีค่าไม่แปลว่าสำเร็จ
การตอบกลับ
200200 OK
คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400Bad Request
เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401Unauthorized
ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
403Forbidden
ระบบระบุคำขอได้ แต่ไม่อนุญาตให้ดำเนินการนี้
404Not Found
ไม่พบทรัพยากรที่ร้องขอ โปรดตรวจสอบ error.code ร่วมกับการดำเนินการปัจจุบัน
409Conflict
การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่
503Service Unavailable
บริการ backend ที่จำเป็นไม่พร้อมใช้งานชั่วคราว
เมื่อคำขอล้มเหลว
ตรวจ 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" } }- account_operation_not_found · 20029 · 404
ไม่พบการดำเนินการหรืออยู่นอกพื้นที่ทำงาน ตรวจสอบ operation_id เดิมและขอบเขต API Key
วิธีจัดการและลองใหม่: ตรวจรหัสเป้าหมาย เจ้าของทรัพยากร และเวิร์กสเปซปัจจุบัน อย่าถือว่าเป้าหมายที่ยืนยันแล้วว่าไม่มีหรือเข้าไม่ถึงเป็นความขัดข้องชั่วคราวที่ควรลองซ้ำอัตโนมัติ
JSON ตัวอย่าง โดย message เปลี่ยนตามสาเหตุจริง · 404 · 20029
{ "request_id": "req_example", "error": { "code": "account_operation_not_found", "numeric_code": "20029", "message": "Account operation not found" } }- 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" } }- 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" } }- 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" } }