Webhook push

Quando o Rankfender envia um artigo publicado para o seu site: cabeçalhos, autenticação, campos enviados, resposta esperada e teste.

Com o webhook push, o Rankfender envia cada artigo para um endereço do seu site no momento em que é publicado. O endereço, a autenticação e os cabeçalhos extra configuram-se no cartão «Modern Web Integration», aba «PUSH (Webhook)»: ver Modern Web Integration.

Quando o Rankfender chama o seu endpoint

  • Cada vez que um artigo do projeto é publicado: por você em Content, ou pelo piloto automático com a publicação automática ligada.
  • Só se «Enable Webhook» estiver ligado e houver uma Webhook URL guardada.
  • Se o projeto também tiver o WordPress conectado, os artigos vão para o WordPress.
  • Existe um único evento: article.published. Edições e exclusões não são enviadas.

Cabeçalhos

CabeçalhoValor
Content-Typeapplication/json
X-Rankfender-Eventarticle.published
X-Rankfender-DomainO endereço do site do projeto
X-Rankfender-Testtrue, só nos testes
Os seus cabeçalhos personalizadosCada cabeçalho de «Custom Headers (Optional)», tal como escrito

Opções de autenticação

«Authentication Method»O que o Rankfender envia
NoneNenhuma credencial.
API Keyx-api-key: <a sua chave>
Bearer TokenAuthorization: Bearer <o seu token>
Basic AuthAuthorization: Basic <o valor introduzido>. Introduza o valor já codificado em base64 (utilizador:senha).
Webhook Secretx-webhook-secret: <o seu segredo>

Os dados enviados

Um corpo JSON com o artigo no primeiro nível e de novo em article, mais o projeto em domain. content é HTML, limpo antes do envio; um artigo com menos de 100 caracteres de conteúdo não é enviado. author é «Rankfender», a menos que o artigo tenha um.

{
  "event": "article.published",
  "title": "…",
  "slug": "…",
  "content": "<h2>…</h2><p>…</p>",
  "excerpt": "…",
  "meta_description": "…",
  "meta_title": "…",
  "keywords": ["…"],
  "featured_image": "https://…",
  "author": "Rankfender",
  "published_at": "2026-10-14T09:12:00.000Z",
  "seo_data": { "title_tag": "…", "meta_keywords": "…", "canonical_url": "" },
  "custom_data": { "article_id": "…", "generated_by": "Rankfender", "word_count": 1850 },
  "article": {
    "id": "…", "title": "…", "slug": "…", "content": "…", "excerpt": "…",
    "meta_description": "…", "featured_image": "https://…", "cover_image_url": "https://…",
    "scheduled_date": null, "published_at": "…", "target_keyword": "…"
  },
  "domain": { "id": "…", "url": "https://your-site.com", "name": "…" }
}

O que o seu endpoint deve responder

  • Qualquer status de 200 a 299 conta como entregue. Qualquer outro marca a publicação como falhada, com «Webhook returned <status>» e o início da sua resposta.
  • Opcional: responda com JSON com id (ou post_id) e url (ou permalink, external_url). O Rankfender guarda a URL como endereço publicado do artigo. Sem ela, o endereço é a URL do seu site mais o slug.
  • Guarde o artigo no seu CMS ou base de dados: o Rankfender não guarda nada do seu lado.
HTTP/1.1 200 OK
Content-Type: application/json

{ "id": "123", "url": "https://your-site.com/blog/your-article" }

Testar

«Test Webhook» envia um artigo de exemplo intitulado «Rankfender Webhook Test» com X-Rankfender-Test: true e custom_data.test a true, para o seu endpoint o poder ignorar. Se funcionar: «Webhook test successful! Endpoint responded with 2xx.»; depois de envios reais, «Last successful call:» mostra a data.

Importante

O teste sai do seu navegador: o seu endpoint tem de aceitar pedidos de outra origem (CORS) vindos de app.rankfender.com para o teste passar. Os envios reais saem dos servidores do Rankfender e não são afetados.