Notify Transformer

説明

Notify Transformerにより、Notify APIにフックが可能となります。一般的なユースケースは、外部システムがトークにフックし、例えばあるプロセスが完了した後にユーザーに通知を送る必要がある場合です。Notify Transformerを使用することで、外部サービスのWebhookペイロードをNotify APIに必要な正しいフォーマットに変換するサービスを用意する必要がなくなります。Notify Transformerで全て処理可能となりました。

Notify Transformerは、Notify Transformer APIが呼び出されたときにトリガーされます。これにより、外部サービスからのカスタムリクエストボディは解析され、Notify APIに必要な値、すなわちユーザーIDとセッションID、そしてテキストやデータを返すことができ、これらは通知としてユーザーに送られます。

Notify Transformerは、EndpointのTransformerにhandleNotify関数を実装することで構成されます。

REST Transformer対応

Notify Transformerは、RESTベースのEndpointには対応していません。

Transformer関数の引数

handleNotify関数は、設定オブジェクトを引数として受け取ります。オブジェクト内のキーの概要を以下に示します。

引数説明Webhook TransformersSocket Transformers
endpointEndpoint の設定オブジェクト。URLTokenなどが含まれます。XX
requestJSONをパースしたボディを持つ Expressリクエストオブジェクト。XX
responseExpressレスポンスオブジェクト。XX

Transformerの戻り値

Notify Transformerは、有効なユーザーID、セッションID、およびFlowに送るべきテキストやデータを返さなければなりません。これらの値はリクエストボディから抽出する必要があります。リクエストボディのフォーマットは、使用される特定のチャネルによって異なることに注意することが重要です。例えば、Alexaからのリクエストは、Facebook (Meta) Messengerからのリクエストとはまったく異なるように見えます。したがって、リクエストボディのフォーマットを知るためには、そのチャネルのドキュメントを読む必要があります。

Notify Transformerがfalsy(偽)値を返した場合、メッセージはユーザーに転送されません。

戻り値の検証

Notify Transformerの戻り値は、一連のルールに対して検証され、ルールが満たされない場合は拒否されます。ルールは以下の通りです:

・ユーザー IDは戻り値において必須です。最大256文字列です。
・セッションIDは必須です。こちらも最大256文字列です。
・テキストは必須ではありませんが、最大10000文字列です。
・データオブジェクトは必須ではありません。

テキストもデータも定義されていない場合、検証も失敗します。