Outgoing Webhook 会議履歴の仕様と利用方法
Outgoing Webhook 会議履歴は、設定した URL (Webhook 送信先サーバー) に HTTP リクエストを以下のタイミングで送信できます。
- 会議履歴の音声分析完了時
開発者は、Webhook を利用して外部システムへ MiiTel 会議履歴情報を連携できます。
この機能を利用するには、 管理者権限 が必要です。
連携を設定する
IMPORTANT
Challenge-Response を以下の方法で確認できます。
- 設定保存時、設定内容とペイロードに
{'challenge':'hex_token'}
を付与し、固定 IP アドレスで [URL] に設定したサーバーに Challenge-Response 方式の確認リクエストを送信します。- リクエスト送信先サーバーは、ヘッダーを
{'Content-Type':'text/plain'}
とした 200 OK のレスポンスで 'hex_token' 値を返す必要があります。
※ 'hex_token' のみを返却ください。
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
- 画面右上の [MiiTel Admin を開く] をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- [会議履歴] タブをクリックします。
- [連携設定を追加] をクリックします。
- 各項目を設定します。
[1] 名前: 作成する設定の名前を入力 (連携先が分かるような名前など)
[2] URL: Webhook 送信先サーバーの URL を入力する
[3] 追加ヘッダー: 追加したいヘッダーを JSON 形式で入力する
BASIC 認証のためのユーザー認証用データや、Bearer トークンなどを追加できます。
例) {"Authorization":"Bearer ACCESSTOKEN"}
IMPORTANT
'User-Agent'
、'Content-Type'
は変更できません。設定した場合、反映されません。
[4] 追加ペイロード: 追加したいペイロードを JSON 形式で入力する
- [保存] をクリックします。
NOTE
Challenge-Response方式による確認ができなかった場合、以下のエラーメッセージが表示され設定を保存できません。
- サーバーから正しい challenge 値が返らなかった場合
- 一定時間レスポンスが返らなかった場合
設定を編集する
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
- 画面右上の [MiiTel Admin を開く] をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- 編集したい設定右横の [ ] > [編集] をクリックします。
設定を削除する
- https://account.miitel.jp/v1/signin にアクセスし、管理者権限があるユーザーで MiiTel Analytics にログインします。
- 画面右上の [MiiTel Admin を開く] をクリックします。
- [外部連携] > [Outgoing Webhook] をクリックします。
- 削除したい設定右横の [ ] > [削除] をクリックします。
- [削除] をクリックします。
HTTP リクエスト送信タイミング
- 会議履歴の音声分析完了時
HTTP リクエスト
バージョン
- HTTP/1.1
メソッド
- POST
ヘッダー
キー | |
---|---|
content-type | application/json; charset=utf-8 |
user-agent | MiiTel-Webhook/v1 |
ペイロード(リクエストボディー)の JSON Schema
{
"$schema": "http://json-schema.org/draft-06/schema#",
"$ref": "#/definitions/Welcome",
"definitions": {
"Welcome": {
"type": "object",
"additionalProperties": true,
"properties": {
"video": {
"$ref": "#/definitions/Video"
}
},
"required": ["video"],
"title": "Welcome"
},
"Video": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"tenant_code": {
"type": "string"
},
"title": {
"type": "string"
},
"platform": {
"type": "string",
"enum": [
"miitel",
"zoom",
"google_meet",
"microsoft_teams",
"user_uploads",
"rec_pod",
"incoming_webhook"
]
},
"calendar_platform": {
"type": "string",
"enum": ["google", "microsoft"]
},
"starts_at": {
"type": "string",
"format": "date-time"
},
"ends_at": {
"type": "string",
"format": "date-time"
},
"access_permission": {
"type": "string",
"enum": ["HOST", "EVERYONE"]
},
"crm_type": {
"type": "string",
"enum": ["salesforce"]
},
"host": {
"$ref": "#/definitions/Host"
},
"analysis": {
"$ref": "#/definitions/Analysis"
},
"participants": {
"type": "array",
"items": {
"$ref": "#/definitions/Participant"
}
},
"speech_recognition": {
"$ref": "#/definitions/SpeechRecognition"
},
"zoom_meeting": {
"$ref": "#/definitions/ZoomMeeting"
},
"google_meet_meeting": {
"$ref": "#/definitions/GoogleMeetMeeting"
},
"google_calendar_event": {
"$ref": "#/definitions/GoogleCalendarEvent"
},
"microsoft_calendar_event": {
"$ref": "#/definitions/MicrosoftCalendarEvent"
},
"salesforce_crm_data": {
"$ref": "#/definitions/SalesforceCrmData"
}
},
"required": [
"access_permission",
"analysis",
"ends_at",
"host",
"id",
"participants",
"platform",
"speech_recognition",
"starts_at",
"tenant_code",
"title"
],
"title": "Video"
},
"Analysis": {
"type": "object",
"additionalProperties": false,
"properties": {
"overlap_count": {
"type": ["integer", "null"]
},
"silence_count": {
"type": ["integer", "null"]
}
},
"required": ["overlap_count", "silence_count"],
"title": "Analysis"
},
"Host": {
"type": "object",
"additionalProperties": false,
"properties": {
"user_name": {
"type": "string"
},
"login_id": {
"type": ["string", "null"],
"format": "email"
}
},
"required": ["login_id", "user_name"],
"title": "Host"
},
"Participant": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"display_name": {
"type": "string"
},
"miitel_user_name": {
"type": ["string", "null"]
},
"login_id": {
"type": ["string", "null"],
"format": "email"
}
},
"required": ["display_name", "id", "login_id", "miitel_user_name"],
"title": "Participant"
},
"SpeechRecognition": {
"type": "object",
"additionalProperties": false,
"properties": {
"raw": {
"type": ["string", "null"]
},
"summary": {
"type": ["string", "null"]
}
},
"required": ["raw", "summary"],
"title": "SpeechRecognition"
},
"ZoomMeeting": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": ["string", "null"]
},
"uuid": {
"type": ["string", "null"],
"format": "uuid"
}
},
"title": "ZoomMeeting"
},
"GoogleMeetMeeting": {
"type": "object",
"additionalProperties": false,
"properties": {
"meetingCode": {
"type": ["string", "null"]
}
},
"title": "GoogleMeetMeeting"
},
"GoogleCalendarEvent": {
"type": "object",
"additionalProperties": false,
"properties": {
"eventId": {
"type": ["string", "null"]
},
"iCalUId": {
"type": ["string", "null"]
}
},
"title": "GoogleCalendarEvent"
},
"MicrosoftCalendarEvent": {
"type": "object",
"additionalProperties": false,
"properties": {
"eventId": {
"type": ["string", "null"]
},
"iCalUId": {
"type": ["string", "null"]
}
},
"title": "MicrosoftCalendarEvent"
},
"SalesforceCrmData": {
"type": "object",
"additionalProperties": false,
"properties": {
"activity_id": {
"type": ["string", "null"]
},
"related_id": {
"type": ["string", "null"]
}
},
"title": "SalesforceCrmData"
}
}
}
ペイロード(リクエストボディー)の内容
キー | 説明 | ||||
---|---|---|---|---|---|
video |
会議履歴 | ||||
id |
会議履歴を識別する ID MiiTel Analytics 会議履歴 URL の以下 https://<企業ID>.miitel.jp/app/video/<シーケンス ID> |
||||
tenant_code |
企業 ID | ||||
title | 会議履歴のタイトル | ||||
platform |
会議を実施したサービス |
||||
calendar_platform |
連携しているカレンダーサービス |
||||
starts_at | 会議開始時刻 (UTC) | ||||
ends_at | 会議終了時刻 (UTC) | ||||
access_permission |
閲覧制限 |
||||
crm_type | CRM タイプ salesforce |
||||
host | 会議のホスト | ||||
user_name | 会議ホストの MiiTel ユーザー名 | ||||
login_id | 会議ホストの MiiTel ログイン ID | ||||
analysis | 応対評価 | ||||
overlap_count | 被り回数 | ||||
silence_count | 沈黙回数 | ||||
participants | 参加者 | ||||
id | 発話者を識別する ID | ||||
display_name | 会議参加名 (発話者が特定できない場合は guest<通し番号>) | ||||
miitel_user_name | MiiTel ユーザー名 (MiiTel ユーザーと連携していない場合は null) | ||||
login_id | MiiTel ログイン ID (MiiTel ユーザーと連携していない場合は null) | ||||
speech_recognition |
文字起こし | ||||
raw | 会議履歴発話順の文字起こし (フィラーを除いた文) | ||||
summary | 会議履歴発話順の文字起こし (要約) | ||||
zoom_meeting |
zoom 会議情報 (platform に zoom を設定した時に設定する) | ||||
id | zoom 会議 id (定期予約されている会議は、同じ id になります) | ||||
uuid | zoom 会議 uuid | ||||
google_meeting |
Google Meet 会議情報 (platform に google を設定した時に設定する) | ||||
meetingCode | ミーティングコード (例) https://meet.google.com/abc-defg-hij -> abc-defg-hij |
||||
google_calendar_event |
Google カレンダーイベント (calendar_platform が google の時に設定する) | ||||
id | 繰り返しイベントの各インスタンス間で一意となるイベントの ID | ||||
iCalUId | 繰り返しイベントの各インスタンス間で一意ではないイベントの ID | ||||
microsoft_calendar_event |
Microsoft Outlook カレンダーイベント (calendar_platform が microsoft の時に設定する) | ||||
id | 会議シリーズの各インスタンス間で一意ではないイベントの ID | ||||
iCalUId | 会議シリーズの各インスタンス間で一意となるイベントの ID | ||||
salesforce_crm_data |
Salesforce CRM データ (crm_type が salesforce の時に設定する) | ||||
activity_id | Salesforce の活動オブジェクトの ID | ||||
related_id | 活動が紐づいている関連先の ID | ||||
追加したペイロードのキー | 追加したペイロードの値 |
ペイロード(リクエストボディー)のサンプル
{
"video": {
"id": "018c23b3-52bc-d32d-d8e6-162491d7ee60",
"tenant_code": "revcomm-test",
"title": "call_recording_387cf464-2988-43c3-aa2d-cee744368ee4_20230120023041 (1)",
"platform": "user_uploads",
"starts_at": "2023-12-01T04:45:00+00:00",
"ends_at": "2023-12-01T05:01:45.480000+00:00",
"access_permission": "EVERYONE",
"host": {
"user_name": "田中 太郎",
"login_id": "[email protected]"
},
"zoom_meeting": {
"id": "91615380703",
"uuid": "HMZmQgWRSYay8t+5HZKtPw=="
},
"analysis": {
"overlap_count": null,
"silence_count": 27
},
"participants": [
{
"id": "018c23bf-394d-a6fe-2a73-f9e5143dd905",
"display_name": "guest01",
"miitel_user_name": null,
"login_id": null
},
{
"id": "ad1a0191-5780-4912-a68a-c4b0705824d3",
"display_name": "guest02",
"miitel_user_name": null,
"login_id": null
},
{
"id": "018c23b3-5565-8e41-554d-416458cbbeb8",
"display_name": "田中 太郎",
"miitel_user_name": "田中 太郎",
"login_id": "[email protected]"
}
],
"speech_recognition": {
"raw": "0:00 (guest01) そうだよです。コールビングはコールエル。\n0:08 (guest01) お世話になってす。株式会社レブコムの田中と申します。\n0:08 (guest02) サカモトです。お世話になります。",
"summary": "0:08 (guest01) お世話になってす。株式会社レブコムの田中と申します。\n0:12 (guest02) サカモトです。お世話になります。"
}
}
}
{
"video": {
"id": "018c23a4-c0b1-45c9-a9b6-e53c1b0a91a8",
"tenant_code": "revcomm-test",
"title": "46c1897e-6dab-4beb-ac6a-5861cbaa6d1f",
"platform": "user_uploads",
"starts_at": "2023-12-01T04:30:00+00:00",
"ends_at": "2023-12-01T04:30:02.580000+00:00",
"access_permission": "EVERYONE",
"host": {
"user_name": "田中 太郎",
"login_id": "[email protected]"
},
"zoom_meeting": {
"id": "91615380703",
"uuid": "HMZmQgWRSYay8t+5HZKtPw=="
},
"analysis": {
"overlap_count": null,
"silence_count": null
},
"participants": [
{
"id": "018c23a4-c353-3a72-4292-036067735557",
"display_name": "田中 太郎",
"miitel_user_name": "田中 太郎",
"login_id": "[email protected]"
}
],
"speech_recognition": {
"raw": "",
"summary": ""
}
}
}
うまくいかない場合
フォーラム からご質問ください!
Updated 2 months ago