現代のビジネスは固定電話を時代遅れのテクノロジーとして認識しています。セルラー通信は従業員の機動性と常時対応を保証し、ソーシャル ネットワークとインスタント メッセンジャーはより簡単で高速な通信チャネルです。 競合他社に負けないために、オフィス PBX はますます競合他社に似てきています。クラウドに移行し、Web インターフェイス経由で管理され、API 経由で他のシステムと統合されています。 この記事では、Rostelecom 仮想 PBX API が持つ機能と、それを介して仮想 PBX の主要な機能を操作する方法について説明します。
Rostelecom 仮想 PBX API の主なタスクは、CRM または企業 Web サイトとの対話です。 たとえば、API は、WordPress、Bitrix、OpenCart などの主要な管理システム用の「コールバック」ウィジェットと「サイトからのコール」ウィジェットを実装します。 API では次のことが可能になります。
- 外部システムからの要求に応じて、情報を受信し、ステータスを通知し、発信します。
- 会話を記録するための一時リンクを取得します。
- 制限パラメーターを管理し、ユーザーから受け取ります。
- 仮想 PBX ユーザーに関する情報を取得します。
- 通話の引き落としと料金の履歴を要求します。
- 通話記録をアップロードします。
API の仕組み
統合 API と外部システムは、HTTP リクエストを使用して相互に通信します。 個人アカウントでは、管理者は API へのリクエストが到着するアドレスと API からのリクエストが送信されるアドレスを設定します。 外部システムには、インストールされた SSL 証明書を使用してインターネットからアクセスできるパブリック アドレスが必要です。
また、個人アカウントでは、ドメイン管理者がIPでAPIにアクセスする際のリクエスト元を制限することができます。
仮想 PBX ユーザーに関する情報を受け取ります
ユーザーまたはグループのリストを取得するには、次のメソッドを使用して仮想 PBX にリクエストを送信する必要があります。 /users_info.
{
"domain":"example.ru"
}
応答として、保存できるリストを受け取ります。
{
"result":0,
"resultMessage":"",
"users":[
{
"display_name":"test_user_1",
"name":"admin",
"pin":^_^quotʚquot^_^,
"is_supervisor":true,
"is_operator":false,
"email":"[email protected]","recording":1
},
{
"display_name":"test_user_2",
"name":"test",
"pin":^_^quotʿquot^_^,
"is_supervisor":true,
"is_operator":false,
"email":"",
"recording":1
}
],
"groups":
[
{
"name":"testAPI",
"pin":^_^quotǴquot^_^,
"email":"[email protected]",
"distribution":1,
"users_list":[^_^quotʚquot^_^,^_^quotʿquot^_^]
}
]
このメソッドは XNUMX つの配列を渡します。 XNUMX つはドメイン ユーザー、もう XNUMX つはドメイン グループです。 グループには、リクエストで送信される電子メールを指定する機会もあります。
着信に関する情報の処理
企業のテレフォニーをさまざまな CRM システムに接続すると、従業員が顧客と対話する時間が節約され、着信通話の処理が高速化されます。 たとえば、現在のクライアントから電話がかかると、CRM はそのクライアントのカードを開くことができ、CRM からクライアントに電話を送信して従業員に接続することができます。
API 呼び出しに関する情報を取得するには、メソッドを使用する必要があります。 /get_number_info。これにより、通話が分配されるグループに関する情報を含む通話のリストが生成されます。 仮想 PBX 番号が番号 1234567890 からの着信を受信したと仮定します。その後、PBX は次のリクエストを送信します。
{
"session_id":"SDsnZugDFmTW7Sec",
"timestamp":"2019-12-27 15:34:44.461",
"type":"incoming",
"state":"new",
"from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
"from_pin":"",
"request_number":"sip:</i^_^gt�lt&i;gt^_^@1192.168.0.1",
"request_pin":^_^quotɟquot^_^,
"disconnect_reason":"",
"is_record":""
}
次にハンドラーを接続する必要があります /get_number_info。 この要求は、着信コールが着信回線に到着したときに、コールがルーティングされる前に実行する必要があります。 要求に対する応答が指定された時間内に受信されない場合、通話はドメインで確立されたルールに従ってルーティングされます。
CRM側のハンドラーの例。
if ($account) {
$data = [
'result' => 0,
'resultMessage' => 'Абонент найден',
'displayName' => $account->name,
//'PIN' => $crm_users,
];
}
else
{
$data = [
'result' => 0,
'resultMessage' => 'Абонент не найден',
'displayName' => 'Неизвестный абонент '.$contact,
//'PIN' => crm_users,
];
}
return $data;
ハンドラーからの応答。
{
"result":0,
"resultMessage":"Абонент найден",
"displayName":"Иванов Иван Иванович +1</i> 234-56-78-90<i>"
}
ステータスを追跡し、通話録音をダウンロードします
Rostelecom の仮想 PBX では、通話録音は個人アカウントで有効になります。 API を使用すると、この関数のステータスを追跡できます。 で通話終了を処理するとき コールイベント 旗が見えます 'is_record', これにより、エントリのステータスがユーザーに通知されます。 true ユーザーの通話録音機能が有効になっていることを意味します。
録音をダウンロードするには、通話セッション ID を使用する必要があります セッションID にリクエストを送信する api.cloudpbx.rt.ru/get_record。
{
"session_id":"SDsnZugDFmTW7Sec"
}
応答として、会話の録音が含まれるファイルをダウンロードするための一時リンクを受け取ります。
{
"result": ^_^quot�quot^_^,
"resultMessage": "Операция выполнена успешно",
"url": "https://api.cloudpbx.rt.ru/records_new_scheme/record/download/501a8fc4a4aca86eb35955419157921d/188254033036"
}
ファイルの保存時間は個人アカウント設定で設定されます。 その後、ファイルは削除されます。
統計とレポート
別のページの個人アカウントでは、すべての通話に関する統計とレポートを確認し、ステータスと時間ごとにフィルターを適用できます。 API を介して、まずメソッドで呼び出しを処理する必要があります。 /call_events:
{
"session_id":"SDsnZugDFmTW7Sec",
"timestamp":"2019-12-27 15:34:59.349",
"type":"incoming",
"state":"end",
"from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
"from_pin":"",
"request_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
"request_pin":^_^quotʚquot^_^,
"disconnect_reason":"",
"is_record":"true"
}
次にメソッドを呼び出します 電話情報 配列を処理し、CRM システムに呼び出しを表示します。
{
"session_id":"SDsnZugDFmTW7Sec"
}
応答として、CRM ログにデータを保存するために処理できるデータの配列を受け取ります。
{
"result":0,
"resultMessage":"",
"info":
{
"call_type":1,
"direction":1,
"state":1,
"orig_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
"orig_pin":null,
"dest_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
"answering_sipuri":"[email protected]",
"answering_pin":^_^quotɟquot^_^,
"start_call_date":^_^quot�quot^_^,
"duration":14,
"session_log":"0:el:123456789;0:ru:admin;7:ct:admin;9:cc:admin;14:cd:admin;",
"is_voicemail":false,
"is_record":true,
"is_fax":false,
"status_code":^_^quot�quot^_^,
"status_string":""
}
}
その他の便利な仮想 PBX 機能
API 以外にも、仮想 PBX には使用できる便利な機能がいくつかあります。 たとえば、これは対話型音声メニューや携帯通信と固定通信の統合です。
自動音声応答 (IVR) は、相手が応答する前にハンドセットで聞こえる音声です。 基本的に、これは電話を適切な部門に転送し、いくつかの質問に自動的に答える電子オペレーターです。 まもなく、API 経由で IVR と連携できるようになります。現在、IVR を通じて通話の進行状況を追跡し、加入者が音声メニューにいるときにプッシュホンのキーストロークに関する情報を受信できるソフトウェアを開発中です。
社内テレフォニーを携帯電話に転送するには、ソフトフォン アプリケーションを使用するか、Fixed Mobile Convergence (FMC) サービスを個別にアクティブ化することができます。 いずれの方法を使用しても、ネットワーク内の通話は無料であり、短い番号を扱うことが可能になり、通話を記録して一般的な統計を保持することができます。
違いは、ソフトフォンは通信にインターネットを必要としますが、オペレータに関連付けられていないのに対し、FMC は特定のオペレータに関連付けられていますが、古いプッシュボタン電話機でも使用できることです。
出所: habr.com