Hoppa till innehållet
Sursa Developers

Objektens id

Varje objekt i API:et har ett id. Spara det i ditt system när du behöver komma tillbaka till objektet: namn och rubriker kan ändras, id aldrig.

ObjektidExempel
Kort, mappSträng"3f2c9a7e-5b1d-4c8e-9f0a-1b2c3d4e5f60"
HändelseSträng med prefixet evt_"evt_0123456789abcdef0123456789abcdef"
UppladdningSträng med prefixet upl_"upl_8b0c…"
OAuth-appSträng med prefixet app_"app_5f1c…"
Samling, användare, grupp, API-nyckel, webhook, jobb och de flesta andraHeltal3

Behandla id som ogenomskinliga. Tolka dem inte och anta inget format utöver typen: ett id av typen sträng kan vara vilken sträng som helst, upp till den längd som fältet tillåter.

Nya typer av objekt som du sannolikt kommer att hänvisa till från dina egna system får id av typen sträng med ett kort prefix som anger typen, följt av 32 hexadecimala tecken.

Referenser mellan objekt

Objekt hänvisar till varandra med id, i fält som heter <object>_id: collection_id, owner_id, folder_id. För att få det relaterade objektet i samma svar använder du expand[].

Sökvägsparametrar som tar ett id namnges på samma sätt: {card_id}, {webhook_id}, {upload_id}.

Samlingar med id

Samlingar har både ett id och ett unikt namn (name), till exempel support. Sökvägar som fanns innan id blev det föredragna sättet tar samlingens namn:

GET /v1/collections/support/stats

Samma sökvägar tar också id:t, skrivet som id:<number>:

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

Använd hellre formen id: i ny kod: en administratör kan byta namn på en samling, men dess id förblir detsamma. Ett segment med bara siffror, till exempel /v1/collections/3, betyder fortfarande samlingen som heter 3. Ett samlingsnamn kan inte innehålla :, så de två formerna blandas aldrig ihop.

I anropens brödtext och i frågeparametrar står collection_id bredvid det tidigare collection (namnet). När du skickar båda gäller collection_id. Ett collection_id som inte finns i organisationen, eller som nyckeln inte får se, returnerar 404 med koden collections.not_found.

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

Egna id:n

Kort kan bära id:t för den post i ditt system som de kommer från, i external_id: upp till 512 tecken, unikt bland organisationens kort. Med det behöver du aldrig spara ett korts id i Sursa:

SlutpunktVad den gör
PUT /v1/cards-by-external-id/{external_id}Skapar kortet, eller ersätter dess innehåll om det finns.
GET /v1/cards-by-external-id/{external_id}Läser kortet.
GET /v1/cards?external_id=…Hittar kortet i en lista, tillsammans med andra filter.

URL-koda external_id när det ingår i sökvägen: crm/A-1042 blir crm%2FA-1042.

Dokument i en egen källa har ett eget external_id inom sin källa. De två krockar inte: ett kort i en egen källa ändras genom att du skickar dokumentet till källan igen, inte med PUT /v1/cards-by-external-id/…, som i så fall svarar 409 med koden cards.managed_by_source.