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

# Referência

> Entrada de contatos: o token, o que ele autoriza e o ciclo de vida do webhook.

Um webhook de entrada é uma URL sua, com um token dentro, que cria um contato quando
alguém faz um `POST` nela. É por aí que entram landing page, formulário de site, chatbot,
Typeform, automação no Zapier ou no n8n, e o Meta Lead Ads.

```
POST /api/webhooks/receive/{token}
```

## O token

<ResponseField name="Formato" type="48 caracteres hexadecimais">
  Gerado a partir de 24 bytes aleatórios, único por webhook.
</ResponseField>

<ResponseField name="Escopo" type="uma organização">
  O token identifica o webhook e, por ele, a organização. Ele **só** autoriza criar
  contato: não lê nada, não lista nada e não altera nada do que já existe.
</ResponseField>

<ResponseField name="Ciclo de vida" type="regerável">
  Pode ser regerado a qualquer momento em Configurações, Integrações, Webhooks. O token
  anterior para de funcionar na hora.
</ResponseField>

Um token vazado não expõe a sua base. Expõe você a receber contato falso, que é chato e
reversível. Ainda assim, prefira guardá-lo em variável de ambiente e chamar do seu
servidor. Onde gerá-lo está em [credenciais](/pages/guias/credenciais).

## Tipos de webhook

O tipo é escolhido na criação. O **genérico** lê o corpo como ele vem e serve para quase
tudo. O **Typeform** entende o formato aninhado que o Typeform envia, que é diferente o
bastante para precisar de tratamento próprio.

## O que acontece do lado de cá

O contato entra na primeira etapa do funil e é atribuído a um membro ativo da
organização. Se o webhook tem origem padrão, ele nasce marcado com ela, e é isso que
permite medir a campanha depois. As automações de contato criado disparam, conforme o que
estiver configurado no app.

## Endpoints

<CardGroup cols={2}>
  <Card title="Criar contato" href="/pages/contatos/receber">
    `POST` com o contato no corpo.
  </Card>

  <Card title="Conferir o webhook" href="/pages/contatos/status">
    `GET` com o estado, sem criar nada.
  </Card>
</CardGroup>
