Hopp til innholdet
Sursa Developers

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

Send en hendelse på nytt

redeliver_webhook

Sender leveransen på nytt med samme X-KB-Event-Id og webhook-id, slik at en mottaker som allerede har tatt imot hendelsen, forkaster gjentakelsen. En avsluttet leveranse (success, exhausted, cancelled) gjentas som en ny leveranse på slutten av webhookens leveringsrekkefølge (redelivery_of peker på originalen) og sendes umiddelbart hvis ingen ventende leveranser ligger foran den. En ventende leveranse som er først i rekkefølgen, sendes umiddelbart som et manuelt forsøk som ikke forskyver planen for nye forsøk. På en webhook som er satt på pause, venter leveransene til den gjenopptas. Svaret er leveransen etter forsøket (den nye for en avsluttet leveranse).

Autentisering

Send en API-nøkkel i headeren Authorization: Authorization: Bearer <nøkkel>.

Baneparametere

  • webhook_idintegerobligatorisk
  • delivery_idintegerobligatorisk

Headerparametere

  • Idempotency-Keystring

    Nøkkel for et trygt nytt forsøk på en skriveoperasjon: 1 til 255 utskrivbare ASCII-tegn; en UUID v4 per logisk operasjon anbefales. Et nytt forsøk med samme nøkkel innen 24 timer kjører ikke operasjonen på nytt: det returnerer det lagrede svaret (status, headere og brødtekst) med headeren Idempotency-Replayed: true. Samme nøkkel med en annen metode, bane, Content-Type eller brødtekst returnerer 409 api.idempotency_mismatch; mens den første forespørselen fortsatt kjører, 409 api.idempotency_in_progress med Retry-After: 1. Etter et 5xx- eller 429-svar frigjøres nøkkelen, og et nytt forsøk kjører operasjonen på nytt. Nøkkelen gjelder per organisasjon og per kaller (API-nøkkel, bruker eller nøkkel for en egendefinert kilde).

    length ≥ 1, length ≤ 255

Svar

200Leveransen etter forsøket

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

  • Idempotency-Replayed

    true betyr at svaret ble gjentatt fra det lagrede svaret for denne Idempotency-Key: operasjonen ble ikke kjørt på nytt.

application/json

Objekt: WebhookDelivery

  • idintegerobligatorisk
  • webhook_idintegerobligatorisk
  • event_idstringobligatorisk

    Hendelsens ID (evt_…), sendes også i headeren X-KB-Event-Id og i leveransens brødtekst.

  • event_typeWebhookEventTypeobligatorisk
  • event_created_atstring (date-time)obligatorisk
  • attemptintegerobligatorisk

    Antall forsøk som er gjort.

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

    Nummeret i webhookens leveringsrekkefølge (X-KB-Sequence); null for en testleveranse.

  • testbooleanobligatorisk

    En testleveranse (POST /v1/webhooks/{webhook_id}/test).

  • redelivery_ofinteger | null

    Den opprinnelige leveransen, hvis denne er en ny leveranse.

  • error_codestring | null

    Nøytral kode for den siste feilen: timeout, connection_failed, tls_error, private_address, unresolvable, redirect, http_error, request_failed, endpoint_disabled, event_expired; en kansellert leveranse (cancelled) kan også ha event_not_permitted (hendelsen ligger utenfor rettighetene til webhooken på tidspunktet for forsøket, fordi rettighetene ble innsnevret etter at hendelsen ble fordelt) eller event_unavailable (brødteksten i en testleveranse er ikke lenger tilgjengelig).

401Ingen påloggingsinformasjon ble sendt (verken øktinformasjonskapsel eller API-nøkkel), eller nøkkelen ble ikke funnet.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

403Handlingen er ikke tillatt: rollen er utilstrekkelig, det finnes ingen tilgang til samlingen eller kortet, forespørselen kjører i modusen «View as», eller organisasjonen er suspendert eller slettet (`detail` er et objekt med `code: org_suspended | org_deleted`).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

404Objektet finnes ikke eller er ikke tilgjengelig for deg. API-et bekrefter ikke at et objekt med begrenset tilgang finnes.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

409Objektets tilstand tillater ikke handlingen, for eksempel et duplikat, en indeksering som pågår, eller en jobb som allerede er behandlet.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

429For mange forespørsler (`api.rate_limited`), organisasjonens kvote for minuttet, døgnet eller måneden er brukt opp (`api.quota_exceeded`; `error.details` inneholder `quota`, `limit` og `reset_at`), organisasjonens grense er nådd, eller svartjenesten er opptatt (`answers.engine_busy`). Vent så lenge som headeren `Retry-After` angir.

Headere i svaret

  • Retry-After

    Antall sekunder du skal vente før du prøver forespørselen på nytt.

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

Feilkoder

Kodene denne operasjonen kan returnere i error.code, i tillegg til de generelle kodene for alle forespørsler.

Trygge nye forsøk

Send en Idempotency-Key-header (for eksempel en UUID) med hver POST og PATCH. Et nytt forsøk med samme nøkkel innen 24 timer returnerer det lagrede svaret i stedet for å kjøre forespørselen på nytt.

Hastighetsgrenser

Svarene har headerne RateLimit og RateLimit-Policy og de eldre X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset. Et 429-svar har Retry-After i sekunder: Vent, og prøv på nytt.

← webhooks · API-referanse