API

สั่งบริการจากเว็บไซต์ ร้านค้า หรือสคริปต์ของคุณเอง: ดูรายการบริการและราคา สั่งงานพร้อมรายละเอียด ติดตามสถานะ และรับผลงาน ทั้งหมดนี้เป็นบริการเดียวกับบนเว็บไซต์ คำสั่งซื้อที่สั่งผ่าน API จึงแสดงในบัญชีของคุณด้วย

เริ่มต้นใช้งาน

  1. เข้าสู่ระบบแล้วเปิดหน้า ยอดเงินคงเหลือและคีย์ API
  2. สร้างคีย์ คีย์จะแสดงเพียงครั้งเดียว: คัดลอกเก็บไว้และเก็บเป็นความลับเหมือนรหัสผ่าน คุณเพิกถอนคีย์ได้ทุกเมื่อ
  3. เติมยอดเงินคงเหลือ คำสั่งซื้อที่สั่งผ่าน API จะชำระจากยอดนี้เป็นดอลลาร์สหรัฐ

ส่งคีย์ไปกับทุกคำขอ:

Authorization: Bearer dlx_your_key

ที่อยู่ของ API: https://dleex.com/api/v1 คำขอและการตอบกลับเป็น JSON ราคาและจำนวนเงินเป็นเซนต์สหรัฐแบบจำนวนเต็ม: 1500 หมายถึง $15.00

บริการ

GET /services แสดงรายการสิ่งที่สั่งได้

curl https://dleex.com/api/v1/services -H "Authorization: Bearer dlx_your_key"
[
  {
    "service": "seo-article",
    "category": "seo",
    "title": { "en": "SEO article", "ru": "SEO-статья" },
    "linkRequired": false,
    "files": null,
    "script": null,
    "briefQuestions": [
      { "q": { "en": "What is the article about?", "ru": "О чём статья?" }, "hint": { "en": "The topic, or a link to the page.", "ru": "..." } },
      { "q": { "en": "Who will read it?", "ru": "..." } }
    ],
    "packages": [
      { "tier": "basic", "title": { "en": "...", "ru": "..." }, "priceUsdCents": 1500, "days": 2, "revisions": 1 },
      { "tier": "standard", "...": "..." },
      { "tier": "premium", "...": "..." }
    ],
    "addons": [
      {
        "id": 7,
        "title": { "en": "Express delivery", "ru": "Срочное выполнение" },
        "description": null,
        "priceUsdCents": 1000,
        "extraDays": -1,
        "tiers": ["standard", "premium"]
      }
    ]
  }
]

days คือระยะเวลาที่ใช้ทำงาน ส่วน revisions คือจำนวนครั้งที่ขอแก้ไขได้ addons คือบริการเสริมที่สั่งพร้อมแพ็กเกจใน tiers ได้: ราคาจะบวกเพิ่มจากราคาแพ็กเกจ และ extraDays จะบวกเพิ่มจากกำหนดส่ง (ค่าติดลบ: เร็วขึ้น แต่ไม่ต่ำกว่า 1 วัน) briefQuestions คือคำถามที่บริการถามเกี่ยวกับงาน บางข้อมี hint ให้ตอบคำถามเหล่านี้ใน answers เมื่อสั่งซื้อ รายการจะว่างเมื่อบริการไม่มีคำถาม linkRequired เป็น true สำหรับบริการที่ทำงานจากสิ่งที่ลิงก์เปิดไปถึง เช่น โปรไฟล์หรือโพสต์ หรือไฟล์บันทึกเสียงที่ต้องทำคำบรรยาย: คำสั่งซื้อของบริการนี้ต้องมี link

