以前Conferenceの参加者についてこのような記事を書きましたが…
Conferenceの参加者情報をAPIで取得するには会議中にしかできません。
という話だったのですが、
別件でTwilio Changelogを見ていると、なんとConference Insight APIというものがリリースされており
Conference終了後に参加者情報が取得できるようになってました!
この機能の詳細についてはTwilioの中の人(高橋さん)の記事がわかりやすいですので、こちらを参照頂ければと
実際に使ってみた
ではドキュメントを見つつ使ってみます。
もちろんすでに会議通話は終わっている過去のデータです。
※API Testerを使用しています。
https://insights.twilio.com/v1/Conferences/CFXXXXXXXXXX/Participants
えいやー!
{
"participants":[
{"metrics":{"inbound":{"latency":{"max": 0.76, "avg": 0.76…},
{"metrics":{"inbound":{"latency":{"max": 0.9, "avg": 0.85…},
{"metrics":{"inbound":{"latency":{"max": 0.0, "avg": 0.0…}
],
"meta":{
"page": 0,
"page_size": 25,
"first_page_url": "https://insights.twilio.com/v1/Conferences/CFXXXXXXXXXXXXXXXX/Participants?PageSize=25&Page=0",
"previous_page_url": null,
"url": "https://insights.twilio.com/v1/Conferences/CFXXXXXXXXXXXXXXXX/Participants?PageSize=25&Page=0",
"next_page_url": null,
"key": "participants"
}
}
※長いので一部省略
participantsのデータが入ってる~~![]()
取れたデータに欲しい情報があるのか
とりあえず取れてよかったですが、私の以前の記事では
参加者それぞれのCallSidを取得するというものでしたので、Participants内にそれがあるか見てみます。
{
"call_status": "completed",
"join_time": "2022-02-02T06:31:19Z",
"from": "+0000000000",
"to": "client:xxxx_2Dxxx_40xxxx_2Exx_2Exx",
"leave_time": "2022-02-02T06:32:22Z",
"processing_state": "complete",
"conference_region": "jp1",
"participant_sid": "CPXXXXXXXXXXXXXXX",
"call_type": "client",
"conference_sid": "CFXXXXXXXXXXXXXXX",
"call_direction": "outbound",
"participant_region": "jp1",
"call_sid": "CAXXXXXXXXXXXXXXX",
...
}
※これも長いので省略しています。必要な項目のみ抜粋
call_sidが無事取得できますのでこれで参加者のCallを取得できます。
call_typeや、from、toの項目で電話をかけてきた人か、電話を取った担当者かがわかります。
join_timeの時間順で、最初に電話を取った担当者や最後に通話を切った担当者等の情報もある程度判断できそうです。
オッケー!!👌
twilio-nodeの場合
こちらはまだバージョンの関係で確認できておりませんが、
3.74.0以降であればInsightのConferenceAPIを使用できるようです。
※記事投稿時点での最新は3.75.0
"twilio": "^3.74.0"
まとめ
Conferenceの参加者情報を取得するのに四苦八苦していましたが、
公式でAPIが用意されて簡単に取得できるようになって良かったです![]()