# Crear Webhook

### Cómo crear y configurar webhooks en ZapSign

En ZapSign, puedes configurar webhooks de dos maneras:

1. A través de la **interfaz web**.
2. Mediante el **endpoint de la API**.

Ambas opciones te permiten configurar notificaciones en tiempo real de manera eficiente y flexible para que tu sistema esté siempre sincronizado con eventos importantes.

{% hint style="info" %}
**Recordatorio**: Un webhook se aplica a todos los documentos de tu cuenta o para las condicionales que cumpla. **No es necesario crear múltiples webhooks**; basta con configurarlo una vez y será válido para todos los documentos.
{% endhint %}

### **1. Crear webhooks mediante la interfaz web**

**Paso 1:** En tu cuenta de ZapSign, ve a [A**justes > Integraciones > API ZapSign > Webhooks** ](https://app.zapsign.com.br/conta/configuracoes/integration?tab=api-zapsign)

**Paso 2:** Ingresa el endpoint (URL) de tu servidor que recibirá los datos del webhook. Este endpoint debe estar preparado para procesar solicitudes POST y manejar datos en formato JSON.

**Paso 3:** Selecciona los eventos que deseas monitorear. ZapSign permite elegir entre los siguientes:

* **Documento creado**.
* **Documento firmado**.
* **Documento rechazado**.
* **Documento eliminado**.
* **Fallo en la entrega de email (Email Bounce)**.
* **Documento Expirado**

También puedes elegir la opción **“Todos”**, que incluye solo eventos relacionados con documentos (creados, firmados, rechazados y eliminados). **Nota:** Esta opción no incluye el evento “Email Bounce”, que debe configurarse por separado.

**Paso 4:** Configura si quieres adicionar un filtro para sólo recibir notificaciones de documentos creados a partir de una plantilla específica. Además, es posible configurar si quieres definir reintentos en caso de falla de la notificación.&#x20;

<figure><img src="/files/JfHsiYEN2hPaInxfgYLo" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Atención:** Al selección "Documentos (Todos) sólo se notifican eventos asociados al documento (creado, firmado, eliminado y rechazado).&#x20;
{% endhint %}

***

### **2. Crear webhooks mediante la API**

Si prefieres gestionar tus webhooks desde la API, sigue estos pasos:

#### Crear webhook via API

<mark style="color:green;">`POST`</mark> `https://api.zapsign.com.br/api/v1/user/company/webhook/`

#### Headers

<table><thead><tr><th width="175">Nombre</th><th width="103">Tipo</th><th>Descripción</th></tr></thead><tbody><tr><td>Authorization<mark style="color:red;">*</mark></td><td>string</td><td>API token prefijo con la palabra "Bearer". Ex: Bearer c7f35c84-7893-4087-b4fb-d1f06c23</td></tr></tbody></table>

#### Request Body

<table><thead><tr><th width="146">Nombre</th><th width="127">Tipo</th><th>Descripción</th></tr></thead><tbody><tr><td>url<mark style="color:red;">*</mark></td><td>string</td><td>La URL de tu endpoint, ejemplo: "https://api.tusitio.com/webhook-zapsign/".</td></tr><tr><td>type<mark style="color:red;">*</mark></td><td>string</td><td>Tipos de eventos: "" (todos) | "doc_signed" | "doc_created" | "doc_deleted" | "email_bounce"</td></tr><tr><td>doc_token</td><td>string</td><td>Token del documento para asociarlo. Si defines esto, los webhooks solo se activarán para ese documento específico.</td></tr><tr><td>headers</td><td>Array&#x3C;Header></td><td>Encabezados personalizados para mayor seguridad (detalles abajo).</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK Webhook created successfully" %}

```
{
    "id": // Recibirás un ID en la respuesta//
}
```

{% endtab %}

{% tab title="403-Forbidden" %}

```
Make sure your API TOKEN is correct.
```

{% endtab %}
{% endtabs %}

***

### **3. Configurar encabezados (headers) para webhooks**

Puedes añadir encabezados HTTP personalizados para garantizar mayor seguridad y optimizar la comunicación entre aplicaciones. Esto permite que tus solicitudes sean verificadas por autenticación adicional, ofreciendo un nivel extra de protección.

**Webhook** - JSON root:\
\ <mark style="color:green;">`POST`</mark>` ``{{api_url}}/api/v1/user/company/webhook/header/`

```
{
    "id": {{webhook_id}},
    "headers": [
        {
            "name": "Authorization",
            "value": "Bearer YOUR_AUTHENTICATION_TOKEN"
        }
    ]
}

```

### Ejemplo de una solicitud en Postman

{% embed url="<https://www.postman.com/zapsign/workspace/zapsign-workspace/request/27495556-3413e0f8-be2d-4161-9ffa-b449443dc68d?ctx=documentation>" %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zapsign.com.br/espanol/webhooks/crear-webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
