Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.cativa.digital/llms.txt

Use this file to discover all available pages before exploring further.

Esse evento é disparado toda vez que um usuário aparece pela primeira vez no tenant, independente do canal de origem. É o gatilho ideal para provisionar o novo usuário em sistemas externos (CRM, marketing, billing).
O nome interno do evento (usado nos cadastros de webhook do Console) é user_created.

Quando dispara

  • Usuário se cadastra pelo formulário público da comunidade
  • Admin cria o usuário manualmente no painel
  • Usuário entra pela primeira vez via SSO (Google, Apple, OIDC)
  • Importação em lote (bulk import) cria o usuário
  • Você cria o usuário via API

Quando NÃO dispara

  • Login de usuário já existente (não há criação)
  • Atualização de perfil (nome, email, telefone)
  • Reativação de usuário soft-deleted (o usuário já existia)
  • Falha na criação (validação, email duplicado, etc.)
  • Usuário não encontrado no enriquecimento do payload (entrega é pulada)

Payload

O payload é serializado em PascalCase e enviado no body do POST com Content-Type: application/json:
{
  "CustomerId": "01HQ0ABCDEF1234567890XYZ",
  "UserId": "01HQ7Z3X4Y5Z6A7B8C9D0E1F2G",
  "Email": "maria@exemplo.com",
  "FirstName": "Maria",
  "LastName": "Silva",
  "DisplayName": "Maria Silva",
  "Username": "maria.silva",
  "PhoneNumber": "+5511999998888",
  "CreatedAt": "2026-05-08T14:32:01Z",
  "User": {
    "Id": "01HQ7Z3X4Y5Z6A7B8C9D0E1F2G",
    "Email": "maria@exemplo.com",
    "FirstName": "Maria",
    "LastName": "Silva",
    "DisplayName": "Maria Silva",
    "Username": "maria.silva",
    "PhoneNumber": "+5511999998888",
    "CreatedAt": "2026-05-08T14:32:01Z",
    "BadgeId": null,
    "Badges": []
  }
}
Os campos do nível raiz (UserId, Email, FirstName, …) e o objeto User aninhado existem lado a lado para manter paridade com a v1 da plataforma. Recomendamos consumir o objeto User aninhado em código novo — ele tem o mesmo shape de outros eventos (user_joined_group, user_received_badge, etc.) e simplifica handlers genéricos.

Campos do payload

CampoTipoDescrição
CustomerIdGUIDID do tenant que originou o evento. Use para rotear quando seu endpoint recebe webhooks de múltiplos tenants.
UserIdGUIDID do usuário criado (igual a User.Id).
EmailstringEmail do usuário (igual a User.Email).
FirstNamestringPrimeiro nome.
LastNamestringSobrenome.
DisplayNamestringNome de exibição.
UsernamestringNome de usuário (sem espaços).
PhoneNumberstringTelefone, quando informado.
CreatedAtISO 8601Quando o usuário foi criado no tenant.
User.IdGUIDID do usuário (espelho de UserId).
User.EmailstringEmail (espelho de Email).
User.FirstNamestringPrimeiro nome.
User.LastNamestringSobrenome.
User.DisplayNamestringNome de exibição.
User.UsernamestringNome de usuário.
User.PhoneNumberstringTelefone.
User.CreatedAtISO 8601Mesmo valor de CreatedAt.
User.BadgeIdGUID | nullBadge principal — em user_created virá quase sempre null, já que o usuário ainda não tem badges.
User.BadgesGUID[]Lista de badges atribuídos ao usuário. Em user_created geralmente é [].

Headers do request

HeaderDescrição
X-Cativa-SignatureAssinatura HMAC-SHA256 do disparo, no formato t=<unixTs>,v1=<hex>. Verifique antes de processar o evento.
X-Cativa-Execution-IdID único deste evento. Estável entre retries — use como chave de idempotência.
X-Cativa-Automation-IdID do listener configurado no Console (mesmo valor para todos os disparos do mesmo cadastro).
A explicação completa de como verificar X-Cativa-Signature, lidar com retries e garantir idempotência (com exemplos em Node, Python, Go e C#) está em Cadastrando e verificando webhooks.

Casos de uso

  • Provisionar no CRM — criar contato no HubSpot/Pipedrive/Salesforce com Email, FirstName, LastName e tag do CustomerId para segmentação cross-tenant.
  • Onboarding por email — disparar uma sequência de boas-vindas no seu provedor de email (Mailchimp, Customer.io, ActiveCampaign) usando o Email recém-recebido.
  • Sincronizar com billing — criar o customer correspondente no Stripe/Asaas ou no seu próprio sistema interno, mesmo antes do primeiro pagamento.

Eventos relacionados

user_joined_group

Disparado quando o usuário entra num grupo da comunidade.

user_received_badge

Disparado quando o usuário ganha um badge (compra, atribuição manual ou automação).

Cadastrando webhooks

Como cadastrar listeners, verificar HMAC e lidar com retries.

Webhooks (visão geral)

Por que webhooks, garantias de entrega e formato dos payloads.