files เป็น null สำหรับบริการที่ไม่รับไฟล์พร้อมรายละเอียดงาน มิฉะนั้นจะระบุว่ารับไฟล์แบบใด เช่น {"accept": ["image"], "maxFiles": 3, "maxMb": 5, "required": true, "insteadOfLink": false}: ประเภทไฟล์ (image, audio, video) จำนวนไฟล์ต่อรายละเอียดงานหรือคำขอแก้ไขหนึ่งครั้ง ขนาดสูงสุดของแต่ละไฟล์เป็น MB รายละเอียดงานต้องมีไฟล์อย่างน้อยหนึ่งไฟล์หรือไม่ และใช้ไฟล์แทน link ได้หรือไม่ (ในกรณีนั้น linkRequired ยังคงเป็น true สำหรับคำสั่งซื้อที่ส่งมาโดยไม่มีไฟล์) ดู ไฟล์

script เป็น null สำหรับบริการที่ไม่มีการอ่านข้อความออกเสียง บริการพากย์เสียงจะระบุความยาวสูงสุดของข้อความที่แต่ละแพ็กเกจอ่าน เป็นจำนวนอักขระ เช่น {"maxChars": {"basic": 1000, "standard": 3000, "premium": 9000}}: คำสั่งซื้อของบริการนี้ต้องมี script คือข้อความที่จะอ่านแบบคำต่อคำ ไฟล์เสียงอ่านด้วยเสียงสังเคราะห์: ไม่ว่าคุณจะเผยแพร่ที่ใด ให้แจ้งผู้ฟังว่าเป็นเสียงสังเคราะห์ (ดูข้อกำหนดการใช้งาน)

ยอดเงินคงเหลือ

GET /balance

{ "balanceUsdCents": 10000, "currency": "USD" }

การสั่งซื้อ

POST /orders ราคา (แพ็กเกจและบริการเสริม หักส่วนลดแล้ว) จะถูกตัดจากยอดเงินคงเหลือ และงานจะเริ่มทันที

ฟิลด์
serviceจำเป็นบริการจาก /services
tierจำเป็นbasic, standard หรือ premium
textจำเป็นเมื่อไม่มี answers, script หรือ awaitBriefรายละเอียดงาน: สิ่งที่ต้องทำ ไม่เกิน 10,000 อักขระ เมื่อมี script: วิธีอ่าน (น้ำเสียง จังหวะ การออกเสียงชื่อ)
linkไม่บังคับลิงก์ไปยังหน้าเว็บ โปรไฟล์ หรือโพสต์ หรือไปยังไฟล์บันทึกเสียง: ลิงก์ตรงไปยังไฟล์ หรือลิงก์ Dropbox หรือ Yandex Disk จำเป็นเมื่อ linkRequired เป็น true
answersไม่บังคับคำตอบของ briefQuestions ของบริการ: [{"q": "question", "a": "answer"}] ไม่เกิน 8 ข้อ แต่ละคำตอบไม่เกิน 5,000 อักขระ
scriptจำเป็นเมื่อ script ใน /services ไม่ใช่ null และจะถูกปฏิเสธในกรณีอื่นข้อความที่จะอ่านออกเสียงแบบคำต่อคำ ไม่เกิน maxChars ของแพ็กเกจ (สูงสุด 20,000 อักขระ การขึ้นบรรทัดใหม่นับเป็นหนึ่งอักขระ) เว้นบรรทัดว่างระหว่างย่อหน้า
localeไม่บังคับภาษาของผลงาน en หรือ ru ค่าเริ่มต้นคือภาษาของบัญชีคุณ
addonsไม่บังคับid ของบริการเสริมจาก /services ที่มีให้สำหรับแพ็กเกจนี้ เช่น [7]
promoCodeไม่บังคับโค้ดส่วนลด หากใช้ไม่ได้ คำสั่งซื้อจะไม่ถูกสร้าง (ดูข้อผิดพลาด)
awaitBriefไม่บังคับtrue เพื่อส่งรายละเอียดงานภายหลังหลังอัปโหลดไฟล์: คำสั่งซื้อจะถูกชำระเงินและรอในสถานะ awaiting_brief ในกรณีนี้ไม่ต้องใส่ text, link, answers และ script ดู ไฟล์
curl https://dleex.com/api/v1/orders -H "Authorization: Bearer dlx_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <your-order-id>" \
  -d '{"service":"seo-article","tier":"basic","text":"An article about trail running shoes, 5 keywords: ..."}'

