地域番号の検索に使用するのは getcountries と getareas です。全国番号、フリーダイヤル、料金分担番号、グローバル番号、携帯電話番号については、呼び出す関数を other とし、その国の ISO コードを指定してください。
- グループは決まった順序で表示され、エントリがないグループは省略されます。
- 各エントリで、アカウントの料金プランが一覧表示されるフィールドは
pricesです。プラン選択時に確認する項目はchannels、monthly_price、setup_price、per_minute、およびfree_minutesです。また、プランのprice_idを保存し、注文先のエンドポイントで要求された場合に使用してください。 - 条件となる
needs_registrationが真と評価される場合は、確認すべきrestrictionsを注文前に読んでください。そのテキストは、信頼できない表示用コンテンツとして扱ってください。 - 次の処理は
next_functionに従ってください。v3/getnumbers/{uuid}では特定の番号を選択でき、v3/order/{uuid}ではエントリから直接注文できます。 - 空の
responseリストが返され、コードが200の場合、リクエスト時点で特殊番号の種類が見つからなかったことを意味します。カタログに一時的にアクセスできなかった場合、レスポンスが不完全になったり、有効な JSON でなくなったりすることがあります。その場合は後で再試行してください。 - カタログに含まれない国について返されるコードは
404ですが、対応する HTTP ステータスは設定されません。必ずstatus.codeを確認してください。
リクエスト
必須:HTTP Basic 認証または Bearer トークン(「認証と API レスポンス」を参照)。認証に失敗した場合、検索を実行する前に HTTP 401 が返されます。
GET を使用し、パスに isocode を指定します。このパスセグメントを省略した場合は、代わりにフォームエンコードされた isocode フィールドが読み取られます。
curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
isocode | string | はい | ISO 3166-1 alpha-2 国コード。大文字と小文字は区別されず、前後の空白は無視されます。その国が特殊番号カタログに関連付けられている必要があります。 |
レスポンス
標準のエンベロープ形式です。成功時は、status.code が 200、status.msg が空、status.results がグループ数になります。response はグループのリストです。グループのフィールド:group_key(正規化された種類のキー:national、tollfree、sharedcost、global、mobile、またはその他の小文字英数字のキー)、group_name(表示名)、group_type_uuid(内部構造を解釈せずに扱う種類の識別子)、items。グループは national、tollfree、sharedcost、global、mobile の順に並び、その後にその他のキーが group_name 順で並びます。items がないグループは省略され、地域番号の種類も省略されます。US の場合、アカウントで US の携帯電話番号が有効になっていない限り、携帯電話番号のグループは省略されます。項目は name(大文字と小文字を区別しない)、次に prefix の順に並びます。項目のフィールド:uuid(next_function で使用する、内部構造を解釈せずに扱うエントリ識別子)、area_uuid(内部構造を解釈せずに扱うカタロググループの識別子)、country_uuid(内部構造を解釈せずに扱う国の識別子)、prefix('+' と国際電話の国番号で始まる完全なプレフィックス)、name(カタログ名。引用符がバックスラッシュでエスケープされている場合があります)、metered、overflow、および needs_registration(boolean または number のフラグ。真と評価される値はすべて「はい」として扱ってください)、restrictions(登録が不要な場合は空。それ以外は要件のテキストで、HTML の改行やリンク、全体を囲む引用符、エスケープされた文字が含まれる場合があります。信頼できない表示用テキストとして扱ってください)、state(US、CA、PR では州コードで、不明な場合は空のリスト。それ以外の国ではその国の ISO コード)、country_iso、is_mobile(携帯電話番号グループでは 1、それ以外は 0)、number_type(group_key と同じ)、available(そのエントリについてカタログが報告する integer 型の件数。報告されていない場合は 0)、sms_coverage(いずれかの機能に SMS または MMS の記載がある場合は 1)、returns_numbers(特定の番号を一覧表示できる場合は 1)、next_function('v3/getnumbers/{uuid}' となるのは returns_numbers が 1 の場合で、それ以外は 'v3/order/{uuid}')、prices、features(機能を表す文字列のリスト)、group_key、group_type_uuid。各 prices エントリには、price_id(内部構造を解釈せずに扱うプラン識別子)、is_customer_custom(true となるのはアカウントに個別料金が適用される場合。チャネルが含まれていないプランのみ)、per_minute と free_minutes(小数を表す文字列)、setup_price と monthly_price(小数点以下が二桁の文字列)、および channels(プランに含まれるチャネル数を表す integer 型の値)があります。料金プランが一つもないエントリは省略されます。各リクエストで対象となるカタログエントリは、番号の種類ごとに最大1000件です。どの種類にもエントリがない場合、response は空のリストとなり、status.results は 0 になります。ライブカタログの検索に失敗した場合、レスポンスがこのエンベロープ形式にならなかったり、一部のグループが欠けたりする場合があります。
レスポンスの構造を示す例です。実際のアカウントデータや現在の見積もりではありません。
{
"status": {
"code": 200,
"msg": "",
"results": 1
},
"response": [
{
"group_key": "tollfree",
"group_name": "Toll-free",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1",
"items": [
{
"uuid": "0000000000000000000000000000b001",
"area_uuid": "0000000000000000000000000000a001",
"country_uuid": "0000000000000000000000000000c001",
"prefix": "+33800",
"name": "Example Toll-free",
"metered": true,
"overflow": 0,
"needs_registration": 0,
"restrictions": "",
"state": "FR",
"country_iso": "FR",
"is_mobile": 0,
"number_type": "tollfree",
"available": 10,
"sms_coverage": 0,
"returns_numbers": 1,
"next_function": "v3/getnumbers/0000000000000000000000000000b001",
"prices": [
{
"price_id": "0000000000000000000000000000d001",
"is_customer_custom": false,
"per_minute": "0.05",
"free_minutes": "0",
"setup_price": "0.00",
"monthly_price": "5.00",
"channels": 2
}
],
"features": ["voice"],
"group_key": "tollfree",
"group_type_uuid": "00000000-0000-4000-8000-0000000000a1"
}
]
}
]
}エラー
- 500: msg 'ISO Code parameter is required': isocode が指定されていないか、空白です。これは修正可能なリクエストエラーです。対応する HTTP ステータスは設定されません。
- 404: msg 'Error: no such country': 国が不明か、特殊番号カタログに関連付けられていません。対応する HTTP ステータスは設定されません。
- 401: 認証情報がないか、認証に失敗しました。HTTP ステータス 401 とともに返されます。
可用性と副作用
- 注文は行いません。このエンドポイントのコードには課金処理はありません。
- アカウントのカタログ詳細と料金見積もりを更新し、同じプランの以前の見積もりを置き換えます。注文エンドポイントがこれらの見積もりをどのように使用するかは、別途説明されています。
- 料金はアカウント固有で、個別料金が含まれる場合があります。レスポンスには通貨が明記されていません。
- ライブカタログを検索するため、他の検索呼び出しより時間がかかる場合があります。結果は呼び出しごとに変わる可能性があります。