IIJmioモバイルサービスでは、お客様が用意したプログラムから各機能を操作するためのAPI機能を、実験的に提供しています。
本リファレンスでは、IIJmioクーポンスイッチAPIを利用するために必要な技術情報をご説明しています。
本ページの内容をすべてご確認いただいた上で、IIJmioクーポンスイッチAPIをご利用の際は、https://api.iijmio.jp/(新しいウインドウを開きます)よりログインの上、デベロッパIDを取得してください。
各アプリケーションからIIJmioクーポンスイッチAPIを利用する際には、デベロッパIDとアクセストークンが必要です。
使用許諾規約に同意の上、IIJmioクーポンスイッチAPIをご利用の際は、https://api.iijmio.jp/(新しいウインドウを開きます)よりデベロッパコンソールにログインし、デベロッパIDを取得してください。 デベロッパ登録には有効な mioID が必要です。
デベロッパコンソールでは以下の操作が可能です。
デベロッパコンソールにてリダイレクトURIを登録した後、以下の認可手順にそって取得できます。
IIJmioクーポンスイッチAPIのアクセストークン取得の仕組みはOAuth 2.0 Authorization FrameworkのImplicit Grantを元に構成されています。詳しくは OAuth 2.0 の RFC 6749, RFC6750 を参照してください。
パラメータ名 | 必須 | 指定する値 |
---|---|---|
response_type | ○ | "token" という固定文字列を指定してください。 |
client_id | ○ | デベロッパIDを指定してください。 |
redirect_uri | ○ | デベロッパコンソールで設定済みのリダイレクトURIを指定してください。 |
state | ○ | ユーザの認可後に行われるリダイレクト時にこの値が含まれます。任意の値を設定してください。 |
https://api.iijmio.jp/mobile/d/v1/authorization/?response_type=token&client_id=example_developer_idS&state=example_state&redirect_uri=jp.ad.iij.couponswitch%3A%2F%2Fcb |
パラメータ名 | 値 |
---|---|
access_token | アクセストークン文字列 |
token_type | アクセストークンの種類。常に "Bearer" という値が返却されます。 |
expires_in | アクセストークンが失効するまでの時間(秒) |
state | リクエスト時に指定された state 値が返却されます。このパラメータを使用してセッションが維持されていることを必ず確認してください。 |
パラメータ名 | 値 | |
---|---|---|
error | invalid_request | パラメータ不正 |
unsupported_response_type | サポート外のレスポンスタイプ | |
server_error | 認可サーバのエラー | |
error_description | エラー内容の詳細な説明 | |
state | リクエスト時に指定された state 値が返却されます。このパラメータを使用してセッションが維持されていることを必ず確認してください。 |
プロトコル | HTTP/1.1 (https 443/tcp) |
HTTPメソッド | GET または PUT |
リクエスト Content-Type | application/json |
レスポンス Content-Type | application/json |
APIサーバ | https://api.iijmio.jp/ |
クーポン残量照会・クーポンのON/OFF状態照会 | 1分間あたり5リクエスト |
クーポンのON/OFF | 1分間あたり1リクエスト |
データ利用量照会 | 1分間あたり5リクエスト(データ利用量は数時間毎に更新されます) |
メソッドとエンドポイント | GET https://api.iijmio.jp/mobile/d/v2/coupon/ |
必須ヘッダ | X-IIJmio-Developer: デベロッパIDを指定してください |
X-IIJmio-Authorization: アクセストークンを指定してください |
HTTP ステータスコード | 200 |
JSON | { "returnCode" : "OK", "couponInfo" : [ { "hddServiceCode": "hddXXXXXXXX", "plan" : "Light Start", "hdoInfo" : [ { "hdoServiceCode": "hdoXXXXXXXX", "number" : "080XXXXXXXX", "iccid" : "DN00XXXXXXXXXX", "regulation" : true, "sms" : true, "voice" : true, "couponUse" : true, "coupon" : [ { "volume": 100, "expire": null, "type": "sim" } ] }, ... ], "hduInfo" : [ { "hduServiceCode": "hduXXXXXXXX", "number" : "080XXXXXXXX", "iccid" : "XXXXXXXXXXXXXXXXXXX", "regulation" : true, "sms" : true, "voice" : true, "couponUse" : true, "coupon" : [ { "volume": 100, "expire": null, "type": "sim" } ] }, ... ], "coupon" : [ {"volume":100, "expire":"201312", type:"bundle"}, {"volume":200, "expire":"201401", type:"bundle"}, {"volume":0, "expire":"201312", type:"topup"}, {"volume":400, "expire":"201401", type:"topup"}, {"volume":0, "expire":"201402", type:"topup"}, {"volume":400, "expire":"201403", type:"topup"}, ], } ] } |
HTTP ステータスコード | 200 |
JSON | { "returnCode" : "OK", "couponInfo" : [ { "hddServiceCode": "hddXXXXXXXX", "plan" : "Eco Minimum", "hduInfo" : [ { "hduServiceCode": "hduXXXXXXXX", "number" : "080XXXXXXXX", "iccid" : "XXXXXXXXXXXXXXXXXXX", "regulation" : true, "sms" : true, "voice" : true, "couponUse" : true }, ... ], "history" : [ {"date": "20170101", "event": "add", "volume": 3000, "type": "bundle"}, {"date": "20170105", "event": "add", "volume": 1000, "type": "topup"} ], "remains": 50000 } ] } |
HTTP ステータスコード | 異常に応じたステータスコード |
JSON | { "returnCode" : (異常に応じたメッセージ) } |
データ | 型 | 説明 |
---|---|---|
returnCode | 文字列 | リターンコード |
plan | 文字列 | プラン名(Family Share, Minimum Start, Light Start, Eco Minimum, Eco Standard のいずれか) |
hddServiceCode | 文字列 | hddサービスコード |
hdoServiceCode | 文字列 | hdoサービスコード |
hduServiceCode | 文字列 | hduサービスコード |
number | 文字列 | 回線の電話番号 |
iccid | 文字列 | 回線のICCID |
regulation | 真偽値 | 通信規制中の場合に true, それ以外は false |
sms | 真偽値 | SMS機能付きの場合に true, それ以外は false(音声通話機能付きSIMカードの場合も true が返ります) |
voice | 真偽値 | 音声通話機能付きの場合に true, それ以外は false |
couponUse | 真偽値 | クーポン使用中(クーポンON)の場合に true, それ以外は false |
coupon | オブジェクト | クーポン残量(エコプランは返却しない) |
volume | 数値 | クーポン残量 (MB単位) |
expire | 文字列 | クーポン有効期限月 |
type | 文字列 | バンドルクーポンの場合に bundle, 追加クーポンの場合に topup, SIM内クーポンの場合に sim |
history | オブジェクト | クーポン上限値変更履歴 (エコプランの場合のみ返却) |
date | 文字列 | 日付 |
event | 文字列 | add (固定文字列) |
volume | 数値 | バンドルクーポン追加量 (MB単位) |
type | 文字列 | 追加タイプ (毎月1日のバンドルクーポン割り当てを表す bundle, 上限値変更を表す topup のいずれか) |
remains | 数値 | 当月のクーポン残量 (エコプランの場合のみ返却) |
HTTP ステータスコード | returnCode | 説明 |
---|---|---|
403 | X-IIJmio-Authorization is not found | X-IIJmio-Authorization ヘッダが指定されていなかった |
403 | X-IIJmio-Developer is not found | X-IIJmio-Developer ヘッダが指定されていなかった |
403 | Your application is not registered | X-IIJmio-Developer ヘッダに指定されたデベロッパIDが登録されていなかった(間違っている) |
405 | Method not allowed | HTTPメソッドが GET, PUT ではない |
413 | You send too large request | PUTされたデータのサイズが大きすぎる |
429 | Your application sends too many requests | X-IIJmio-Developer ヘッダに指定されたデベロッパIDを持つアプリケーション全体からのリクエスト数が上限を超過した |
429 | You send too many requests | X-IIJmio-Authorization ヘッダに指定されたユーザからのリクエスト数が上限を超過した |
403 | User Authorization Failure | X-IIJmio-Authorization ヘッダに指定されたアクセストークンでの認証ができなかった(再認証が必要) |
500 | Internal Server Error | サーバ側でエラーが発生した |
503 | We are under maintenance | サーバのメンテナンス中だった(しばらく待って再度お試しください) |
メソッドとエンドポイント | PUT https://api.iijmio.jp/mobile/d/v2/coupon/ |
必須ヘッダ | X-IIJmio-Developer: デベロッパIDを指定してください |
X-IIJmio-Authorization: アクセストークンを指定してください | |
Content-Type: application/json | |
JSON | { "couponInfo" : [ { "hdoInfo" : [ { "hdoServiceCode": "hdoXXXXXXXX", "couponUse" : true }, ... ], "hduInfo" : [ { "hduServiceCode": "hduXXXXXXXX", "couponUse" : true }, ... ] } ] } |
HTTP ステータスコード | 200 |
JSON | { "returnCode" : "OK" } |
HTTP ステータスコード | 異常に応じたステータスコード |
JSON | { "returnCode" : (異常に応じたメッセージ) } |
データ | 型 | 説明 |
---|---|---|
hdoServiceCode | 文字列 | hdoサービスコード |
hduServiceCode | 文字列 | hduサービスコード |
couponUse | 真偽値 | クーポンを使用する(クーポンONにする)の場合に true, 使用しない(クーポンOFFにする)場合に false を指定する |
HTTP ステータスコード | returnCode | 説明 |
---|---|---|
400 | Content-Type must be application/json | Content-Type の指定が application/json に指定されていなかった |
400 | Your data may not be json | リクエスト中のデータが JSON としてパースできなかった |
400 | Your data structure or data type is invalid | リクエスト中の JSON の形式または値の型が仕様と異なっていた |
403 | X-IIJmio-Authorization is not found | X-IIJmio-Authorization ヘッダが指定されていなかった |
403 | X-IIJmio-Developer is not found | X-IIJmio-Developer ヘッダが指定されていなかった |
403 | Your application is not registered | X-IIJmio-Developer ヘッダに指定されたデベロッパIDが登録されていなかった(間違っている) |
405 | Method not allowed | HTTPメソッドが GET, PUT ではない |
429 | Your application sends too many requests | X-IIJmio-Developer ヘッダに指定されたデベロッパIDを持つアプリケーション全体からのリクエスト数が上限を超過した |
429 | You send too many requests | X-IIJmio-Authorization ヘッダに指定されたユーザからのリクエスト数が上限を超過した |
403 | User Authorization Failure | X-IIJmio-Authorization ヘッダに指定されたアクセストークンでの認証ができなかった(再認証が必要) |
500 | Internal Server Error | サーバ側でエラーが発生した |
503 | We are under maintenance | サーバのメンテナンス中だった(しばらく待って再度お試しください) |
メソッドとエンドポイント | GET https://api.iijmio.jp/mobile/d/v2/log/packet/ |
必須ヘッダ | X-IIJmio-Developer: デベロッパIDを指定してください |
X-IIJmio-Authorization: アクセストークンを指定してください |
HTTP ステータスコード | 200 |
JSON | { "returnCode" : "OK" "packetLogInfo" : [ { "hddServiceCode": "hddXXXXXXXX", "plan" : "Light Start", "hdoInfo" : [ { "hdoServiceCode": "hdoXXXXXXXX", "packetLog" : [ { "date": "20131101", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131102", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131103", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131104", "withCoupon": 0, "withoutCoupon": 0 }, ... ] }, ... ], "hduInfo" : [ { "hduServiceCode": "hduXXXXXXXX", "packetLog" : [ { "date": "20131101", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131102", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131103", "withCoupon": 50, "withoutCoupon": 50 }, { "date": "20131104", "withCoupon": 0, "withoutCoupon": 0 }, ... ] }, ... ] } ] } |
HTTP ステータスコード | 異常に応じたステータスコード |
JSON | { "returnCode" : (異常に応じたメッセージ) } |
データ | 型 | 説明 |
---|---|---|
returnCode | 文字列 | リターンコード |
hddServiceCode | 文字列 | hddサービスコード |
plan | 文字列 | プラン名(Family Share, Minimum Start, Light Start, Eco Minimum, Eco Standard のいずれか) |
hdoServiceCode | 文字列 | hdoサービスコード |
hduServiceCode | 文字列 | hduサービスコード |
date | 文字列 | 通信を行った日付 |
withCoupon | 数値 | クーポン使用状態でのデータ利用量(MB単位) |
withoutCoupon | 数値 | クーポン不使用状態でのデータ利用量(MB単位) |
HTTP ステータスコード | returnCode | 説明 |
---|---|---|
403 | X-IIJmio-Authorization is not found | X-IIJmio-Authorization ヘッダが指定されていなかった |
403 | X-IIJmio-Developer is not found | X-IIJmio-Developer ヘッダが指定されていなかった |
403 | Your application is not registered | X-IIJmio-Developer ヘッダに指定されたデベロッパIDが登録されていなかった(間違っている) |
405 | Method not allowed | HTTPメソッドが GET ではない |
429 | Your application sends too many requests | X-IIJmio-Developer ヘッダに指定されたデベロッパIDを持つアプリケーション全体からのリクエスト数が上限を超過した |
429 | You send too many requests | X-IIJmio-Authorization ヘッダに指定されたユーザからのリクエスト数が上限を超過した |
403 | User Authorization Failure | X-IIJmio-Authorization ヘッダに指定されたアクセストークンでの認証ができなかった(再認証が必要) |
500 | Internal Server Error | サーバ側でエラーが発生した |
503 | We are under maintenance | サーバのメンテナンス中だった(しばらく待って再度お試しください) |
IIJmioクーポンスイッチAPIについて、ご不明な点がございましたら、@iijmioまでお問い合わせください。