> ## 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 esté funcionando correctamente antes de recibir datos de producción en tiempo real.

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

Cuando invoques este endpoint, Benzinga enviará un payload de webhook de prueba a la URL de `destination` que hayas configurado. Esta entrega de prueba sigue 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. **Payload de prueba**: Tu endpoint de webhook recibe un payload de prueba con el mismo formato que los datos de producción.
3. **Encabezados de entrega**: La entrega de prueba incluye el encabezado `X-BZ-Delivery`, igual que las entregas de producción.

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

Usa este endpoint para confirmar lo siguiente:

* Que tu endpoint de webhook sea públicamente accesible
* Que tu endpoint pueda analizar correctamente el formato del payload del webhook
* Que tu endpoint responda con los códigos de estado apropiados (2xx para una respuesta satisfactoria)
* Que tu endpoint responda dentro del tiempo de espera de 30 segundos
* Que tu lógica de idempotencia maneje 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 los códigos de estado `200` o `204`
* Confirma que tu registro y monitoreo capturen la entrega de prueba
* Comprueba que tu lógica de desduplicación funcione con el ID de entrega de prueba
* Prueba escenarios de error devolviendo temporalmente códigos de estado de error

<div id="troubleshooting">
  ## Solució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 la carga de prueba a tu endpoint de destino. Causas habituales:

* 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>

Asegúrate de que todos los parámetros obligatorios se hayan proporcionado y tengan el formato correcto:

* `destination` debe ser una URL HTTPS válida
* `version` debe ser `webhook/v1`
* `kind` debe ser `News/v1`

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

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

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

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

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

  ```json Respuesta (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

````