Zapier를 통해 Klaviyo로 동의를 전송하는 방법
학습 내용
SMS 동의를 Klaviyo로 전송하기 위한 맞춤 Zapier 웹후크를 만드는 방법을 알아보세요. 이 가이드의 지침을 간단히 수정해 이메일 수신 동의도 함께 보낼 수 있어요.
아래 단계는 웹후크(캐치 훅이라고도 함)를 사용해 Python 스크립트 작업을 트리거하는 Zap을 생성하는 데 도움이 됩니다. 이 스크립트는 Klaviyo에 API 호출을 보내 이메일 및 전화번호를 리스트에 구독하도록 설정합니다.
이 기능은 Zapier Premium 요금제 사용자가 사용할 수 있어요.
연동 정보
이 연동은 Klaviyo에서 완전히 지원되지는 않지만, 필요 시 임시 해결 방법으로 사용할 수 있어요. 이 연동은 지원할 수 있는 개발자가 팀에 있는 경우에만 사용하는 것을 권장해요.
이 가이드는 트리거가 감지되면 Python 스크립트를 실행하는 Zapier 코드 작업을 사용합니다. 이 솔루션을 사용하면 Klaviyo 엔드포인트에서 요구하는 데이터 유형에 필드를 매핑할 수 있으며, 특히 프로필 구독 및 프로필 구독 취소 엔드포인트에 해당합니다.
Zapier 웹후크 설정
- Zapier 계정에 로그인합니다.
- Zapier 메인 페이지에서 +생성을 선택한 다음 Zap을 선택해 주세요.
- 새 Zap의 이름을 입력하세요(예: Klaviyo 웹후크).
- 웹후크를 검색한 다음 트리거 메뉴에서 Zapier의 웹후크를 선택하세요.
- 다음 메뉴에서 Trigger Event 옵션 중 Catch Hook 을(를) 선택해 주세요.
- 계속을 클릭합니다.
- 테스트 탭을 선택하세요.
- 요청을 보낼 수 있도록 Zapier에서 제공하는 웹후크 URL을 복사하세요.
- 테스트하기 전에 웹후크로 테스트 데이터를 전송해야 해요. 자세한 내용은 Zapier로 테스트 데이터를 전송하는 방법 가이드를 확인해 주세요. 테스트 데이터를 전송할 때는 전화번호를 올바르게 형식화 했는지 확인해 주세요.
- 테스트 데이터를 웹후크로 전송한 후 테스트 탭에서 트리거 테스트를 클릭해 주세요.
- 요청이 성공하면 성공 메시지가 표시되고, 아래 예시와 비슷하게 성공 메시지 아래에 테스트 데이터가 채워져요:
- 트리거가 작동하면 선택한 레코드로 계속을 클릭하세요.
Zapier 작업 설정
- 작업 메뉴에서 검색 상자에 Code by Zapier를 입력하고 목록에서 해당 옵션을 선택해 주세요.
- 이벤트 선택 > Python 실행을 클릭해 주세요.
- 계속을 클릭합니다.
필드 매핑을 설정하고 스크립트 로직을 만들기
- 필드 매핑을 설정해 아래 표의 입력 데이터를 이전에 보낸 올바른 테스트 데이터에 연결해 주세요.
데이터 입력 | 테스트 데이터 매핑됨 |
| 1. 이메일: <Test email> |
| 1. 전화번호: <Test phone number> |
| 1. Sms_consent: true |
| 1. 이름: <Test name> |
- 아래 예시와 같은 스크립트를 코드 상자에 추가하세요:
import requests
# configuring sms subscribe or unsubscribe call
if (input_data["sms_consent"] == "true" or input_data["sms_consent"] == "True" or input_data["sms_consent"] == "TRUE"):
url = "https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/" payload = { "data": {
"type": "profile-subscription-bulk-create-job",
"attributes": {
"profiles": { "data": [
{
"type": "profile",
"attributes": {
"email": input_data["email"],
"phone_number": input_data["phone_number"],
"subscriptions": {
"sms": { "marketing": { "consent": "SUBSCRIBED" } }
}
}
}
] }
},
"relationships": { "list": { "data": {
"type": "list",
"id": "LIST_ID"
} } }
} }
elif (input_data["sms_consent"] == "false" or input_data["sms_consent"] == "False" or input_data["sms_consent"] == "FALSE"): url = "https://a.klaviyo.com/api/profile-subscription-bulk-delete-jobs/"
payload = { "data": {
"type": "profile-subscription-bulk-delete-job",
"attributes": {
"profiles": { "data": [
{
"type": "profile",
"attributes": {
"email": input_data["email"],
"phone_number": input_data["phone_number"],
}
}
] }
},
"relationships": { "list": { "data": {
"type": "list",
"id": "LIST_ID"
} } }
} }
headers = {
"accept": "application/json",
"revision": "2024-05-15",
"content-type": "application/json",
"Authorization": "Klaviyo-API-Key your-private-api-key"
}
response = requests.post(url, json=payload, headers=headers)
# Zapier requires an 'output' object
output = {"response text": response.text} your-private-api-key를 Klaviyo 비공개 API 키로 바꾸세요.
비공개 API 키는 비밀번호처럼 취급해 안전한 곳에 보관하고 절대 공개하지 마세요.
LIST_ID(두 위치 모두)를 Zapier 데이터를 보낼 Klaviyo 리스트 ID로 바꾸세요. Klaviyo에서 대상 > 리스트 및 세그먼트 > 설정으로 이동하면 리스트 ID를 찾을 수 있어요. 확인 없이(테스트 중에 유용할 수 있어요) 사람들을 즉시 구독하다 처리하려면 리스트가 단일 옵트인으로 설정되어 있는지 확인해 주세요(리스트 설정 내 동의 탭에서 찾을 수 있어요).- 계속을 클릭한 다음, 단계 테스트를 클릭해 주세요.
- 테스트가 성공하면 아래와 같은 오류 없는 응답이 표시됩니다:
- Klaviyo에서 리스트로 이동해 프로필이 추가되었는지 확인하면 성공적인 테스트인지도 확인할 수 있어요.
- 테스트가 성공하면 게시를 클릭해 zap을 게시하세요. 테스트가 성공하지 않으면 일반적인 문제를 위한 문제 해결 팁을 확인해 보세요.
문제 해결 팁
다음은 Zapier 웹후크를 설정할 때 흔히 겪을 수 있는 문제예요. 그 밖의 문제가 발생하면 추가 안내를 위해 Klaviyo 커뮤니티에 문의할 수 있어요.
문자열 리터럴을 스캔하는 동안 EOL
이 오류가 표시되면 변수 중 하나를 따옴표로 감싸는 따옴표가 누락된 거예요. 목록 ID와 비공개 API 키가 양쪽 모두 따옴표로 감싸져 있는지 확인해 주세요.
SyntaxError: 잘못된 구문
이 오류가 표시되면 Python 코드의 주석(#으로 시작하는 모든 줄)을 제거하세요.