POST /api/apps/pigeon/chain/invokeのJSONフォーマットについて
完了Pigeonの新しい連絡APIの機能と使いかたについて - Kompiraシリーズ 製品情報
POST /api/apps/pigeon/chain/invoke
上記のページとAPIリファレンスを確認しましたが、コールフローとガイダンスの内容を直接JSON内に記載する際のフォーマット(仕様)について記載例以外の情報が見当たりませんでした。
上記の情報の記載されているページはありませんでしょうか?もしくは、フォーマットの説明を教えてください。
-
ご質問ありがとうございます。
コールフロー及びガイダンスをJSON内に記述するフォーマットについて、下記例をベースに説明させていただきます。
{ "params": { "callflow": { "loopLimit": 3, "contacts": [ { "displayName": "田中さん", "phones": [ { "phoneNumber": "0999001122" } ] }, { "displayName": "山田さん", "phones": [ { "phoneNumber": "0999334455" } ] }, { "displayName": "斎藤さん", "phones": [ { "phoneNumber": "0999778899" } ] } ] }, "guidance": { "messageTemplate": "テスト用サーバーにて軽微な障害が発生しました。 対応される場合は1を、次の担当者に連絡する場合は2を、以降この電話への連絡をスキップする場合は3を押してください。", "reactions": { "1": { "behavior": "terminate", "messageTemplate": "1が押されました。対応をよろしくお願いいたします。" }, "2": { "behavior": "continue", "messageTemplate": "2が押されました。次の担当者に連絡します。" }, "3": { "behavior": "leave", "messageTemplate": "3が押されました。以降この電話への連絡をスキップします。" } } } } }コールフローはparams内のcallflowに記述します。 callflowはloopLimitとcontactsを指定する必要があります。
loopLimitは架電のループ回数上限を指定します。例の場合、最大3週架電します。
"loopLimit": 3,
contactsは架電先の情報を記載します。ここでの記載順が架電順となり、上から順番に架電されます。最大10名まで記載可能です。
contacts内の各要素ではdisplayNameとphonesを記載します。 displayNameは架電先の名称となり、架電結果などで参照できます。phonesは架電先の電話番号を記載します。phonesは下記フォーマットで指定してください。
phones: [{phoneNumber: "架電先の電話番号"}],例の場合、田中さん、山田さん、斎藤さんの順に架電されます。
"contacts": [ { "displayName": "田中さん", "phones": [ { "phoneNumber": "0999001122" } ] }, { "displayName": "山田さん", "phones": [ { "phoneNumber": "0999334455" } ] }, { "displayName": "斎藤さん", "phones": [ { "phoneNumber": "0999778899" } ] } ]ガイダンスはparams内のguidanceに記述します。 guidanceはmessageTemplateとreactionsを記述する必要があります。
messageTemplateは架電時、最初に読み上げられる内容を記述します。
"messageTemplate": "テスト用サーバーにて軽微な障害が発生しました。 対応される場合は1を、次の担当者に連絡する場合は2を、以降この電話への連絡をスキップする場合は3を押してください。",
reactionsは架電時、ボタンを入力した場合に読み上げられる内容と対応を記述します。 reactionsでは1~9の数字を任意個数指定できます。
reactions内では、behaviorとmessageTemplateを指定する必要があります。ぞれぞれボタンを押したときの対応と読み上げメッセージとなります。
reactions内のbehaviorでは"terminate"、"continue"、"leave"が指定できます。 "terminate"が指定された場合は連絡を終了します。 "continue"が指定された場合はその架電を終了し、連絡を続行します。 "leave"が指定された場合は架電を終了し、その架電先を連絡対象から外した後、連絡を続行します。 ただし、少なくとも1つはterminateが指定されている必要があります。
"behavior": "terminate",
reactions内のmessageTemplateでは、ボタンを入力した際に読み上げる内容を記載します。
"messageTemplate": "1が押されました。対応をよろしくお願いいたします。"
例の場合、例えば1が押されると「1が押されました。対応をよろしくお願いいたします。」というメッセージを読み上げ、terminateが指定されているため連絡が終了します。
"reactions": { "1": { "behavior": "terminate", "messageTemplate": "1が押されました。対応をよろしくお願いいたします。" }, "2": { "behavior": "continue", "messageTemplate": "2が押されました。次の担当者に連絡します。" }, "3": { "behavior": "leave", "messageTemplate": "3が押されました。以降この電話への連絡をスキップします。" } }また、コールフローもしくはガイダンスのどちらかをID指定し、事前登録済みのデータを使用することも可能です。
その場合はcallflow(もしくはguidance)の内容すべてを削除し、callflowId(もしくはguidanceId)を指定してください。
{ "params": { "callflow": { "loopLimit": 3, "contacts": [ { "displayName": "田中さん", "phones": [ { "phoneNumber": "0999001122" } ] }, { "displayName": "山田さん", "phones": [ { "phoneNumber": "0999334455" } ] }, { "displayName": "斎藤さん", "phones": [ { "phoneNumber": "0999778899" } ] } ] },
"guidanceId": "570e6f71-5459-43fe-a745-aa7d115ce20d",
"parameters": { "server": "テスト用サーバー", "incident": "軽度の障害" }
}
}以上、よろしくお願いいたします。
サインインしてコメントを残してください。

コメント
4件のコメント