Idempotency-Key ไม่บังคับ และช่วยให้ส่งคำขอซ้ำได้อย่างปลอดภัย คำสั่งซื้อใหม่ทุกรายการต้องใช้คีย์ใหม่ ดู Idempotency ด้านล่าง

ให้ระบุ text หรือคำตอบอย่างน้อยหนึ่งข้อ หรือทั้งสองอย่าง สำหรับงานพากย์เสียง แค่ script ก็เพียงพอ เขียนแต่ละคำถามใน q ให้ตรงกับใน briefQuestions ในภาษาของคำสั่งซื้อ และละคำถามที่คุณไม่มีคำตอบ:

{
  "service": "seo-article",
  "tier": "basic",
  "answers": [
    { "q": "What is the article about?", "a": "Choosing trail running shoes" },
    { "q": "Who will read it?", "a": "Runners moving from road to trail" }
  ]
}

การตอบกลับคือคำสั่งซื้อ (สถานะ 201):

{
  "id": 1042,
  "status": "in_progress",
  "service": "seo-article",
  "tier": "basic",
  "priceUsdCents": 1500,
  "addons": [],
  "discountUsdCents": 0,
  "promoCode": null,
  "locale": "en",
  "text": "An article about trail running shoes...",
  "link": null,
  "answers": [],
  "script": null,
  "fileIds": [],
  "files": [],
  "revisionsLeft": 1,
  "createdAt": "2026-10-16T11:00:00.000Z",
  "dueAt": "2026-10-18T11:00:00.000Z",
  "deliveredAt": null,
  "autoAcceptAt": null,
  "completedAt": null,
  "results": []
}

ไฟล์

บางบริการทำงานจากไฟล์ของลูกค้า เช่น รูปหน้าเอกสารที่ต้องพิมพ์ หรือไฟล์บันทึกเสียงที่ต้องทำคำบรรยาย: files ของบริการเหล่านี้ใน /services ไม่ใช่ null ไฟล์จะอัปโหลดไปยังคำสั่งซื้อที่รอรายละเอียดงาน:

  1. สั่งซื้อด้วย "awaitBrief": true โดยไม่มี text, link, answers และ script คำสั่งซื้อจะถูกชำระเงินทันทีและมีสถานะ awaiting_brief กำหนดส่งจะเริ่มนับเมื่อส่งรายละเอียดงาน
  2. สำหรับแต่ละไฟล์ ให้เรียก POST /orders/{id}/files พร้อม {"name": "page-1.png", "size": 482113, "mime": "image/png"}: size คือขนาดที่แน่นอนเป็นไบต์ ส่วน mime ไม่บังคับ การตอบกลับ (201) คือไฟล์และตำแหน่งที่ต้องอัปโหลด:
{
  "file": { "id": 77, "name": "page-1.png", "mime": "application/octet-stream", "size": 482113, "status": "pending", "used": false, "uploadExpiresAt": "2026-10-16T12:00:00.000Z", "createdAt": "2026-10-16T11:00:00.000Z" },
  "upload": { "url": "https://...", "headers": { "content-type": "application/octet-stream" }, "expiresAt": "2026-10-16T12:00:00.000Z" }
}
  1. PUT ข้อมูลไบต์ของไฟล์ไปยัง upload.url พร้อม headers ตามที่ให้มาทุกประการ และไม่ต้องใส่คีย์ API ก่อนเวลา upload.expiresAt (หนึ่งชั่วโมง):
