この API は コールログ エンドポイントを企業に提供します。このエンドポイントへアクセスすることにより、Webhook として call logging events により送られる特定の URL を指定することができます。
原文(英語)はこちらをご覧ください。
必要なこと
-
イベントの送付先 URL を特定してください
- JSON オブジェクトをデコードするシークレットオブジェクトを特定してください
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: 関連づけられた 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 コールログ エンドポイントワークフローは、次のイベント ドリブン シークエンスに従います:
- ユーザーはあなたのアプリケーションに event subscription をトリガーとする状況を作成する(A user creates a circumstance that triggers an event subscription to your application)
- あなたのサーバーがシークレットとして .jwt でエンコードされたJSON オブジェクトを受け取る(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 リクエストはこのように動作します:
- アクティビティに応えて HTTP POST が含まれるデータを全て受領する(They all receive an HTTP POST containing data in response to activity.)
- コールログ エンドポイントでは、あなたのリクエスト URL はあなたのアプリケーションが subscribe する全てのイベントが送られるターゲットロケーションです(In the call logging endpoint, your Request URL is the target location where all the events your application is subscribed to will be delivered)
- あなたのアプリケーションは1つのリクエスト URL しか持っていないため、イベントデータを受領後、追加の dispatch またはサーバー側にルーティングする必要はありません(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.)
- あなたのリクエスト URL はイベントタイプを含む JSON に基づくペイロードを受領します(Your Request URL will receive JSON-based payloads containing wrapped event types.)
Events Dispatched as JSON
認証されたユーザーのアカウントでサブスクリプションイベントが起こると、Dialpad はあなたのリクエスト 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日あたりの速度制限はありますか?
ありません。