エンドポイント
Content APIs は、次のエンドポイントで構成されています。- List Content APIs: ワークスペース内のすべてのコンテンツ API、または名前や ID で指定した単一のコンテンツ API を返します。
- Test Content API: 保存済みのコンテンツ API のアップストリームエンドポイントを呼び出し、レスポンスを返します。
認証
認証は Basic 認証で行います。認証には、username:password の形式で認証情報を Base64 エンコードした文字列が必要です。
- Username: MoEngage の Workspace ID(App ID とも呼ばれます)を使用します。MoEngage ダッシュボードの Settings > Account > API keys で確認できます。
- Password: Settings > Account > API keys の API キーを使用します。
パーソナライズトークン
コンテンツ API の設定では、URL、パラメーター、ヘッダー、または本文に Jinja トークンを含めることができます。トークンは名前空間ごとにグループ化されます (例:{{UserAttribute['city']}} や {{EventAttribute['name']}})。
設定をテストする際は、リクエスト本文の dynamic_values オブジェクトで、名前空間をキーとしてこれらのトークンのサンプル値を指定します。{{UserAttribute['city']}} のようなトークンは、dynamic_values.UserAttribute.city から解決されます。MoEngage は、アップストリームエンドポイントを呼び出す前にすべてのトークンを解決します。
設定にトークンが含まれていない場合は、リクエスト本文を省略してください。
ページネーション
List Content APIs は、1 ページあたり最大 20 件のアイテムを返します。カーソルは不透明な値として扱い、デコードや変更は行わないでください。 ワークスペース内のすべてのコンテンツ API をページングするには、次の手順に従います。-
limitのみを指定して最初のページをリクエストします。First Page -
レスポンスの
pagination.has_moreを確認します。trueの場合は、limitを変更せずに、pagination.next_cursorをcursorパラメーターとして渡して同じリクエストを再度送信します。Next Page -
pagination.has_moreがfalseになるまで、手順 2 を繰り返します。
よくある質問
コンテンツ API の管理
これらのエンドポイントでコンテンツ API を作成または編集できますか?
これらのエンドポイントでコンテンツ API を作成または編集できますか?
いいえ。テスト呼び出しを除き、これらのエンドポイントは読み取り専用です。コンテンツ API の作成と編集は MoEngage ダッシュボードから行ってください。詳細については、Content API の追加を参照してください。
単一のコンテンツ API を取得するにはどうすればよいですか?
単一のコンテンツ API を取得するにはどうすればよいですか?
List Content APIs に
name または id のいずれかを渡します。両方を指定すると 400 エラーが返されます。両方を省略すると、ワークスペース内のすべてのコンテンツ API が一覧表示されます。コンテンツ API の request_body フィールドが空なのはなぜですか?
コンテンツ API の request_body フィールドが空なのはなぜですか?
リクエスト本文は、
POST および PUT のコンテンツ API にのみ適用されます。GET の設定では、request_body は空であり、request_body_type は呼び出しに影響しません。verified フィールドは何を意味しますか?
verified フィールドは何を意味しますか?
コンテンツ API がテストで成功レスポンスを返すと、
verified は true になります。last_tested_at には、そのテストが実行された日時が記録されます。コンテンツ API のテスト
テスト時には常にリクエスト本文を送信する必要がありますか?
テスト時には常にリクエスト本文を送信する必要がありますか?
いいえ。リクエスト本文は任意です。保存済みの設定にサンプル値が必要な Jinja トークンが含まれている場合にのみ送信してください。それ以外の場合は完全に省略してください。
テストで 200 が返されましたが、データが正しくないようです。何を確認すればよいですか?
テストで 200 が返されましたが、データが正しくないようです。何を確認すればよいですか?
200 は MoEngage がアップストリームエンドポイントに到達したことを意味し、アップストリームの呼び出しが成功したことを意味するものではありません。アップストリームエンドポイントが返したステータスコードについては data.api_response_code を、そのレスポンスについては data.api_response_body を確認してください。テストで 400 エラーが返されたのはなぜですか?
テストで 400 エラーが返されたのはなぜですか?
リクエスト本文の検証に失敗したか、保存済みの設定の URL が内部またはプライベートの IP 範囲に解決されています。MoEngage はサーバーサイドリクエストフォージェリ (SSRF) に対して URL を検証し、そのようなアドレスを拒否します。
機密性の高いフィールドがレスポンスに表示されないようにするにはどうすればよいですか?
機密性の高いフィールドがレスポンスに表示されないようにするにはどうすればよいですか?
それらのフィールドをコンテンツ API の
pii_fields_in_response 設定に列挙します。このように指定されたフィールドは、個人を特定できる情報 (PII) として扱われます。