Outgoing Webhook は、設定した URL (Webhook 送信先サーバー) に HTTP リクエストを以下のタイミングで送信します。
- 応対履歴の音声分析完了時
- MiiTel に設定した IVR の番号を発信元が入力した時
- 不在着信時
- 不在発信時
- プレディクティブコールの不在発信時
- 自動転送先が不在時
開発者は、Webhook を利用して外部システムへ MiiTel 応対履歴情報を連携できます。
連携を設定する
IMPORTANT
Challenge-Response 確認
- 設定保存時、設定内容とペイロードに {'challenge':'hex_token'} を付与し、固定 IP アドレスで [URL] に設定したサーバーに Challenge-Response 方式の確認リクエストを送信します。
- リクエスト送信先サーバーは、ヘッダーを {'Content-Type':'text/plain'} とした 200 レスポンスで 'hex_token' 値を返す必要があります。
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
-
画面右上の
をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- [連携設定を追加] をクリックします。
- 各項目を設定します。
1名前: 作成する設定の名前を入力 (連携先が分かるような名前など)
2URL: Webhook 送信先サーバーの URL を入力する
3追加ヘッダー: 追加したいヘッダーを JSON 形式で入力する
BASIC 認証のためのユーザー認証用データや、Bearer トークンなどを追加できます。
例) {”Authorization":"Bearer ACCESSTOKEN"}
IMPORTANT
- 'User-Agent'、'Content-Type' は変更できません。設定した場合、反映されません。
4追加ペイロード: 追加したいペイロードを JSON 形式で入力する
5音声認識フレーズ: 音声認識結果のフレーズをペイロードに含めない場合はチェックを入れる
6音声認識キーワード: 音声認識結果のキーワードをペイロードに含めない場合はチェックを入れる
7送信元 IP アドレス: 送信元 IP アドレスを固定する場合はチェックを入れる
- MiiTel がリクエスト送信に利用する送信元 IP アドレスは以下のいずれかです。
- 18.177.83.94/32
- 35.73.236.241/32
- 固定した場合、毎時 0, 10, 20, 30, 40, 50 分に過去 10 分間の応対履歴のリクエストを一括送信します。
- [保存] をクリックします。
NOTE
- Challenge-Response方式による確認ができなかった場合、以下のエラーメッセージが表示され設定を保存できません。
- サーバーから正しい challenge 値が返らなかった場合
- 一定時間レスポンスが返らなかった場合
- サーバーから正しい challenge 値が返らなかった場合
設定を編集する
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
-
画面右上の
をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- 編集したい設定右横の [
] > [編集] をクリックします。
- 編集後、[保存] をクリックします。
設定を削除する
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
-
画面右上の
をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- 削除したい設定右横の [
] > [削除] をクリックします。
- [削除] をクリックします。
HTTP リクエスト送信タイミング
- 応対履歴の音声分析完了時
- MiiTel に設定した IVR の番号を発信元が入力した時
- 不在着信時
- 不在発信時
- プレディクティブコールの不在発信時
- 自動転送先が不在時
HTTP リクエスト
バージョン
- HTTP/1.1
メソッド
- POST
ヘッダー
キー | 説明 |
---|---|
content-type | application/json; charset=utf-8 |
user-agent | MiiTel-Webhook/v1 |
ペイロード
キー | 説明 | ||||
---|---|---|---|---|---|
call |
応対履歴 | ||||
id |
応対履歴を識別する ID MiiTel Analytics 応対履歴 URL の以下 https://<企業ID>.miitel.jp/app/calls/<シーケンス ID> |
||||
tenant_code |
企業 ID | ||||
|
details |
応対履歴の詳細 | |||
id |
応対履歴を識別する ID | ||||
dial_starts_at |
ダイヤル開始時刻 | ||||
dial_answered_at |
通話開始時刻 | ||||
dial_ends_at |
通話終了時刻 | ||||
queueing_starts_at |
着信がキューに入った時刻 | ||||
queueing_answered_at |
キューに入っていた着信にユーザーが応答した時刻。または、プレディクティブコールの発信先が応答した時刻 | ||||
queueing_ends_at |
キューに入っていた着信が切れた時刻、または、通話終了した時刻 | ||||
call_type |
通話種別 |
||||
circuit_number |
回線番号 | ||||
circuit_name |
回線名 | ||||
from_number |
発信元電話番号 発信の場合は null、発信時は circuit_number を確認 |
||||
to_number |
発信先電話番号 | ||||
previous_id |
直前のアクションのシーケンス ID (直前のアクションがない場合は null) | ||||
dtmf |
IVR で選択された番号 | ||||
analysis |
応対評価 | ||||
score |
全体スコア | ||||
tlr |
Talk : Listen 比率 |
||||
rally_count |
ラリー回数 | ||||
overlap_count |
被り回数 | ||||
silence_count |
沈黙回数 | ||||
participants |
発話者 | ||||
id |
発話者を識別する ID | ||||
from_to |
FROM: 発信元 |
||||
name |
発話者名 MiiTel ユーザー名 または、MiiTel 連絡先に登録されている取引先担当者名 (連絡先に登録ない場合は null) |
||||
company_name |
取引先会社名 | ||||
analysis |
音声評価 | ||||
f0 | 基本周波数 | ||||
speechrate | 話速 | ||||
variance | 抑揚の強弱 | ||||
filler_count | フィラー回数 | ||||
positive_score | 感情認識 ポジティブスコア 0 ~ 1 の値 (1が最大値) |
||||
negative_score | 感情認識 ネガティブスコア 0 ~ 1 の値 (1が最大値) |
||||
tags |
応対メモ | ||||
created_by |
応対メモを登録した MiiTel ユーザー | ||||
creator_type |
TENANT_USER: 応対メモ SYSTEM: 自動応対メモ |
||||
value |
応対メモ項目 (登録応対メモの値) | ||||
comments |
コメント | ||||
created_at |
コメント登録日 | ||||
created_by |
コメント登録ユーザー | ||||
value |
コメントの内容 | ||||
keywords |
キーワード出現 | ||||
starts_at |
キーワード出現時刻 (通話開始からの経過時間 (秒) ) | ||||
participant_id |
キーワードの発話者の発話者 ID (participant > id) | ||||
value |
キーワードの値 | ||||
phrases |
音声認識結果 (フィラーを除く) | ||||
participant_id |
発話者 ID (participant > id) | ||||
raw |
発話者の発話音声認識 (原文) | ||||
order | 発話の通し番号 (0~) | ||||
phrase | 発話の音声認識 (原文) | ||||
phrase_nofiller |
発話の音声認識 (フィラーを除いた文) |
||||
start_at | 発話開始時の時刻 (通話開始からの経過時間 (秒)) | ||||
end_at | 発話終了時の時刻 (通話開始からの経過時間 (秒)) | ||||
filler_num | 発話音声認識からフィラー除去した文字数 | ||||
summary | 音声認識 (要約文) 設定されているキーは details > phrases > raw と同じ |
||||
speech_recognition |
音声認識 | ||||
raw |
応対履歴音声順の音声認識 (原文) | ||||
summary |
応対履歴音声順の音声認識 (要約) |
リクエストサンプル
リクエストサンプル (以下のリクエストサンプルをダウンロードできます)
{
"call": {
"id": "0184f502-8b5f-b967-10c1-625c89785630",
"tenant_code": "miitel-test",
"details": [
{
"id": "0184f502-8b5f-b967-10c1-625c89785630",
"dial_starts_at": "2022-12-09T03:41:48+00:00",
"dial_answered_at": "2022-12-09T03:41:54+00:00",
"dial_ends_at": "2022-12-09T03:42:17+00:00",
"queueing_starts_at": null,
"queueing_answered_at": null,
"queueing_ends_at": null,
"call_type": "OUTGOING_CALL",
"circuit_number": "050-0000-0000",
"circuit_name": "050-0000-0000",
"from_number": null,
"to_number": "050-9999-9999",
"previous_id": null,
"dtmf": "0",
"analysis": {
"score": 313.3515187539091,
"tlr": 0.8095,
"rally_count": 5,
"overlap_count": 0,
"silence_count": 0
},
"participants": [
{
"id": "0184f502-8b66-4ab1-10d3-34c0049a9100",
"from_to": "FROM",
"name": "鈴木 太郎",
"company_name": null,
"analysis": {
"f0": 116.8819,
"speechrate": 8.8416,
"variance": 22.803,
"filler_count": 2,
"positive_score": 0,
"negative_score": 0
}
},
{
"id": "0184f502-8b66-1a28-3896-550ac23b8e34",
"from_to": "TO",
"name": null,
"company_name": null,
"analysis": {
"f0": 234.0116,
"speechrate": 6.3676,
"variance": null,
"filler_count": 5,
"positive_score": 0,
"negative_score": 0
}
}
],
"tags": [
{
"created_by": "鈴木 太郎",
"creator_type": "TENANT_USER",
"value": "大項目①"
},
{
"created_by": "鈴木 太郎",
"creator_type": "TENANT_USER",
"value": "詳細項目①"
}
],
"comments": [
{
"created_at": "2022-12-09T04:45:13.732021+00:00",
"created_by": "鈴木 太郎",
"value": "コメント"
}
],
"keywords": [
{
"starts_at": 2,
"participant_id": "0184f502-8b66-1a28-3896-550ac23b8e34",
"value": "みーてる"
},
{
"starts_at": 2,
"participant_id": "0184f502-8b66-1a28-3896-550ac23b8e34",
"value": "でんわ"
}
],
"phrases": [
{
"participant_id": "0184f502-8b66-1a28-3896-550ac23b8e34",
"raw": [
{
"order": 1,
"phrase": "お世話になります。IP電話ミーテルの鈴木と申します。",
"phrase_nofiller": "お世話になります。IP電話ミーテルの鈴木と申します。",
"start_at": 2.16,
"end_at": 5.345,
"filler_num": 0
},
{
"order": 3,
"phrase": "恐れ入ります、高橋様お手すきでいらっしゃいますか。",
"phrase_nofiller": "恐れ入ります、高橋様お手すきでいらっしゃいますか。",
"start_at": 6.835,
"end_at": 9.425,
"filler_num": 0
},
{
"order": 4,
"phrase": "あっそうだったんですね。わかりました。また来週改めさしていただきます。",
"phrase_nofiller": "そうだったんですね。わかりました。また来週改めさしていただきます。",
"start_at": 13.39,
"end_at": 17.935,
"filler_num": 1
},
{
"order": 6,
"phrase": "はい、よろしくお願いいたしますー。",
"phrase_nofiller": "よろしくお願いいたしますー。",
"start_at": 18.85,
"end_at": 20.745,
"filler_num": 1
}
],
"summary": [
{
"order": 1,
"phrase": "お世話になります。IP電話ミーテルの鈴木と申します。",
"phrase_nofiller": "お世話になります。IP電話ミーテルの鈴木と申します。",
"start_at": 2.16,
"end_at": 5.345,
"filler_num": null
},
{
"order": 3,
"phrase": "恐れ入ります、高橋様お手すきでいらっしゃいますか。",
"phrase_nofiller": "恐れ入ります、高橋様お手すきでいらっしゃいますか。",
"start_at": 6.835,
"end_at": 9.425,
"filler_num": null
},
{
"order": 4,
"phrase": "あっそうだったんですね。わかりました。また来週改めさしていただきます。",
"phrase_nofiller": "そうだったんですね。わかりました。また来週改めさしていただきます。",
"start_at": 13.39,
"end_at": 17.935,
"filler_num": null
}
]
},
{
"participant_id": "0184f502-8b66-4ab1-10d3-34c0049a9100",
"raw": [
{
"order": 0,
"phrase": "はい。結構ですー。",
"phrase_nofiller": "結構ですー。",
"start_at": 0.545,
"end_at": 2.025,
"filler_num": 1
},
{
"order": 2,
"phrase": "はい。お世話になります。",
"phrase_nofiller": "お世話になります。",
"start_at": 5.555,
"end_at": 7.05,
"filler_num": 1
},
{
"order": 5,
"phrase": "あっ、はい。お願いしまーす。",
"phrase_nofiller": "お願いしす。",
"start_at": 17.07,
"end_at": 19.03,
"filler_num": 3
}
],
"summary": [
{
"order": 0,
"phrase": "はい。結構ですー。",
"phrase_nofiller": "結構ですー。",
"start_at": 0.545,
"end_at": 2.025,
"filler_num": null
},
{
"order": 2,
"phrase": "はい。お世話になります。",
"phrase_nofiller": "お世話になります。",
"start_at": 5.555,
"end_at": 7.05,
"filler_num": null
},
{
"order": 5,
"phrase": "あっ、はい。お願いしまーす。",
"phrase_nofiller": "お願いしす。",
"start_at": 17.07,
"end_at": 19.03,
"filler_num": null
}
]
}
],
"speech_recognition": {
"raw": "0:00 (ユーザー) 結構ですー。\n0:02 (取引先) お世話になります。IP電話ミーテルの鈴木と申します。\n0:05 (ユーザー) お世話になります。\n0:06 (取引先) 恐れ入ります、高橋様お手すきでいらっしゃいますか。\n0:13 (取引先) そうだったんですね。わかりました。また来週改めさしていただきます。\n0:17 (ユーザー) お願いしす。\n0:18 (取引先) よろしくお願いいたしますー。",
"summary": "0:00 (ユーザー) 結構ですー。\n0:02 (取引先) お世話になります。IP電話ミーテルの鈴木と申します。\n0:05 (ユーザー) お世話になります。\n0:06 (取引先) 恐れ入ります、高橋様お手すきでいらっしゃいますか。\n0:13 (取引先) そうだったんですね。わかりました。また来週改めさしていただきます。\n0:17 (ユーザー) お願いしす。"
}
}
]
},
"params_key": "z&aH+&Kz8saC"
}