Preskoči na sadržaj
Sursa Developers

POST/v1/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver

Ponovna isporuka događaja

redeliver_webhook

Ponovno šalje isporuku s istim X-KB-Event-Id i webhook-id, pa primatelj koji je već prihvatio događaj odbacuje ponavljanje. Završena isporuka (success, exhausted, cancelled) ponavlja se kao nova isporuka na kraju redoslijeda isporuka webhooka (redelivery_of upućuje na izvornu) i odmah odlazi ako ispred nje nema isporuka na čekanju. Isporuka na čekanju koja je prva u redoslijedu odmah odlazi kao ručni pokušaj koji ne pomiče njezin raspored ponovnih pokušaja. Na pauziranom webhooku isporuke čekaju dok se njegov rad ne nastavi. Odgovor je isporuka nakon pokušaja (za završenu isporuku – nova).

Autentifikacija

Pošaljite API ključ u zaglavlju Authorization: Authorization: Bearer <ključ>.

Parametri putanje

  • webhook_idintegerobavezno
  • delivery_idintegerobavezno

Parametri zaglavlja

  • Idempotency-Keystring

    Ključ za siguran ponovni pokušaj upisa: od 1 do 255 ispisivih ASCII znakova; preporučuje se UUID v4 po logičkoj operaciji. Ponovni pokušaj s istim ključem unutar 24 sata ne izvodi operaciju ponovno: vraća spremljeni odgovor (status, zaglavlja i tijelo) sa zaglavljem Idempotency-Replayed: true. Isti ključ s drugom metodom, putanjom, Content-Type ili tijelom vraća 409 api.idempotency_mismatch; dok se prvi zahtjev još izvodi – 409 api.idempotency_in_progress s Retry-After: 1. Nakon odgovora 5xx ili 429 ključ se oslobađa i ponovni pokušaj ponovno izvodi operaciju. Ključ vrijedi u okviru organizacije i pozivatelja (API ključ, korisnik ili ključ vlastitog izvora).

    length ≥ 1, length ≤ 255

Odgovori

200Isporuka nakon pokušaja

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

  • Idempotency-Replayed

    true znači da je odgovor ponovljen iz spremljenog odgovora za ovaj Idempotency-Key: operacija se nije ponovno izvela.

application/json

Objekt: WebhookDelivery

  • idintegerobavezno
  • webhook_idintegerobavezno
  • event_idstringobavezno

    ID događaja (evt_…), šalje se i u zaglavlju X-KB-Event-Id i u tijelu isporuke.

  • event_typeWebhookEventTypeobavezno
  • event_created_atstring (date-time)obavezno
  • attemptintegerobavezno

    Broj obavljenih pokušaja.

  • statusWebhookDeliveryStatusobavezno
  • response_codeinteger | null
  • duration_msinteger | null
  • next_retry_atstring (date-time) | null
  • errorstring | null
  • delivered_atstring (date-time) | null
  • created_atstring (date-time)obavezno
  • updated_atstring (date-time)obavezno
  • sequenceinteger | null

    Broj u redoslijedu isporuka webhooka (X-KB-Sequence); null za probnu isporuku.

  • testbooleanobavezno

    Probna isporuka (POST /v1/webhooks/{webhook_id}/test).

  • redelivery_ofinteger | null

    Izvorna isporuka, ako je ova ponovna isporuka.

  • error_codestring | null

    Neutralni kod posljednjeg neuspjeha: timeout, connection_failed, tls_error, private_address, unresolvable, redirect, http_error, request_failed, endpoint_disabled, event_expired; otkazana isporuka (cancelled) može imati i event_not_permitted (događaj je u trenutku pokušaja izvan prava webhooka jer su prava sužena nakon što je događaj raspoređen webhookovima) ili event_unavailable (tijelo probne isporuke više nije dostupno).

401Vjerodajnice nisu poslane (ni kolačić sesije ni API ključ) ili ključ nije pronađen.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

403Radnja nije dopuštena: uloga nije dovoljna, nema pristupa zbirci ili kartici, zahtjev se izvodi u načinu „View as” ili je organizacija suspendirana ili izbrisana (`detail` je objekt s `code: org_suspended | org_deleted`).

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

404Objekt ne postoji ili vam nije dostupan. API ne potvrđuje postojanje ograničenog objekta.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

409Stanje objekta ne dopušta radnju, na primjer duplikat, indeksiranje u tijeku ili posao koji je već obrađen.

Zaglavlja odgovora

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

429Previše zahtjeva (`api.rate_limited`), kvota organizacije za minutu, dan ili mjesec je potrošena (`api.quota_exceeded`; `error.details` sadrži `quota`, `limit` i `reset_at`), dosegnuto je ograničenje organizacije ili je usluga odgovora zauzeta (`answers.engine_busy`). Pričekajte vrijeme navedeno u zaglavlju `Retry-After`.

Zaglavlja odgovora

  • Retry-After

    Broj sekundi koje treba pričekati prije ponovnog pokušaja zahtjeva.

  • RateLimit-Policy

    Ograničenja na snazi, u formatu IETF nacrta draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima "<name>";q=<quota>;w=<window in seconds>. key je učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je to user, bez vjerodajnica ip); minute, day i month su kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.

  • RateLimit

    Što je preostalo od svakog ograničenja u RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Ograničenje najstrože stavke u RateLimit-Policy (one s najmanje preostalih zahtjeva).

  • X-RateLimit-Remaining

    Preostali zahtjevi u okviru najstrožeg ograničenja.

  • X-RateLimit-Reset

    Broj sekundi do obnove najstrožeg ograničenja.

application/json

Objekt: Error

Kodovi pogrešaka

Kodovi koje ova operacija može vratiti u error.code, uz opće kodove svakog zahtjeva.

Sigurni ponovni pokušaji

Uz svaki POST i PATCH pošaljite zaglavlje Idempotency-Key (na primjer UUID). Ponovni pokušaj s istim ključem unutar 24 sata vraća spremljeni odgovor umjesto da ponovno izvrši zahtjev.

Ograničenja učestalosti

Odgovori sadrže zaglavlja RateLimit i RateLimit-Policy te ranija zaglavlja X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Odgovor 429 sadrži zaglavlje Retry-After u sekundama: pričekajte i pokušajte ponovno.

← webhooks · Referenca API-ja