ข้ามไปยังเนื้อหา
Sursa Developers

เวลาและรูปแบบข้อมูล

JSON และข้อความ

  • เนื้อหาคำขอและเนื้อหาการตอบกลับเป็น JSON ในรหัส UTF-8 พร้อม Content-Type: application/json การอัปโหลดไฟล์ใช้ multipart/form-data
  • ชื่อฟิลด์และค่า enum เขียนแบบ snake_case: next_retry_at และ index_failed
  • ข้อความแจ้งข้อผิดพลาดและข้อความของ API เป็นภาษาอังกฤษ ข้อความที่คุณเขียนเอง เช่น ชื่อการ์ด จะส่งคืนตามที่คุณเขียนไว้ในภาษาใดก็ได้

เวลา

เวลาทุกค่าเป็นการประทับเวลาตาม RFC 3339 ในเขตเวลา UTC:

{"created_at": "2026-10-24T10:00:00Z"}
  • ฟิลด์ที่เพิ่มเข้ามาใหม่ใช้รูปแบบสั้นที่ลงท้ายด้วย Z ตามตัวอย่างข้างต้น
  • ฟิลด์บางรายการที่มีมาก่อนใช้รูปแบบ 2026-10-24T10:00:00.123456+00:00 ซึ่งมีเศษของวินาทีได้ถึง 6 หลัก และเป็นเวลาเดียวกันใน UTC ให้แยกวิเคราะห์ทั้งสองรูปแบบด้วยตัวแยกวิเคราะห์ RFC 3339 มาตรฐาน และอย่าเปรียบเทียบการประทับเวลาแบบสตริง
  • ทุกฟิลด์ที่ชื่อลงท้ายด้วย _at เป็นการประทับเวลา

เวลาที่คุณส่งต้องมีค่าออฟเซ็ตของเขตเวลา จะเป็น Z หรือออฟเซ็ตแบบตัวเลข เช่น +02:00 ก็ได้ เวลาที่ไม่มีออฟเซ็ตมีความหมายกำกวม และจะได้การตอบกลับ 422 พร้อมรหัส validation.failed Sursa แปลงทุกเวลาที่ได้รับเป็น UTC

const since = new Date(Date.now() - 24 * 3600 * 1000).toISOString(); // "2026-10-23T10:00:00.000Z"

ในสตริงคิวรี ต้องเขียน + เป็น %2B มิฉะนั้นจะถูกอ่านเป็นช่องว่าง ให้เข้ารหัส URL ของค่าเวลา หรือใช้ Z

วันที่ ระยะเวลา และจำนวน

ชนิดรูปแบบตัวอย่าง
วันที่ที่ไม่มีเวลาYYYY-MM-DD ในฟิลด์ที่ลงท้ายด้วย _date"due_date": "2026-11-01"
ระยะเวลาจำนวนเต็ม โดยระบุหน่วยไว้ในชื่อฟิลด์"interval_days": 90 และ "timeout_seconds": 30
จำนวนจำนวนเต็ม ในฟิลด์ที่ลงท้ายด้วย _count"part_count": 12
จริงหรือเท็จค่าบูลีน ตั้งชื่อด้วยคำคุณศัพท์โดยไม่มี is_"active": true และ "sensitive": false

จำนวนเงิน

จำนวนเงินในการตอบกลับด้านการเงินเป็น สตริง ทศนิยม เช่น "1250.00" และไม่ใช่เลขทศนิยมแบบจุดลอยตัวเลย เพื่อไม่ให้สูญเสียความละเอียด สกุลเงินเป็นฟิลด์แยกที่มีรหัสตาม ISO 4217 เช่น "EUR" ให้แยกวิเคราะห์จำนวนเงินด้วยชนิดข้อมูลทศนิยมของภาษาที่คุณใช้

ID

ID เป็นสตริงหรือจำนวนเต็มขึ้นอยู่กับออบเจ็กต์ ดู ID ของออบเจ็กต์

ค่า enum

ฟิลด์ที่มีชุดค่าตายตัว เช่น สถานะ เป็นสตริง enum ทุกชุดในการตอบกลับอาจได้ค่าใหม่ในเวอร์ชันถัดไป ให้ถือว่าค่าที่ไม่รู้จักเป็น “ค่าอื่น” ดู เวอร์ชันและความเข้ากันได้

ค่า null และฟิลด์ที่ไม่มีในข้อมูล

  • null หมายถึง “ไม่มีค่า” เช่น การ์ดที่ไม่มีผู้รับผิดชอบจะมี "owner_id": null
  • ฟิลด์อาจไม่มีในการตอบกลับเมื่อฟิลด์นั้นไม่เกี่ยวข้องกับออบเจ็กต์หรือคำขอนี้ เอกสารอ้างอิง API ระบุไว้ว่าฟิลด์ใดมีอยู่เสมอ
  • ใน PATCH ฟิลด์ที่คุณไม่ได้ส่งจะคงค่าเดิมไว้ ส่ง null เพื่อล้างค่าของฟิลด์ที่เอกสารอ้างอิงระบุว่ารับ null ได้