> ## Documentation Index
> Fetch the complete documentation index at: https://oblodai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v1/webhooks/deliveries

Журнал последних доставок вебхуков (до 50) — для отладки.

**URL:** `https://api.oblodai.com/v1/webhooks/deliveries` · **Аутентификация:** обязательна.

<Note>
  Примеры используют хелпер `call()` и переменные `$SECRET`/`$PUBLIC_ID` — их определение см. в
  [Как подписать запрос](/guides/signing-requests). Проще не писать подпись руками, а взять
  [SDK](/sdk/overview).
</Note>

**Тело:** пустой объект `{}` — параметров нет.

***

## Пример запроса

<CodeGroup>
  ```bash cURL theme={null}
  TS=$(date +%s)
  SIG=$(printf '%s\n%s\n%s\n%s' "$TS" 'POST' '/v1/webhooks/deliveries' '{}' \
    | openssl dgst -sha256 -hmac "$SECRET" -hex | sed 's/^.* //')
  curl -s https://api.oblodai.com/v1/webhooks/deliveries \
    -X POST -H 'Content-Type: application/json' \
    -H "X-Public-Id: $PUBLIC_ID" -H "X-Timestamp: $TS" -H "X-Signature: $SIG" \
    -d '{}'
  ```

  ```python Python theme={null}
  call("/v1/webhooks/deliveries", {})
  ```

  ```js Node.js theme={null}
  await call("/v1/webhooks/deliveries", {});
  ```
</CodeGroup>

***

## Пример ответа

```json theme={null}
{
  "state": 0,
  "result": {
    "deliveries": [
      { "id": "9a2b…", "url": "https://shop.example/…", "event_type": "invoice.paid",
        "status": "delivered", "attempts": 1, "last_error": "",
        "created_at": "2026-07-10T08:15:04Z", "updated_at": "2026-07-10T08:15:05Z" }
    ]
  }
}
```

<ResponseField name="id" type="string">
  Идентификатор доставки.
</ResponseField>

<ResponseField name="url" type="string">
  Куда доставлялось.
</ResponseField>

<ResponseField name="event_type" type="string">
  Тип события.
</ResponseField>

<ResponseField name="status" type="string">
  Статус доставки (см. ниже).
</ResponseField>

<ResponseField name="attempts" type="int64">
  Сколько попыток сделано.
</ResponseField>

<ResponseField name="last_error" type="string">
  Текст последней неуспешной попытки.
</ResponseField>

<ResponseField name="created_at" type="string">
  Момент создания доставки (RFC 3339).
</ResponseField>

<ResponseField name="updated_at" type="string">
  Момент последнего обновления (RFC 3339).
</ResponseField>

### Статусы доставки

| Статус      | Значение                   |
| ----------- | -------------------------- |
| `pending`   | В очереди или ждёт ретрая. |
| `delivered` | Endpoint вернул `2xx`.     |
| `dead`      | Исчерпаны попытки.         |

***

## Нюансы

* В журнале до **50** последних доставок.
* Статус `dead` означает, что вебхук так и не был доставлен за все попытки. Для платёжных событий
  вебхук можно переотправить через [`POST /v1/payment/resend`](/reference/payment-resend).

***

## Связанные страницы

<CardGroup cols={2}>
  <Card title="Объект вебхука" href="/reference/webhook-object" icon="arrow-right" horizontal />

  <Card title="POST /v1/payment/resend" href="/reference/payment-resend" icon="arrow-right" horizontal />

  <Card title="Отладка вебхуков" href="/guides/webhooks-debug" icon="arrow-right" horizontal />
</CardGroup>
