충성도 내역을 CRM에 미러링
모든 스탬프, 바우처, 생일 및 비활성 트리거는 CRM의 고객 기록에 기록됩니다. 7Stamp에 로그인하지 않고도 판매, 통화, 티켓 옆에서 전체 충성도 타임라인을 볼 수 있습니다.
개발자 통합
7Stamp의 모든 충성도 이벤트를 실시간으로 자체 시스템으로 푸시합니다. 폴링 및 예약된 API 호출이 없습니다. 이벤트는 발생 후 몇 초 내에 HTTPS POST 요청으로 도착합니다.
웹후크를 사용하여 CRM, ERP 또는 사용자 정의 백엔드를 충성도 측에서 일어나는 일(가입자, 스탬프 받은 사람, 바우처 교환한 사람, 생일 선물을 촉발한 사람, 비활성화된 사람)과 동기화 상태를 유지하세요. 그런 다음 시스템이 해당 데이터로 무엇을 할지 결정합니다.
웹후크는 통합 스택의 아웃바운드 측입니다. 판매, 서비스, 분석 및 메시징에 대해 이미 신뢰하는 시스템에 고객 및 보상 활동을 반영합니다.
모든 스탬프, 바우처, 생일 및 비활성 트리거는 CRM의 고객 기록에 기록됩니다. 7Stamp에 로그인하지 않고도 판매, 통화, 티켓 옆에서 전체 충성도 타임라인을 볼 수 있습니다.
고객이 바우처를 사용하면 기존 SMS 게이트웨이에서 감사 SMS를 보냅니다. 고객이 목표를 달성하면 Slack에 축하 메시지를 게시하세요. 누군가 활동하지 않으면 케이스를 계정 관리자에게 전달하세요.
이벤트를 BI 도구, 웨어하우스 또는 조정 파이프라인으로 스트리밍합니다. 바우처 상환을 POS 영수증과 일치시키고 자체 지표로 충성도 ROI를 계산하세요.
엔드포인트는 HTTPS POST를 승인하고 요청 형태를 검증하고 이벤트를 유지하거나 대기열에 추가한 다음 성공적인 2xx 응답을 반환해야 합니다. 안전하게 대기열에 추가할 수 있는 경우 승인 전에 느린 CRM 또는 메시징 호출을 하지 마십시오.
와 상관 관계 모든 관련 이벤트는 카드를 생성하거나 스캔할 때 사용한 External ID 및 선택적 External Source를 전달할 수 있습니다. 이 쌍을 사용하여 이름이나 이메일을 추측하지 않고도 자신의 CRM, POS 또는 주문 기록을 업데이트할 수 있습니다.
부작용을 유발하기 전에 내구성 있는 처리 키 또는 이벤트 지문을 저장합니다. 수신자가 동일한 배송을 다시 보게 되면 중복된 CRM 메모, 바우처 또는 메시지를 추가해서는 안 됩니다. 엔드포인트 URL를 비밀로 처리하십시오.
json {
"entity": "card_event",
"action": "created",
"entity_id": 707,
"event_id": "8f05e58decec48e09d328f0edebbacf6",
"profile_id": 2,
"profile_name": "Your Business",
"profile_lang": "en",
"data": {
"event_type": "SCAN",
"scanned_at": "2026-10-01T09:19:24.179424",
"user_card_id": 10,
"card_template_id": 14,
"card_template_name": "Collect your stamps!",
"stamps_added": 3,
"stamps_before": 1,
"stamps_after": 4,
"amount": null,
"external_order_id": "ORDER-1001",
"workplace": { "id": 4, "name": "Bar Counter" },
"device_type": null,
"external_id": "odoo_contact_8821",
"external_source": "odoo",
"issued_vouchers": [
{
"id": 174,
"unique_code": "100425813507",
"stamp_number": 4,
"issued_at": "2026-10-01T09:19:24.191836",
"expires_at": "2027-01-01T23:59:59",
"status": "ACTIVE",
"voucher_template_id": 58,
"voucher_description": "Free coffee",
"voucher_image_url": "https://..."
}
],
"achieved_goals": [],
"user": {
"id": 2,
"name": "Anna",
"full_name": "Anna Smith",
"email": "anna@example.com",
"telegram_chat_id": null,
"telegram_username": null,
"whatsapp_phone": null,
"birth_date": null
}
}
} 백엔드, CRM 통합 계층, Make 웹훅 또는 Zapier Catch Hook에서 HTTPS 엔드포인트를 생성합니다. Make URL를 복사하기 전에 대상을 제어해야 합니다.
7Stamp Admin에서 Stamp Cards → API & Integrations → Webhooks를 여십시오.
엔드포인트 URL을 추가합니다. 웹훅은 프로필의 모든 카드 이벤트를 수신하므로 수신 측에서 data.event_type으로 필터링합니다.
프로필 설정을 저장한 다음 일회용 테스트 스캔 또는 카드 작업을 트리거하여 이벤트를 생성합니다.
수신된 페이로드를 검사합니다. External ID 및 External Source를 예상 레코드와 일치시키고 수신자가 성공적인 응답을 반환하는지 확인합니다.
재생 안전 처리 및 실패 모니터링을 수행한 후에만 CRM, 바우처 또는 메시징 부작용을 활성화하십시오.
Make에서 Webhooks → Custom webhook를 사용하여 수신 URL를 생성하고 이를 7Stamp 프로필에 붙여넣습니다. Zapier에서는 동일한 목적으로 Webhooks by Zapier → Catch Hook를 사용하십시오. 현재 API는 자동 웹후크 등록 끝점을 노출하지 않기 때문에 7Stamp 프로필은 구독을 소유합니다.
현재 페이로드 스키마는 공개 OpenAPI 레퍼런스의 Webhooks 섹션을 기준으로 삼으세요. 본문은 엔벨로프 구조입니다. profile_id와 profile_name은 7Stamp 프로필을 나타내고, event_id는 이벤트를 식별하며, 카드 이벤트 자체는 data에 들어 있습니다(Make 또는 Zapier URL의 경우 키는 card_event입니다). 모든 전송은 하나의 헤더 X-Webhook-Signature: t=…,s=…로 서명됩니다. 웹훅 시크릿으로 t에 원시 요청 본문을 더한 값에 대해 HMAC-SHA256을 계산하고, 결과를 hex로 인코딩해 s와 비교하세요. 시크릿은 7Stamp Admin의 웹훅 페이지에 있습니다. X-Webhook-Event-Id를 사용해 중복 전송을 버리세요. 재시도는 새로운 t로 다시 서명됩니다. 엔드포인트를 Basic Auth로 보호할 수도 있습니다. HTTPS를 필수로 하고, 수신 측 URL이 공개 로그에 노출되지 않게 하세요.
아니요. 7Stamp 웹훅은 프로필의 모든 카드 이벤트를 수신합니다. 수신 측에서 data.event_type으로 필터링하세요. Make와 Zapier에서는 이벤트가 card_event 아래에 들어오므로 card_event.event_type으로 필터링하세요.
Make 또는 Zapier의 Catch Hook에서 수신 웹훅을 생성하고 생성된 URL를 복사한 다음 이를 7Stamp 프로필의 웹훅 설정에 붙여넣고 테스트 이벤트를 보냅니다.
data.external_id와, 있는 경우 data.external_source를 사용하세요. 이 값은 자체 ID로 API를 통해 발급한 카드의 모든 웹훅에 다시 포함됩니다. 고객이 직접 카드를 받은 경우에는 External ID가 없으므로 data.user.email로 매칭하세요. Apple의 “Hide My Email” 주소는 릴레이 주소이며, CRM에 있는 주소가 아닙니다.
X-Webhook-Signature 헤더를 t와 s로 나누고, 7Stamp Admin의 웹훅 시크릿으로 t에 원시 요청 본문을 더한 값에 대해 HMAC-SHA256을 계산한 뒤, 결과를 hex로 인코딩해 s와 비교하세요. t는 전송된 그대로, 본문은 JSON 파싱 전에 수신한 원시 바이트 그대로 사용하세요. 이미 처리한 X-Webhook-Event-Id의 전송은 버리세요. 재시도는 새로운 t로 다시 서명됩니다.
다음 단계
수신기를 생성하고, 해당 HTTPS URL를 프로필에 붙여넣고, 일회용 스캔을 실행하고, 다운스트림 자동화를 활성화하기 전에 일치하는 External ID를 검증합니다.