Anar al contingut
Sursa Developers

POST/v1/webhooks/{webhook_id}/redeliver

Reenviar els lliuraments d’un període

redeliver_webhook_range

Posa a la cua lliuraments nous dels mateixos esdeveniments al final de l’ordre dels lliuraments del webhook: un per esdeveniment, en l’ordre dels lliuraments originals, amb el mateix webhook-id (el receptor descarta les repeticions). Pren els lliuraments creats dins de [since, until) en els últims 30 dies amb els estats de status (exhausted i cancelled per defecte). Els esdeveniments que ja tenen un lliurament pendent s’ometen. Com a màxim 10.000 lliuraments per crida: quan truncated és true, torneu a cridar amb since = next_since. Primer activeu el webhook si està desactivat. dry_run: true només compta quants lliuraments es posarien a la cua (per confirmar-ho abans del reenviament): no es crea cap lliurament i no s’anota res al registre d’auditoria.

Autenticació

Envieu una clau d’API a la capçalera Authorization: Authorization: Bearer <clau>.

Paràmetres de camí

  • webhook_idintegerobligatori

Paràmetres de capçalera

  • Idempotency-Keystring

    Clau per reintentar una escriptura de manera segura: d’1 a 255 caràcters ASCII imprimibles; es recomana un UUID v4 per operació lògica. Un reintent amb la mateixa clau en un termini de 24 hores no torna a executar l’operació: retorna la resposta desada (estat, capçaleres i cos) amb la capçalera Idempotency-Replayed: true. La mateixa clau amb un mètode, un camí, un Content-Type o un cos diferents retorna 409 api.idempotency_mismatch; mentre la primera sol·licitud encara s’executa, 409 api.idempotency_in_progress amb Retry-After: 1. Després d’una resposta 5xx o 429 la clau s’allibera, i un reintent torna a executar l’operació. L’abast de la clau és l’organització i qui fa la crida (clau d’API, usuari o clau de font personalitzada).

    length ≥ 1, length ≤ 255

Cos de la sol·licitud

application/json

Objecte: WebhookRedeliverRange

  • sincestring (date-time)obligatori

    Inici del període (per moment de creació del lliurament), no abans de fa 30 dies.

  • untilstring (date-time)

    Final del període, exclòs (per defecte, ara).

  • statusarray of string

    Estats dels lliuraments originals (per defecte, exhausted i cancelled).

    Valors permesos: successexhaustedcancelled

  • dry_runboolean

    Només compta (queued és quants lliuraments es posarien a la cua) sense posar-ne cap a la cua. Afegit a la versió 1.62.0.

    Per defecte: false

Respostes

200Quants lliuraments s’han posat a la cua

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

  • Idempotency-Replayed

    true indica que la resposta s’ha reproduït a partir de la desada per a aquesta Idempotency-Key: l’operació no s’ha tornat a executar.

application/json

Objecte: WebhookRedeliverResult

  • queuedintegerobligatori

    Quants lliuraments s’han posat a la cua al final de l’ordre dels lliuraments del webhook (amb dry_run, quants s’hi posarien).

  • truncatedbooleanobligatori

    Han coincidit més de 10.000 lliuraments: torneu a fer la crida amb since = next_since.

  • next_sincestring (date-time) | null
400La sol·licitud no és vàlida: el valor d’un paràmetre o l’estat de l’objecte no permeten l’acció (`detail` és un missatge).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

401No s’han enviat credencials (ni una galeta de sessió ni una clau d’API), o no s’ha trobat la clau.

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

403L’acció no està permesa: el rol és insuficient, no hi ha accés a la col·lecció o a l’entrada, la sol·licitud s’executa en mode «View as», o l’organització està suspesa o eliminada (`detail` és un objecte amb `code: org_suspended | org_deleted`).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

404L’objecte no existeix o no està disponible per a vós. L’API no confirma que existeixi un objecte restringit.

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

409L’estat de l’objecte no permet l’acció; per exemple, un duplicat, una indexació en curs o un treball que ja s’ha processat.

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

422Error de validació: el cos o els paràmetres no coincideixen amb l’esquema (`detail` és una llista d’errors de validació), o el valor d’un paràmetre és fora de l’interval permès (`detail` és un missatge).

Capçaleres de la resposta

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

429Massa sol·licituds (`api.rate_limited`), s’ha esgotat la quota de l’organització per al minut, el dia o el mes (`api.quota_exceeded`; `error.details` conté `quota`, `limit` i `reset_at`), s’ha arribat al límit de l’organització o el servei de respostes està ocupat (`answers.engine_busy`). Espereu el temps que indica la capçalera `Retry-After`.

Capçaleres de la resposta

  • Retry-After

    Nombre de segons que cal esperar abans de reintentar la sol·licitud.

  • RateLimit-Policy

    Límits vigents, en el format de l’esborrany de l’IETF draft-ietf-httpapi-ratelimit-headers: elements separats per comes "<name>";q=<quota>;w=<window in seconds>. key és la freqüència de sol·licituds de la clau d’API (la quota és la ràfega, la finestra és el temps que triga a reomplir-se del tot; per a una sessió és user, sense credencials ip); minute, day i month són les quotes de l’organització per al minut, el dia i el mes naturals en UTC.

  • RateLimit

    El que queda de cada límit de RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Límit de l’element més restrictiu de RateLimit-Policy (el que té menys sol·licituds restants).

  • X-RateLimit-Remaining

    Sol·licituds restants dins del límit més restrictiu.

  • X-RateLimit-Reset

    Segons que falten perquè es restableixi el límit més restrictiu.

application/json

Objecte: Error

Codis d’error

Codis que aquest punt final pot retornar a error.code, a més dels codis generals de totes les sol·licituds.

Reintents segurs

Envieu una capçalera Idempotency-Key (per exemple, un UUID) amb cada POST i PATCH. Un reintent amb la mateixa clau en un termini de 24 hores retorna la resposta desada en lloc de tornar a executar la sol·licitud.

Límits de freqüència

Les respostes porten les capçaleres RateLimit i RateLimit-Policy i les anteriors X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Una resposta 429 té Retry-After en segons: espereu i torneu-ho a provar.

← webhooks · Referència de l’API