通話ログと通話の使用状況の不一致を解消する

通話ログ (ConsoleのログまたはAPIのCallsリストリソースを通じて取得します) を、通話使用状況 (Consoleの使用状況ページまたはAPIのUsageおよびRecordsリソースを通じて取得します) に対して比較する場合、正しい比較のために留意すべき数々の検討事項があります。

通話ログを使用状況ログに一致させる

通話ログとUsage APIを一致させるには、下記の点についてご注意ください。

  1. 使用状況APIにおけるcountは、イベントの数を表します(この場合は通話の数)。
  2. Usage APIを通じて返されるusageは、通話あたりのBILLED (課金済み)通話時間 (分) の総数であり、課金モデルによって決められた期間に丸められます ()
  3. usage Console内では、通話の使用状況は「音声通話 (Voice) の時間 (分) 」および「Clientの (分) 」に別れて表示されます。 使用状況 (Usage) APIでの定義ではClient通話は個別のエンティティーとなるため、通話およびClient通話の使用状況を別々に取得することが必要です。
  4. 通話ログに一覧されている通話すべてが課金されるわけではありません。 たとえば、ステータスがFailed、またはBusyの通話は課金対象ではなく、こうした通話は使用状況 (Usage) APIでは追加されません
  5. 内部的には、dateパラメーターは午前0時に更新されます。 1ヶ月の通話ログを照会する場合、< 1st day of next monthを月の境界として使用してください(<= last day of this month使用しないでください)。

課金と通話ログを訂正する

 パラメーター

使用状況 (Usage - APIおよびConsole)

ログ (APIおよびConsole)

使用状況とログとを一致させる方法

通話時間

分単位で計算

秒単位で計算

通話ログの時間を使用状況ログと一致するもっとも近い分単位に丸めます。

音声とClient通話の比較

Clientおよび音声通話は別々に扱われます

Clientおよび音声通話はマージされます

結合されたログと一致させるには、音声およびClientの使用時間数 (分) を足し合わせます。

通話の課金対象時間

日付の判断には、通話の開始時間 (start date) を使用します

該当なし

通話が月をまたがって行われた場合、通話の開始された月が使用状況として使用されます。

通話のタイムゾーン

通話のタイムゾーンは常にUTC (協定世界時)

通話はUTC、またはローカルタイムゾーン

ログがローカルタイムゾーンで記録されている場合、使用状況と一致させるにはこれらをUTCに変換してください。

ヘルプが必要ですか?

誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。