注意:API ドキュメントはデベロッパサイトで公開しています。この記事のいくつかの内容は更新されていない場合があります。Dialpad の API を理解するにはデベロッパサイトを参照してください。
この API は コールログ エンドポイントを提供します。このエンドポイントへアクセスすることにより、Webhook として送りたい call logging events の特定の URL を指定することができます。
Call logging endpoint の設定は、こちらの記事の Event Subscriptions と Authentication Basics をご覧ください。
API Key の設定方法はこちらのヘルプセンター記事を参照ください。オフィスレベルではなく、カンパニーレベルの API Key が必要です。API に関する質問は developer discussion board (英語) を参照ください。
Dialpad から受け取るオブジェクト
フィールド |
内容 |
メモ |
internal_number |
社内の Dialpad 番号 |
着信の場合は着信した番号。発信の場合は発信者の番号。 |
external_number |
社外の Dialpad 番号 |
着信の場合はかけてきた相手の番号。発信の場合はかけた先の番号。 |
target |
発信の場合は発信先。着信の場合は発信者。以下の情報を含む: Phone: e164 フォーマット Type: user/office/department/staff/room/callcenter ID: ユニークなターゲット ID Email: 関連づけられた email Name: ターゲットネーム |
応答しない場合はブランクの場合あり。 着信か発信かに関わらず、ターゲットは Dialpad ユーザー、グループ、コールセンターなどのinternal_number と連動する。 |
proxy_target |
Dialpad ユーザーが発信するときに使った Caller ID。以下の情報を含む: Phone: e164 フォーマット Type: Office/Department/Staff/Room/Call Center ID: ユニークなプロキシ ID Email: 関連づけられた email |
value が表示される場合は、コールが個人の番号以外から発信されたことを意味する。 |
entry_point_target |
Dialpad へ最初に着信すると次の情報を含む: Phone: e164 フォーマット Type: User/Office/Department/Staff/Room/Call Center ID: ユニークなエントリーポイント ID Email: 関連づけられた email |
着信のみ |
call_id |
おのおののコールに自動的に付与されるユニークな ID |
|
entry_point_call_id |
entry point call に関連づけられた call ID |
オペレーターコールに定義される (グループ、保留キュー)。オペレーターコールとその entry point call を関連づけるため使用される。 |
group_id |
コールに関連づけられたグループ、代表番号、保留キューのユニークな ID |
グループコールのentry_point_target と一致する グループコールでないとブランクの場合あり。
|
direction |
コールの方向。発信の場合はどこへかけたか。着信の場合はどこからかかってきたのか。 |
|
contact |
コールに含まれるコンタクト。次の情報を含む: Phone: e164 フォーマット Type: User/Local/Nylas/Google/Microsoft ID: ユニークなコンタクト ID Email: 連絡先のメールアドレス Name: 連絡先の名前 |
着信か発信かに関わらず、コンタクトはexternal_number と連動する。 |
date_started |
コールアクティビティが発生した日付 |
|
date_rang |
代表番号、グループ、個人番号に着信があったときに Dialpad が一番最初に検知するタイムスタンプ |
次の場合はブランク:
|
date_connected |
コールが接続された時のタイムスタンプ |
次の場合はブランク:
|
date_ended |
コールが切断された時のタイムスタンプ |
|
duration |
ミリセカンドで表示した通話時間 |
次の場合はブランク:
|
state |
preanswer calling ringing connected merged hold queued voicemail eavesdrop hangup blocked admin parked |
|
was_recorded |
通話が録音されたかどうかをブーリアン(真偽値)で返す |
|
voicemail_link |
録音されたボイスメールのURL |
ボイスメールが残っていない場合はブランク |
イベント ループ
Dialpad コールログ エンドポイントワークフローは、次のイベント ドリブン シークエンスに従います:
- A user creates a circumstance that triggers an event subscription to your application
- Your server receives a JSON object, encoded with jwt with the secret you gave us
- Your server acknowledges receipt of the event
- Your business logic decides what to do about that event
- Your server carries out that decision
Dialpad コールログ エンドポイント | URLs リクエスト
URLs リクエストはこのように動作します:
- They all receive an HTTP POST containing data in response to activity.
- In the call logging endpoint, your Request URL is the target location where all the events your application is subscribed to will be delivered
- Since your application will have only one Request URL, you won’t need to do any additional dispatch or routing server-side after receiving event data.
- Your Request URL will receive JSON-based payloads containing wrapped event types (described above).
Events Dispatched as JSON
認証されたユーザーのアカウントでサブスクリプションイベントが起こると、リクエスト URL に HTTP POST リクエストを送信します。イベントを受け取ると、サクセスを示すために200 シリーズ HTTP ステータスコードが使われます。200 で反応がない場合はもう一度リトライされます。
call logging endpoint からの JSON response デコード例:
{
"internal_number":"14155551001",
"target":{
"phone":"+14155551001",
"type":"user",
"id":2,
"email":"bot@fuzz-ball.com"
},
"date_ended":1494624100265,
"proxy_target":{
},
"date_connected":1494624100265,
"direction":"inbound",
"call_id":7,
"state":"hangup",
"external_number":"14155556666",
"was_recorded":false,
"entry_point_target":{
},
"date_rang":1494624100265,
"date_started":1494624097927
}
FAQs
コールログ エンドポイントを試みる際に、events や errors がお客様に送信されますか?
いいえ。コールが発生した時にお客様が情報を受け取っていないといった、うまく動作していない兆候を示すだけです。(The only indication that something is not working is if the customer does not receive any information when a call happens.)
カンパニーごとに複数のエンドポイントをサポートしていますか?
いいえ。1カンパニーにつき1エンドポイントをサポートしています。
1日あたりの速度制限はありますか?
ありません。