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 post é publicado com sucesso, seja no feed da comunidade ou dentro de um grupo específico. Use-o para indexar conteúdo em sistemas externos, alimentar buscadores ou disparar moderação adicional.
O nome interno do evento (usado nos cadastros de webhook do Console) é post_created.

Quando dispara

  • Usuário publica um post no feed principal da comunidade
  • Usuário publica um post dentro de um grupo
  • Você cria um post via API

Quando NÃO dispara

  • Edição de um post existente
  • Comentário em um post (esse é um evento separado)
  • Reação (like) em um post
  • Post rejeitado pela moderação automática antes de ser publicado
  • Usuário não encontrado no enriquecimento do payload (entrega é pulada)
  • Falha na criação (validação, grupo bloqueado, usuário banido, etc.)

Payload

O payload é serializado em PascalCase e enviado no body do POST com Content-Type: application/json:
{
  "CustomerId": "01HQ0ABCDEF1234567890XYZ",
  "PostId": "01HQ8POST1234567890ABCDEFG",
  "GroupId": "01HQ2GROUP1234567890XYZAB",
  "User": {
    "Id": "01HQ7Z3X4Y5Z6A7B8C9D0E1F2G",
    "Email": "maria@exemplo.com",
    "FirstName": "Maria",
    "LastName": "Silva",
    "DisplayName": "Maria Silva",
    "Username": "maria.silva",
    "PhoneNumber": "+5511999998888",
    "CreatedAt": "2026-04-12T14:32:01Z",
    "BadgeId": "01HQ4ABCDEF1234567890XYZ",
    "Badges": [
      "01HQ4ABCDEF1234567890XYZ"
    ]
  },
  "Content": "Acabei de terminar o módulo 3 do curso — recomendo demais!",
  "ImageUrl": "https://cdn.cativalab.digital/posts/01HQ8POST.../original.jpg",
  "CreatedAt": "2026-05-08T14:32:01Z"
}

Campos do payload

CampoTipoDescrição
CustomerIdGUIDID do tenant que originou o evento. Use para rotear quando seu endpoint recebe webhooks de múltiplos tenants.
PostIdGUIDID do post recém-criado.
GroupIdGUID | nullID do grupo onde o post foi publicado. Quando null, o post foi publicado no feed principal da comunidade (fora de qualquer grupo).
User.IdGUIDID do autor do post.
User.EmailstringEmail do autor.
User.FirstNamestringPrimeiro nome.
User.LastNamestringSobrenome.
User.DisplayNamestringNome de exibição.
User.UsernamestringNome de usuário.
User.PhoneNumberstringTelefone, quando informado.
User.CreatedAtISO 8601Quando o autor foi criado no tenant.
User.BadgeIdGUID | nullBadge principal do autor no momento do post.
User.BadgesGUID[]Lista completa de badges do autor no momento do post.
Contentstring | nullTexto do post. Pode ser null em posts que tem só mídia (imagem ou vídeo).
ImageUrlstring | nullURL da primeira imagem anexada ao post (resolução original). null quando o post não tem imagens. Posts com vídeo ou outros tipos de mídia não preenchem esse campo.
CreatedAtISO 8601Momento em que o post foi criado.

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

  • Indexar em uma busca externa — enviar PostId + Content para um índice (Algolia, Elasticsearch, Meilisearch) para busca cross-grupo no seu próprio app.
  • Notificar canal de moderação — repassar posts em grupos sensíveis para um canal interno (Slack, Discord) onde a equipe de moderação revisa em paralelo.
  • Sincronizar com newsletter / mídias sociais — pegar Content + ImageUrl e republicar automaticamente em LinkedIn, Twitter ou numa newsletter, atribuindo a autoria pelo User.DisplayName.

Eventos relacionados

user_joined_group

Disparado quando um usuário entra num grupo — bom complemento para entender o contexto de quem está postando.

user_received_badge

Disparado quando o usuário ganha um badge — útil para correlacionar engajamento (post) com permissã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.