curl -X PUT "$url" -H "content-type: application/octet-stream" --data-binary @page-1.png
  1. POST /orders/{id}/files/{fileId}/complete ไฟล์ที่ขนาดไม่ตรงกับ size หรือข้อมูลไบต์ไม่ใช่ประเภทใน accept จะถูกปฏิเสธด้วย 422 และถูกลบ: ชื่อไฟล์และ mime ไม่มีผล มิฉะนั้นการตอบกลับคือไฟล์ซึ่งตอนนี้เป็น checking หลังจากไม่กี่วินาที หรือไม่กี่นาทีสำหรับไฟล์บันทึกเสียงที่ยาว ไฟล์จะเป็น ready หรือ rejected พร้อมเหตุผลใน reason เช่น recording_no_sound หรือ file_unreadable files ของคำสั่งซื้อแสดงสถานะของไฟล์ทั้งหมด
  2. POST /orders/{id}/brief พร้อม text, link, answers และ script เช่นเดียวกับใน POST /orders ไฟล์ที่พร้อมแล้วและยังไม่ได้ส่งจะส่งไปพร้อมกัน หรือระบุไฟล์ที่จะส่งใน fileIds ระหว่างที่ยังมีไฟล์อยู่ในสถานะ checking รายละเอียดงานจะถูกปฏิเสธด้วย 409 files_not_ready: ให้ส่งอีกครั้งในภายหลัง การตอบกลับ (200) คือคำสั่งซื้อซึ่งตอนนี้เป็น in_progress

DELETE /orders/{id}/files/{fileId} ถอนไฟล์ที่ยังไม่ได้ส่ง คำสั่งซื้อหนึ่งรายการรับได้สูงสุด 5 ไฟล์ และรวมกันไม่เกิน 4 GB ไฟล์ที่เริ่มอัปโหลดแล้วจะนับรวมจนกว่าจะอัปโหลดเสร็จหรือถูกถอน และภายในหนึ่งวันนับจากเริ่มอัปโหลด ไฟล์ที่ถูกถอนหรือถูกปฏิเสธจะนับรวมกับไฟล์ของคำสั่งซื้อในโควตา 12 GB: หากเกินกว่านั้น การอัปโหลดจะถูกปฏิเสธด้วย 409 upload_quota และ retryAt ซึ่งเป็นเวลาที่รับการอัปโหลดอีกครั้ง คำสั่งซื้อที่ส่งมอบงานแล้วรับไฟล์สำหรับคำขอแก้ไขได้เช่นกัน: อัปโหลดด้วยวิธีเดียวกัน แล้วส่ง fileIds ไปพร้อมคำขอ

หากไม่มี awaitBrief คำสั่งซื้อของบริการที่ไฟล์เป็น required จะถูกปฏิเสธด้วย 400 files_required และคำสั่งซื้อของบริการที่ใช้ไฟล์แทนลิงก์ได้ซึ่งส่งมาโดยไม่มีลิงก์ จะถูกปฏิเสธด้วย 400 link_required

ในคำสั่งซื้อ files แสดงรายการไฟล์ของคุณพร้อม status และ fileIds แสดงไฟล์ที่ส่งไปพร้อมรายละเอียดงาน ไฟล์ที่พร้อมแล้วมี url ที่ใช้ได้จนถึง expiresAt เช่นเดียวกับไฟล์ผลงาน ไฟล์จะถูกเก็บไว้ 30 วันหลังปิดคำสั่งซื้อ

Idempotency

คำขออาจหมดเวลาหลังจากคำสั่งซื้อถูกสร้างไปแล้ว หากต้องการส่ง POST /orders ซ้ำโดยไม่ต้องจ่ายสองครั้ง ให้ส่งเฮดเดอร์ Idempotency-Key ไปด้วย: เป็นสตริงอักขระ ASCII ที่พิมพ์ได้ 1 ถึง 255 ตัว ที่คุณเลือกครั้งเดียวต่อคำสั่งซื้อหนึ่งรายการ เช่น UUID หรือหมายเลขคำสั่งซื้อของคุณเอง เมื่อส่งคำขอซ้ำ ให้ใช้คีย์เดิมและเนื้อหาคำขอเดิม

