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

# Probar la entrega del webhook

> Este endpoint enviará datos de prueba a tu webhook para que puedas verificar tu integración

<div id="overview">
  ## Descripción general
</div>

Use este endpoint para activar el envío de un webhook de prueba a su endpoint configurado. Esto le permite verificar que su integración de webhook funciona correctamente antes de recibir datos de producción en tiempo real.

<div id="testing-your-integration">
  ## Prueba de tu integración
</div>

Cuando invoques este endpoint, Benzinga enviará una carga útil de webhook de prueba a la URL `destination` que configuraste. Esta entrega de prueba utiliza el mismo formato y la misma lógica de reintentos que las entregas de webhooks en producción.

<div id="what-to-expect">
  ### Qué esperar
</div>

1. **Respuesta inmediata**: La API devuelve un código de estado `200` si la entrega de prueba se activó correctamente.
2. **Carga útil de prueba**: Tu endpoint de webhook recibe una carga útil de prueba en el mismo formato que los datos de producción.
3. **Encabezados de entrega**: La entrega de prueba incluye el encabezado `X-BZ-Delivery`, al igual que las entregas de producción.

<div id="verify-your-integration">
  ### Verifica tu integración
</div>

Usa este endpoint para confirmar:

* Que tu endpoint de webhook es accesible públicamente
* Que tu endpoint puede procesar correctamente el formato del payload del webhook
* Que tu endpoint responde con los códigos de estado adecuados (2xx para indicar éxito)
* Que tu endpoint responde dentro del límite de tiempo de 30 segundos
* Que tu lógica de idempotencia maneja correctamente el encabezado `X-BZ-Delivery` y el campo `id` del payload

<div id="best-practices">
  ## Mejores prácticas
</div>

* Prueba primero con endpoints de webhook que no sean de producción
* Verifica que tu endpoint responda con códigos de estado `200` o `204`
* Confirma que tu logging y monitoreo capturen la entrega de prueba
* Comprueba que tu lógica de deduplicación funcione con el ID de entrega de prueba
* Prueba escenarios de error devolviendo temporalmente códigos de estado de error

<div id="troubleshooting">
  ## Resolución de problemas
</div>

<div id="424-delivery-error">
  ### 424 Error de entrega
</div>

Si recibes un código de estado `424`, el sistema no pudo entregar el payload de prueba a tu endpoint de destino. Causas comunes:

* La URL de destino no es accesible públicamente
* El endpoint de destino está devolviendo códigos de estado de error
* Problemas de conectividad de red
* Errores de certificado SSL/TLS en el endpoint de destino

<div id="400-invalid-request">
  ### 400 Solicitud no válida
</div>

Verifica que todos los parámetros obligatorios se proporcionen y tengan el formato correcto:

* `destination` debe ser una URL HTTPS válida
* `version` debe ser `webhook/v1`
* `kind` debe ser uno de los tipos de evento admitidos (por ejemplo, `News/v1`, `Earnings/v1`, `Ratings/v1`, etc.)

<ResponseExample>
  ```json Response (200 OK) theme={null}
  {
    "status": "success"
  }
  ```

  ```json Response (400 Bad Request) theme={null}
  {
    "error": "Invalid destination URL"
  }
  ```

  ```json Response (424 Failed Dependency) theme={null}
  {
    "error": "Failed to deliver test payload to destination"
  }
  ```

  ```json Response (401 Unauthorized) theme={null}
  {
    "ok": false,
    "errors": [
      {
        "code": "auth_failed",
        "id": "unauthorized",
        "value": "Invalid or missing authentication token"
      }
    ]
  }
  ```

  ```json Response (404 Not Found) theme={null}
  {
    "ok": false,
    "errors": [
      {
        "code": "no_data_found",
        "id": "not_found",
        "value": "No data found for the specified parameters"
      }
    ]
  }
  ```

  ```json Response (500 Internal Server Error) theme={null}
  {
    "ok": false,
    "errors": [
      {
        "code": "internal_server_error",
        "id": "server_error",
        "value": "An unexpected error occurred while processing your request"
      }
    ]
  }
  ```
</ResponseExample>


## OpenAPI

````yaml es/openapi/webhook_api.spec.yml GET /api/v1/webhook/test
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Prueba la entrega del webhook para verificar que tu integración funciona
    correctamente
  title: Webhook API
  version: 1.0.0
servers:
  - url: https://api.benzinga.com
security: []
paths:
  /api/v1/webhook/test:
    get:
      summary: Probar la entrega del webhook
      description: >-
        Este endpoint enviará datos de prueba a tu webhook para que puedas
        verificar tu integración
      operationId: get-webhook-test
      parameters:
        - name: destination
          in: query
          required: true
          description: >-
            La URL del endpoint de webhook al que se enviarán los datos de
            prueba
          schema:
            type: string
            format: uri
          example: https://your-endpoint.com/webhook
        - name: version
          in: query
          required: true
          description: Versión de la API, actualmente webhook/v1
          schema:
            type: string
            enum:
              - webhook/v1
            default: webhook/v1
        - name: kind
          in: query
          required: true
          description: Identifica el kind de mensaje para un payload de prueba
          schema:
            type: string
            enum:
              - News/v1
              - Signals/v1
              - Earnings/v1
              - Ratings/v1
              - Dividends/v1
              - IPOs/v1
              - Guidance/v1
              - Splits/v1
              - OptionActivity/v1
              - Conference/v1
              - Economics/v1
              - Offerings/v1
              - MA/v1
              - Retail/v1
              - FDA/v1
              - WIIMs/v1
              - SECInsiderTransaction/v1
              - GovernmentTrade/v1
            default: News/v1
        - name: token
          in: query
          required: false
          description: >-
            Indique el token para transformar los datos para su uso en
            producción
          schema:
            type: string
      responses:
        '200':
          description: Éxito - La entrega de prueba del webhook se envió correctamente
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
        '400':
          description: >-
            Solicitud no válida: consulta el cuerpo de la respuesta para obtener
            más detalles
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Invalid destination URL
        '424':
          description: >-
            Error de entrega: el sistema encontró un problema al entregar la
            carga de prueba
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Failed to deliver test payload to destination
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Internal server error
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Key
      description: Tu clave de la API de Benzinga

````