Push-webhook
Wanneer Rankfender een gepubliceerd artikel naar je site stuurt: headers, authenticatie, velden, verwacht antwoord en testen.
Met de push-webhook stuurt Rankfender elk artikel naar een adres op je site op het moment dat het wordt gepubliceerd. Het adres, de authenticatie en extra headers stel je in op de kaart „Modern Web Integration”, tab „PUSH (Webhook)”: zie Modern Web Integration.
Wanneer Rankfender je endpoint aanroept
- Bij elke publicatie van een artikel van het project: door jou vanuit Content, of door de automatische piloot als automatisch publiceren aan staat.
- Alleen als „Enable Webhook” aan staat en er een Webhook URL is opgeslagen.
- Is in het project ook WordPress gekoppeld, dan gaan de artikelen naar WordPress.
- Er bestaat één gebeurtenis: article.published. Wijzigingen en verwijderingen worden niet verstuurd.
Headers
| Header | Waarde |
|---|---|
| Content-Type | application/json |
| X-Rankfender-Event | article.published |
| X-Rankfender-Domain | Het websiteadres van het project |
| X-Rankfender-Test | true, alleen bij tests |
| Je eigen headers | Elke header uit „Custom Headers (Optional)”, zoals ingevoerd |
Authenticatieopties
| „Authentication Method” | Wat Rankfender meestuurt |
|---|---|
| None | Geen inloggegevens. |
| API Key | x-api-key: <je sleutel> |
| Bearer Token | Authorization: Bearer <je token> |
| Basic Auth | Authorization: Basic <de ingevoerde waarde>. Voer de waarde al in base64 gecodeerd in (gebruiker:wachtwoord). |
| Webhook Secret | x-webhook-secret: <je geheim> |
De verstuurde data
Een JSON-body met het artikel op het hoogste niveau en nog eens onder article, plus het project onder domain. content is HTML, opgeschoond voor verzending; een artikel met minder dan 100 tekens inhoud wordt niet verstuurd. author is „Rankfender” tenzij het artikel een auteur heeft.
{
"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": "…" }
}Wat je endpoint moet antwoorden
- Elke status van 200 tot 299 telt als afgeleverd. Al het andere markeert de publicatie als mislukt, met „Webhook returned <status>” en het begin van je antwoord.
- Optioneel: antwoord met JSON met id (of post_id) en url (of permalink, external_url). Rankfender bewaart de URL als live adres van het artikel. Zonder URL is het adres je site-URL plus de slug.
- Sla het artikel op in je eigen CMS of database: Rankfender bewaart niets aan jouw kant.
HTTP/1.1 200 OK
Content-Type: application/json
{ "id": "123", "url": "https://your-site.com/blog/your-article" }Testen
„Test Webhook” stuurt een voorbeeldartikel met de titel „Rankfender Webhook Test”, met X-Rankfender-Test: true en custom_data.test op true, zodat je endpoint het kan negeren. Bij succes: „Webhook test successful! Endpoint responded with 2xx.”; na echte leveringen toont „Last successful call:” de datum.
Belangrijk
De test wordt vanuit je browser verstuurd: je endpoint moet cross-origin-verzoeken (CORS) van app.rankfender.com accepteren om te slagen. Echte leveringen komen van de servers van Rankfender en hebben daar geen last van.