curl -i https://dleex.com/api/v1/orders -H "Authorization: Bearer dlx_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: shop-order-981" \
  -d '{"service":"seo-article","tier":"basic","text":"An article about trail running shoes, 5 keywords: ..."}'

หากมีคำสั่งซื้อที่สร้างด้วยคีย์นี้แล้ว การตอบกลับคือคำสั่งซื้อนั้นในสถานะปัจจุบัน พร้อมสถานะ 201 และเฮดเดอร์เพิ่มอีกหนึ่งรายการ โดยไม่มีการตัดเงินซ้ำ:

HTTP/1.1 201 Created
Idempotent-Replayed: true

การยอมรับงาน รายละเอียดงาน และคำขอแก้ไขไม่ใช้คีย์ การยอมรับงานส่งซ้ำได้อย่างปลอดภัย: เมื่อคำสั่งซื้อเสร็จสมบูรณ์แล้ว คำขอซ้ำจะตอบกลับ 409 order_not_delivered รายละเอียดงานก็เช่นกัน: เมื่อส่งสำเร็จแล้ว คำขอซ้ำจะตอบกลับ 409 brief_not_expected และคำสั่งซื้อเป็น in_progress คำขอแก้ไขต่างออกไป: ระหว่างที่กำลังแก้ไขงาน คำขอซ้ำจะตอบกลับ 409 order_not_delivered แต่เมื่อส่งมอบงานที่แก้ไขแล้ว คำขอซ้ำจะเป็นการขอแก้ไขอีกครั้ง ก่อนส่งคำขอแก้ไขซ้ำ ให้ตรวจสอบคำสั่งซื้อด้วย GET /orders/{id} (status และ revisionsLeft)

การติดตามคำสั่งซื้อ

GET /orders/{id} ส่งคืนคำสั่งซื้อหนึ่งรายการ GET /orders ส่งคืนคำสั่งซื้อของคุณ เรียงจากใหม่สุด รายการรับ status, limit (1 ถึง 100 ค่าเริ่มต้น 20) และ before (id ของคำสั่งซื้อ เพื่อดูคำสั่งซื้อที่เก่ากว่า)

สถานะคำสั่งซื้อ:

สถานะความหมาย
awaiting_briefสร้างด้วย awaitBrief: รอ POST /orders/{id}/brief
in_progressกำลังดำเนินงาน
quality_checkงานเสร็จแล้วและกำลังตรวจสอบก่อนส่งมอบ
deliveredผลงานพร้อมแล้ว ดู results ยอมรับงานหรือขอแก้ไขภายใน autoAcceptAt
revisionกำลังแก้ไขตามที่คุณขอ
completedคุณยอมรับผลงานแล้ว หรือระบบยอมรับให้โดยอัตโนมัติ
refundedเงินคืนเข้ายอดเงินคงเหลือของคุณแล้ว

ตรวจสอบทุก ๆ ไม่กี่นาที ไม่จำเป็นต้องเรียกบ่อยกว่านั้น เมื่อคำสั่งซื้อเป็น delivered แล้ว results จะมีผลงาน: kind เป็น text (Markdown), report (รายงานการส่งมอบงานสำหรับคำสั่งซื้อด้านโซเชียลมีเดีย) หรือ files (ไฟล์สำหรับดาวน์โหลด พร้อมหมายเหตุใน body ซึ่งอาจมีหรือไม่มีก็ได้) ผลงานแต่ละรายการมีรายการ files ซึ่งว่างสำหรับข้อความและรายงาน: ทุกไฟล์มี name, mime, size เป็นไบต์ และ url ที่ใช้ได้จนถึง expiresAt ประมาณหนึ่งชั่วโมง อ่านคำสั่งซื้ออีกครั้งเพื่อรับลิงก์ใหม่ ลิงก์อาจเปลี่ยนเส้นทางไปยังที่จัดเก็บไฟล์ จึงต้องติดตามการเปลี่ยนเส้นทาง เช่น curl -L -o result.png "$url" และไม่ต้องส่งคีย์ API ไปด้วย: ลิงก์เพียงอย่างเดียวก็เปิดไฟล์ได้

