> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dapta-docs-es/dforms/connect/webhooks/test-and-history.md).

# Probar y ver el historial de entregas

Prueba un webhook de dForms con Enviar prueba, entiende cada mensaje de éxito y de error, y lee el diálogo Historial del webhook: filas Entregada, En curso, Falló y Omitida, conteos de intentos, y las

Nunca tienes que adivinar si un webhook funciona. **Enviar prueba** dispara una petición de ejemplo real y firmada, y te dice con palabras claras qué contestó tu endpoint. El **Historial del webhook** lista las últimas entregas que hizo el formulario, con el cuerpo exacto que se envió y la respuesta exacta que volvió.

***

## Enviar una prueba

**Paso 1:** En la pestaña **Conectar** del formulario, con una URL guardada en la tarjeta de **Webhook**, haz clic en **Enviar prueba**. El botón dice **Enviando…** un momento. Una prueba correcta muestra el aviso **Prueba entregada: tu endpoint la aceptó.**

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-d78faaf688e78202fb9cb95c4126342024509651%2Fforms-test-and-history-01-send-test-ok.png?alt=media" alt="La tarjeta de Webhook con el botón Enviar prueba y un aviso que dice Prueba entregada: tu endpoint la aceptó."><figcaption><p>Tu endpoint contestó con un estado 2xx.</p></figcaption></figure>

La petición de prueba tiene la forma real y la firma real, con respuestas inventadas, `"test": true` dentro de `data` y un `visit` de ejemplo (mira [Referencia del payload y las cabeceras](/dapta-docs-es/dforms/connect/webhooks/payload-reference.md)). Llega a tu endpoint de verdad, así que todo lo que tu endpoint haga con los datos entrantes se va a ejecutar.

**Paso 2:** Si el endpoint no la acepta, el aviso explica por qué. Siempre empieza por lo que contestó tu endpoint y, cuando había cuerpo, lo cita tras **Respondió:**.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-e755ceb3d688f27e8dcb8114563c5696646504ce%2Fforms-test-and-history-04-test-failed.png?alt=media" alt="Un aviso que dice Tu endpoint respondió HTTP 500. Falló de su lado. dForms siempre entrega con POST y un cuerpo JSON. Respondió: error database unavailable"><figcaption><p>Una prueba fallida cita el estado y la respuesta del propio endpoint.</p></figcaption></figure>

| Mensaje                                                                                                      | Qué significa                                                                             | Qué hacer                                                                        |
| ------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| **Primero guarda una URL de webhook.**                                                                       | La **URL del endpoint** está vacía o todavía no se ha guardado.                           | Pega una URL `https://` válida y espera a **Cambios guardados automáticamente**. |
| **Tu endpoint respondió HTTP 405** (o 501): No acepta POST en esa URL.                                       | La ruta existe pero solo para GET u otro método.                                          | Acepta POST en esa ruta. dForms siempre entrega con POST y un cuerpo JSON.       |
| **HTTP 415**: Rechazó el tipo de contenido.                                                                  | Tu endpoint rechaza `application/json`.                                                   | Acepta cuerpos JSON.                                                             |
| **HTTP 401** o **403**: Rechazó la petición por falta de autorización: revisa el token o secreto que espera. | Tu endpoint quiere una credencial que dForms no envía.                                    | Usa el secreto de firma para autenticar, o permite la URL sin token.             |
| **HTTP 404** o **410**: No hay nada en esa URL.                                                              | Ruta equivocada o el endpoint se quitó.                                                   | Revisa la URL.                                                                   |
| **HTTP 429**: Nos está limitando por frecuencia.                                                             | Demasiadas peticiones de tu lado.                                                         | Espera y reintenta.                                                              |
| Otro **4xx**: Leyó la petición y rechazó el cuerpo.                                                          | Tu endpoint parseó el JSON pero no le gustó.                                              | Compáralo con el cuerpo de ejemplo; relaja la validación.                        |
| **5xx**: Falló de su lado.                                                                                   | Tu servidor se cayó o devolvió un error.                                                  | Revisa los logs de tu servidor; el cuerpo de la respuesta se cita cuando lo hay. |
| **3xx**: Respondió con una redirección, y nunca las seguimos.                                                | La URL redirige (por ejemplo de http a https, o por una barra final).                     | Pega la URL final.                                                               |
| **Bloqueado antes de enviar: esa dirección es privada, reservada o interna, y nunca publicamos hacia ahí.**  | El host resuelve a una dirección privada, de loopback, link-local o de metadatos de nube. | Usa un endpoint público.                                                         |
| **Nadie respondió en esa URL.**                                                                              | Fallo de DNS, conexión rechazada, o sin respuesta en 10 segundos.                         | Revisa el nombre de host, el firewall y el tiempo de respuesta.                  |
| **La entrega falló por un motivo que no pudimos identificar.**                                               | Cualquier otra cosa.                                                                      | Abre **Ver historial** para la transcripción.                                    |

