curl コマンドを利用して API を呼び出す
このページでは、例として SORACOM API で IoT SIM の情報を取得する操作を説明します。
ステップ 1: API キーと API トークンを発行する
SORACOM API を呼び出す際は、API キーと API トークンが必要です。詳しくは、API キーと API トークンを発行する を参照してください。
ステップ 2: API を呼び出し Subscriber の情報を取得する
次に、listSubscribers API を呼び出し、Subscriber の一覧を取得してみましょう。
先ほど取得した API キーと API トークンを、それぞれリクエストの X-Soracom-API-Key
ヘッダーと X-Soracom-Token
ヘッダーに指定して送信します。
$ curl -X GET \
-H "X-Soracom-API-Key: {先ほど取得した APIキー}" \
-H "X-Soracom-Token: {先ほど取得した API トークン}" \
https://api.soracom.io/v1/subscribers
# Response:
# 200 OK
#
# [
# {
# "imsi": "44010xxxxxxxxxx",
# "msisdn": "8180xxxxxxxx",
# :
# },
# :
# ]
Operator に Subscriber が 1 つでも登録されていれば、上記のように Subscriber の一覧が JSON 形式で取得できます。
ステップ 3: API を呼び出し Subscriber の速度クラスを変更する
続いて、この JSON に含まれる IMSI (International Mobile Subscriber Identity) を指定して、その IoT SIM の速度クラスを変更してみましょう。
$ curl -X POST \
-H "X-Soracom-API-Key: 先ほど取得した API Key" \
-H "X-Soracom-Token: 先ほど取得した Token" \
-H "Content-Type: application/json" \
-d "{\"speedClass\":\"s1.fast\"}" \
https://api.soracom.io/v1/subscribers/${SIMのIMSI}/update_speed_class
# Response:
# 200 OK
#
# {
# "imsi": "44010xxxxxxxxxx",
# "msisdn": "8180xxxxxxxx",
# :
# "speedClass": "s1.fast",
# :
# }
Response Code: 200 OK が返り、Response Body に含まれている IoT SIM の速度クラスが変更されていることが確認できます。
Windows のコマンドプロンプト (cmd.exe
) から API 呼び出しを行う場合、リクエストボディに JSON を指定するときに注意が必要です。コマンドプロンプトでは、""
(ダブルクォーテーション) で囲まれた文字列は ""
内の文字列だけが意味を持ち、文字列を囲んでいるダブルクォーテーションは削除されます。また、"
単体ではダブルクォーテーションの文字そのものとして解釈されます。
たとえば、JSON {"key":"value"}
を Windows のコマンドプロンプトでは "{"""key""":"""value"""}"
と書きます。
速度クラスを変更したときの注意事項については、IoT SIM の速度クラスを変更する を参照してください。