関数を通じたシグナルの実行
関数を通じて、カスタムシグナルを実行できます。関数のWeb通知を実行する必要があります。これにより、シグナルが実行されます。
関数を通じてシグナルを実行するのに適した場合
外部サービスにおいて、何か処理が発生した時にその詳細情報を送信する機能があるが、APIやHTTPリクエストなどの実行機能はなく、Web通知や固定の形式でのみ送信可能な場合が該当します。
外部アプリケーションから送信可能なデータの形式が、シグナルのAPIの形式に適合しない場合も該当します。
どちらの場合でも、以下のような中間処理が必要です:
外部アプリケーションからのデータの受信
シグナル実行のためのデータ(ペイロード)の作成
この場合、関数を用いて中間処理を行うことができます。関数を実行するためのURLを通じて、外部アプリケーションからのデータを受信し、シグナルで通知するための処理を実行できます。基本的な認証方式にのみ対応しているアプリケーションも多いため、Zohoではキーを用いた認証によって関数を実行することが可能です。なお、あらかじめ用意されている連携用関数を使用することで、シグナルを簡単に実行することもできます。
関数を通じてシグナルを実行するには、シグナルの作成時に以下の手順に従ってください。
シグナルの作成画面において、関数一覧から、シグナルに関連付ける関数を選択します(シグナルの種類の関数のみ選択可能です)。
システムによって、関数を外部から実行するためのURL(外部アプリケーションからのデータの送信先URL)が自動で生成されます。外部サービスにおいて、このURLを登録する必要があります。外部サービス内で通知対象の処理が発生するたびに、このURLを通じて関数が実行され、シグナルが表示されます。
[シグナル詳細の表示場所]の項目で、シグナルの表示場所を選択します。
シグナルを実行する関数のサンプル
namespace = "zohodesk_newticketalert"; subject = "New Ticket created #"+ticket_id; message = "New Ticket with "+ticket_subject+" created in Zoho Desk"+" from " +email; signalMap = Map(); signalMap.put("signal_namespace",namespace); signalMap.put("email",email); signalMap.put("subject",subject); signalMap.put("message",message); result = zoho.crm.raiseSignal(signalMap);
Zoho Desk内で新しい問い合わせが作成された時に、上記のコードによりシグナルが実行されます。
raiseSignalは、あらかじめ用意されている関数です。この関数にMap形式(キーと値がセットになった形式)でパラメーターを設定することで、シグナル通知を実行できます。この場合、内部的にシグナル通知用のAPIが実行されます。
選択したカテゴリー内にシグナルの種類の関数がない場合、新しい関数を作成することもできます。その場合、[関数]の欄で、[新しい関数の作成]をクリックします。
関数には、外部サービスから受信したデータの処理とシグナルの実行のためのコードを含める必要があります。
1つの関数内に、ロジックを設定して、複数のシグナルを実行することも可能です。