POST/v1/webhooks
Veebihaagi loomine
create_webhook
URL peab kasutama protokolli https ja selle host peab lahenduma avalikeks aadressideks. Privaatsed (RFC 1918), tagasisilmus-, link-local-, pilve metaandmete ja muud eriotstarbelised võrgud lükatakse tagasi nii registreerimisel kui ka igal ühendusel. Allkirjastamise saladust näidatakse vastuses üks kord (secret); pärast seda saab seda ainult uuendada. Organisatsioonil võib olla kuni 20 veebihaaki.
Tellimus loetleb sündmusetüübid ja sündmuste rühma maskid (card.*, *). Juurdepääs määratakse samamoodi nagu API-võtmel: role, data_profile_id ja collection_ids. Sündmust objekti kohta, mida roll, andmeprofiil või kogud ei näe, ei edastata. tags piirab kaardisündmused kaartidega, millel on mõni neist siltidest. payload: thin saadab sündmused ilma väljata data. Kohandatud päised (headers) ja väljuv autoriseerimine (auth) salvestatakse krüpteeritult; vastused sisaldavad ainult päiste nimesid ning lippe value_set ja auth_set.
Autentimine
Saatke API-võti päises Authorization: Authorization: Bearer <võti>.
Päiseparameetrid
Idempotency-KeystringVõti kirjutamistoimingu turvaliseks kordamiseks: 1–255 prinditavat ASCII-märki; soovitatav on UUID v4 iga loogilise toimingu kohta. Kordus sama võtmega 24 tunni jooksul ei käivita toimingut uuesti: tagastatakse salvestatud vastus (olek, päised ja keha) päisega
Idempotency-Replayed: true. Sama võti teise meetodi, tee,Content-Typevõi kehaga tagastab409 api.idempotency_mismatch; kuni esimene päring veel töötab, tagastatakse409 api.idempotency_in_progresskoos päisegaRetry-After: 1. Pärast vastust 5xx või 429 võti vabastatakse ja kordus käivitab toimingu uuesti. Võti kehtib organisatsiooni ja päringu tegija piires (API-võti, kasutaja või kohandatud allika võti).length ≥ 1, length ≤ 255
Päringu keha
application/json
urlstringkohustuslikVastuvõtja URL, ainult
https://, kuni 2048 märki.length ≤ 2048
descriptionstringlength ≤ 200
items ≥ 1
roleWebhookRoledata_profile_idinteger | nullcollection_idsarray of integerKogud, mille kohta veebihaak sündmusi saab. Puuduv väärtus või tühi loend tähendab kõiki rollile ja andmeprofiilile kättesaadavaid kogusid. Võti, mis on ise kogudega piiratud, loob veebihaagi ainult oma kogude mittetühja loendiga. Ilma selle väljata, tühja loendiga või selle loendist väljaspool oleva koguga tagastab päring
403 webhooks.collections_outside_key.items ≤ 200
tagsarray of stringitems ≤ 50
payloadWebhookPayloadModeheadersarray of WebhookHeaderInputitems ≤ 10
authWebhookAuthInput
Vastused
201Loodud. See on ainus kord, kui `secret` näidatakse.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
Idempotency-Replayedtruetähendab, et vastus esitati uuesti selleIdempotency-Keyjaoks salvestatud vastusest: toimingut uuesti ei käivitatud.
application/json
idintegerkohustuslikurlstringkohustuslikdescriptionstringkohustuslikactivebooleankohustuslikpaused_atstring (date-time) | nullpaused_reasonstring | nullfailures: 10 järjestikust ebaõnnestunud katset;feature_disabled: pakett ei sisalda veebihaake.disabled_reasonstring | nullgone: vastuvõtja vastas koodiga 410;manual: administraator keelas.Lubatud väärtused:
gonemanualnulldisabled_atstring (date-time) | nulldata_profile_idinteger | nullVeebihaagi andmeprofiil (
nulltähendab profiili puudumist, nagu sama rolliga API-võtmel).collection_idsarray of integerkohustuslikKogud, mille sündmusi veebihaak saab; tühi tähendab kõiki rollile ja andmeprofiilile kättesaadavaid kogusid.
tagsarray of stringkohustuslikKaardisündmused ainult kaartide kohta, millel on mõni neist siltidest; tühi tähendab, et filtrit pole.
auth_typestring | nullVäljamineva autoriseerimise tüüp (
nulltähendab, et seda pole).Lubatud väärtused:
bearerbasicnullauth_setbooleankohustuslikKas väljaminev autoriseerimine on määratud (väärtusi ei tagastata mitte kunagi).
previous_secret_valid_untilstring (date-time) | nullMis ajani allkirjastatakse edastused ka eelmise saladusega (
nulltähendab, et kattuvusaega pole).healthWebhookHealthconsecutive_failuresintegerkohustusliklast_delivery_atstring (date-time) | nulllast_success_atstring (date-time) | nulllast_errorstring | nullcreated_byinteger | nullcreated_by_namestring | nullcreated_atstring (date-time)kohustuslikupdated_atstring (date-time)kohustusliksecretstringkohustuslikwhsec_, millele järgneb 32 baiti base64-kodeeringus (uued saladused kasutavad standardset tähestikku koos täitemärkidega, vanemad base64url-kodeeringut). Salvestage see vastuvõtja poolel; API vastustes seda enam kunagi ei esine. Standard Webhooks allkirjastamise võti onwhsec_järel oleva osa base64-dekodeering.previous_valid_untilstring (date-time) | nullMis ajani eelmist saladust veel aktsepteeritakse (pärast uuendamist). Loomisel
null.
400Päring on vigane: parameetri väärtus või objekti olek ei võimalda toimingut (`detail` on teade).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
401Autentimisandmeid ei saadetud (ei seansiküpsist ega API-võtit) või võtit ei leitud.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
403Toiming ei ole lubatud: rollist ei piisa, puudub juurdepääs kogule või kaardile, päring töötab režiimis „View as“ või organisatsioon on peatatud või kustutatud (`detail` on objekt väärtusega `code: org_suspended | org_deleted`).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
409Objekti olek ei võimalda toimingut, näiteks duplikaat, käimasolev indekseerimine või juba töödeldud töö.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
422Valideerimisviga: keha või parameetrid ei vasta skeemile (`detail` on valideerimisvigade loend) või parameetri väärtus on lubatud vahemikust väljas (`detail` on teade).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
429Liiga palju päringuid (`api.rate_limited`), organisatsiooni minuti-, päeva- või kuukvoot on ära kasutatud (`api.quota_exceeded`; `error.details` sisaldab välju `quota`, `limit` ja `reset_at`), organisatsiooni limiit on täis või vastuseteenus on hõivatud (`answers.engine_busy`). Oodake päises `Retry-After` antud aeg.
Vastuse päised
Retry-AfterSekundite arv, mida oodata enne päringu kordamist.
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
Veakoodid
Koodid, mida see lõpp-punkt võib lisaks iga päringu üldistele koodidele tagastada väljal error.code.
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 403webhooks.feature_disabled
- 401auth.not_authenticated
- 403authz.forbidden
- 400webhooks.invalid_url
- 400webhooks.private_address
- 400webhooks.unresolvable
- 400webhooks.unknown_event
- 400webhooks.events_required
- 400webhooks.description_too_long
- 409webhooks.too_many
- 400webhooks.headers_invalid
- 400webhooks.auth_invalid
- 400webhooks.access_invalid
- 403webhooks.collections_outside_key
Turvalised korduskatsed
Saatke iga POST- ja PATCH-päringuga päis Idempotency-Key (näiteks UUID). Sama võtmega korduskatse 24 tunni jooksul tagastab salvestatud vastuse ega käivita päringut uuesti.
Sageduspiirangud
Vastustes on päised RateLimit ja RateLimit-Policy ning varasemad X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset. Vastuses 429 on päis Retry-After sekundites: oodake ja proovige uuesti.