はじめに
Config (または Config ファイル) は、Connected Channel の各コネクタを定義します。新しいコネクタを追加する場合や既存のコネクタを変更する場合は、コネクタが正しく構成されるように Config ファイルをアップロードする必要があります。サンプルファイル
以下のサンプル Config ファイルをダウンロードして使い始めることができます。Config のセクション
Config ファイルは次のセクションに分かれています。ファイル形式
Config ファイルのファイル形式は次のとおりです。 kkk基本情報
このセクションでは、コネクタの名前と、コネクタが解決するユースケースを定義する必要があります。入力変数
入力変数を使用すると、App marketplace に入力フィールドをレンダリングできます。入力変数は、MoEngage をアプリに正常に接続し、アプリを通じてキャンペーンを効果的に実行するために必要な情報の収集を容易にします。 入力変数を定義するには、input_variables セクションに次の内容を追加する必要があります。
上記の必須キーに加えて、UI とデータ処理を強化するために、すべての入力タイプで次のオプションのキーがサポートされています。
可視性スコープ
入力変数は次の場所で収集されます。- App Marketplace
- キャンペーン作成フォーム (ステップ 2)
App MarketPlace
チャネルアプリへの接続は、以下に示すように App marketplace から追加されます。
MoEngage は、デフォルトで App marketplace の各コネクタの接続名を表示します。これにより、接続を区別するための視覚的な識別子が提供されます。
キャンペーン作成フォーム (ステップ 2)
チャネルアプリへの接続は、以下に示すようにキャンペーン作成から追加されます。
サポートされている入力タイプ
すべての入力タイプは、App marketplace とキャンペーン作成フォーム (ステップ 2) で使用できます。
Text
この入力タイプでは、ユーザーは基本的なテキストまたは文字列値を入力できます。UI にはシンプルな 1 行のテキストボックスとして表示され、ユーザー名やメールアドレスなどの短い自由テキスト入力を求める場合に便利です。
Rich-Text (HTML)
Rich-Text は個別の入力タイプではありません。メッセージコンテンツで使用されるフィールドの Text 入力タイプで利用できる書式設定モードです。HTML サポートはワークスペースレベルの機能であり、Config ファイルで切り替えることはできません。ワークスペースでこの機能を有効にするには、サポートにお問い合わせください。 有効にすると、メッセージコンテンツで使用される Text フィールドで標準の HTML タグを使用できます。<script> は許可されていませんが、それ以外のすべての HTML タグがサポートされています。
Rich-Text を使用するには、Text の構造に従います。
ネストされたタグがサポートされています。たとえば、
<b><i>Text</i></b> は太字の斜体テキストとしてレンダリングされます。<script><iframe><style><object><applet><meta>—http-equiv="refresh"による不正なリフレッシュリダイレクトのリスクがあります。<base>— 相対リンクパスを操作される脆弱性があります。- ネストされた
<script>ブロックを含む<svg>要素。 - すべてのインラインイベントハンドラー (
onclick、onerror、onload、onmouseoverなど)。<img>や<a>など、一般的に許可されている要素に付加されている場合も含みます。 <a href="javascript:...">内に実装されたjavascript:プロトコルリンク。
Number
この入力タイプは数値用です。テキストボックスとして表示されますが、数値の入力のみを受け付けます。年齢、ID、数量などの数値を収集する場合に使用します。
必要に応じて、検証を使用して数値入力の下限と上限を制限できます。
Boolean
この入力タイプはラジオボタンとして表示され、ユーザーは True または False の 2 つの選択肢から必ず 1 つを選択します。機能の有効化/無効化、同意/不同意など、二者択一をユーザーに求める場合に使用します。
DateTime
この入力タイプは日付と時刻用です。DateTime ピッカーとして表示され、ユーザーは特定の日付と時刻を選択できます。投稿やリマインダーのスケジュール設定など、特定の日付や時刻に関するデータを収集する場合に使用します。
Password
この入力タイプはパスワード入力用です。テキストボックスとして表示されますが、プライバシー保護のためにユーザーの入力をマスクします。ログインアドレスなど、ユーザーに機密情報を要求する場合に使用する必要があります。
ドロップダウンリスト (単一選択および複数選択)
この入力タイプでは、複数選択モードでユーザーが複数のオプションを選択できます。あらかじめ決められたオプションのセットがあり、自由テキストの入力を許可せずに入力を制限したい場合に推奨されます。
Hash Maps
この入力タイプは、キーと値のペアの入力に使用されます。動的な UI セクションとしてレンダリングされ、ユーザーはキーと値のペアの行を追加、編集、削除できます。ボタンラベルや URL、カスタムメタデータなど、可変のユーザー定義データが必要な場合に使用します。 Config ファイルに"type": "key_value" の入力変数が複数含まれている場合、それぞれが独自の見出し、ヘルプテキスト、行のセットを持つ独立した UI セクションとしてレンダリングされます。

