- ユーザーの現在のリワードバランス
- 最新の注文ステータス
- パーソナライズされた製品の推奨
Data Feedsは現在、Journeysを通じて送信されるメールメッセージのみで利用可能です。
他のチャネルが必要ですか?この短いアンケートにご記入ください。
Data Feedsの仕組み
- Data Feedを作成 – OneSignalがAPIに接続する方法を構成します。
- Data Feedをメッセージテンプレートに添付します。
- Liquid構文を使用してメッセージにレスポンスフィールドを挿入します。
- 送信時に、OneSignalは各受信者に対してAPI呼び出しを行い、レスポンスを解析し、データをメッセージに注入します。
例:リワードポイントの表示
各顧客にリワードバランスを表示したいとします:Data Feedの作成と使用
1. Data Feed構成の設定
サイドバーのData > Data Feedsに移動して、既存のData Feedsのリストを表示し、新しいData Feedを作成します。 各Data Feedには次が必要です:- Name:フィードのリストで区別するための「Customer Rewards API」のような説明的な名前。一意の名前を推奨しますが、必須ではありません。
- Alias:Liquid構文で使用する
rewardsのような短い識別子(例:{{ data_feed.rewards.points }})。一意である必要があり、小文字の英数字のみで、スペースや特殊文字は使用できません。 - Method:OneSignalがAPIに接続するために使用するHTTPメソッド。通常は
GETですが、POSTもサポートされています。 - URL:APIエンドポイント。OneSignalがユーザー固有のデータを取得できるようにLiquid構文をサポートしています。
external_id(OneSignalに保存)を受け取る場合があります:
- Headers:APIに必要なキーと値のペア(例:認証トークン)。Liquid構文をサポートしています。
- Body:オプションのJSONリクエストボディ。Journey Webhookと同様にLiquid構文をサポートしています。

2. Data Feedをメッセージテンプレートに添付
OneSignalが使用できるように、Data Feedをメッセージテンプレートに添付します。- Messages > Templatesに移動します
- Messageセクションで、Personalizationボタンを選択します

- Data Feedsをトグルオンにして、フィードを選択します

