ClimbAI
연동

웹훅 (Zapier, Make, n8n, 사용자 지정)

완성된 모든 아티클을 서명된 JSON 웹훅으로 수신하세요 — 정확한 페이로드, 헤더, 서명 검증, 그리고 Zapier 따라 하기까지.

업데이트 2026-09-13

네이티브 통합이 없는 모든 사이트를 위해, Climb AI는 완성된 각 아티클을 서명된 HTTPS POST 하나로 귀하가 제어하는 URL에 전달합니다 — HTML, Markdown 및 일반 필드 형태로 제공되므로 Zapier zap, Make 시나리오, n8n 워크플로 또는 자체 라우트가 각각 필요한 것을 가져갈 수 있습니다.

  1. 1
    엔드포인트 만들기
    Zapier "Catch Hook" 트리거, Make/n8n 웹훅 트리거 또는 자체 사이트의 라우트 — 공개 HTTPS만 가능하며, Climb AI는 http://와 내부/사설 호스트를 거부합니다.
  2. 2
    Climb AI에 추가하기
    사이트 설정에서 Webhook을 선택하고 URL을 붙여 넣으세요. 시크릿을 비워 두면 자동으로 생성되며(한 번만 표시되고 whsec_로 시작), 직접 입력해도 됩니다.
  3. 3
    ping으로 검증하기
    Climb AI는 서명된 ping 이벤트를 보내고, 연결을 저장하기 전에 2xx 응답을 요구합니다.

전송되는 내용

헤더
Content-Typeapplication/json
X-ClimbAI-Eventarticle.published (검증 테스트의 경우 ping)
X-ClimbAI-Delivery아티클당 안정적인 ID — art_<articleId> — 재시도를 중복 제거할 수 있습니다
X-ClimbAI-Signaturet=<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" }
  }
}
article.published 본문
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);
}
Node.js에서 검증하기(Stripe와 동일한 방식)
JSON 파싱으로 다시 직렬화되기 전에 원시 요청 본문을 기준으로 검증하세요. 다시 문자열로 만들면 공백이 바뀌어 서명 검사가 깨집니다.

반환할 내용

15초 이내에 2xx 상태를 반환하세요. 실제 URL을 알고 있다면 선택적으로 { "url": "https://yoursite.com/the-post" }로 응답할 수 있습니다 — Climb AI가 이를 아티클의 게시 URL로 기록합니다. 다른 2xx 본문도 괜찮지만, 그 경우 URL을 알 수 없습니다.

리디렉션은 실패로 처리되며(따라가지 않음) 실패한 전송은 5초부터 시작하는 지수 백오프로 최대 3회 재시도합니다. 모든 시도가 실패하면 아티클은 "게시 실패"로 표시되고, 그 이유가 UI에 표시됩니다.

Zapier Catch Hook 따라 하기

  1. 1
    Zap 만들기
    트리거로 Webhooks by Zapier를, 이벤트로 Catch Hook을 선택하세요.
  2. 2
    URL 복사하기
    Zapier가 생성한 웹훅 URL을 Climb AI의 Webhook 통합 설정에 붙여 넣으세요.
  3. 3
    테스트하고 구축하기
    Climb AI에서 테스트 전송을 트리거하세요. Zapier가 JSON을 샘플 데이터로 캡처하며, data.html, data.markdown 또는 SEO 필드를 사용해 Zap의 나머지 부분에 매핑할 수 있습니다.

자주 묻는 질문

Webhook으로 연결된 사이트의 아티클에만 해당하며, 예약된 게시 날짜에 — 네이티브 통합이 게시하는 것과 같은 시점에 — 발동합니다.

관련 문서
  • 아티클 내보내기(HTML, Markdown, JSON) 편집기에서 바로 모든 아티클을 HTML, Markdown 또는 JSON으로 다운로드하세요. JSON은 웹훅이 받는 것과 동일한 객체입니다.
  • 사이트 연결 각 온보딩 단계에서 요구하는 사항, 자동으로 채워지는 항목, 게시 플랫폼을 선택하는 위치를 설명합니다.
  • 알림 어떤 이벤트가 앱 내 또는 이메일로 알림되는지, 각 카테고리를 켜고 끄는 방법을 설명합니다.
내 사이트에서 직접 써볼 준비가 되셨나요?

5일 무료 체험, 6일차까지 아무 비용도 청구되지 않으며, 그 이후에는 30일 환불 보장.

5일 무료 체험 · 30일 환불 보장 · 평생 가격 고정

여전히 막히셨나요? hello@climbai.io

지금 $0.00으로 시작하기