メインコンテンツへスキップ
アカウント認証、新しいユーザー/パスワードの登録、またはトランザクションの確認が必要な場合でも、ワンタイムパスワード、マジックリンク、または登録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"
        }
    }
}
準備ができたら、通知の作成APIリクエスト内でcustom_dataプロパティとともにtemplate_idを使用できます。

検証SMSテンプレート

このSMSテンプレートの例では、ワンタイムパスコードを表示する方法を示します。

SMSテンプレートの設定

SMSは、料金を削減するために限られた量のデータのみで送信する必要があります。 メッセージ > テンプレート > 新しいSMSテンプレートに移動します。 テンプレートにOTPテンプレートのような覚えやすい名前を付けます。

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"
        }
    }
}
準備ができたら、通知の作成APIリクエスト内でcustom_dataプロパティとともに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. 検証リンクをクリックした場合は、すでにサブスクライブされているため、何もしません。
これらの手順に従うことで、コンプライアンスを確保し、高品質のメールリストを維持しながら、メールサブスクリプションプロセスでダブルオプトイン機能を効果的に実装できます。