Ugrás a tartalomra
Sursa Developers

POST/v1/webhooks

Webhook létrehozása

create_webhook

Az URL-nek https sémát kell használnia, a gazdagépnevének pedig nyilvános címekre kell feloldódnia. A magánhálózatokat (RFC 1918), a visszacsatolási, a kapcsolati szintű (link-local) és a felhős metaadat-címeket, valamint az egyéb különleges célú hálózatokat a regisztrációkor és minden kapcsolódáskor is elutasítja. Az aláíró titkos kulcs egyszer jelenik meg a válaszban (secret); ezután csak megújítani lehet. Egy szervezetnek legfeljebb 20 webhookja lehet.

A feliratkozás eseménytípusokat és eseménycsoport-mintákat (card.*, *) sorol fel. A hozzáférés ugyanúgy állítható be, mint egy API-kulcsnál: role, data_profile_id és collection_ids. Az olyan objektumról szóló esemény, amelyet a szerepkör, az adatprofil vagy a gyűjtemények nem látnak, nem kerül kézbesítésre. A tags a kártyaeseményeket azokra a kártyákra korlátozza, amelyek a címkék bármelyikével rendelkeznek. A payload: thin data nélkül küldi az eseményeket. Az egyéni fejlécek (headers) és a kimenő hitelesítés (auth) titkosítva tárolódnak; a válaszok csak a fejlécek nevét, valamint a value_set és az auth_set jelzőt tartalmazzák.

Hitelesítés

Küldj egy API-kulcsot az Authorization fejlécben: Authorization: Bearer <kulcs>.

Fejlécparaméterek

  • Idempotency-Keystring

    Kulcs egy írási kérés biztonságos megismétléséhez: 1–255 nyomtatható ASCII-karakter; logikai műveletenként egy UUID v4 ajánlott. Ha 24 órán belül ugyanazzal a kulccsal ismétled meg a kérést, a művelet nem fut le újra: a mentett választ kapod vissza (állapot, fejlécek és törzs) az Idempotency-Replayed: true fejléccel. Ugyanaz a kulcs más metódussal, útvonallal, Content-Type értékkel vagy törzzsel 409 api.idempotency_mismatch választ ad; amíg az első kérés még fut, a válasz 409 api.idempotency_in_progress, Retry-After: 1 fejléccel. 5xx vagy 429 válasz után a kulcs felszabadul, és a megismételt kérés újra lefuttatja a műveletet. A kulcs a szervezethez és a hívóhoz (API-kulcs, felhasználó vagy egyéni forrás forráskulcsa) kötődik.

    length ≥ 1, length ≤ 255

Kéréstörzs

application/json

Objektum: WebhookCreate

  • urlstringkötelező

    A fogadó URL-je, csak https://, legfeljebb 2048 karakter.

    length ≤ 2048

  • descriptionstring

    length ≤ 200

  • eventsarray of WebhookEventFilterkötelező

    items ≥ 1

  • data_profile_idinteger | null
  • collection_idsarray of integer

    Azok a gyűjtemények, amelyekről a webhook eseményeket kap. Hiányzó érték vagy üres lista esetén a szerepkör és az adatprofil számára elérhető összes gyűjtemény. A maga is gyűjteményekre korlátozott kulcs csak a saját gyűjteményeinek nem üres listájával hozhat létre webhookot. E mező nélkül, üres listával vagy a kulcs listáján kívüli gyűjteménnyel a válasz 403 webhooks.collections_outside_key.

    items ≤ 200

  • tagsarray of string

    items ≤ 50

  • headersarray of WebhookHeaderInput

    items ≤ 10

Válaszok

201Létrehozva. Csak ekkor jelenik meg a `secret` értéke.

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

  • Idempotency-Replayed

    A true azt jelenti, hogy a válasz az ehhez az Idempotency-Key kulcshoz mentett válasz megismétlése: a művelet nem futott le újra.

application/json

