POST /api/apps/pigeon/chain/invokeのJSONフォーマットについて

完了

コメント

4件のコメント

  • Kompiraサポートチーム

    ご質問ありがとうございます。

    コールフロー及びガイダンスを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": "軽度の障害" }
    }
    }

    以上、よろしくお願いいたします。

    1
    コメントアクション パーマリンク
  • 山口哲郎

    ご回答ありがとうございます。

    call flow id, guidance id を使用しない場合は、下図のような構造になっていると認識してますが相違ありませんでしょうか?他に設定可能なkeyは無いということでよいのでしょうか?

    以上よろしくお願いいたします。

     

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    callflowId、guidanceIdを使用しない場合の構造について、提示いただいた内容で相違ございません。

    また、他に指定可能なkeyもございません。

    parametersにつきましてはguidance内に変数がない場合は省略可能となります。

    以上、よろしくお願いいたします。

    1
    コメントアクション パーマリンク
  • 山口哲郎

    ご回答ありがとうございました。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。