# Reenviar callbacks de webhook por filtros (/docs/pix-processamento/endpoints/callbacks/resend_user_callbacks_webhooks)

## POST /user/callbacks/resend/webhook

`POST https://api.payzu.processamento.com/v1/user/callbacks/resend/webhook`

Enfileira o reenvio das entregas de webhook que falharam num período. Para cada webhook, transação e evento, vale só a última tentativa de entrega no período, e ela só é reenviada se falhou. Os filtros se aplicam às transações dessas entregas.

### Body params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `createdAtFrom` | string | yes | Início do período das entregas. No máximo 30 dias atrás. — format: date-time |
| `createdAtTo` | string | yes | Fim do período das entregas, igual ou posterior a createdAtFrom. A janela não pode passar de 7 dias. — format: date-time |
| `webhookIds` | string[] | no | Webhooks a reenviar. Omitido: todos os webhooks ativos da conta. |
| `transactionIds` | string[] | no | Restringe a IDs de transação específicos. |
| `transactionTypes` | string[] | no | Filtra pelo tipo da transação. |
| `transactionStatus` | string[] | no | Filtra pelo status atual da transação. |
| `transactionEndToEndIds` | string[] | no | Restringe a end-to-end IDs específicos. |

### Responses

**200** Callbacks aceitos para reenvio. Aceite não é entrega: o enfileiramento acontece depois da resposta.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `enqueued` | object | no |  |
| `enqueued.count` | integer | no | Total de callbacks enviados para enfileiramento. Não é limitado pelo tamanho de items. |
| `enqueued.truncated` | boolean | no | true quando items lista apenas parte dos callbacks. O reenvio cobre todos mesmo assim. |
| `enqueued.items` | object[] | no | Callbacks enfileirados, no máximo 500 entradas. |
| `enqueued.items.transactionId` | string | no | Transação cujo callback foi enfileirado. |
| `enqueued.items.webhookId` | string | no | Webhook que recebe a entrega. |
| `enqueued.items.eventType` | object | no | Evento que disparou o callback, quando o log registra. |

**400** Requisição inválida

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**401** Falha de autenticação

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**403** Operação não permitida

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**404** Nenhum webhook ativo para os critérios (PZW301), ou nenhum callback falho para os filtros (PZW311).

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**422** Limite de reenvios atingido: 5 requisições por minuto por conta, somadas entre todas as rotas /user/callbacks/resend

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |