エンドポイント
Data API は、次の API エンドポイントで構成されています。- Track User: MoEngage でユーザーとユーザープロパティを追加または更新します。
- Get User: ユーザーの情報を取得します。
- Merge User: ID に基づいて MoEngage 内の 2 人のユーザーを統合します。
- Delete User: MoEngage のユーザーを削除します。
- Track Event: ユーザーのアクションをトラッキングします。
- Track Device: MoEngage でデバイスとデバイスプロパティを追加または更新します。
- Device Opt-out: 特定のデバイスがプッシュ通知を受信できないようにブロック、またはブロックを解除します。
- Trigger File Imports: スケジュールされたファイルインポートをトリガーします。
- Import Details: インポートレベルでステータスを取得します。
- Import File Run History: インポートに含まれる各ファイルのファイル処理ステータスを取得します。
- Bulk Import: 複数のユーザーリクエストとイベントリクエストをバッチで MoEngage に送信します。
- Install Tracking: MoEngage でインストールのアトリビューションデータをトラッキングします。
- Test connection: 入力されたエンドポイントの詳細が有効かどうかを検証します。
-
MoEngage で User Identity Resolution 機能が有効になっているワークスペースでは、次の Data API を使用して、Settings > Data > Identity Resolution で設定された特定の識別子 (携帯電話番号やメール ID など) を使用してユーザーを作成または更新します。
- Track User
- Create Event
- Bulk Import
- ID を持たない (ただし他の識別子を持つ) ユーザーでも、Server-to-Server Data API を通じてユーザーを作成できます。
- ID 以外の識別子 (メール ID や電話番号など) がわかっている場合に、ユーザーを作成したり、ユーザーのイベントをトラッキングしたりできます。
- Data API は IP ホワイトリストをサポートしています。IP アドレスをホワイトリストに登録するには、MoEngage サポートチームにお問い合わせください。設定後、MoEngage はこれらのホワイトリストに登録された IP から送信された API ペイロードのみを取り込みます。
Data の認証
MoEngage Data API は、Basic 認証と OAuth 2.0 の 2 つの認証方法をサポートしています。Data API リクエストにはどちらの方法でも使用できます。- Basic 認証
- OAuth 2.0
- ユーザー名: MoEngage のワークスペース ID (App ID とも呼ばれます) を使用します。MoEngage ダッシュボードの Settings > Account > APIs > Workspace ID (earlier app id) で確認できます。
- パスワード: Data タイル内にある API キーを使用します。
リクエスト本文
リクエスト本文には、customer_id という必須フィールドが含まれます。これは、MoEngage SDK から USER_ATTRIBUTE_UNIQUE_ID として設定および渡される一意の識別子で、ダッシュボードでは ID として表示されます。
customer_id は次の目的で使用されます。
- MoEngage でユーザーを識別または作成する。
- MoEngage で、イベントを対応する一意のユーザープロファイルに関連付ける。
customer_id を使用してユーザーが MoEngage に存在するかどうかが確認されます。ユーザーが存在しない場合は、属性またはイベントを使用して新しいユーザーが作成されます。
- リクエスト本文の上限は 128 KB です。
customer_idには、次の値を除き、1 文字を超える任意の文字列を使用できます - [‘unknown’, ‘guest’, ‘null’, ‘0’, ‘1’, ‘true’, ‘false’, ‘user_attribute_unique_id’, ‘(empty)’, ‘na’, ‘n/a’, ”, ‘dummy_seller_code’, ‘user_id’, ‘id’, ‘customer_id’, ‘uid’, ‘userid’, ‘none’, ‘-2’, ‘-1’, ‘2’]
リクエスト本文のサンプル
以下は、Create User API のリクエスト本文のサンプルです。サポートされている日時形式
リクエスト本文では、次の形式で日時を渡すことができます。- 未来および過去の日付値は受け付けられ、取り込まれます。
- 不正なカレンダー値を含む日付値 (例: 15 が有効な月ではない 2019-15-12) は、文字列として取り込まれます。
- 上記の形式と互換性のない日時値は、文字列に変換されてから取り込まれます。
レスポンス
Data API のレスポンスは JSON オブジェクトです。Data API リクエストが成功すると、次のレスポンスが返されます。レスポンスコード
リクエストがエラーになった場合、次のステータスコードと関連するエラーメッセージが返されます。使用状況のモニタリング
レート制限のあるエンドポイントは、すべてのレスポンスで次のヘッダーを返します。これにより、連携では429 を待つのではなく、残りの容量をリアルタイムで追跡できます。

x-envoy-ratelimited: true ヘッダーでスロットリングを通知します。エンドポイントが返すヘッダーについては、各エンドポイントのリファレンスページを確認してください。上限に達した場合
リクエストがHTTP 429 で拒否された場合:
- ウィンドウがリセットされる (
x-ratelimit-reset) まで、そのエンドポイントへのリクエストの送信を停止します。 - すぐに再試行するのではなく、指数バックオフを使用して再試行します。
- エンドポイントがサポートしている場合はバッチ処理を行います。たとえば、ユーザーごとに 1 回呼び出すのではなく、1 回の Track User リクエストで複数のユーザー更新を送信します。
ユーザー属性
ユーザー属性の予約キーワード
以下は、ユーザー属性をトラッキングする際に使用してはならないキーの一覧です。- USER_ATTRIBUTE_UNIQUE_ID
- USER_ATTRIBUTE_USER_EMAIL
- USER_ATTRIBUTE_USER_MOBILE
- USER_ATTRIBUTE_USER_NAME
- USER_ATTRIBUTE_USER_GENDER
- USER_ATTRIBUTE_USER_FIRST_NAME
- USER_ATTRIBUTE_USER_LAST_NAME
- USER_ATTRIBUTE_USER_BDAY
- USER_ATTRIBUTE_NOTIFICATION_PREF
- USER_ATTRIBUTE_OLD_ID
- MOE_TIME_FORMAT
- MOE_TIME_TIMEZONE
- USER_ATTRIBUTE_DND_START_TIME
- USER_ATTRIBUTE_DND_END_TIME
- MOE_GAID
- INSTALL
- UPDATE
- MOE_ISLAT
- status
- user_id
- source
ユーザープロファイルダッシュボード
Data API を通じてデータを送信すると、次に示すようにユーザープロファイルに反映されます。
制限
Data API は、お客様全体で大量のデータを処理できるように設計されています。API を責任を持って使用していただくために、API の制限を設けています。レート制限については、各エンドポイントのドキュメントを参照してください。- 要件がデフォルトの制限を超える場合は、MoEngage サポートチームに連絡して制限を引き上げることができます。
- 高頻度のユーザーデータ取り込みについては、フェアユースポリシー (FUP) を必ず遵守してください。これは、ワークスペースでのデータ処理の中断を防ぐために必須です。詳細については、フェアユースポリシー (FUP) を参照してください。
よくある質問
Track User
1 秒あたりまたは 1 分あたりのリクエストが多すぎることによる 5xx エラーを減らすにはどうすればよいですか?
1 秒あたりまたは 1 分あたりのリクエストが多すぎることによる 5xx エラーを減らすにはどうすればよいですか?
ユーザーデータが MoEngage に取り込まれたかどうかを確認するにはどうすればよいですか?
ユーザーデータが MoEngage に取り込まれたかどうかを確認するにはどうすればよいですか?
ただし、取り込みに失敗することはごくまれです。新しく取り込まれたユーザーは次の場所で検索できます:
Segment > Create Segment > ID を使用してユーザーを検索
この API を使用してユーザーをエクスポートすることもできますか?
この API を使用してユーザーをエクスポートすることもできますか?
この API を使用して MoEngage からユーザーを削除できますか?
この API を使用して MoEngage からユーザーを削除できますか?
Get User
どのユーザーがエクスポート可能で、どのユーザーが MoEngage でエクスポートできないかを知るにはどうすればよいですか?
どのユーザーがエクスポート可能で、どのユーザーが MoEngage でエクスポートできないかを知るにはどうすればよいですか?
users キーに、利用できないユーザーは users_not_found キーに含まれます。このドキュメントのサンプルレスポンスを参照してください。フィールドを指定せずに、ユーザー ID に基づいて利用可能なすべてのユーザーデータを取得したい場合はどうすればよいですか?
フィールドを指定せずに、ユーザー ID に基づいて利用可能なすべてのユーザーデータを取得したい場合はどうすればよいですか?
user_fields_to_export を渡さない場合、すべてのカスタム属性とエクスポート可能な標準属性が返されます。特定のフィールドを取得するには、必要なフィールドのリストとともに user_fields_to_export を渡す必要があります。Merge User
この API を使用した後も、統合されたユーザーの情報は利用できますか?
この API を使用した後も、統合されたユーザーの情報は利用できますか?
保持されるユーザーのリーチはどうなりますか?
保持されるユーザーのリーチはどうなりますか?
任意の 2 人のユーザーを統合できますか?
任意の 2 人のユーザーを統合できますか?
統合する前に、両方のユーザーにデバイスが関連付けられている必要がありますか?
統合する前に、両方のユーザーにデバイスが関連付けられている必要がありますか?
ユーザーを統合できる回数に制限はありますか?
ユーザーを統合できる回数に制限はありますか?
統合されたユーザーまたは保持されるユーザーが持つことのできるデバイス数に制限はありますか?
統合されたユーザーまたは保持されるユーザーが持つことのできるデバイス数に制限はありますか?
統合後、merged_user はどうなりますか?
統合後、merged_user はどうなりますか?
retained_user に関連付けられます。merged_user のすべてのイベントとユーザーの詳細は、retained_user に反映されます。統合イベント MOE_USER_MERGE_EVENT が merged_user (この時点で MoEngage ID のみを持つ) に追加されます。統合後、retained_user はどうなりますか?
統合後、retained_user はどうなりますか?
retained_user は、自身の既存の詳細に加えて、merged_user のすべてのユーザー、デバイス、イベントの詳細を持つようになります。MOE_USER_MERGED イベントが retained_user に追加されます。削除されたユーザーと同じ ID でユーザー作成リクエストが送信された場合はどうなりますか?
削除されたユーザーと同じ ID でユーザー作成リクエストが送信された場合はどうなりますか?
両方のユーザーがデバイスを持っていない場合、リーチはどうなりますか?
両方のユーザーがデバイスを持っていない場合、リーチはどうなりますか?
統合後にユーザーの詳細が反映されるまでの SLA はどのくらいですか?
統合後にユーザーの詳細が反映されるまでの SLA はどのくらいですか?
統合されたユーザーから保持されるユーザーにイベントはどのようにコピーされますか?
統合されたユーザーから保持されるユーザーにイベントはどのようにコピーされますか?
Delete User
削除操作を元に戻すことはできますか?
削除操作を元に戻すことはできますか?
ユーザーのイベントも削除されますか?
ユーザーのイベントも削除されますか?
ユーザーが MoEngage から削除されたかどうかを確認するにはどうすればよいですか?
ユーザーが MoEngage から削除されたかどうかを確認するにはどうすればよいですか?
Create Event
特定のユーザーのイベントを識別するにはどうすればよいですか? どの識別子を使用できますか?
特定のユーザーのイベントを識別するにはどうすればよいですか? どの識別子を使用できますか?
匿名ユーザーのイベントを送信できますか?
匿名ユーザーのイベントを送信できますか?
イベントを更新または変更できますか?
イベントを更新または変更できますか?
Track Device
Device API を使用してカスタムデバイス属性を渡すことはできますか?
Device API を使用してカスタムデバイス属性を渡すことはできますか?
API で Identifier for Vendors (IDFV) の値を渡すとどうなりますか?
API で Identifier for Vendors (IDFV) の値を渡すとどうなりますか?
1 人のユーザーに対していくつのデバイスを作成できますか?
1 人のユーザーに対していくつのデバイスを作成できますか?
MoEngage ワークスペース内のユーザーに関連付けられた既存のデバイスに既に存在する moe_gaid、idfv、または push_id の値で新しいデバイスを作成するとどうなりますか?
MoEngage ワークスペース内のユーザーに関連付けられた既存のデバイスに既に存在する moe_gaid、idfv、または push_id の値で新しいデバイスを作成するとどうなりますか?
MoEngage Streams
想定されるスループット、平均ボリューム、バッチサイズはどのくらいですか?
想定されるスループット、平均ボリューム、バッチサイズはどのくらいですか?
Streams の再試行の仕組みはどのようになっていますか?
Streams の再試行の仕組みはどのようになっていますか?
- 1 回目の再試行: 30 秒
- 2 回目の再試行: 60 秒
- 3 回目の再試行: 120 秒
Streams を一時停止した場合、後でデータを取得できますか?
Streams を一時停止した場合、後でデータを取得できますか?
Streams では最新のユーザー属性が保証されますか?
Streams では最新のユーザー属性が保証されますか?
Streams を使用して履歴データをエクスポートできますか?
Streams を使用して履歴データをエクスポートできますか?
Bulk Import
Track User API と Create Event API の MoEngage 内部の検証は、Bulk API にも適用されますか?
Track User API と Create Event API の MoEngage 内部の検証は、Bulk API にも適用されますか?
Customer ペイロードタイプに適用され、Create Event API の検証が Event ペイロードタイプに適用されます。1 秒あたりまたは 1 分あたりのリクエストが多すぎることによる 5xx エラーを減らすにはどうすればよいですか?
1 秒あたりまたは 1 分あたりのリクエストが多すぎることによる 5xx エラーを減らすにはどうすればよいですか?
ユーザーデータが MoEngage に取り込まれたかどうかを確認するにはどうすればよいですか?
ユーザーデータが MoEngage に取り込まれたかどうかを確認するにはどうすればよいですか?
Trigger File Imports
トリガー API によってインポートのスケジュールは変更されますか?
トリガー API によってインポートのスケジュールは変更されますか?