Chuyển tới nội dung
Sursa Developers

ID của đối tượng

Mọi đối tượng của API đều có id. Hãy lưu nó trong hệ thống của bạn khi cần quay lại đối tượng: tên và tiêu đề có thể thay đổi, ID thì không bao giờ.

Đối tượngidVí dụ
Thẻ, thư mụcChuỗi"3f2c9a7e-5b1d-4c8e-9f0a-1b2c3d4e5f60"
Sự kiệnChuỗi có tiền tố evt_"evt_0123456789abcdef0123456789abcdef"
Lượt tải lênChuỗi có tiền tố upl_"upl_8b0c…"
Ứng dụng OAuthChuỗi có tiền tố app_"app_5f1c…"
Bộ sưu tập, người dùng, nhóm, khóa API, webhook, tác vụ và hầu hết các đối tượng khácSố nguyên3

Hãy coi ID là không trong suốt. Không phân tích chúng và không giả định định dạng nào ngoài kiểu: ID dạng chuỗi có thể là bất kỳ chuỗi nào, dài tới mức trường của nó cho phép.

Những loại đối tượng mới mà bạn có thể sẽ tham chiếu từ hệ thống của mình nhận ID dạng chuỗi với một tiền tố ngắn chỉ loại đối tượng, theo sau là 32 ký tự thập lục phân.

Tham chiếu giữa các đối tượng

Đối tượng tham chiếu tới nhau bằng ID, trong các trường có tên <object>_id: collection_id, owner_id, folder_id. Để nhận đối tượng liên quan trong cùng phản hồi, hãy dùng expand[].

Tham số đường dẫn nhận ID cũng được đặt tên theo cách này: {card_id}, {webhook_id}, {upload_id}.

Bộ sưu tập theo ID

Bộ sưu tập có cả id lẫn name duy nhất, chẳng hạn support. Những đường dẫn có từ trước khi ID được ưu tiên nhận tên của bộ sưu tập:

GET /v1/collections/support/stats

Chính các đường dẫn đó cũng nhận ID, viết dưới dạng id:<number>:

curl https://api.sursa.com/v1/collections/id:3/stats \
  -H "Authorization: Bearer $SURSA_API_KEY"

Trong mã mới, hãy ưu tiên dạng id:: quản trị viên có thể đổi tên bộ sưu tập, nhưng ID của nó giữ nguyên. Một đoạn chỉ gồm chữ số, chẳng hạn /v1/collections/3, vẫn có nghĩa là bộ sưu tập có tên 3. Tên bộ sưu tập không thể chứa :, nên hai dạng này không bao giờ lẫn với nhau.

Trong phần thân yêu cầu và tham số truy vấn, collection_id đứng cạnh trường collection có từ trước (tên). Khi bạn truyền cả hai, collection_id được ưu tiên. collection_id không tồn tại trong tổ chức, hoặc khóa không được phép xem, trả về 404 với mã collections.not_found.

curl -G https://api.sursa.com/v1/cards \
  -H "Authorization: Bearer $SURSA_API_KEY" \
  --data-urlencode "collection_id=3"

ID của riêng bạn

Thẻ có thể mang ID của bản ghi gốc trong hệ thống của bạn, trong external_id: tối đa 512 ký tự, duy nhất trong số các thẻ của tổ chức. Nhờ đó bạn không bao giờ phải lưu ID Sursa của thẻ:

EndpointChức năng
PUT /v1/cards-by-external-id/{external_id}Tạo thẻ, hoặc thay thế nội dung nếu thẻ đã tồn tại.
GET /v1/cards-by-external-id/{external_id}Đọc thẻ.
GET /v1/cards?external_id=…Tìm thẻ trong danh sách, cùng các bộ lọc khác.

Hãy mã hóa URL cho external_id khi nó là một phần của đường dẫn: crm/A-1042 thành crm%2FA-1042.

Tài liệu của một nguồn tùy chỉnh có external_id riêng trong phạm vi nguồn của chúng. Hai loại này không xung đột: thẻ của nguồn tùy chỉnh được thay đổi bằng cách gửi lại tài liệu tới nguồn của nó, chứ không phải bằng PUT /v1/cards-by-external-id/…, endpoint này khi đó trả về 409 với mã cards.managed_by_source.