Skip to main content
Um webhook manda um POST JSON assinado para uma URL sua sempre que um dos eventos de post que você escolheu acontece no workspace. Use para sincronizar um CRM, disparar uma rotina interna ou manter outro sistema em dia com o PostClean. Só o dono da conta e os administradores do workspace podem gerenciar webhooks. Eles ficam em Configurações → Webhooks.
Esta página trata dos webhooks de posts. As Automações do Instagram têm um webhook próprio, configurado em Integrações.

Criar um webhook

1

Criar webhook

Em Configurações → Webhooks, clique em Criar webhook.
2

URL do endpoint

Informe uma URL pública http:// ou https:// (até 255 caracteres). Endereços privados, de loopback e link-local são recusados com Este endpoint não é permitido.
3

Eventos

Selecione pelo menos um evento. Não existe curinga.
4

Copie o secret de assinatura

A página do webhook abre. Copie o Secret de assinatura para verificar as entregas. Você pode mostrar e copiar de novo quando quiser, ou rotacionar.
Um webhook novo começa Ativo. Criar ou editar um webhook não envia nenhuma requisição; para isso, use Enviar evento de teste. Não há limite de webhooks.

Eventos

Os eventos de status disparam quando o status muda, não a cada salvamento. Um post criado já agendado ou na fila envia post.created, com status igual a scheduled. Edições que mantêm o status (texto, mídia, etiquetas, um horário novo num post agendado) não enviam nada. Não há evento enquanto um post está sendo publicado, nem para notas, aprovações, mudanças de canal ou de membros. Posts apagados porque o canal foi desconectado ou o workspace foi excluído não enviam post.deleted.

Receber uma entrega

Cada entrega é um POST com corpo JSON. Responda com qualquer status 2xx assim que aceitar a entrega. Redirecionamentos não são seguidos: um 3xx conta como falha. O PostClean espera até 10 segundos pela resposta.

Cabeçalhos

Envelope

Toda entrega, inclusive o evento de teste, usa o mesmo envelope:

Verificar a assinatura

Calcule o HMAC-SHA256 dos bytes brutos do corpo com o secret de assinatura e compare o resultado em hexadecimal com X-Webhook-Signature usando uma comparação de tempo constante. Não serialize de novo o JSON já interpretado.
Frameworks que interpretam o JSON antes do seu código rodar costumam descartar o corpo bruto. Leia primeiro o corpo sem interpretar (por exemplo, com express.raw({ type: 'application/json' }) no Express), verifique e só então interprete.

Payload do post

Em todos os eventos, menos post.deleted, data é o post no momento do evento:

Mídia

Evento de teste

Na página do webhook, abra o menu de ações e clique em Enviar evento de teste. O PostClean envia uma entrega webhook.test assinada e espera até 5 segundos. O seu endpoint precisa responder 2xx; senão, o teste falha com o motivo (O endpoint não está acessível. ou O endpoint retornou HTTP 500.). O teste funciona mesmo com o webhook desativado ou pausado. Ele não entra em Entregas e não muda o status do webhook.

Status, novas tentativas e pausa

Uma entrega com falha é tentada 3 vezes, com 60 segundos de intervalo. Quando as três tentativas falham, a entrega conta como falha; uma entrega com sucesso zera a contagem. Com 5 entregas seguidas com falha, o webhook fica Pausado e o dono da conta recebe um e-mail com um link para ele. Esse e-mail não pode ser desligado em Notificações. Corrija o endpoint e clique em Ativar endpoint para voltar. Os eventos que aconteceram enquanto o webhook estava desativado ou pausado não são enviados depois.

Entregas e reenvio

A página do webhook lista as Entregas, das mais novas para as mais antigas, com o evento, o Status HTTP, as Tentativas, a Resposta que o seu endpoint devolveu (os primeiros 2.000 caracteres) e o Payload da mensagem. As entregas novas aparecem em tempo real. Reenviar manda a entrega de novo com o mesmo data, um novo id no envelope e uma nova linha em Entregas. O reenvio funciona mesmo com o webhook desativado ou pausado, mas um reenvio com sucesso não reativa o webhook. As entregas ficam guardadas por 7 dias.

Gerenciar um webhook

No menu de ações do webhook:
  • Editar endpoint: muda a URL e os eventos.
  • Ativar endpoint / Desativar endpoint.
  • Rotacionar secret de assinatura: cria um secret novo. O atual para de funcionar na hora, inclusive para as novas tentativas que já estão esperando, então atualize o seu endpoint antes.
  • Enviar evento de teste.
  • Excluir: depois de uma confirmação, as entregas param e o histórico do webhook é apagado.

Pela API e pelo MCP