CallConnect REST APIを触ってみる
久しぶりに機能・API両面で気になるクラウドサービスがあったので、触ってみました。
コールセンターを手軽に始めることができるSaaS型のクラウドサービスである「CallConnect」です。
この記事ではざっくりとAPI情報周りのまとめと認証方法、HTTPリクエスト(Postman)からのリクエスト方法についてまとめています。
次の記事では、Microsoft PowerBI から接続する方法について投稿する予定。(準備中)
トライアルを取得してみる
CallConnectは2週間のトライアルが提供されています。CallConnectのTOPページで取得したい電話番号を指定して始まることができます。(これサービスの裏側ではTwilioが使われてるんですね)
電話番号を指定した後は、会社名・名前・電話番号・メールアドレスを入力して、始めるをクリックするだけ。
指定したメールアドレスにパスワードが届くので、それでログインします。
この状態で一応そのまま使い始めることができます。
試しに、取得した電話番号にかけてみると、Web通話が起動して、そのまま通話が開始できました! 面白いですねー。
通話が完了すると通話履歴が記録され、自動的に顧客情報も登録されます。
また、着信フロー・自動応答ガイダンスも手軽に構成できるのがいいですね。入力された番号で、指定の電話番号にリダイレクトさせることが可能です。
営業時間も指定して、それに応じた自動エスカレーションも可能みたいです。
以上、ざっと触ってみた感想でした。
API Reference
API Referenceは以下のURLで公開されています。
https://www.callconnect.jp/swagger
また、Swagger Spec は以下のURLで公開されているようでした。(Twitter で @kimihom さんに教えてもらいました。 ありがとうございます!)
これを使って、各言語のSDKを生成したり、LogicAppsなどのサービスへ取り込んだりが楽になるのではないかなと思います。
https://www.callconnect.jp/v1/swagger_doc
また、以下のPostmanのコレクション定義も教えてもらいました。これをPostmanに取り込むことでそのまま実行できる状態が整います。
API トークンの取得方法
CallConnectの認証方法は、HTTP HeaderにAPIトークンを付与してリクエストを行うタイプです。
APIトークンはCallConnectの管理画面から入手可能です。
まず、CallConnectにログインし「管理」→「連携」に進みます。
その他のカテゴリに「CallConnect REST API」があるので「連携」をクリックし
「+新規作成」をクリックして任意のラベル名を入力後、保存すればAPIトークンが生成されます。
リクエスト方法(Postmanから)
リクエスト方法はかなりシンプルなREST APIなので、そこまで迷うことはないかもしれないです。
全APIを試しましたが、基本的なリクエストの方式は一緒でした。(一部Telだけ特殊かも)
データを取得したい場合はGETリクエストでリソース名をURLで指定するのがオーソドックスです。
以下は顧客情報を取得する場合の例です。ちなみに、ContactsとRecoredsだけ、ページング用のパラメータ「per_page」と「page」が提供されています。
GET /v1/contacts?per_page=100&page=1 HTTP/1.1 Host: nlbhib5563.execute-api.ap-northeast-1.amazonaws.com X-Callconnect-Token: XXXXXXXXX
レスポンスも比較的シンプルなJSON構成ですね。
リソース名の後にIDを指定することで、対象のデータのみ取得することも可能です。
GET /v1/contacts/3380173 HTTP/1.1 Host: nlbhib5563.execute-api.ap-northeast-1.amazonaws.com X-Callconnect-Token: XXXXX
エンドポイントによってはSearch機能がサポートされているので、より詳細な検索も可能です。以下はキーワード検索によるリクエスト。
GET /v1/contacts/search?word=CData HTTP/1.1 Host: nlbhib5563.execute-api.ap-northeast-1.amazonaws.com X-Callconnect-Token: XXXXX
データの作成・更新は「application/x-www-form-urlencoded」で値を指定します。
顧客情報を作成する場合は以下のような感じです。値はURLエンコードして送ります。
POST /v1/contacts HTTP/1.1 Host: nlbhib5563.execute-api.ap-northeast-1.amazonaws.com X-Callconnect-Token: XXXXXX Content-Type: application/x-www-form-urlencoded friendly_number=05012341234&name=HelloUser&company=Hello%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE&email=test%40mail.com&address=%E9%9D%92%E6%A3%AE%E7%9C%8C%E9%9D%92%E6%A3%AE%E5%B8%82
更新する場合は以下のようにPUTリクエストで実施します。部分更新なのがいいですね。他のフィールドの値が初期値で上書きされることはありません。
PUT /v1/users/4719 HTTP/1.1 Host: nlbhib5563.execute-api.ap-northeast-1.amazonaws.com X-Callconnect-Token: XXXXXXX Content-Type: application/x-www-form-urlencoded name=Update&role=2
おわりに
ざっと触ってみました。かなりシンプルかつ綺麗なREST APIで親しみやすい感じですね。
次回はPowerBIとCData REST ODBC Driverを組み合わせて、通話履歴のビジュアライズに挑戦してみたいと思います。