Objektum: WebhookCreated

  • idintegerkötelező
  • urlstringkötelező
  • descriptionstringkötelező
  • eventsarray of WebhookEventFilterkötelező
  • activebooleankötelező
  • statusWebhookStatuskötelező
  • paused_atstring (date-time) | null
  • paused_reasonstring | null

    failures: egymás után 10 sikertelen kísérlet; feature_disabled: a csomag nem tartalmaz webhookokat.

  • disabled_reasonstring | null

    gone: a fogadó 410-es kóddal válaszolt; manual: adminisztrátor tiltotta le.

    Megengedett értékek: gonemanualnull

  • disabled_atstring (date-time) | null
  • roleWebhookRolekötelező
  • data_profile_idinteger | null

    A webhook adatprofilja (a null azt jelenti, hogy nincs profil, mint az azonos szerepkörű API-kulcsnál).

  • collection_idsarray of integerkötelező

    Gyűjtemények, amelyekről a webhook eseményeket kap; az üres érték a szerepkör és az adatprofil számára elérhető összes gyűjteményt jelenti.

  • tagsarray of stringkötelező

    Kártyaesemények csak olyan kártyákról, amelyek e címkék bármelyikével rendelkeznek; az üres érték azt jelenti, hogy nincs szűrő.

  • payloadWebhookPayloadModekötelező
  • headersarray of WebhookHeaderkötelező
  • auth_typestring | null

    A kimenő hitelesítés típusa (a null azt jelenti, hogy nincs).

    Megengedett értékek: bearerbasicnull

  • auth_setbooleankötelező

    Be van-e állítva kimenő hitelesítés (az értékeket a rendszer soha nem adja vissza).

  • previous_secret_valid_untilstring (date-time) | null

    Meddig írja alá a rendszer a kézbesítéseket az előző titkos kulccsal is (a null azt jelenti, hogy nincs átfedési idő).

  • consecutive_failuresintegerkötelező
  • last_delivery_atstring (date-time) | null
  • last_success_atstring (date-time) | null
  • last_errorstring | null
  • created_byinteger | null
  • created_by_namestring | null
  • created_atstring (date-time)kötelező
  • updated_atstring (date-time)kötelező
  • secretstringkötelező

    whsec_, majd 32 bájt base64 kódolásban (az új titkos kulcsok a szabványos ábécét használják kitöltéssel, a régebbiek base64url kódolást). Tárold a fogadó oldalán; az API válaszaiban soha többé nem jelenik meg. A Standard Webhooks aláíró kulcsa a whsec_ utáni rész base64-dekódolása.

  • previous_valid_untilstring (date-time) | null

    Meddig fogadja még el a rendszer az előző titkos kulcsot (megújítás után). Létrehozáskor null.

400A kérés érvénytelen: egy paraméter értéke vagy az objektum állapota nem teszi lehetővé a műveletet (a `detail` egy üzenet).

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

401Nem érkeztek hitelesítő adatok (sem munkamenet-süti, sem API-kulcs), vagy a kulcs nem található.

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

403A művelet nem engedélyezett: a szerepkör nem elegendő, nincs hozzáférés a gyűjteményhez vagy a kártyához, a kérés „View as” módban fut, vagy a szervezetet felfüggesztették vagy törölték (a `detail` egy objektum, `code: org_suspended | org_deleted` mezővel).

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

409Az objektum állapota nem teszi lehetővé a műveletet, például ismétlődés, folyamatban lévő indexelés vagy már feldolgozott feladat miatt.

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

422Érvényesítési hiba: a törzs vagy a paraméterek nem felelnek meg a sémának (a `detail` az érvényesítési hibák listája), vagy egy paraméter értéke kívül esik a megengedett tartományon (a `detail` egy üzenet).

Válaszfejlécek

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

429Túl sok kérés (`api.rate_limited`), elfogyott a szervezet percre, napra vagy hónapra szóló kvótája (`api.quota_exceeded`; az `error.details` a `quota`, a `limit` és a `reset_at` mezőt tartalmazza), a szervezet elérte a korlátját, vagy a válaszszolgáltatás foglalt (`answers.engine_busy`). Várj a `Retry-After` fejlécben megadott ideig.

Válaszfejlécek

  • Retry-After

    Ennyi másodpercet várj, mielőtt újrapróbálod a kérést.

  • RateLimit-Policy

    Az érvényben lévő korlátok az IETF draft-ietf-httpapi-ratelimit-headers tervezetének formátumában: vesszővel elválasztott "<name>";q=<quota>;w=<window in seconds> elemek. A key az API-kulcs kérésgyakorisága (a kvóta a csúcskeret, az időablak a teljes visszatöltődés ideje; munkamenetnél user, hitelesítő adatok nélkül ip); a minute, a day és a month a szervezetnek az UTC szerinti naptári percre, napra és hónapra szóló kvótája.

  • RateLimit

    Mennyi maradt a RateLimit-Policy egyes korlátaiból: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    A RateLimit-Policy legszigorúbb elemének korlátja (amelyből a legkevesebb kérés maradt).

  • X-RateLimit-Remaining

    A legszigorúbb korlát szerint még hátralévő kérések száma.

  • X-RateLimit-Reset

    A legszigorúbb korlát visszaállásáig hátralévő másodpercek.

application/json

Objektum: Error

Hibakódok

Azok a kódok, amelyeket ez a végpont hiba esetén az error.code mezőben visszaadhat, a minden kérésre érvényes általános kódokon kívül.

Biztonságos újrapróbálkozás

Minden POST és PATCH kéréssel küldj Idempotency-Key fejlécet (például egy UUID-t). Ha 24 órán belül ugyanazzal a kulccsal megismétled a kérést, a mentett választ kapod vissza, és a kérés nem fut le újra.

Gyakorisági korlátok

A válaszokban ott van a RateLimit és a RateLimit-Policy fejléc, valamint a korábbi X-RateLimit-Limit, X-RateLimit-Remaining és X-RateLimit-Reset fejléc. A 429-es válasz Retry-After fejléce másodpercben adja meg a várakozást: várj, majd próbáld újra.

← webhooks · API-referencia