메인 콘텐츠로 건너뛰기
계정 인증, 새 사용자/비밀번호 등록 또는 거래 확인이 필요한 경우, 때로는 일회용 비밀번호, 매직 링크 또는 등록 URL을 누군가에게 보내기만 하면 됩니다. 이메일 인증은 좋은 예이며 가짜 또는 비활성 이메일 주소를 방지하는 방법입니다. 이 가이드를 따르면 사용자가 실제로 보낸 이메일을 받을 수 있도록 하는 동시에 발신자의 평판과 전달성을 높일 수 있습니다.

요구 사항

  • OTP 또는 확인 코드를 생성하고 전송할 서버

API를 통한 custom_data 보내기

메시지 생성 API에는 서버에서 메시지로 데이터를 전달하는 데 사용할 수 있는 custom_data 속성이 있습니다. 확인 코드, 매직 링크 또는 사용자 지정 URL을 생성하는 방법에 따라 생성하면 사용자에게 메시지를 보낼 때 custom_data 객체로 전달할 수 있습니다. 예를 들어:
"custom_data": {
    "user": {
        "first_name": "George"
    },
    "verify": {
        "URL" : "https://yourdomain.com/users/confirm?confirmation_token=OS4EVA",
        "otp" : "OS4EVA"
    }
}

인증 이메일 템플릿

이 이메일 템플릿 예제는 사용자의 이름, 일회용 비밀번호 및 이메일 주소를 확인하는 링크가 있는 버튼을 표시하는 방법을 보여줍니다.

인증 이메일 예제

이메일 템플릿 설정

메시지 > 템플릿 > 새 이메일 템플릿으로 이동하여 드래그 앤 드롭 편집기를 사용합니다. 1개의 행을 만들고 다음 블록을 드래그합니다:
  • 제목 블록
  • 단락 블록
  • 버튼 블록

드래그 앤 드롭 편집기 예제

이메일에 사용자 이름 표시

이것은 선택 사항이지만 사용자의 이름을 추가하여 메시지를 더 개인화할 수 있습니다. 이름이 없을 수도 있는 경우 생략하거나 기본값을 설정할 수 있습니다. 템플릿 제목 블록 내에서 원하는 대로 텍스트를 설정합니다. 예시:
Hey {{ message.custom_data.user.first_name | default: "there" }},

이메일에 일회용 비밀번호 표시

이 예제는 일회용 비밀번호를 보내는 옵션과 확인 URL이 있는 버튼을 모두 보여줍니다. 설정 방법에 따라 단락 블록 내에서 원하는 대로 텍스트를 설정합니다. 예시:
To join the squirrel crew, verify your email with the One Time Password:
{{message.custom_data.verify.otp}}

Or use the link below!
비밀번호를 더 크게 만들거나 텍스트와 구별하려면 두 개 이상의 단락 또는 텍스트 블록을 사용할 수 있습니다. 이 예제에서는 굵게 표시했습니다:

이메일 콘텐츠 내에서 굵게 표시된 OTP

이메일에 사용자 지정 URL 추가

인증 URL을 설정하는 방법에는 여러 가지가 있습니다. 이 예제에서는 확인 코드가 포함된 전체 URL을 custom_data로 전달합니다. 버튼 블록 > 콘텐츠 속성 > 작업 > Url에서 다음을 설정합니다:
  • {{message.custom_data.verify.URL}}

버튼 블록의 사용자 지정 URL 설정

이메일 템플릿 업데이트 및 메시지 보내기

템플릿 사용자 지정에 대한 자세한 내용은 드래그 앤 드롭으로 이메일 디자인을 참조하세요. 예제 API 요청 JSON:
{
    "include_email_tokens": [
        "Email Address"
    ],
    "app_id": "YOUR_APP_ID",
    "template_id": "YOUR_TEMPLATE_ID",
    "custom_data": {
        "user": {
            "first_name": "George"
        },
        "verify": {
            "URL" : "https://yourdomain.com/users/confirm?confirmation_token=OS4EVA",
            "otp" : "OS4EVA"
        }
    }
}
준비가 되면 custom_data 속성과 함께 알림 생성 API 요청 내에서 template_id를 사용할 수 있습니다.

