Hopp til innholdet
Sursa Developers

Objektenes ID-er

Alle objekter i API-et har en id. Lagre den i systemet ditt når du trenger å komme tilbake til objektet: Navn og titler kan endres, ID-er gjør det aldri.

ObjektidEksempel
Kort, mappeStreng"3f2c9a7e-5b1d-4c8e-9f0a-1b2c3d4e5f60"
HendelseStreng med prefikset evt_"evt_0123456789abcdef0123456789abcdef"
OpplastingStreng med prefikset upl_"upl_8b0c…"
OAuth-applikasjonStreng med prefikset app_"app_5f1c…"
Samling, bruker, gruppe, API-nøkkel, webhook, jobb og de fleste andreHeltall3

Behandle ID-er som ugjennomsiktige. Ikke tolk dem, og ikke anta noe format utover typen: En streng-ID kan være en hvilken som helst streng, opptil den lengden feltet tillater.

Nye objekttyper som du sannsynligvis kommer til å vise til fra dine egne systemer, får streng-ID-er med et kort prefiks som angir typen, etterfulgt av 32 heksadesimale tegn.

Referanser mellom objekter

Objekter viser til hverandre med ID, i felt som heter <object>_id: collection_id, owner_id, folder_id. For å få det relaterte objektet i samme svar bruker du expand[].

Baneparametere som tar en ID, har navn etter samme mønster: {card_id}, {webhook_id}, {upload_id}.

Samlinger med ID

Samlinger har både en id og et unikt name, for eksempel support. Baner som fantes før ID-er ble foretrukket, tar navnet på samlingen:

GET /v1/collections/support/stats

De samme banene tar også ID-en, skrevet som id:<number>:

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

Foretrekk formen id: i ny kode: En administrator kan gi en samling nytt navn, men ID-en forblir den samme. Et segment med bare sifre, for eksempel /v1/collections/3, betyr fortsatt samlingen som heter 3. Et samlingsnavn kan ikke inneholde :, så de to formene blandes aldri sammen.

I forespørselens brødtekst og i spørringsparametere står collection_id ved siden av det tidligere collection (navnet). Når du sender begge, gjelder collection_id. En collection_id som ikke finnes i organisasjonen, eller som nøkkelen ikke har lov til å se, returnerer 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"

Dine egne ID-er

Kort kan ha ID-en til posten de kommer fra i systemet ditt, i external_id: opptil 512 tegn, unik blant organisasjonens kort. Da trenger du aldri å lagre Sursa-ID-en til et kort:

OperasjonHva den gjør
PUT /v1/cards-by-external-id/{external_id}Oppretter kortet, eller erstatter innholdet hvis kortet finnes.
GET /v1/cards-by-external-id/{external_id}Leser kortet.
GET /v1/cards?external_id=…Finner kortet i en liste, sammen med andre filtre.

URL-kod external_id når den er en del av banen: crm/A-1042 blir crm%2FA-1042.

Dokumenter i en egendefinert kilde har sin egen external_id innenfor kilden. De to kolliderer ikke: Et kort fra en egendefinert kilde endres ved at du sender dokumentet til kilden på nytt, ikke med PUT /v1/cards-by-external-id/…, som i så fall svarer 409 med koden cards.managed_by_source.