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

# Como configurar

> Cadastre um webhook no painel da Assiny, do nome do webhook ao evento de teste

Para cadastrar o seu Webhook na Assiny é bem simples:

<Frame caption="O formulário de webhook, dividido em **Geral**, **Eventos** e **Avançado**.">
  <img src="https://mintcdn.com/assiny-45af61a4/5d46_-zEXTxd6fwJ/webhooks/webhook-novo.png?fit=max&auto=format&n=5d46_-zEXTxd6fwJ&q=85&s=f01f2d3b1a91a83592424453020f6940" alt="Formulário de criação de webhook com as abas Geral, Eventos e Avançado" width="2880" height="1800" data-path="webhooks/webhook-novo.png" />
</Frame>

<Steps>
  <Step title="Abra os Webhooks">
    No menu lateral do projeto, abra **Webhooks**. Ele é um item próprio da barra
    lateral, entre **Integrações** e **Carrinhos abandonados**.
  </Step>

  <Step title="Clique em Novo Webhook">
    O botão fica no canto superior direito.
  </Step>

  <Step title="Preencha os dados do novo Webhook">
    A tela **Criando novo webhook** está dividida em **Geral**, **Eventos** e **Avançado**.

    1. Em **Geral**, preencha **Nome do webhook**, **URL** e **Produtos vinculados**. Os três são obrigatórios
    2. Em **Eventos**, use **Selecione o evento a ser enviado** para marcar um ou mais eventos. Também é obrigatório
  </Step>

  <Step title="Dispare um evento de teste">
    Ainda em **Eventos**, a tela traz a área **Evento de teste**: *"Dispare um evento simulado para verificar a integração."*

    Escolha o evento, dispare a simulação e confira na sua ponta se o payload chegou como esperado. A área fica na própria tela de criação, então dá para validar a URL antes de criar o webhook.
  </Step>

  <Step title="Ajuste o que a sua integração precisar na aba Avançado">
    Os dois recursos desta aba são opcionais:

    * **Headers personalizados** — *"Defina até 3 cabeçalhos HTTP personalizados enviados junto ao webhook."*
    * **Ativar personalização de fuso horário** — *"Quando ativado, as datas dos payloads serão ajustadas conforme o fuso horário."* Vem desligado por padrão
  </Step>

  <Step title="Clique em Criar webhook">
    Os botões do formulário são **Cancelar** e **Criar webhook**.
  </Step>
</Steps>

## O formulário em detalhe

O cadastro do webhook está dividido em três abas.

<Tabs>
  <Tab title="Geral">
    Os três campos desta aba são obrigatórios.

    | Campo | O que preencher |
    | - | - |
    | **Nome do webhook** | Use algo que identifique o destino, por exemplo o nome da ferramenta que vai receber os eventos |
    | **URL** | O endereço que vai receber os disparos |
    | **Produtos vinculados** | De quais produtos este webhook recebe eventos. Aceita vários, e é obrigatório selecionar pelo menos um |

    Sobre os produtos vinculados: os order bumps são enviados junto com o checkout principal, dentro do objeto `data.offer.order_bumps`. Veja [Estrutura dos dados](/webhooks/estrutura-dos-dados).
  </Tab>

  <Tab title="Eventos">
    O campo **Selecione o evento a ser enviado** é obrigatório e aceita um ou mais eventos. A aba traz um link **Documentação** e a área de **Evento de teste**, descrita no passo a passo acima.

    Para saber exatamente o que cada evento envia, consulte os [payloads por evento](/webhooks/payloads/compra-aprovada).
  </Tab>

  <Tab title="Avançado">
    Nenhum dos dois recursos é obrigatório.

    | Recurso | Para que serve |
    | - | - |
    | **Headers personalizados** | Até 3 cabeçalhos HTTP personalizados enviados junto ao webhook |
    | **Ativar personalização de fuso horário** | Ajusta as datas dos payloads conforme o fuso horário. Vem desligado por padrão |
  </Tab>
</Tabs>

## Um webhook por ação, não um webhook para tudo

Dá para selecionar vários eventos em um mesmo webhook — e isso funciona quando o destino é um só, como uma planilha ou um CRM que apenas registra o que chega.

Mas quando os eventos precisam disparar **ações diferentes** no sistema que recebe, cada ação costuma ter a própria URL. É o caso clássico da área de membros:

| Evento | O que o destino deve fazer | URL |
| - | - | - |
| **[Compra aprovada](/webhooks/payloads/compra-aprovada)** | Criar o usuário e liberar o acesso | Endpoint de liberação |
| **[Compra reembolsada](/webhooks/payloads/compra-reembolsada)** | Remover o acesso | Endpoint de remoção |
| **[Chargeback](/webhooks/payloads/chargeback)** | Remover o acesso | Endpoint de remoção |

<Warning>
  **Reembolso e chargeback são eventos distintos.** Configurar só o reembolso deixa passar o chargeback — e o resultado é gente com acesso ao produto sem estar pagando por ele. Se o seu destino remove acesso, cadastre todos os eventos que representam uma saída.
</Warning>

A lista completa de eventos aparece no campo **Selecione o evento a ser enviado**, na aba **Eventos** — confira lá quais eventos o seu destino precisa receber.

Dê ao webhook um nome que diga o destino e a ação — por exemplo `Área de membros · liberar` e `Área de membros · remover`.

<CardGroup cols={2}>
  <Card title="Logs de disparo" icon="clock-rotate-left" href="/webhooks/logs-de-disparo">
    Confira o que foi disparado e reenvie eventos.
  </Card>

  <Card title="Estrutura dos dados" icon="table-list" href="/webhooks/estrutura-dos-dados">
    Todos os campos que chegam no seu endpoint.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.