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

PATCH/v1/sources/{source_id}/settings

อัปเดตการตั้งค่าแหล่งข้อมูล

update_source_settings

ตั้งค่าโหมดสิทธิ์ (own ใช้สิทธิ์ของคอลเลกชัน ส่วน mirror ใช้การมองเห็นตามแหล่งข้อมูลและเปลี่ยนด้วยตนเองไม่ได้) โฟลเดอร์ที่เลือก โฟลเดอร์ของคอลเลกชันสำหรับการ์ด และระยะเวลาที่เก็บการ์ดไว้หลังลบแหล่งข้อมูล ในเว็บแอปยังตั้งค่าการเชื่อมต่อและประเภทออบเจ็กต์ได้ด้วย ต้องมีสิทธิ์ SOURCE_MANAGE การเปลี่ยนโหมดสิทธิ์ต้องมีสิทธิ์ COLLECTION_MANAGE_PERMISSIONS บนคอลเลกชันของแหล่งข้อมูลด้วย หลังโหมดสิทธิ์หรือประเภทออบเจ็กต์เปลี่ยน การซิงก์แบบเต็มจะเริ่มทำงาน เพิ่มใน 1.9.0 เมื่อใช้คีย์ API ขององค์กร (ตั้งแต่ 1.62.0) จะใช้ได้เฉพาะแหล่งข้อมูลแบบกำหนดเอง (kind: custom): คีย์ต้องมีบทบาท admin และขอบเขตสิทธิ์ admin ชนิดอื่นจะส่งคืน 400 sources.kind_not_allowed_for_key คอนเนกเตอร์ที่ลงชื่อเข้าใช้กับผู้ให้บริการต้องตั้งค่าในเบราว์เซอร์ ฟิลด์ของคอนเนกเตอร์ไม่แสดงในข้อกำหนดสาธารณะ

การยืนยันตัวตน

ส่งคีย์ API ในเฮดเดอร์ Authorization: Authorization: Bearer <คีย์>

พารามิเตอร์พาธ

  • source_idintegerจำเป็น

พารามิเตอร์เฮดเดอร์

  • X-View-Asstring

    สำหรับคีย์ API ที่มีบทบาท admin เท่านั้น ทำคำขอในนามโปรไฟล์ข้อมูล <profile>[:viewer|verifier|editor] เช่น employee:viewer คีย์การติดตั้งใช้เฮดเดอร์นี้ไม่ได้ (403)

  • 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

พารามิเตอร์คุกกี้

  • kb_view_asstring

    คุกกี้ของโหมด “View as” สำหรับเซสชัน POST /auth/view-as ตั้งค่าคุกกี้นี้ และ DELETE /auth/view-as ล้างค่า

เนื้อหาคำขอ

application/json

ออบเจ็กต์: SourceSettingsUpdate

  • permissions_modestring | null

    ค่าที่ใช้ได้: ownmirrornull

  • retention_daysinteger | null

    จำนวนวันที่เก็บการ์ดไว้หลังลบแหล่งข้อมูล 0 คือลบทันที

    ≥ 0, ≤ 3650

  • rootsarray of string | null

    โฟลเดอร์ที่เลือกของแหล่งข้อมูล (API 1.53.0) สำหรับแหล่งข้อมูลแบบกำหนดเอง คือพาธโฟลเดอร์ของเอกสาร

  • folder_idstring | null

    โฟลเดอร์ในคอลเลกชัน (สตริงว่างหมายถึงระดับบนสุดของคอลเลกชัน)

  • folder_modestring | null

    ค่าที่ใช้ได้: flatmirrornull

การตอบกลับ

200การตอบกลับเมื่อสำเร็จ

เฮดเดอร์การตอบกลับ

  • RateLimit-Policy

    ขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค "<name>";q=<quota>;w=<window in seconds> โดย key คืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือ user และเมื่อไม่มีข้อมูลรับรองคือ ip) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

  • Idempotency-Replayed

    true หมายถึงการตอบกลับนี้เป็นการส่งคืนซ้ำจากการตอบกลับที่บันทึกไว้สำหรับ Idempotency-Key นี้: ไม่มีการทำการดำเนินการซ้ำ

application/json

