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.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.
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 doPOST com Content-Type: application/json:
Campos do payload
| Campo | Tipo | Descrição |
|---|---|---|
CustomerId | GUID | ID do tenant que originou o evento. Use para rotear quando seu endpoint recebe webhooks de múltiplos tenants. |
PostId | GUID | ID do post recém-criado. |
GroupId | GUID | null | ID do grupo onde o post foi publicado. Quando null, o post foi publicado no feed principal da comunidade (fora de qualquer grupo). |
User.Id | GUID | ID do autor do post. |
User.Email | string | Email do autor. |
User.FirstName | string | Primeiro nome. |
User.LastName | string | Sobrenome. |
User.DisplayName | string | Nome de exibição. |
User.Username | string | Nome de usuário. |
User.PhoneNumber | string | Telefone, quando informado. |
User.CreatedAt | ISO 8601 | Quando o autor foi criado no tenant. |
User.BadgeId | GUID | null | Badge principal do autor no momento do post. |
User.Badges | GUID[] | Lista completa de badges do autor no momento do post. |
Content | string | null | Texto do post. Pode ser null em posts que tem só mídia (imagem ou vídeo). |
ImageUrl | string | null | URL 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. |
CreatedAt | ISO 8601 | Momento em que o post foi criado. |
Headers do request
| Header | Descrição |
|---|---|
X-Cativa-Signature | Assinatura HMAC-SHA256 do disparo, no formato t=<unixTs>,v1=<hex>. Verifique antes de processar o evento. |
X-Cativa-Execution-Id | ID único deste evento. Estável entre retries — use como chave de idempotência. |
X-Cativa-Automation-Id | ID do listener configurado no Console (mesmo valor para todos os disparos do mesmo cadastro). |
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+Contentpara 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+ImageUrle republicar automaticamente em LinkedIn, Twitter ou numa newsletter, atribuindo a autoria peloUser.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.