> **💡 Tip:** Las entregas de prueba también se listan en el historial, con una insignia **Prueba**, así que una prueba fallida nunca se pierde en un aviso.

***

## Leer el historial de entregas

**Paso 3:** Al final de la tarjeta de Webhook, la fila **Historial del webhook** muestra una etiqueta de **{n} entregas** (o una roja de **{n} con error** cuando algunas se rindieron). Haz clic en **Ver historial**.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-f7a67c5cc392bd10b6cdc76e4db5148330fad8f8%2Fforms-test-and-history-02-view-history.png?alt=media" alt="La fila Historial del webhook con una etiqueta de 5 entregas y el botón Ver historial"><figcaption><p>La etiqueta resume el registro; <strong>Ver historial</strong> lo abre.</p></figcaption></figure>

**Paso 4:** El diálogo **Historial del webhook** lista «Las últimas entregas que hizo este formulario, de la más reciente a la más antigua.» Cada fila muestra una píldora de estado, la acción (`partial`, `complete`, o una insignia **Prueba** en los pings), el estado HTTP que contestó tu endpoint, **{n} intentos** cuando hizo falta más de uno, y la hora, en la zona horaria de tu workspace. Haz clic en una fila para desplegarla.

<figure><img src="https://365551146-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMUYDYzjmxpzlYaw0gcaZ%2Fuploads%2Fgit-blob-95c9d8a6af5ac85f4f035c2d0b97fbec617260b0%2Fforms-test-and-history-03-history-expanded.png?alt=media" alt="El diálogo Historial del webhook con la primera fila desplegada, mostrando el JSON en Lo que enviamos y la respuesta en Lo que respondió HTTP 200"><figcaption><p><strong>Lo que enviamos</strong> es el cuerpo exacto; <strong>Lo que respondió</strong> es la respuesta y el estado de tu endpoint.</p></figcaption></figure>

| Elemento                             | Qué significa                                                                                                                                                                                                                                                                         |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Entregada**                        | Tu endpoint contestó 2xx.                                                                                                                                                                                                                                                             |
| **En curso**                         | Encolada o esperando entre reintentos. El conteo de intentos crece según ocurren.                                                                                                                                                                                                     |
| **Falló**                            | Los 5 intentos fallaron. La fila muestra el último error, por ejemplo «webhook delivery failed: HTTP 500», o **No se registró un motivo.**                                                                                                                                            |
| **Omitida**                          | No se envió a propósito y nunca se reintenta, por ejemplo una entrega que ya no se podía hacer. Raro en webhooks.                                                                                                                                                                     |
| Insignia **Prueba**                  | Un ping de **Enviar prueba**. Llegó a tu endpoint de verdad pero con respuestas de ejemplo.                                                                                                                                                                                           |
| **HTTP {estado}**                    | El estado que contestó tu endpoint en el último intento.                                                                                                                                                                                                                              |
| **{n} intentos**                     | Cuántas veces hizo falta (se muestra a partir del segundo intento).                                                                                                                                                                                                                   |
| **Lo que enviamos**                  | El cuerpo JSON, exactamente como se mandó, salvo la cookie de HubSpot de la visita, que aparece como `[hidden]`.                                                                                                                                                                      |
| **Lo que respondió · HTTP {estado}** | El cuerpo de la respuesta de tu endpoint (recortado), también con la cookie de HubSpot oculta si tu endpoint devuelve la petición. **Tu endpoint respondió sin cuerpo.** cuando venía vacío, **No se registró para esta entrega.** en filas anteriores a la función de transcripción. |
| **Actualizar**                       | Recarga la lista, útil mientras hay un reintento en curso.                                                                                                                                                                                                                            |

El diálogo conserva las últimas 25 entregas. No hay reenvío manual: los reintentos son automáticos, y una fila **Falló** se queda como registro. Si arreglas tu endpoint, simplemente vuelve a enviar o ejecuta **Enviar prueba**.

## Qué sigue

* [Entrega, reintentos e historial](/dapta-docs-es/dforms/connect/delivery-and-retries.md): el calendario de reintentos y qué significan **Falló** y **Omitida** en todas las integraciones.
* [Verificar la firma](/dapta-docs-es/dforms/connect/webhooks/verify-signature.md): haz que tu endpoint solo acepte peticiones firmadas.
* [Conexiones (a nivel de cuenta)](/dapta-docs-es/dforms/connect/connections.md): el inventario de webhooks de toda la cuenta con los conteos de fallos.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dapta-docs-es/dforms/connect/webhooks/test-and-history.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
