> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.wiapy.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Webhook


# Webhook

## Visão geral

A integração via **Webhook** da Wiapy permite que você receba notificações em tempo real sempre que uma compra é realizada. Ao configurar a URL de destino, nossa plataforma fará uma requisição **HTTP POST** enviando um payload em formato JSON contendo informações da transação.

### Autenticação

O token que você cadastrar será enviado como um header `Authorization` em cada requisição.

```javascript
authorization: seu_token_aqui
```

### Exemplo de Payload Enviado (Pagamento)

<pre><code>
<strong>{
</strong>    "payment": {
        "id": "680bb49dcc58d1620569cb2e",
        "status": "paid",
        "amount": 1770,
        "payment_method": "pix",
        "type": "payment"
        "installments": 0,
        "installment_interest_rate": 0,
        "credit_card_interest_fee": 0,
        "pix_boleto": {
            "code": "copia-cola-pix-ou-codigo-barra-boleto",
            "url": "https://wiapy.com/url-do-pix-ou-boleto"
        },
        "fee": 190,
        "dt_create": "2025-04-25T16:13:17.284Z",
        "dt_update": "2025-04-25T16:13:17.284Z"
    },
    "subscription": {},
    "customer": {
        "id": "680bb49bcc58d1620569cb24",
        "name": "Thay",
        "email": "thay@wiapy.com",
        "mobile_phone": "(11) 99999-9999",
        "document": "123.456.678.90"
    },
    "checkout": {
        "id": "66e0799f17f298ff3c60f345",
        "title": "Produto teste",
        "amount": 990,
        "orderbump": [
            {
                "id": "67b9f0f5f777cbea4ba9cbfa",
                "title": "Orderbump teste",
                "amount": 780
            }
        ]
    },
    "products": [
        {
            "id": "66df9e14dbebe565ee587fc3",
            "title": "Nome do meu produto 1",
            "type": "Curso Online",
            "itens": [
                {
                    "title": "Acesso via Área de Membros",
                    "url": "https://wiapy.com/login"
                }
            ]
        },
        {
            "id": "67ddba018866dea35e314915",
            "title": "Nome do meu Produto 2",
            "type": "E-book",
            "itens": [
                {
                    "title": "Arquivo 01",
                    "url": "URL DO ARQUIVO"
                },
                {
                    "title": "Arquivo 02",
                    "url": "URL DO ARQUIVO"
                }
            ]
        },
        {
            "id": "67ddba018866dea35e314915",
            "title": "Nome do meu Produto 3",
            "type": "Mentoria",
            "itens": [
                {
                    "title": "Acesso via Área de Membros",
                    "url": "https://wiapy.com/login"
                }
            ]
        },
        {
            "id": "67ddba018866dea35e314915",
            "title": "Nome do meu Produto 4",
            "type": "Externo",
            "itens": []
        }
    ],
    "tracking": {
        "ip": null,
        "useragent": null,
        "fbc": null,
        "fbp": null,
        "utm_source": null,
        "utm_medium": null,
        "utm_campaign": null,
        "utm_content": null,
        "utm_term": null
    }
}
</code></pre>

### Exemplo de Payload Enviado (Carrinho abandonado)

<pre><code>
<strong>{
</strong>    "payment": null,
    "subscription": null,
    "customer": {
        "id": null,
        "name": "Thay",
        "email": "thay@wiapy.com",
        "mobile_phone": "(11) 99999-9999",
        "document": null
    },
    "checkout": {
        "id": "66e0799f17f298ff3c60f345",
        "title": "Produto teste",
        "amount": 990,
        "orderbump": null
    },
    "products": null,
    "tracking": null
}
</code></pre>

> **Observação:** Todos os valores financeiros estão representados em **centavos**.

### Detalhamento dos Campos

#### `payment.status`

| Valor | Descrição |
| ---- |
| paid | Pagamento aprovado |
| unpaid | Não pago / Aguardando Pagamento (o pix / boleto ao ser criado ele é gerado com esse status |
| credit_card_declined | Cartão de crédito recusado |
| refunded | Pagamento estornado |
| chargedback | Pagamento sofreu chargeback |

#### `payment.payment_method`

| Valor | Descrição |
| ---- |
| pix | Método de pagamento escolhido foi o pix |
| credit_card | Método de pagamento escolhido foi o cartão de crédito |
| boleto | Método de pagamento escolhido foi o boleto |

#### `payment.type`

| Valor | Descrição |
| ---- |
| payment | Pagamento avulso (objeto `subscription` vazio `{}`) |
| subscription | Assinatura recorrente (objeto `subscription` preenchido) |

### Estrutura de `subscription` (se aplicável)

Quando o pagamento for uma **assinatura**, o campo `subscription` será preenchido com:

```
{
    "id": "16e0799f17f298ff3c60f3e7",
    "status": "paid",
    "interval": "month",
    "dt_start": "2025-04-25T16:13:17.284Z",
    "dt_end": "2025-05-25T16:13:17.284Z",
    "active": true,
    "next_billing": "2025-05-25T16:13:17.284Z",
}
```

### Estrutura de `products`

O array `products` lista todos os produtos liberados no checkout, inclusive orderbumps adquiridos.

#### `products.type`

| Valor | Descrição |
| ---- |
| E-book | É quando o produto cadastrado é do tipo ebook, em itens enviamos os arquivos com nome e url. |
| Curso Online | É quando o acesso é um curso com vídeos para assistir pela área de membros. |
| Mentoria | É quando a entrega é uma mentoria e pode haver arquivos na área de membros. |
| Externo | É quando o acesso é liberado externo e não exige nenhuma intereção da Wiapy. |

### Estrutura do `tracking`

O objecto `tracking` contem todos os parametros de trackemento.

| Campo | Descrição |
| ---- |
| ip | Endereço IP do usuário que acessou, usado para identificar a origem da requisição (localização aproximada, rede etc.). |
| useragent | String que identifica o navegador, sistema operacional e dispositivo que o usuário usou para acessar. |
| fbc | Parâmetro do **Facebook Click ID**. É um identificador que o Facebook gera quando o usuário clica em um anúncio, usado para rastrear a origem da conversão. |
| fbp | Parâmetro do **Facebook Browser ID**. Identificador único armazenado no navegador do usuário pelo Pixel do Facebook para rastreamento de sessões. |
| utm_source | Origem da campanha (ex: google, facebook, newsletter). |
| utm_medium | Meio da campanha (ex: cpc, email, social, banner). |
| utm_campaign | Nome da campanha de marketing (ex: promocao_black_friday, lancamento_curso). |
| utm_content | Usado para diferenciar conteúdos ou links dentro da mesma campanha (ex: botao_azul vs botao_vermelho). |
| utm_term | Usado para registrar a **palavra-chave** em campanhas pagas (Google Ads e Facebook, por exemplo). |

## Considerações Técnicas

* **Requisições** são enviadas via **POST**.
* **Formato dos dados**: `application/json`.
* **Header de Autenticação**: `Authorization: seu_token`.
* **Valores monetários** sempre em centavos (ex: R$ 17,70 → `1770`).