การยอมรับงานและการแก้ไข

หากคุณไม่ยอมรับงานและไม่ขอแก้ไขคำสั่งซื้อที่ส่งมอบแล้ว ระบบจะยอมรับงานโดยอัตโนมัติ 3 วันหลังการส่งมอบงาน ตามเวลาใน autoAcceptAt (เป็น null ในสถานะอื่น) การส่งมอบงานใหม่หลังการแก้ไขจะเริ่มนับ 3 วันใหม่ คุณยอมรับงานบนเว็บไซต์ได้เช่นกัน หากคุณเขียนข้อความในแชทของคำสั่งซื้อบนเว็บไซต์หลังการส่งมอบงาน คำสั่งซื้อจะไม่ถูกยอมรับโดยอัตโนมัติ และ autoAcceptAt จะเป็น null จนกว่าคุณจะยอมรับงาน หรือเราจะแก้ไขงานหรือคืนเงิน หลังจากตอบข้อความของคุณแล้ว เราอาจเริ่มนับ 3 วันใหม่ด้วย: ในกรณีนั้น autoAcceptAt จะแสดงเวลาใหม่

ข้อผิดพลาด

ข้อผิดพลาดจะมาพร้อมสถานะ HTTP และรหัส:

{ "code": "insufficient_balance" }
สถานะรหัสความหมาย
400validationฟิลด์ขาดหายหรือไม่ถูกต้อง fields แสดงรายการฟิลด์เหล่านั้น
400link_requiredบริการนี้ต้องมี link
400files_requiredบริการนี้ต้องมีไฟล์: สั่งซื้อด้วย awaitBrief แล้วอัปโหลดไฟล์
400script_requiredบริการนี้อ่านข้อความออกเสียง: ส่งข้อความใน script
400script_too_longscript ยาวกว่าที่แพ็กเกจอ่าน maxChars ในการตอบกลับคือความยาวสูงสุดที่รับได้ ไม่มีการตัดเงิน
400script_not_acceptedบริการนี้ไม่อ่านข้อความออกเสียง (script ของบริการใน /services เป็น null): ไม่ต้องใส่ script ไม่มีการตัดเงิน
400files_not_accepted, file_too_largeบริการนี้ไม่รับไฟล์ หรือไฟล์มีขนาดใหญ่กว่า maxMb ของบริการ
400invalid_idempotency_keyIdempotency-Key ว่าง ยาวกว่า 255 อักขระ หรือไม่ใช่อักขระ ASCII ที่พิมพ์ได้
401invalid_api_keyไม่มีคีย์ คีย์ไม่ถูกต้อง หรือคีย์ถูกเพิกถอน คีย์จะถูกเพิกถอนเช่นกันเมื่ออีเมลที่ยังไม่ได้ยืนยันของบัญชีได้รับการยืนยันโดยการเข้าสู่ระบบด้วย Google หรือการตั้งรหัสผ่านใหม่
402insufficient_balanceยอดเงินคงเหลือไม่เพียงพอ ไม่มีการตัดเงิน
404package_not_found, order_not_found, file_not_foundไม่พบบริการ แพ็กเกจ คำสั่งซื้อ หรือไฟล์นี้
409order_not_delivered, no_revisions_leftคำสั่งซื้ออยู่ในสถานะที่ทำการนี้ไม่ได้
409brief_not_expectedคำสั่งซื้อไม่ได้รอรายละเอียดงาน: สร้างโดยไม่มี awaitBrief หรือส่งรายละเอียดงานไปแล้ว
409uploads_closedรับไฟล์เฉพาะขณะที่คำสั่งซื้อรอรายละเอียดงานหรือส่งมอบงานแล้วเท่านั้น
409files_limitจำนวนไฟล์มากกว่าที่บริการรับต่อรายละเอียดงานหรือคำขอหนึ่งครั้ง หรือเกิน 5 ไฟล์หรือ 4 GB ต่อคำสั่งซื้อ
409upload_quotaเมื่อรวมไฟล์นี้ ไฟล์ของคำสั่งซื้อ (รวมไฟล์ที่ส่งแล้วและการอัปโหลดที่ยังไม่เสร็จ) และไฟล์ที่เริ่มอัปโหลดในหนึ่งวันที่ผ่านมาแล้วถูกถอนหรือถูกปฏิเสธ มีขนาดเกิน 12 GB: ลองอีกครั้งหลัง retryAt
409files_not_ready, file_rejectedไฟล์ที่จะส่งยังอยู่ระหว่างการตรวจสอบ หรือถูกปฏิเสธ
409upload_incompleteยังไม่มีการอัปโหลดใดไปยังลิงก์: ทำ PUT ให้เสร็จ แล้วยืนยันการอัปโหลดอีกครั้ง
409file_in_use, file_busyไฟล์ถูกส่งไปพร้อมรายละเอียดงานหรือคำขอแล้วและจะอยู่กับคำสั่งซื้อ หรือกำลังถูกย้ายโดยการตรวจสอบ: ลองอีกครั้งในอีกครู่หนึ่ง
409addon_unavailableบริการเสริมนี้ไม่มีให้สำหรับบริการและแพ็กเกจนี้
409promo_not_found, promo_inactive, promo_used_up, promo_already_used, promo_first_order_only, promo_min_orderโค้ดส่วนลดไม่มีอยู่ ไม่ได้เปิดใช้งานในขณะนี้ ถูกใช้ครบจำนวนแล้ว คุณเคยใช้ไปแล้ว ใช้ได้เฉพาะคำสั่งซื้อแรก หรือต้องมียอดสั่งซื้อสูงกว่านี้ ไม่มีการตัดเงิน
409idempotency_key_in_progressคำขอที่ใช้ Idempotency-Key นี้ยังอยู่ระหว่างดำเนินการ ให้ส่งซ้ำอีกครู่หนึ่ง
410upload_expired, file_removedลิงก์อัปโหลดหมดอายุก่อนที่จะมีการอัปโหลด หรือคุณถอนไฟล์ไปแล้ว: เริ่มการอัปโหลดใหม่
415file_type_not_acceptedmime ที่ระบุไม่ใช่ประเภทที่บริการรับ
422idempotency_key_reusedIdempotency-Key นี้เคยใช้กับคำขออื่นแล้ว
422upload_size_mismatch, file_type_not_acceptedไฟล์ที่อัปโหลดมีขนาดไม่ตรงกับ size หรือข้อมูลไบต์ไม่ใช่ประเภทที่บริการรับ ไฟล์ถูกลบแล้ว
422file_unreadable, recording_no_sound, check_failedยืนยันไฟล์ที่การตรวจสอบปฏิเสธ: ไฟล์เปิดไม่ได้ ไฟล์บันทึกเสียงไม่มีเสียง หรือตรวจสอบไม่ได้ ให้อัปโหลดไฟล์นั้นอีกครั้งหรือไฟล์อื่น
429rate_limitedเกิน 120 คำขอต่อนาทีต่อคีย์ รอตามจำนวนวินาทีใน Retry-After

การคืนเงิน

หากเราคืนเงินสำหรับคำสั่งซื้อ เงินจะกลับเข้ายอดเงินคงเหลือ และคำสั่งซื้อจะเป็น refunded