アカウントとプロジェクトへのアクセス
許可された IP アドレスから、有効な API アカウントを使用して HTTPS 経由でアクセスしてください。プロジェクトはそのアカウントに属し、削除されていない必要があります。データベース上の数値 ID や電話番号ではなく、番号移行注文のワークフローで得られるプロジェクト固有の ID を使用してください。リクエストを組み立てる際は、プロジェクト ID を URL エンコードしてください。
リクエスト
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"このエンドポイントは、リクエスト本文、ページ分割、日付フィルターを読み取りません。
レスポンス
架空のレスポンス例です。
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}外側の status.code は API の処理結果を示します。一方、別の項目である response.status は、プロジェクトの番号移行状態から導かれる概要を示します。この二つを混同しないでください。
概要はすべての番号の結果を表すものではありません
概要では、該当する状態の番号が一つでもあれば In Progress が選ばれます。該当する番号がなければ、Pending、Completed、Rejected の順に、該当する番号がある最初の状態が選ばれます。既知の状態に一致するものがなければ、既定値の Pending になります。そのため、完了した番号と拒否された番号が混在するプロジェクトでは、拒否された番号が残っていても Completed が返されます。
プロジェクト全体が終了したと判断する前に、必ず件数と個々の番号の一覧を確認してください。 counts.total には、プロジェクト内のすべての番号の行が含まれます。ほかのカウンターが対象とするのは既知の四つの状態値のみで、それ以外の値がある場合、これらの合計が総件数と一致しないことがあります。番号が一つもないプロジェクトでは、各カウンターはゼロ、概要は Pending になります。
番号移行状態の読み取り方
| 値 | ラベル |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
状態の数値を保持し、未知の値も扱えるようにしてください。未知のラベルについては、新しいラベルが必ず返されるわけではなく、保存されている値が代わりに使用されます。完了状態や予定日が保存されているだけでは、着信ルーティングやその番号のすべてのサービスがテストされたことにはなりません。
エラーと制限
HTTP レスポンスと status.code/status.msg の両方を確認してください。プロジェクトが存在しない場合、削除されている場合、またはそのアカウントに属していない場合は、プロジェクトが見つからないことを示すメッセージとともに API コード 404 が返されます。認証と送信元 IP アドレスの制限も適用されます。これらの例は実際のリクエストを送信しません。また、成功レスポンスが返されても、通信事業者が番号移行を受け付けた、または完了した証拠にはなりません。
実行による影響
このエンドポイントは、保存されているプロジェクトの件数を読み取ります。確認済みのハンドラーでは、番号移行の申請、状態の変更、発信の開始、アカウント残高からの引き落としは行いません。通信事業者へのリアルタイムのポーリングや Webhook の購読機能も提供しません。