Soracom

Users

開発者向けツール

SORACOM API Sandbox を利用して架空の SIM を作成し登録する

ステップ 1: 本番環境で SAM ユーザーを準備する 

Sandbox 環境では、本番環境とユーザーアカウント (オペレーター) や SIM (サブスクライバー) の情報などを共有しません。

ただし、本番環境にアカウントを持っていることを確認させていただく必要があるので、あらかじめ本番環境において SAM ユーザーを作成し、認証キーを生成しておいてください。

  • この SAM ユーザーに対しては権限の付与は必要ありません。
  • この SAM ユーザーで本番環境のコンソールにログインできるようにする必要もありません。
  • 誤った操作を防止するため、何の権限も持たずコンソールにもログインできない、Sandbox 認証専用 SAM ユーザーを作成されることを推奨いたします。

SAM ユーザーの作成方法や認証キーの生成方法は アクセス管理 (SORACOM Access Management:SAM) を参照してください。

Sandbox 環境を利用するための準備としての本番環境側での SAM ユーザーの作成を行う必要があるのは、最初の一度だけです。一度 SAM ユーザーと認証キーを作成したら、以降はそれを繰り返し利用できます。

ステップ 2: Sandbox 環境でオペレーターを作成する 

本番環境で SAM ユーザーを作成し認証キーを生成したら、Sandbox 環境での作業に移ります。

ここからの作業は、Sandbox 環境を利用するときは毎回行う必要のある準備です。API を直接呼び出す方法と、SORACOM CLI を利用する方法を紹介します。

まず Sandbox 専用のオペレーターを作成します。

しかし、Sandbox 環境用のコンソール画面はありませんので、API を用いてオペレーターを作成します。以下のように /v1/sandbox/init API を呼び出すことでオペレーターを作成してください。

$ curl -X POST \
     -H "Content-Type: application/json" \
     -d "{ \"email\": \"email@example.com\", \"password\": \"superStrongP@ssw0rd\", \"authKeyId\": \"<本番環境の SAM ユーザーの 認証キーID>\", \"authKey\": \"<本番環境の SAM ユーザーの認証キーシークレット>\", \"registerPaymentMethod\": true }" \
     https://api-sandbox.soracom.io/v1/sandbox/init

# Response:
# 201 Created
# {
#   "operatorId": "OPXXXXXXXXXX",
#   "apiKey": "<ランダムな文字列>",
#   "token": "<ランダムな文字列>"
# }

ここで使用するメールアドレスは毎回異なるものを使用してください。Gmail を使用している場合、username+<ランダムな文字列>@gmail.com というように、ユーザー名の後ろに + 記号で好きな文字列を付け加えることができますのでそういった機能を利用するとよいでしょう。

また、API の戻り値として API キーと API トークンが返されます。以降の API 呼び出しには、この API トークンを使ってください。(API キーは変化しません)

この時点で架空の支払情報 (テスト用のクレジットカード番号) が登録済みなので、以後は任意の API を呼び出すことができるようになっています。

SORACOM CLI を利用することで Sandbox 環境へのオペレーター作成や、その後の API 呼び出しがより簡単にできます。SORACOM CLI のインストール方法は SORACOM CLI 利用ガイド を参照してください。

SORACOM CLI のインストール後、以下のコマンドで Sandbox 環境へのオペレーター作成ができます。ホームディレクトリ配下に .soracom ディレクトリがなければ作成し、そこにファイル sandbox.json を作成します。

$ soracom configure-sandbox

入力を求められる各項目には以下を指定します。

項目
Please select which coverage type to use.検証したいカバレッジタイプに応じて指定します
authKeyId本番環境の SAM ユーザーの 認証キー ID
authKey本番環境の SAM ユーザーの認証キーシークレット
email使用するメールアドレス (毎回変更してください)
password使用するパスワード

以後、--profile sandbox オプションを付けることで Sandbox 環境に対する API を実行できます。

$ soracom subscribers list --profile sandbox

また、架空の SIM やクーポンを作成するといった Sandbox 専用のコマンドも以下のように実行できます。コマンドの一覧は soracom sandbox --help で確認してください。

$ soracom sandbox subscribers create --profile sandbox
$ soracom sandbox coupons create --profile sandbox
--profile sandbox オプションを付けないとデフォルトのプロファイルに対して API を実行します。解約や発注といった API を試す際には十分に注意してください。

ステップ 3: 架空の SIM を作成し登録する 

API を呼び出すためには、API による操作対象の SIM が必要です。Sandbox 環境に SIM を登録しましょう。 SIM を登録するには IMSI とパスコードが必要です。 Sandbox 環境では、実際の SIM の情報を登録する代わりに、架空の SIM を生成してから登録するという手順を踏みます。

まずは以下の Sandbox 専用 API で架空の SIM を生成します。

$ curl -X POST https://api-sandbox.soracom.io/v1/sandbox/subscribers/create

# Response:
# 200 OK
# {
#   "imsi": "生成された SIM の IMSI",
#   "msisdn": "生成された SIM の MSISDN",
#   "registrationSecret": "生成された SIM を登録するときに必要なパスコード",
#      :
# }

ここで作成した架空の SIM を、以下のように通常の API でアカウントに登録します。

$ curl -X POST \
     -H "Content-Type: application/json" \
     -H "X-Soracom-API-Key: </v1/sandbox/init で入手した API キー>"  \
     -H "X-Soracom-Token: </v1/sandbox/init で入手した API トークン>" \
     -d "{\"registrationSecret\": \"上で取得したパスコード\"}" \
     https://api-sandbox.soracom.io/v1/subscribers/{上で生成した SIM のIMSI}/register

# Response:
# 200 OK
# {
#   "imsi": "登録された SIM の IMSI",
#   "msisdn": "登録された SIM の MSISDN",
#      :
# }

必要な SIM の枚数分だけ create と register を繰り返してください。

ここまで準備できれば、SIM に対して様々な API を呼び出すことができます。

例として、今登録したばかりの SIM の一覧を取得してみましょう。

$ curl -X GET \
     -H "Content-Type: application/json" \
     -H "X-Soracom-API-Key: </v1/sandbox/init で入手した apiKey>" \
     -H "X-Soracom-Token: </v1/sandbox/init で入手した token>" \
     https://api-sandbox.soracom.io/v1/subscribers

# Response:
# 200 OK
# [
#   {
#     "imsi": "00101xxxxxxxxxx",
#     "msisdn": "99xxxxxxxxxx",
#     "ipAddress": "10.xxx.xxx.xxx",
#     "operatorId": "OP00xxxxxxxx",
#     "apn": "soracom-sandbox.io",
#     "type": "s1.standard",
#      :
#   }
# ]

SIM だけではなく Group や Event Handler など SORACOM API リファレンス に記載のほとんどの API を呼び出すことが可能です。