POST/v1/push/sources/{source_id}/syncs
เปิดการซิงก์
push_open_sync
เปิดการซิงก์ใหม่: initial สำหรับการซิงก์ครั้งแรก (หรือการลองซิงก์ครั้งแรกใหม่) incremental หลังการซิงก์ที่เสร็จสมบูรณ์อย่างน้อยหนึ่งครั้ง การตอบกลับมีหมายเลขการซิงก์ (sync_number) สำหรับใช้ตอนส่งเอกสารและปิดการซิงก์ เปิดการซิงก์ได้ครั้งละหนึ่งรายการเท่านั้น ระหว่างที่การซิงก์ที่เปิดอยู่ยังไม่หมดอายุ (max_minutes ค่าเริ่มต้น 60 สูงสุด 1440) การเปิดรายการใหม่จะส่งคืน 409 sources.push_sync_open หลังหมดอายุ การซิงก์ที่เปิดอยู่จะปิดเป็น expired (ไม่มีอะไรถูกลบ) และไม่รับหมายเลขของการซิงก์นั้นอีก
การยืนยันตัวตน
ส่งคีย์ API ในเฮดเดอร์ Authorization: Authorization: Bearer <คีย์>
พารามิเตอร์พาธ
source_idintegerจำเป็น
พารามิเตอร์เฮดเดอร์
Idempotency-Keystringคีย์ป้องกันการทำซ้ำ (idempotency key) สำหรับลองคำขอเขียนข้อมูลใหม่อย่างปลอดภัย: อักขระ ASCII ที่พิมพ์ได้ 1 ถึง 255 ตัว แนะนำให้ใช้ UUID v4 หนึ่งค่าต่อการดำเนินการเชิงตรรกะหนึ่งรายการ การลองใหม่ด้วยคีย์เดิมภายใน 24 ชั่วโมงจะไม่ทำการดำเนินการซ้ำ แต่ส่งคืนการตอบกลับที่บันทึกไว้ (สถานะ เฮดเดอร์ และเนื้อหา) พร้อมเฮดเดอร์
Idempotency-Replayed: trueคีย์เดิมที่ใช้กับเมธอด พาธContent-Typeหรือเนื้อหาที่ต่างออกไปจะส่งคืน409 api.idempotency_mismatchส่วนระหว่างที่คำขอแรกยังทำงานอยู่จะส่งคืน409 api.idempotency_in_progressพร้อมRetry-After: 1หลังการตอบกลับ 5xx หรือ 429 Sursa จะปล่อยคีย์ และการลองใหม่จะทำการดำเนินการอีกครั้ง คีย์มีขอบเขตตามองค์กรและผู้เรียก (คีย์ API ผู้ใช้ หรือคีย์แหล่งข้อมูล)length ≥ 1, length ≤ 255
เนื้อหาคำขอ
application/json
typestringค่าที่ใช้ได้:
initialincrementalค่าเริ่มต้น: "initial"
max_minutesintegerค่าเริ่มต้น: 60≥ 1, ≤ 1440
การตอบกลับ
201เปิดแล้ว
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
Idempotency-Replayedtrueหมายถึงการตอบกลับนี้เป็นการส่งคืนซ้ำจากการตอบกลับที่บันทึกไว้สำหรับIdempotency-Keyนี้: ไม่มีการทำการดำเนินการซ้ำ
application/json
sync_numberintegerจำเป็นtypestringจำเป็นค่าที่ใช้ได้:
initialincrementalstatusstringจำเป็นค่าที่ใช้ได้:
opencompletecomplete_incrementalfailedexpiredopened_atstring (date-time)จำเป็นexpires_atstring (date-time)จำเป็นclosed_atstring (date-time) | nullreasonstringerror_detailsstringpushedintegerจำเป็นจำนวนเอกสารที่ส่งในการซิงก์ (รวมถึงที่ไม่เปลี่ยนแปลง)
removedintegerจำเป็นจำนวนเอกสารที่เก็บเข้าคลังจากการตรวจเทียบแบบเต็ม
400คำขอไม่ถูกต้อง: ค่าพารามิเตอร์หรือสถานะของออบเจ็กต์ไม่อนุญาตให้ดำเนินการ (`detail` เป็นข้อความ)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
401ไม่ได้ส่งข้อมูลรับรอง (ไม่มีทั้งคุกกี้เซสชันและคีย์ API) หรือไม่พบคีย์
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
403ไม่อนุญาตให้ดำเนินการ: บทบาทไม่เพียงพอ ไม่มีสิทธิ์เข้าถึงคอลเลกชันหรือการ์ด คำขอทำงานในโหมด “View as” หรือองค์กรถูกระงับหรือถูกลบ (`detail` เป็นออบเจ็กต์ที่มี `code: org_suspended | org_deleted`)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
404ออบเจ็กต์ไม่มีอยู่หรือคุณเข้าถึงไม่ได้ API ไม่ยืนยันว่าออบเจ็กต์ที่จำกัดสิทธิ์มีอยู่จริง
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
409สถานะของออบเจ็กต์ไม่อนุญาตให้ดำเนินการ เช่น ข้อมูลซ้ำ การทำดัชนีที่กำลังดำเนินอยู่ หรืองานประมวลผลที่ประมวลผลไปแล้ว
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
422ข้อผิดพลาดในการตรวจความถูกต้องของข้อมูล: เนื้อหาหรือพารามิเตอร์ไม่ตรงกับสคีมา (`detail` เป็นรายการข้อผิดพลาดในการตรวจความถูกต้อง) หรือค่าพารามิเตอร์อยู่นอกช่วงที่กำหนด (`detail` เป็นข้อความ)
เฮดเดอร์การตอบกลับ
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
429คำขอมากเกินไป (`api.rate_limited`) โควตาขององค์กรสำหรับนาที วัน หรือเดือนหมดแล้ว (`api.quota_exceeded` โดย `error.details` มี `quota` `limit` และ `reset_at`) องค์กรใช้ถึงขีดจำกัดแล้ว หรือบริการคำตอบไม่ว่าง (`answers.engine_busy`) รอตามเวลาในเฮดเดอร์ `Retry-After`
เฮดเดอร์การตอบกลับ
Retry-Afterจำนวนวินาทีที่ต้องรอก่อนลองส่งคำขอใหม่
RateLimit-Policyขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF
draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค"<name>";q=<quota>;w=<window in seconds>โดยkeyคืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือuserและเมื่อไม่มีข้อมูลรับรองคือip) ส่วนminutedayและmonthคือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTCRateLimitส่วนที่เหลือของแต่ละขีดจำกัดใน
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>X-RateLimit-Limitขีดจำกัดของรายการที่เข้มงวดที่สุดใน
RateLimit-Policy(รายการที่เหลือคำขอน้อยที่สุด)X-RateLimit-Remainingจำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด
X-RateLimit-Resetจำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต
application/json
รหัสข้อผิดพลาด
รหัสที่เอนด์พอยต์นี้อาจส่งคืนใน error.code นอกเหนือจากรหัสทั่วไปของทุกคำขอ
การลองใหม่อย่างปลอดภัย
ส่งเฮดเดอร์ Idempotency-Key (เช่น UUID) ไปกับทุกคำขอ POST และ PATCH เมื่อลองใหม่ด้วยคีย์เดียวกันภายใน 24 ชั่วโมง Sursa จะส่งคืนการตอบกลับที่บันทึกไว้แทนการดำเนินการคำขอซ้ำ
ขีดจำกัดอัตราการเรียก
การตอบกลับมีเฮดเดอร์ RateLimit และ RateLimit-Policy รวมถึงเฮดเดอร์แบบเดิม X-RateLimit-Limit X-RateLimit-Remaining และ X-RateLimit-Reset การตอบกลับ 429 มี Retry-After เป็นวินาที ให้รอตามนั้นแล้วลองใหม่