Webhook (Zapier, Make, n8n, personalizzato)
Ricevi ogni articolo finito come webhook JSON firmato — payload esatto, header, verifica della firma e una procedura guidata per Zapier.
Per qualsiasi sito senza un'integrazione nativa, Climb AI consegna ogni articolo finito come un'unica POST HTTPS firmata a un URL che controlli tu — in HTML, Markdown e campi semplici, così un zap di Zapier, uno scenario Make, un workflow n8n o una tua route possono prendere ciò di cui hanno bisogno.
- 1Crea un endpointUn trigger "Catch Hook" di Zapier, un trigger webhook di Make/n8n o una route sul tuo sito — solo HTTPS pubblico; Climb AI rifiuta
http://e host interni/privati. - 2Aggiungilo in Climb AINella configurazione del sito, scegli Webhook e incolla l'URL. Lascia vuoto il secret per farne generare uno (mostrato una sola volta, inizia con
whsec_), oppure incolla il tuo. - 3Verifica con un pingClimb AI invia un evento
pingfirmato e richiede una risposta 2xx prima di salvare la connessione.
Cosa viene inviato
| Header | Valore |
|---|---|
| Content-Type | application/json |
| X-ClimbAI-Event | article.published (o ping per il test di verifica) |
| X-ClimbAI-Delivery | Un ID stabile per articolo — art_<articleId> — così puoi deduplicare i tentativi |
| X-ClimbAI-Signature | t=<unix timestamp>,v1=<HMAC-SHA256 hex digest> |
{
"id": "art_66f1c2...",
"event": "article.published",
"createdAt": "2026-09-13T10:15:00.000Z",
"data": {
"id": "66f1c2...",
"title": "How to Choose a Climbing Harness",
"slug": "how-to-choose-a-climbing-harness",
"html": "<h1>...</h1><p>...</p>",
"markdown": "# How to Choose a Climbing Harness\n\n...",
"excerpt": "A quick guide to fit, weight and gear loops.",
"seo": { "metaTitle": "...", "metaDescription": "...", "focusKeyword": "climbing harness" },
"featuredImageUrl": "https://.../featured.webp",
"ogImageUrl": "https://.../og.webp",
"scheduledFor": null,
"website": { "id": "...", "url": "https://example.com", "name": "Example Co" }
}
}function verify(secret, rawBody, header) {
const { t, v1 } = Object.fromEntries(header.split(',').map(kv => kv.split('=')));
if (Math.abs(Date.now() / 1000 - t) > 300) return false; // 5-min tolerance
const expected = require('crypto').createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex');
const a = Buffer.from(expected, 'hex'), b = Buffer.from(v1, 'hex');
return a.length === b.length && require('crypto').timingSafeEqual(a, b);
}Cosa restituire
Restituisci uno stato 2xx entro 15 secondi. Facoltativamente rispondi con { "url": "https://yoursite.com/the-post" } se conosci l'URL live — Climb AI lo registra come URL pubblicato dell'articolo; qualsiasi altro corpo 2xx va bene, semplicemente non conoscerà l'URL.
Procedura guidata per Zapier Catch Hook
- 1Crea uno ZapScegli Webhooks by Zapier come trigger, evento Catch Hook.
- 2Copia l'URLIncolla l'URL webhook generato da Zapier nella configurazione dell'integrazione Webhook di Climb AI.
- 3Testa e costruisciAttiva un invio di prova da Climb AI; Zapier cattura il JSON come dati di esempio che puoi mappare nel resto dello Zap usando
data.html,data.markdowno i campi SEO.
Domande frequenti
Solo per gli articoli di un sito connesso tramite Webhook, alla data di pubblicazione programmata — nello stesso momento in cui pubblicherebbe un'integrazione nativa.
- Esportare articoli (HTML, Markdown, JSON) — Scarica qualsiasi articolo in HTML, Markdown o JSON direttamente dall'editor — il JSON è lo stesso oggetto che riceve il tuo webhook.
- Collega il tuo sito — Cosa richiede ogni passaggio dell'onboarding, cosa viene compilato automaticamente e dove scegliere una piattaforma di pubblicazione.
- Notifiche — Quali eventi ti avvisano nell'app o via email e come attivare o disattivare ogni categoria.
5 giorni di prova gratuita, nulla viene addebitato fino al giorno 6, rimborso entro 30 giorni dopo.
5 giorni di prova gratuita · 30 giorni di rimborso · prezzo bloccato a vita
Ancora bloccato? hello@climbai.io