CNAM 連携

CNAM REST API リファレンス

HTTPS で発信者名をリクエストし、結果、料金、エラーを処理します。

検索の動作を選択する

ティア1 クエリあたりの公開価格動作
Starter$0.0026独自データおよびキャッシュされた発信者名情報を使用します。
Standard$0.0037クエリごとにリアルタイムのネットワーク検索を行います。
Mixed$0.004最初にリアルタイム検索を試み、名前が見つからない場合は Starter のデータにフォールバックします。

検索の動作は選択したサービスによって決まります。Mixed はキャッシュ優先の検索ではありません。本番で使用する前に、お客様のアカウントに設定されている料金を確認してください。発信者名は、本人確認や所有者の証明にはなりません。

認証付きの検索を送信する

エンドポイント: GET https://api.multitel.net/v3/cnam/NUMBER。国番号を含む国際形式の数字のみを使用し、記号や先頭のプラスは付けないでください。承認済みの API 認証情報を使用して、アプリケーションサーバーから実行してください。

curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/cnam/12025550123"

2 つの環境変数は、サーバー側のシークレット設定を通じて指定してください。プロビジョニングされたベアラー認証情報は、そのアクセスが有効であり、送信元 IP の制限を満たしている場合に限り、代替手段として使用できます。API シークレットを公開されるブラウザ向けバンドルに含めないでください。

API 認証と最初のリクエストのガイド

JSON レスポンスを読み取る

このレスポンスは説明用の例です。返される名前と料金は、検索内容と選択したサービスによって異なります。

{
  "status": {
    "code": 200,
    "msg": ""
  },
  "response": {
    "number": "12025550123",
    "name": "EXAMPLE CALLER",
    "cost": "0.004",
    "balance": "24.9960"
  }
}
status.code
アプリケーションの結果コード。200 と比較する前に、文字列と数値の値を正規化してください。
status.msg
結果または拒否の理由を示す付随メッセージ。
response.number
照会した番号。
response.name
取得できた発信者名。
response.cost
このクエリについて報告された料金。10 進数の金額として扱ってください。
response.balance
報告されたアカウント残高(存在する場合)。

名前が返らない結果とエラー

リクエストが成功しても、有用な発信者名が得られるとは限りません。名前が空の場合、名前の代わりに番号が返された場合、検索が拒否された場合に備えて処理してください。アプリケーションコード 403 は、クレジット不足、禁止された購入、結果のない番号のいずれかを示す場合があるため、メッセージを確認してください。

response.name にアクセスする前に、HTTP ステータスと JSON の status の両方を確認してください。エラー時にはレスポンスオブジェクトが存在しない場合があります。名前がなくても、通常の通話のルーティングを妨げないようにしてください。

課金、再試行、および発信者 ID 更新との違い

新しい検索にはクエリ料金が発生する場合があります。これらの検索インターフェースには冪等性キーが文書化されていないため、新たに再試行すると 2 回目の課金対象クエリになる可能性があります。トランスポートやサービスの障害には、回数を制限したバックオフを使用し、アカウントのエラーを先に解決し、報告されたクエリ料金を照合してください。キャッシュは、アプリケーションに適した期間に限って行ってください。発信者名のデータは変更されることがあります。

CNAM 検索は名前を読み取る操作です。発信通話で表示される名前は変更されません。LIDB の発信者名更新は別の操作であり、独自のフィールド、承認、料金、処理があります。