ออบเจ็กต์: SourceStatus

  • source_idintegerจำเป็น
  • kindSourceKindจำเป็น
  • namestringจำเป็น
  • permissions_modestringจำเป็น

    ค่าที่ใช้ได้: ownmirror

  • retention_daysintegerจำเป็น
  • fetchedintegerจำเป็น
  • indexedintegerจำเป็น
  • failedintegerจำเป็น
  • removedintegerจำเป็น
  • pendingintegerจำเป็น
  • object_typesarray of SourceObjectTypeจำเป็น
  • runningobject | nullจำเป็น

    การรันที่กำลังดำเนินอยู่ (started_at stage done total errors triggered_by และ run_id) หรือ null

    ฟิลด์
    • started_atnumber
    • stagestring
    • doneinteger
    • totalinteger
    • errorsinteger
    • triggered_bystring | null
    • run_idstring | null
  • last_statusstring | nullจำเป็น
  • last_errorstring | nullจำเป็น
  • last_sync_atstring (date-time) | nullจำเป็น
400คำขอไม่ถูกต้อง: ค่าพารามิเตอร์หรือสถานะของออบเจ็กต์ไม่อนุญาตให้ดำเนินการ (`detail` เป็นข้อความ)

เฮดเดอร์การตอบกลับ

  • RateLimit-Policy

    ขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค "<name>";q=<quota>;w=<window in seconds> โดย key คืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือ user และเมื่อไม่มีข้อมูลรับรองคือ ip) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

401ไม่ได้ส่งข้อมูลรับรอง (ไม่มีทั้งคุกกี้เซสชันและคีย์ API) หรือไม่พบคีย์

เฮดเดอร์การตอบกลับ

  • RateLimit-Policy

    ขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค "<name>";q=<quota>;w=<window in seconds> โดย key คืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือ user และเมื่อไม่มีข้อมูลรับรองคือ ip) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

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) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

404ออบเจ็กต์ไม่มีอยู่หรือคุณเข้าถึงไม่ได้ API ไม่ยืนยันว่าออบเจ็กต์ที่จำกัดสิทธิ์มีอยู่จริง

เฮดเดอร์การตอบกลับ

  • RateLimit-Policy

    ขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค "<name>";q=<quota>;w=<window in seconds> โดย key คืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือ user และเมื่อไม่มีข้อมูลรับรองคือ ip) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

422ข้อผิดพลาดในการตรวจความถูกต้องของข้อมูล: เนื้อหาหรือพารามิเตอร์ไม่ตรงกับสคีมา (`detail` เป็นรายการข้อผิดพลาดในการตรวจความถูกต้อง) หรือค่าพารามิเตอร์อยู่นอกช่วงที่กำหนด (`detail` เป็นข้อความ)

เฮดเดอร์การตอบกลับ

  • RateLimit-Policy

    ขีดจำกัดที่มีผล ในรูปแบบของร่าง IETF draft-ietf-httpapi-ratelimit-headers: รายการคั่นด้วยจุลภาค "<name>";q=<quota>;w=<window in seconds> โดย key คืออัตราคำขอของคีย์ API (โควตาคือช่วงพุ่งสูง (burst) กรอบเวลาคือเวลาที่ใช้เติมกลับจนเต็ม สำหรับเซสชันคือ user และเมื่อไม่มีข้อมูลรับรองคือ ip) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

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) ส่วน minute day และ month คือโควตาขององค์กรสำหรับนาที วัน และเดือนตามปฏิทินใน UTC

  • RateLimit

    ส่วนที่เหลือของแต่ละขีดจำกัดใน RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>

  • X-RateLimit-Limit

    ขีดจำกัดของรายการที่เข้มงวดที่สุดใน RateLimit-Policy (รายการที่เหลือคำขอน้อยที่สุด)

  • X-RateLimit-Remaining

    จำนวนคำขอที่เหลือภายใต้ขีดจำกัดที่เข้มงวดที่สุด

  • X-RateLimit-Reset

    จำนวนวินาทีจนกว่าขีดจำกัดที่เข้มงวดที่สุดจะรีเซ็ต

รหัสข้อผิดพลาด

รหัสที่เอนด์พอยต์นี้อาจส่งคืนใน error.code นอกเหนือจากรหัสทั่วไปของทุกคำขอ

การลองใหม่อย่างปลอดภัย

ส่งเฮดเดอร์ Idempotency-Key (เช่น UUID) ไปกับทุกคำขอ POST และ PATCH เมื่อลองใหม่ด้วยคีย์เดียวกันภายใน 24 ชั่วโมง Sursa จะส่งคืนการตอบกลับที่บันทึกไว้แทนการดำเนินการคำขอซ้ำ

ขีดจำกัดอัตราการเรียก

การตอบกลับมีเฮดเดอร์ RateLimit และ RateLimit-Policy รวมถึงเฮดเดอร์แบบเดิม X-RateLimit-Limit X-RateLimit-Remaining และ X-RateLimit-Reset การตอบกลับ 429 มี Retry-After เป็นวินาที ให้รอตามนั้นแล้วลองใหม่

← sources · เอกสารอ้างอิง API