Notify Transformer
説明
Notify Transformer
により、Notify APIにフックが可能となります。一般的なユースケースは、外部システムがトークにフックし、例えばあるプロセスが完了した後にユーザーに通知を送る必要がある場合です。Notify Transforme
rを使用することで、外部サービスのWebhookペイロードをNotify API
に必要な正しいフォーマットに変換するサービスを用意する必要がなくなります。Notify Transformer
で全て処理可能となりました。
Notify Transformer
は、Notify Transformer API
が呼び出されたときにトリガーされます。これにより、外部サービスからのカスタムリクエストボディは解析され、Notify APIに必要な値、すなわちユーザーIDとセッションID、そしてテキストやデータを返すことができ、これらは通知としてユーザーに送られます。
Notify Transformer
は、EndpointのTransformerにhandleNotify
関数を実装することで構成されます。
![](https://cognigy.tdse.jp/wp/wp-content/uploads/2024/02/9352cbf-notify_transformer.png)
REST Transformer対応
Notify Transformerは、RESTベースのEndpointには対応していません。
Transformer関数の引数
handleNotify
関数は、設定オブジェクトを引数として受け取ります。オブジェクト内のキーの概要を以下に示します。
引数 | 説明 | Webhook Transformers | Socket Transformers |
endpoint | Endpoint の設定オブジェクト。URLTokenなどが含まれます。 | X | X |
request | JSONをパースしたボディを持つ Expressリクエストオブジェクト。 | X | X |
response | Expressレスポンスオブジェクト。 | X | X |
Transformerの戻り値
Notify Transformer
は、有効なユーザーID、セッションID、およびFlowに送るべきテキストやデータを返さなければなりません。これらの値はリクエストボディから抽出する必要があります。リクエストボディのフォーマットは、使用される特定のチャネルによって異なることに注意することが重要です。例えば、Alexaからのリクエストは、Facebook (Meta) Messengerからのリクエストとはまったく異なるように見えます。したがって、リクエストボディのフォーマットを知るためには、そのチャネルのドキュメントを読む必要があります。
Notify Transformer
がfalsy(偽)値を返した場合、メッセージはユーザーに転送されません。
戻り値の検証
Notify Transformer
の戻り値は、一連のルールに対して検証され、ルールが満たされない場合は拒否されます。ルールは以下の通りです:
・ユーザー IDは戻り値において必須です。最大256文字列です。
・セッションIDは必須です。こちらも最大256文字列です。
・テキストは必須ではありませんが、最大10000文字列です。
・データオブジェクトは必須ではありません。
テキストもデータも定義されていない場合、検証も失敗します。