인증 SMS 템플릿

이 SMS 템플릿 예제는 일회용 비밀번호를 표시하는 방법을 보여줍니다.

SMS 템플릿 설정

SMS는 요금을 줄이기 위해 제한된 양의 데이터로만 전송해야 합니다. 메시지 > 템플릿 > 새 SMS 템플릿으로 이동합니다. 템플릿 이름을 OTP Template과 같이 기억하기 쉽게 지정합니다.

SMS 템플릿에 OTP 표시

템플릿 메시지 필드에 다음 텍스트를 추가합니다:
  • {{message.custom_data.verify.otp}} is your OneSignal verification code.
“OneSignal”을 앱 이름으로 변경하는 것이 좋습니다.

SMS 템플릿 업데이트 및 메시지 보내기

템플릿을 만든 후 일회용 비밀번호를 생성하고 다음 예제 API 요청 JSON을 사용하여 OneSignal로 전달할 수 있습니다:
{
    "include_phone_numbers": ["+19999999999"],
    "app_id": "YOUR_APP_ID",
    "template_id": "YOUR_TEMPLATE_ID",
    "custom_data": {
        "verify": {
            "otp" : "OS4EVA"
        }
    }
}
준비가 되면 custom_data 속성과 함께 알림 생성 API 요청 내에서 template_id를 사용할 수 있습니다.

이메일 이중 옵트인 설정

이중 옵트인은 사용자가 이메일 구독을 확인하도록 요구하여 이메일 목록 품질을 향상시키고 규정을 준수하는 프로세스입니다.

1. OneSignal에 이메일 주소 추가

OneSignal에 이메일 주소를 추가하면 기본적으로 자동으로 구독됩니다. 그러나 이중 옵트인의 경우 이메일을 통해 전송된 인증 링크를 클릭할 때까지 사용자 생성 API를 통해 사용자를 추가하지 마세요.

2. 인증 이메일 보내기

OneSignal을 사용하면 알림 생성 API를 사용하여 수신자에게 인증 이메일을 보낼 수 있습니다. 엔드포인트는 이메일을 보내고 앱에 아직 존재하지 않는 경우 이메일 구독으로 OneSignal에 주소를 추가합니다.

API 엔드포인트: 인증 이메일 보내기

3. 인증 응답 처리

수신자의 인증 링크에 대한 응답에 따라 다음 단계를 따르세요: 비구독자의 경우
  1. 알림 생성 API를 통해 사용자 지정 데이터 알림으로 이메일 수신자를 타겟팅합니다.
  2. 사용자가 인증 링크를 클릭하면 API의 “사용자 생성” 엔드포인트를 사용하여 구독으로 추가합니다.
기존 구독자의 경우
  1. 기존 구독자를 인증 이메일로 별도로 타겟팅합니다.
  2. 미리 정의된 기간 동안 수신자의 인증 링크 응답을 모니터링합니다.
응답하지 않는 경우 인증 링크를 클릭하는 경우
  • 아무 작업도 수행하지 않음 - 이미 OneSignal에 구독되어 있습니다.

요약하면, OneSignal을 사용한 이중 옵트인 설정에는 다음 단계가 포함됩니다:

현재 대상에 없는 이메일 주소의 경우

  1. API를 통해 수신자에게 인증 이메일을 보냅니다.
  2. 수신자가 인증 링크를 클릭하면 “사용자 생성” API 엔드포인트를 사용하여 구독을 만듭니다.

이미 OneSignal에 있는 이메일 주소의 경우

  1. API를 통해 기존 구독자에게 인증 이메일을 보냅니다.
  2. 인증 링크에 대한 응답을 모니터링합니다.
  3. 지정된 기간 내에 응답하지 않으면 구독을 업데이트하여 구독 취소하거나 삭제합니다.
  4. 인증 링크를 클릭한 경우 이미 구독되어 있으므로 아무 작업도 수행하지 않습니다.
이러한 단계를 따르면 규정 준수를 보장하고 고품질 이메일 목록을 유지하면서 이메일 구독 프로세스에서 이중 옵트인 기능을 효과적으로 구현할 수 있습니다.