- テンプレートを保存します
3. メッセージでデータを使用
Liquid構文を使用して、メッセージの任意の場所にレスポンスデータを挿入します。リワードの例を続けると、external_idがa1-b2c3のSarahのAPIレスポンスは次のようになります:
- Data Feedを使用
rewardsData Feedを使用- 復習:
rewardsフィードは、受信者のexternal_idでAPIを呼び出すことを知っています
- 復習:
- レスポンスから、
points項目の値(193)とstatus_level項目(Gold)を挿入
要件と制限
APIは次を満たす必要があります:- ヘッダーに認証トークンを含むシングルステップ認証を受け入れる
- 迅速に応答する。 250ms未満を推奨(これは送信速度に直接影響します)
- JSONを返す。 現時点では他の形式はサポートされていません。
- 別の形式が必要な場合は、ユースケースをお知らせください。
- 送信ボリュームを処理する。 APIのレート制限が低い場合、メッセージ配信が遅くなります。
- 妥当なサイズのペイロードを返す。 最高のパフォーマンスのために、レスポンスを50KB未満に保つことを推奨します。
- テンプレートごとに1つのData Feed。 必要なすべてのデータを1回のAPIレスポンスで取得してください。
- Data Feedごと、メッセージごとに1つのAPI呼び出し。
- Journeysのみ。 他の送信方法ではまだ利用できません。
- 連鎖呼び出しなし。 1つのData Feedからのペイロードを使用して別のData Feedを呼び出すことはできません。
テンプレートごとに複数のData Feed、または他のチャネルのサポートが必要ですか?これらの機能の優先順位付けに役立てるために、ユースケースをお知らせください。
APIの設定
Data Feedを作成する前に、APIが次の要件を処理できることを確認してください:認証
APIはヘッダーを介した認証を受け入れる必要があります:JSONリクエストボディ
リクエストにボディを含める必要がある場合、APIはJSONを受け入れる必要があります。これは、ヘッダーにContent-Type: application/jsonを含める必要があることを意味する場合があります。
JSONレスポンス
APIはJSONオブジェクトを返す必要があります。通常、これはヘッダーにAccept: application/jsonを含めることを意味します。
パーソナライゼーションパラメータ
通常、次のようにURLでユーザー識別子を渡します:レート制限
APIのレート制限を考慮してください。10,000人のユーザーに送信する場合、10,000回のAPI呼び出しを連続して行います。APIがこのボリュームを処理できることを確認してください。エラーハンドリング
APIがエラーを返すか、ユーザーのデータがない場合、そのレシピエントにメッセージは送信されません。APIがすべての予想されるユーザーに対してデータを返すことを確認してください。開始前のチェックリスト
Data Feedsを実装する前に、次の質問に答えてください:- メッセージに表示したいデータは何ですか?APIから取得する項目を特定したシンプルな概要から逆算して作業すると、考えを整理するのに役立ちます。
- このデータは単一のAPIエンドポイントを介して利用可能ですか?
- APIリクエストをどのように認証しますか?
- パーソナライズされたデータを取得するために、どの識別子または他のデータ項目を使用しますか?
- その識別子はすでにOneSignalに保存されていますか?そうでない場合、どのように入力されますか?
- APIは生成するリクエストのボリュームを処理できますか?
- APIがユーザーのデータを持っていない場合はどうなりますか?
例と高度なユースケース
Data Feedsは、Liquid構文と組み合わせて、または他の機能と組み合わせて創造的な方法で使用して、より複雑なパーソナライゼーションを生成できます。- ループによる反復:カート放棄
- カスタムイベントプロパティ
- 条件付き表示:注文ステータス
- パーソナライゼーションなしの自動化
- パーソナライズされたクーポンコード
ユーザーのカート内のアイテムの配列とカートの合計金額を返すData Feed カート内の各アイテムとカート合計を表示したい場合、Liquidでforループを使用できます:これにより次の結果が得られます:
cartがあるとします:メールブロックエディターを使用している場合、特に画像やリンクを含める必要があるこの種の複雑なLiquid構文を挿入する際は、最良の結果を得るためにカスタムHTMLブロック要素を使用してください。
よくある質問
Data Feedの値がメッセージに表示されません。何を確認すべきですか?
次の順序で確認してください:- Data Feedがテンプレートに添付されていること(Personalization > Data Feedsの下)。
- Liquid構文がJSONレスポンス構造と正確に一致していること —
{{ data_feed.<alias>.<field> }}。 - APIエンドポイントが同じ識別子で手動呼び出した場合に有効なJSONを返すこと。
- 受信者がOneSignalに必要な識別子(例:
external_id)が保存されていること。
メッセージの送信が遅いのはなぜですか?
Data Feed APIの呼び出しは、すべての受信者に対して送信時に実行されます。APIの応答が遅いか、同時リクエストを処理できない場合、メッセージ配信は比例して遅くなります。250ms未満の応答時間を目標とし、インフラストラクチャが送信ボリュームを処理できることを確認してください。一部の受信者がメッセージを受信しないのはなぜですか?
受信者のData Feed API呼び出しが失敗した場合(404、タイムアウト、またはデータ不足による)、OneSignalはその受信者を完全にスキップします。Data Feed構成のエラーログと独自のAPIログで失敗を確認してください。それらのユーザーがOneSignalに必要な識別子があることを確認してください。テンプレートで複数のData Feedを使用できますか?
現時点ではできません。各テンプレートは1つのData Feedをサポートします。1回のAPIレスポンスで必要なすべてのデータを取得してください。複数のフィードが必要な場合は、ユースケースをお知らせください。Data Feedsはプッシュ通知やSMSで利用できますか?
いいえ。Data FeedsはJourneyを通じて送信されるメールメッセージのみで利用可能です。追加チャネルのサポートが計画されています — 優先順位付けに役立てるためにユースケースをお知らせください。メッセージ送信時にAPIがダウンしている場合はどうなりますか?
OneSignalは、Data Feed呼び出しが失敗した受信者をスキップします。そのレシピエントにはメッセージが送信されず、フォールバック値も挿入されません。スケジュールされた送信中はAPIのアップタイムとエラーレートを監視してください。関連ページ
Liquid構文
OneSignalメッセージにおけるLiquidテンプレートの完全なリファレンス。
Journeys
Data Feedメールをトリガーする自動メッセージングワークフローを構築します。
カスタムイベント
Journeysをトリガーし、Data Feed URLにイベントプロパティを渡します。
メッセージパーソナライゼーション
タグ、Liquid、ダイナミックコンテンツ、Data Feedsなど、すべてのパーソナライゼーション方法の概要。
