Logo
Logo
CTRLK

共有コンポーネント

エントリーポイントとイグジット

フローのエントリーポイントとは、フローの開始点のことです。これにより、どのプロファイルがフローに入るかが決まります。

エントリーポイントには様々な種類があります。各エントリーポイントには、プロファイルがフローに入るために満たさなければならない特定の基準があります。

フローに関連するエントリーポイントを選択し、エントリー基準を構成します。

Predefined audience entry points

事前定義されたオーディエンス [#predefined-audience]

このエントリーポイントを使用して、特定のタグを持つ、または特定のセグメントの一部であるすべてのプロファイルにコミュニケーションを送信します。

フローを起動する前に、オーディエンスを定義する必要があります。Predefined Audience (事前定義されたオーディエンス) のエントリーポイントの種類に応じて、フローがアクティブな間にオーディエンスを更新できます。

事前定義されたオーディエンスのエントリーポイントには、次の種類があります:

  • One-time (1回限り)
  • Continuous (連続)
  • Recurring (再発)

ユースケースに適したエントリーポイントを選択するには、関連するエントリーポイントの選択 について説明しているセクションをご参照ください。

備考

事前定義されたオーディエンス のエントリーポイントは1つのフローにつき1つしか追加できません。他のエントリーポイントは複数回追加できます。

Predefined audience entry points

1回限り [#predefined-audience-one-time]

単発のブラストキャンペーンを送信する時は、このエントリーポイントを使用します。

フローを起動すると、事前定義されたオーディエンスが含まれたフローが一度だけ実行されます。

機能

エントリーポイントには次の機能があります。

1 回限りのフロー: フローを起動すると、基準を満たすプロファイルがすべてフローに追加されます。すべてのオーディエンスが終了すると、フローが完了します。

例:Juneというタグを持つすべてのプロファイルをオーディエンスに追加して、フローを起動するとします。フローの起動時に June タグを持つすべてのプロファイルがフローに入ります。フローがアクティブな間、このタグは別のプロファイルに追加されます。ただし、このプロファイルはフローに追加されません。

オーディエンスの事前定義: フローを起動する前に、オーディエンスの基準を定義する必要があります。フローがアクティブであっても、起動後にその基準を更新することはできません。

単一のフローエントリー:選択したオーディエンスはフローに一度だけ入ります。

エレメントの構成

コミュニケーションを送信したい オーディエンスを指定 します。

連続 [#predefined-audience-continuous]

このエントリーポイントは、進行中の自動キャンペーンに使用します。

フローを起動すると、事前定義されたオーディエンスが含まれたフローが実行されます。この後、フローがアクティブな間は、新しいプロファイルがオーディエンス基準を満たすたびにフローが実行されます。

機能

エントリーポイントには次の機能があります。

連続フロー: フローを起動すると、基準を満たすすべてのプロファイルがフローに追加されます。この後、フローがアクティブな間にプロファイルがオーディエンス基準を満たすと、そのプロファイルも自動的にフローに追加されます。

例: June というタグを持つすべてのプロファイルをオーディエンスに追加し、フローを起動するとします。フローの起動時に June タグを持つすべてのプロファイルがフローに入ります。フローがアクティブな間、このタグは別のプロファイルに追加されます。このプロファイルも自動的にフローに追加されます。

オーディエンスの事前定義: フローを起動する前に、オーディエンスの基準を定義する必要があります。ただし、フローがアクティブな間は、起動後に基準を更新できます。

オーディエンスを手動で追加および削除する: フローがアクティブな間は、フローを起動した後、手動でオーディエンスの追加または削除できます。

複数のフローエントリー: エントリー基準によっては、選択したオーディエンスがフローに複数回入る場合があります。

例外: プロファイルがすでにフロー内にある場合、[フリークエンシーキャップ] や [再エントリー] などの設定により、このプロファイルが再びフローに入れないことがあります。

エレメントの構成

コミュニケーションを送信したい オーディエンスを指定 します。

再発 [#predefined-audience-recurring]

このエントリーポイントは、月刊のニュースレターなど、送信を繰り返すキャンペーンに使用します。

フローは、アクティブな間、再発の設定に基づいて繰り返し実行されます。

機能

エントリーポイントには次の機能があります。

再発フロー: フローは、アクティブな間、再発の設定に基づいて繰り返し実行されます。

例:タグ June を持つすべてのプロファイルをオーディエンスに追加し、フローを開始しました。再発時に、June タグを持つすべてのプロファイルがフローに入ります。フローがアクティブな間、このタグは別のプロファイルに追加されます。フローが次回繰り返されると、このプロファイルも自動的にフローに追加されます。

オーディエンスの事前定義: フローを起動する前に、オーディエンスの基準を定義する必要があります。ただし、フローがアクティブな間は、起動後に基準を更新できます。

オーディエンスを手動で追加および削除する: フローがアクティブな間は、フローを起動した後、手動でオーディエンスの追加または削除できます。

複数のフローエントリー: 再発の基準によっては、選択したオーディエンスがフローに複数回入る場合があります。

例:同じパーソンが週刊のニュースレターを毎週受け取ることができます。

例外: プロファイルがすでにフロー内にある場合、[フリークエンシーキャップ] や [再エントリー] などの設定により、このプロファイルが再びフローに入れないことがあります。

エレメントの構成

このエントリーポイントへのオーディエンスの追加

構成したオーディエンスがフローに入る頻度を定義します。次のいずれかの繰り返しオプションを選択します:

  • Daily (毎日): 例:日々の予定に関するリマインダー。
  • Weekly (毎週): 例:週刊ニュースレター。
  • Monthly (毎月): 例:毎月の支払いに関するリマインダー。
  • Yearly (毎年): 例:誕生日や記念日のお祝い。

要件に合わせて再発を調整できます。

例:毎月の特定の日付または特定の平日 (毎月第1水曜日など) に対して、毎月の再発を設定できます。

Define recurrence frequency
People からオーディエンスを追加

コミュニケーションを送信したい オーディエンスを指定 します。

People からオーディエンスを追加 [#predefined-audience-add-audience]

このセクションのプロセスと画像は、連続 エレメント用です。他の 事前定義されたオーディエンス エレメントについても同じ手順に従います。

  1. 選択した 事前定義されたオーディエンス のエントリーポイントの構成ウィンドウで、Add audience from People (People からオーディエンスを追加) を選択します。 Add audience
  2. 次の基準を1つ以上選択します。各タイプの複数のオプションを選択できます。選択した基準に一致するすべてのプロファイルがオーディエンスに追加されます。
    • タグ:選択したタグを持つすべてのプロファイルを追加します。
    • オーディエンスセグメント:選択したセグメントに属するすべてのプロファイルを追加します。
    • パーソンプロファイル: 選択したすべてのプロファイルを追加します。
    • 企業: 選択したすべての企業を追加します。
  3. さらにアイテムを表示するには、[View all (すべて表示)] を選択します。 View all audience
  4. 特定のアイテムを検索することもできます。View all (すべて表示) を選択すると検索フィールドにアクセスできます。 Search audience

関連するエントリーポイントを選択します [#predefined-audience-choose-entry-point]

次の情報を使用して、フローに関連するエントリーポイントを選択します。

機能1回限り連続再発
オーディエンスがフローに入る時フローを起動した時。フローを起動した時。フロー起動後、オーディエンスが事前定義された基準を満たすたびに。指定した間隔に基づく。
複数のフローエントリーいいえ

プロファイルは一度だけフローに入ります。
Yes (可)Yes (可)
フロー起動後にオーディエンスを手動で追加および削除するNo (不可)Yes (可)Yes (可)
シナリオ1 回限りの短いバーストキャンペーン。

例:季節限定のプロモーション。
進行中の自動化されたキャンペーン。

例:予定のリマインダー。
再発のキャンペーン。

例:週刊ニュースレターの送信。

トリガー

フローは、様々なイベントやアクションでもトリガーできます。つまり、トリガー内で定義されたアクティビティを実行するパーソンがフローに入るということになります。以下のガイドラインは、ビジネスシナリオに最適なトリガーを決定するのに役立ちます。

People プロファイルの変更 [#change-in-people-profile-triggers]

このエントリーポイントは、パーソンプロファイルへの変更が指定した条件を満たした時にトリガーされます。

例:コミュニケーションにオプトインしたエンドユーザーにウェルカムメッセージを送信したいとします。Change in people profile (パーソンプロファイルの変更) トリガーで、OptInStatus プロファイル属性が True でなければならないという条件を指定します。このフローは、エンドユーザーの OptInStatus プロファイル属性が True に変更された時にトリガーされます。

Change in person profile trigger

また、このトリガーを使用して、パーソンがコミュニケーションフローに入ることができるように、事前に決定した時期まで待機することもできます。

例:エンドユーザーの誕生日にグリーティングを送りたいとします。Change in people profile (パーソンプロファイルの変更) トリガーで、BirthDate プロファイル属性が today であるという条件を指定します。

Wait for predetermined period

トリガーの構成

トリガーで、パーソンプロファイル属性、関連する演算子、および条件値を選択します。条件値にフロー変数を使用することもできます。

Configure the condition

条件には複数の基準を指定できます。

Add multiple criteria to the condition

複数の条件を指定できます。

Add multiple conditions

使用可能な演算子は、パーソン属性のデータ型によって異なります。次の表に、各データ型の演算子が一覧表示されています。List (リスト) データ型のパーソンプロファイル属性を使用することもできます。

ブール値 (真/偽)TEXT (テキスト)数 (小数、整数)日付 (日付、日時)
isisisis
is not (~ではない)is not (~ではない)is not (~ではない)is not (~ではない)
is empty (~は空)contains (~を含む)less than (~より小さい/少ない)before (~より前)
 does not contain (含まない)less than or equal (~以下)until (~迄)
 startswith関数greater than or equal (~以上)since (~以来)
 ends with (~で終わる)greater than (~より大きい/多い)after (~より後)
 is empty (~は空)is empty (~は空)is empty (~は空)
 is not empty (~は空でない)is not empty (~は空でない)is not empty (~は空でない)
   is today (は今日)
   will be in (~の時に/の中に)
   will be within (~以内に)
   will be more than (~を上回る)
   was (~であった)
   was within (~以内であった)
   was more than (~を上回った)

People リアルタイムイベント [#people-real-time-event-triggers]

このエントリーポイントを使用して、イベントに基づいてフローをトリガーします。例:Webサイトで、Web SDK を使用して addToCart イベントを追跡します。イベント addToCartPeople リアルタイムイベント エントリーポイントに追加します。エンドユーザーが Webサイトのカートにアイテムを追加すると、イベントがエンドユーザーのプロファイルに割り当てられ、フローがトリガーされます。

その後、イベントに基づいてフローを分岐できます。例:addToCart イベントが発生したら、フォローアップメッセージを送信します。

このエントリーポイントを使用して、エンドユーザーがWebサイトなどのデジタル資産をどのように操作するか、メッセージにどのように反応するか、およびプロファイル情報に変更があるかどうかを確認します。

イベントの詳細については、Peopleのドキュメントをご参照ください。

triggering events in messages

トリガーのユースケース

次に、このトリガーの使用例をいくつか示します。

  • 顧客に対して自ら選択した商品がまだカートに入ったまま放置されている知らせるキャンペーンを実施する場合
  • 7日以内に同じ品目を3回以上表示したエンドユーザーに割引を提供する場合
  • その他の高度なマルチステップキャンペーンを実施する場合

トリガーの構成

次の手順に従って、トリガーを構成します。

  1. フローをトリガーする必要がある条件を定義します。
  2. (任意) 変数に情報を保存します。
  3. (任意) 履歴データを含めます。

複数のオーディエンスセグメントを使用して顧客属性を追加する場合は、セグメントオーディエンスエレメントをご参照ください。

Configure the trigger

詳細については、以下の該当セクションをご参照ください。

条件定義

フローをトリガーする条件を1つ以上定義します。

各条件で、次の操作を行います。

  1. イベントを選択します。
  2. イベントの演算子を選択します。アクションを実行した顧客またはアクションを実行しなかった顧客のいずれかをターゲットにすることができます。
  3. イベントの基準を定義します。
  4. (任意) イベントにプロパティがある場合は、それらを条件に追加してターゲットにするオーディエンスを絞り込むことができます。
イベントの選択

イベントを選択します。イベントの詳細については、Peopleのイベント について詳述しているドキュメントをご参照ください。

次のガイドラインに従ってください。

  • カスタムイベントを選択するには、イベントとそのプロパティを People で定義する必要があります。
  • チャネル イベントの場合は、コミュニケーションに関する詳細を選択することもできます。例:リンクがクリックされました イベントの場合、リンクがエンドユーザーに送信されたフローの名前を選択します。 Select details about the communication
  • 製品イベントでは、person entered flow (パーソンが入ったフロー) イベントとperson exited flow (パーソンが退出したフロー) イベントを使用できます。イベントプロパティフィールドを使用して、以下を追加します。
    • イベントが発生したフローまたはフローバージョン(コミュニケーション)の名前。
    • ときは、イベントが発生した時刻と発生回数。

選択するイベントを探したい場合、イベント名で検索するか、イベントの種類でフィルタリングすることができます。

Filter and search for events
演算子の選択

ターゲットとするエンドユーザーを選択します。

  • Happened (起きた): アクションを実行したエンドユーザーをターゲットにします。発生の時間と回数を設定できます。例:フローをトリガーし、7 日以内にイベントが 3 回目に発生した時にコミュニケーションを送信するには、時刻を 過去 7 日以内 として指定し、発生回数を 3 回 として指定します。

    Select the operator for the condition
  • Not happened (起きなかった):アクションを実行しなかったエンドユーザーをターゲットにします。 例:エンドユーザーが一定期間後にアプリを起動しませんでした。

備考

Not happened 条件を単独で使用しないでください。Happened 条件でのみ使用してください。これは、イベントが発生したときにフローをトリガーすることは可能ですが、イベントが発生しないときにフローを開始できないためです。

例: イベント A が発生し、イベント B が発生しなかった場合のフロー Start。

条件の基準の定義

各イベントには、基準の特定のフィールドがあります。すべてのフィールドに入力します。

Select the criteria for the condition
条件へのイベントプロパティの追加 (任意)

イベントにプロパティがある場合は、それらを条件に追加してターゲットオーディエンスを絞り込むことができます。Property (プロパティ) を選択します。

プロパティを必要な数だけ追加します。

次の図に示す例では、Item viewed イベントのプロパティである itemId がフィルターとして追加されています。

Add properties to the condition
フロー変数へのイベントプロパティのマッピング (任意)

イベントにプロパティがある場合は、それらをフロー変数にマップできます。これらの変数は、後でフローで再利用できます。

例:フローで、イベントを待つ エレメントを使用して、エンドユーザーが予定を予約するのを待機します。イベントには、予定時刻予定名 などのプロパティがあります。これらのプロパティはフロー変数として保存できます。フローの後の段階で、これらの変数を使用して、予定の詳細を含む確認メッセージをエンドユーザーに送信できます。

構成によっては、マップされた変数の値は、エンドユーザーがフロー内を移動する時に変化する可能性があります。

例:フローでは、注文 配送状況 を変数として使用します。配信 イベントが次のステージに進むと、配信ステータス 変数が 保留中 から 発送済み に変わります。

リスト属性をフローに渡すことができます。詳細については、イベント内のリストをフローに渡すのドキュメントをご参照ください。

変数の作成と使用方法の詳細については、イベントプロパティをフロー変数にマッピング することについて詳述しているドキュメントをご参照ください。

履歴データを含める (任意)

このオプションを選択すると、フローの開始前に発生したイベントが含まれます。

フローの開始前に条件内のすべてのイベントがすでに発生している場合、そのフローに参加すべきパーソンがフローに入りません。但し、フローがイベントの再発 を許容している場合、それらのイベントが再び発生した時にのみフローに入ることができます。

インバウンドメッセージ [#inbound-message-triggers]

このエントリーポイントは、エンドユーザーが設定した番号に特定のキーワードを送信した時にフローをトリガーします。チャネルに応じて、エンドユーザーは、メッセージ本文、ボタン テキスト、ボタン ペイロードなど、様々な方法でキーワードを送信できます。

このエントリーポイントを使用して、指定した条件に基づいて動的なオーディエンスを作成します。

Note

複数のインバウンドメッセージのエントリーポイントをフローに追加できます。

Inbound message trigger

トリガーの構成

次の手順に従って、トリガーを構成します。

  1. トリガーを作成するチャネルを選択します。
  2. 受信者を選択します。
  3. エンドユーザーのメッセージを指定した値と比較する条件を定義します。条件が満たされると、フローがトリガーされます。
  4. (任意) インバウンドメッセージの情報を変数に保存します。

詳しくは、下記の詳細手順をご参照ください。

チャネルの選択

[チャネルと条件] セクションで、トリガーを作成するチャネルを選択します。エンドユーザーとのコミュニケーションは、選択したチャネルを介して行われます。

デフォルトのチャネルはSMS です。別のチャネルを使用するには、既存のチャネルを削除し、必要なチャネルを選択します。

Select the channel

受信者の選択

チャネル名を選択してカードを開きます。To recipient (受信者へ) セクションで、受信者を選択します。

Select the recipient

インバウンドメッセージの条件定義

エンドユーザーのメッセージを指定した値と比較する条件を定義します。条件が満たされると、フローがトリガーされます。

エントリーポイント内に複数の条件を指定できます。

次の条件を設定できます:

  • Message body (メッセージ本文): メッセージの本文を条件値と比較します。
  • Anything (何でも): このオプションを使用すると、メッセージに条件に含まれていないものが含まれている場合でも、エンドユーザーがフローに入ります。 完全一致は、Anything (何でも) よりも優先度が高くなります。例:同じエンドユーザーからのメッセージを待機している2つのフローがあるとします。1 つのフローでは、条件は yes という単語と完全に一致することです。もう一方のフローでは、条件はAnythingです。エンドユーザーはyesと応答します。この場合、完全一致キーワードに一致するフローがトリガーされます。
  • Button text (ボタンテキスト) (WhatsAppのみ):エンドユーザーが応答するボタンを選択すると、この条件はボタンのテキストを条件値と比較します。
  • Button Payload (ボタンペイロード) (WhatsAppのみ):エンドユーザーが応答するボタンを選択すると、この条件はボタンペイロードを条件値と比較します。
Define the conditions

条件には、次の演算子を使用できます。

  • Is equal to person attribute (パーソン属性と等しい) - 選択したパーソン属性がメッセージ本文に含まれているかどうかをチェックします。 値を比較する場合、大文字と小文字は無視されます。
  • Matches text (テキストに一致) - エンドユーザーの応答が条件値と完全に一致するかどうかを確認します。エンドユーザーの応答に条件値のみが含まれ、他には何も含まれていない場合、条件が満たされます。複数の条件値を指定できます。 例: 条件値: time (時間) エンドユーザーの応答:time (時間)。条件が満たされます。 エンドユーザーの応答:timezone (タイムゾーン)time!! (時間!!)what is the time (何時?) この場合は、応答に条件値の一部ではない追加の文字が含まれているため、条件は満たされません。 値を比較する場合、大文字と小文字は無視されます。
  • Matches RegEx (正規表現に一致) - 定義した正規表現パターンがメッセージ本文に含まれているかどうかを確認します。 Ignore case (大文字と小文字を区別しない) (任意) : 条件を評価する時に大文字と小文字を無視するかどうかを指定します。 Multiline (複数行) (任意):このオプションは、メッセージ本文を複数行のテキストと照合する場合に使用します。いずれかの行が一致する場合、検証は成功します。 Match regex
  • Contains text (テキストを含む) - メッセージ本文に、条件値で指定したキーワードが含まれているかどうかをチェックします。条件値には、記号やキーワードなどの文字のグループを指定できます。複数の条件値を指定できます。 例: 条件値: time (時間) エンドユーザーの応答:time (時間)timeframe (タイムフレーム)3 times (3回)time!! (時間!!)what is the time (何時?) メッセージにキーワードが含まれているため、条件が満たされます。 値を比較する場合、大文字と小文字は無視されます。
  • Contains word (単語を含む) - メッセージ本文に、条件値で指定した正確な単語が含まれているかどうかをチェックします。メッセージ本文の単語には、単語の前後に記号またはスペースを含めることができますが、数字やその他の文字を含めることはできません。 例: 条件値: time (時間) エンドユーザーの応答:time (時間)。メッセージに正確な単語が含まれているため、条件が満たされます。 エンドユーザーの応答:time!! (時間!!)what is the time (何時?) メッセージには、単語の前後に記号またはスペースを含む正確な単語が含まれているため、条件が満たされます。 エンドユーザーの応答:times (回数)timeframe (タイムフレーム)timezone (タイムゾーン)3times (3回)。メッセージ内の単語に、条件値の一部ではない追加の文字が含まれているため、条件が満たされません。 値を比較する場合、大文字と小文字は無視されます。 複数の条件値を指定できます。 システムは、上記の順序に従ってインバウンドメッセージを処理します。そのため、優先順位の高い条件が満たされた場合、フローはその条件に対してアクションを実行し、他の条件を無視します。
Select the operator
Note

複数のアクティブなフローでキーワードを再利用できます。例:複数のフローでYes (はい)No (いいえ) などの一般的なキーワードを使用するとします。2つ以上のフローがエンドユーザーから同じキーワードが返ってくるのを同時に待機している場合、エンドユーザーの入力はこれらのフローの1つにランダムに転送されます。

インバウンドメッセージ情報を変数に保存

また、インバウンドメッセージ情報をキャプチャして保存する変数を定義することもできます。

インバウンドメッセージメッセージからキャプチャするデータを定義します。キャプチャできる情報は次のとおりです。

  • Message body (メッセージ本文)
  • Recipient (受信者)
  • Sender (送信者)
  • Message ID (メッセージID)
  • Gateway ID (ゲートウェイID)

情報の全部または一部を保存できます。

  • Whole text (全文): 情報全体を保存します。
  • RegExp parse variable (正規表現解析変数): 正規表現を使って、メッセージコンテンツ内の特定のキーワードをキャプチャします。

詳細については、フロー変数 について詳述しているドキュメントをご参照ください。

Save response in a variable

インバウンドコールの開始 [#start-incoming-call-triggers]

エンドユーザーがお使いの電話番号に電話をかけてきたら、そうしたユーザーをインバウンドコール開始 エントリーポイントを使ってフローに追加できます。このエレメントは、IVR (音声自動応答) のインバウンドコールセッションを開始します。

このエレメントの使用方法の詳細については、IVR (音声自動応答) につじて説明しているドキュメントをご参照ください。

日付または時刻 [#date-or-time-triggers]

日付または時刻 トリガーは、時間的制約のあるコミュニケーションに使用します。このトリガーは、People内のパーソンプロファイル に保存されている日付または時刻情報を使用します。

備考

このトリガーは UTC タイム ゾーンを使用します。

タイミングが重要なメッセージングキャンペーンには、Wait for a Date (日付を待機)フローエレメントを使用することもできます。

前提条件

トリガーを使用するための前提条件は次のとおりです。

  • パーソンプロファイルが People に存在する必要があります。
  • プロファイルには カスタム属性 に日付または日時が含まれている必要があります。この属性はトリガーで使用します。

カスタム属性の作成

People でカスタム属性を作成します。例:エンドユーザーにアポイントメントについて通知します。AppointmentDateTime カスタム属性を作成します。

属性をパーソンプロファイルに追加し、属性値を更新します。これを行うには、NTT CPaaSのWebインターフェイスの People で手動インポートを使用するか、People API、Web SDK、または Mobile SDK を使用します。

これで、この属性をトリガーで使用できるようになります。

トリガーの構成

トリガーで、カスタム属性、関連する演算子、および条件値を選択します。

Date / time trigger

(任意) 同じアクションは毎年繰り返すことができます。そうしたい場合、Do this action every year (このアクションは毎年繰り返す) を選択します。このオプションは、カスタム属性の年を無視します。

トリガーの演算子

条件では、次の演算子を使用できます。

Is in: カスタム属性で設定された日付/時刻より以前の特定の期間にメッセージを送信します。この期間は時間単位または日単位で設定できます。

例:パーソンプロファイルには、AppointmentDateTimeカスタム属性に試用期間の詳細があります。アポイントメントの 4 時間前にエンドユーザーに通知したいとします。その場合、次の条件を使用します:

AppointmentDateTime is in 4 hours (アポイントメントの日時まであと4時間)

エンドユーザーは、現在の日付/時刻がAppointmentDateTime属性で設定された日付/時刻の 4 時間前になるとフローに入ります。

Was: カスタム属性で設定された日付/時刻より以後の特定の期間にメッセージを送信します。この期間は時間単位または日単位で設定できます。

例:パーソンプロファイルには TrialExpiryDateカスタム属性があります。有効期限が切れた1日後にエンドユーザーをフローに含めたいとします。その場合、次の条件を使用します:

TrialExpiryDate was 1 day ago (トライアルの有効期限が切れたのは1日前)

Is today: カスタム属性で設定された日付にメッセージを送信します。

例:パーソンプロファイルには DueDateカスタム属性があります。その場合、次の条件を使用します:

DueDate is today(期日は今日)

Is tomorrow: カスタム属性で設定した日付の1日前にメッセージを送信します。

Was yesterday: カスタム属性で設定した日付の1日後にメッセージを送信します。

外部ソース

フローAPI既存のフローなどを通じて、またはSFTPインポートを使って、外部ソースからコミュニケーションに新しいパーソンを追加します。

フローAPI [#flow-api-external-source]

フローAPIは、WebページやCRMシステムなどの外部システムから、NTT CPaaSのWebインターフェイスで作成したフローにデータを送信します。このエントリーポイントを使用して、外部トリガーに基づいてフローにパーソンを自動的に追加します。例:エンドユーザーがWebページからフォームを送信した時、またはお使いのCRMシステムに新たなエントリーがあった場合に、ウェルカムメッセージやリードナーチャリング、リマインダーなどのプロセスを自動化できます。

フローAPIを介して変数を転送することもできます。フロー内で変数を作成すると、この変数をフローAPIトリガーで使用できるようになります。

フローAPIでエントリーポイントとしてフローを作成するには、次の操作を行います:

  1. NTT CPaaSのWebインターフェイスで、Moments > Flows (フロー) に移動します。

  2. Create flow (フローの作成) を選択します。

  3. Start from scratch (一から開始) を選択します。

  4. External source (外部ソース) > Flow API (フローAPI) の順に選択します。

    Select entry point

    エントリーポイントには、エンドユーザーのデータが送信される一意のURLが含まれています。

    URL for user data
  5. 参加者をフローに自動的に追加するには、次のいずれかの操作を行います:

    • フローへの参加者の追加 エンドポイントを使用すると、1 回のリクエストで最大 1,000 人の参加者をフローに非同期で追加できます。
    • フローへのパーソンの追加 (非推奨) エンドポイントを使用すると、1 回のリクエストで 1 人の参加者をフローに追加できます。
    Add participants to flow
  6. 必要に応じて、フローの他の部分を設定します。

  7. フローを Launch (起動) します。

    備考

    Add person to flow (フローへのパーソンの追加) エンドポイントは非推奨になりました。新しいフローを作成する時は、代わりに Add participants to flow (フローに参加者を追加) エンドポイントを使用してください。

外部システムからデータを受信すると、フローは次の処理を行います:

  • Peopleの既存のプロファイルを更新します。
  • Peopleで新しいパーソンのプロファイルを作成します。
  • そうした新規パーソンをコミュニケーションに追加します。

統合に関する技術情報については、API 開発者ハブをご参照ください。

既存のフロー [#existing-flow-external-source]

既存のフローのエントリーポイントを フローに追加 と組み合わせて使用すると、強力なモジュラーフローを構築できます。このエントリーポイントは、ユーザーが別のアクティブなフローからフローに参加する最初のステップとして機能します。[フローに追加] エレメントを持つフローは、このエントリーポイントでフローを作成する時に選択できます。

SFTPインポート [#sftp-import-external-source]

SFTPインポートのエントリーポイントは、セキュアファイル転送プロトコル (SFTP) を使用してリモートの外部サーバーからMomentsにcsvデータまたはtsvデータをインポートする場合に使用できます。このアプローチは、フローAPI 経由で外部ソースに接続できない場合に有用です。

Momentsとサーバー間の接続が確立されると、SFTPコネクタはサーバー上のターゲットフォルダーを10分ごとにチェックします。最後のチェック以降にフォルダーに追加した新しいファイルは、ターゲット フローに追加されます。コネクタによって既に処理されているサーバー内の古いファイルまたは既存のファイルは、変更、削除、またはフォルダーからの移動はできません

NTT CPaaSは、いかなる方法でもデータを変更することはありません。csv または tsv データはサーバーでホストされているため、常にデータを完全に制御できます。

フローを作成するときに、[外部ソース]、[SFTP インポート] エントリーポイントの順に選択します。エントリーポイントのサイドバーメニューでファイルの処理方法を定義します。

オプション説明
SFTPサーバー既存のサーバーの中からSFTP接続に使用するサーバーを選択するか、アップロードするファイルをホストするサーバーへのSFTP接続を新規作成します。Create New SFTP Connection (SFTP接続の新規作成)を選択する場合、お使いのサーバーのアドレス、ポートと認証情報を指定する必要があります。接続が成功したかどうかテストして確認し、準備ができたらアクティブ化します。
ファイルパスフェッチするSFTPサーバー上のファイルへのパスを設定します。個別のフォルダーを使用して、フローまたは部門ごとにファイルを整理します。

絶対パス (/ で始まる) を使用して、ルート ディレクトリからファイルを読み取ります。相対パス(/なしで始まる)を使用して、SFTPユーザーのホームディレクトリからファイルを読み取ります。
ファイル名パターン (任意) 任意のファイル名パターンを設定して命名規則またはパターンのみに従うファイルを抽出し、フローに挿入します。

使用する記号は以下のとおりです:
- ワイルドカードのアスタリスク* は、一連の記号をマスクします。例えば、*.csvとすると、すべてのcsvファイルをフェッチします。
- 疑問符 (?)
は、特定の記号1つをマスクします。例えば、J???Data.csvとすると、JuneData.csvJulyData.csvの両ファイルをフェッチします。
区切り文字ファイル内の値を分割するために使用する区切り文字を選択します。選択した区切り文字は、ファイルで使用されている区切り文字と必ず一致していなければなりません。

; (セミコロン)
| (パイプ)
タブ
カスタム (いずれかの文字、最大1文字)
, (コンマ)
列マッピングファイル列をフローの正確な属性/変数にマッピングします。これは、システムが自動的にファイルの構造を認識しないようにするために行います。

ここに入力する値がファイル内の列名 と完全に一致していること、そしてすべてのデータ型が一致していることを確認します。システムは、一致しないデータ型を正しく「読み取る」ことができません。例えば、日付フィールドで日時データ型を使用する場合、ファイルのアップロード時にエラーが表示されることがあります。

次のセクションを使用できます:

- 連絡先情報:連絡先情報 (電話番号/メールアドレス) の列を少なくとも1つ用意する必要があります。

連絡先情報列の上限は2つで、1列は電話番号、もう1列はメール アドレスです。

csv内のエントリーの連絡先情報が正しくない場合、そのエントリーは無効としてマークされ、処理されません。

エントリーに正しい電話番号とメールアドレスの両方が指定されているシナリオでは、エントリーはコネクターによって処理され、SFTPインポート パフォーマンス レポートで 有効 としてマークされます。

連絡先情報の1つが有効で、もう1つが無効である場合、エントリーはシステムによって 無効としてマークされ、処理されません。

ただし、連絡先情報の1つが有効で、もう1つの連絡先情報が (連絡先情報が提供されていない) の場合は、エントリー全体が 有効としてカウントされ、システムによって処理されます。

SFTPインポートのパフォーマンス データにSFTP Import (SFTPインポート) のReport (レポート) タブのView Flow Performance (フローパフォーマンスの表示) に表示される有効と無効のエントリーが含まれているのが見えます。
- パーソン属性: パーソナライズ化/セグメント化のためにフローで使用されるStandard (標準)/Custom (カスタム) 属性のことです。ここで使用するすべての属性は、インポート前に People で作成する必要があります。

- 変数: この情報を People (セッションベースのデータ) に保持したくない場合に使用します。ここで使用する Variables (変数)は、インポートする前にMomentsで作成する必要があります。

インポートスケジュールの例 [#example-import-schedule-external-source]

ジェーンは12:00に Folder1 にFile_Aをアップロードします (この時点では、Folder1 にはこのファイルのみが含まれています)。SFTPコネクターは12:01にフォルダーをチェックし、File_AからMomentsのターゲットフローにデータを送信します。12:02に、ジェーンはFolder1にFile_Bをアップロードします (Folder1には File_AとFile_Bが含まれています)。SFTPコネクターは12:03にフォルダーを再度チェックし、File_Bのデータをターゲットフローに送信します (File_Aは以前の実行で既に処理されているため)。

SFTPインポートを介して作成された新しいユーザーは、システムにどのように入ったかを示すために、Peopleで一意の識別子でマークされます。その後、このデータをフィルタリングして、システム内のこれらのユーザーを追跡できます。

ユーザーが [SFTPインポート]エントリーポイントを含むフローを複製した場合、元のフローで最初にアップロードされたすべてのファイルが、最初にアップロードされたファイルから新しいフローにアップロードされます。

アップロード履歴は複製プロセスで保持されないため、新しいフローには元のフローで何が起こったかの記録がありません。新しいフローがアクティブになると、すべてのファイルデータが再度追加されます。フローの目的によっては、予期しない結果が生じる場合があります。これは、以下の警告メッセージで説明されているように、リスクです。

重要

データの一貫性を保つために、複数のフローで同じファイルを SFTPインポートで処理しないでください。技術的には、同じファイルを複数回再利用/インポートすることは可能ですが、1ファイル、1フロー ポリシーに従うことをお勧めします。

同じファイルを複数のフローで処理する場合、どのフローが最初に実行されるかによって、異なるデータ出力が表示されることがあります。

Moments Flow SFTP Import Entry Point

SFTPサーバー接続の管理 [#manage-sftp-server-connection-external-source]

SFTPインポートエントリーポイントを開き、SFTP Server (SFTPサーバー) フィールドに移動して、SFTPサーバーへの接続を管理します。

ここでは、ドロップダウンリストからサーバーを選択し、鉛筆アイコンをクリックして接続の編集ポップアップを展開して、新しい接続を作成するか、既存の接続を編集できます。

Moments Flow SFTP Import Entry Point Edit Connection

編集モードでは、接続を使用しているフローの数が表示されます。データの整合性を確保するために、この接続を使用するすべてのフローが終了するまで、サーバーに加えた編集は保存できませんSee n instances (n個のインスタンスを表示) ボタンをクリックして、接続を使用しているフローを表示します。

Moments SFTP Import Server Instances

特定の接続にどのフローも接続されていない場合は、必要に応じて接続を編集できます。接続をテストして、すべてが正しく機能することを確認することを忘れないでください。

備考

サーバーを使用しなくなり、接続を削除する場合は、編集モードで削除することもできます。削除できるのは、アクティブなフローに接続されていない接続のみです。

フローバージョンの管理 [#manage-flow-versions-external-source]

[SFTPインポート]エントリーポイントを使用している既存のフローまたはアクティブなフローに変更を加えたい場合、フローのバージョンの新規作成 を行えば、それができるようになります。

新しいフローバージョンを起動すると、元のフローバージョンで未処理だった記録が、新しいフローバージョンに転送されます。

イグジット

フローの準備ができたら、次のステップは検証です。Validate (検証) をクリックすると、報告するエラーがない場合、フロー内の接続されていない各エレメントの後に Exit (イグジット) エレメントが自動的に表示されます。IVRフローに関しては、イグジットエレメントがアクティブコールを終了します。そのため、まだ通話中の状態でコミュニケーションを検証することにした場合、そのコールは終了します。

[Exit (イグジット)] は、特定のコミュニケーションのブランチからフローを終了した顧客の数を計算するのにも役立ちます。

exit-element-flow