UI の動作
シナリオの例
同じ Config ファイル内の 2 つのkey_value 入力変数:
出力形式
フォームが送信されると、MoEngage はkey_value フィールドの値を行オブジェクトの配列として渡します。
リクエストボディで
key_value フィールドを参照するには、他の入力変数と同様に JINJA を使用しますが、値は単一の文字列ではなく配列に解決されることに注意してください。通常、ボディを構築する際にはこの配列を反復処理します。入力の検証
Text や Password など、検証をサポートする入力タイプを定義する場合は、UI でユーザーが入力した値を検証するためのルールをあらかじめ設定する必要があります。入力変数内に次のキーを使用して検証を追加できます。
入力変数の参照
ユーザーから入力変数の値を収集した後、次のセクションでそれらを使用できます。- 認証
- リクエストとレスポンス
- App marketplace から:
Username: String - キャンペーン作成フォーム (ステップ 2) から:
Mobile Number: String
認証
このセクションでは、アプリに必要な認証を定義できます。MoEngage はアプリへのリクエストの送信を可能にし、Connected Channels は次の組み込み認証タイプをサポートしています。- No Auth
- Basic Auth
- API Key Auth
- OAuth2
No Auth
アプリで認証が不要な場合、または標準の認証方法をカスタム実装している場合は、No Auth を選択できます。No Auth を選択すると、MoEngage はリクエストに対して事前認証操作を実行しません。 “No Auth” を使用する場合は、アプリタイプとして No Auth を選択します。必要に応じて、API にカスタム URL パラメータまたはヘッダーを含めることができます。このアプリタイプでは追加情報は不要なため、
auth_info キーには空のオブジェクトを渡す必要があります。Basic Auth
アプリが Basic Auth をサポートしている場合は、App marketplace でユーザー名とパスワードを収集し、各リクエストの Basic Auth トークンの一部として渡すことができます。 Basic Auth を追加するには、次の構造に従います。Authorization: Basic QUJDMTIzOjEyM1hZWg==
OAuth2
アプリが認可に OAuth2 フレームワークを使用している場合、ユーザーの同意の取得やアクセストークンとリフレッシュトークンの管理を含むフロー全体を MoEngage が処理するように構成できます。MoEngage は次の OAuth2 グラントタイプをサポートしています。
- Authorization Code
- Refresh Token
特別な認証変数
MoEngage は、アプリ内で OAuth2 メカニズムをサポートするために参照できるいくつかの特別な変数を公開しています。
OAuth2 の呼び出しとコネクタリクエストを設定する際に、上記の変数を参照できます。
Redirect URI
Redirect URI は、アプリが追加されているデータセンターによって異なります。
すべてのデータセンターでアプリを公開する場合は、各 Redirect URI を承認する必要があります。
アプリの OAuth を設定する
OAuth2 を追加するには、次の構造に従います。
MoEngage がアプリケーションから同意とトークンを取得できるようにするには、次のリクエストのパラメータを構成します。
認可リクエスト
アクセストークンリクエスト
リフレッシュトークンリクエスト
リクエストとレスポンス
このセクションでは、送信される各キャンペーンに対して MoEngage が開始する API リクエストを設定する必要があります。MoEngage からリクエストが行われた後、API リクエストのレスポンスに基づいてキャンペーン統計を計算する方法を設定できます。キャンペーンリクエスト
MoEngage は、キャンペーンが送信されるたびにアプリへの API リクエストの送信を試みます。たとえば、キャンペーンが 50 人のユーザーを対象としている場合、MoEngage はそのキャンペーンに対して 50 件の API リクエストを行います。 レスポンスを構成するには、Config に次の内容を追加します。
リクエスト形式
リクエスト形式は、リクエストのペイロードについて MoEngage に通知します。レスポンスの処理
API リクエストを行った後、レスポンスの解釈方法を MoEngage に通知できます。また、成功や失敗などのすべてのレスポンスをカバーするように、リクエストに複数のレスポンスを追加することもできます。 レスポンスは 2 つの部分で構成されます。- レスポンス条件: API によって提供されたレスポンスに基づいて、ステータスコード、ヘッダー値、さらにはボディペイロードに条件を追加できます。これらの条件が満たされると、MoEngage でアクションを実行できます。
- レスポンスアクション: アクションは、MoEngage によって実行される操作です。
ユースケース
レスポンス処理にはいくつかのユースケースがあります。さまざまなユースケースで使用されるトラッキングのタイプは次のとおりです。- 統計のトラッキング: キャンペーンの正確な成功および失敗の統計を表示します。
- イベントのトラッキング: 特定の条件が満たされたときに発生するトリガーイベントです。ユーザー向けの他のジャーニーを作成するのに役立ちます。
レスポンスを追加する
レスポンスを追加するには、次の構造に従います。レスポンス条件
ここでは、各レスポンスに複数の条件を含め、AND 演算子と OR 演算子の両方を組み合わせることができます。MoEngage のセグメンテーションを使用した経験がある場合は、それを活用できます。 新しい条件を追加するには、次のようにします。
以下は、API のレスポンスステータスコードが 200 であり、ペイロードで
{"ok": true} が返されるかどうかをチェックする評価基準の例です。
レスポンスアクション
ここでは、上記の条件に基づいて MoEngage にアクションを実行させることができます。現在、MoEngage は Create Event アクションをサポートしています。Create Event
これは、メッセージの送信、ユーザーの同期などのユースケースをトラッキングします。このアクションを使用すると、MoEngage でイベントをトリガーできます。以下は、レスポンスにイベントを追加するための構造です。- Connected App Campaign Sent
- Connected App Campaign Failed
MoEngage には、ユーザーのトラッキングを改善するために、次のデフォルトの標準イベント属性も含まれています。
