前回からの続きです。IIJmio のクーポンスイッチのウェブAPIを利用して高速通信クーポンのON/OFFを行うスクリプトを作成していきます。APIの仕様は下記のページに記載されています。
「IIJmioクーポンスイッチAPI」について
https://www.iijmio.jp/hdd/coupon/mioponapi.jsp
早速 API を見ながら作ってみたのが下記のコードです。hdoServiceCode は SIM に割り当てられているコードで、IIJmio の契約内容の確認の SIM カード情報の欄にあります。SIM はそんなに頻繁に入れ替えるものではないのでハードコーディングしてしまいます。A タイプの SIM を使っている場合は hdu で始まる SIM カード情報が入ってくるようです。その場合は HduServiceCode 側に SIM情報を入れる必要があります。また A タイプを使ってなくても空の HduServiceCode がないと API はエラーを返すようです。couponUse に True または False を入れるとスイッチの ON/OFF が切り替わります。
#coding: utf-8
import urllib.request
import urllib.parse
import json
coupon_url = "https://api.iijmio.jp/mobile/d/v2/coupon/"
token = 'ここにトークン'
devid = 'ここにデベロッパID'
headers = {
'X-IIJmio-Developer': devid,
'X-IIJmio-Authorization': token,
'Content-Type': 'application/json'
}
params = {
"couponInfo": [
{
"hdoInfo": [
{"hdoServiceCode": "hdoxxxxxxxx","couponUse": False},
],
"hduInfo": []
}
]
}
req = urllib.request.Request(coupon_url)
req.data = json.dumps(params).encode("utf-8")
req.headers = headers
req.method = 'put'
res = urllib.request.urlopen(req)
body = res.read()
print(body)
実行してみると {"returnCode": "OK"} が返ってきました。みおぽんアプリで実際にサービススイッチが切り替わっていることが確認できれば API は成功したと言ってよいと思います。
ここまで出来たら、次はクーポンスイッチを切り替えたことを Slack に通知を出したくなりました。次は Slack の chat.postMessage API を使って General チャンネルにクーポンスイッチを切り替えたことを知らせるメッセージの投稿部分を作りたいと思います。
ここまで出来たら、次はクーポンスイッチを切り替えたことを Slack に通知を出したくなりました。次は Slack の chat.postMessage API を使って General チャンネルにクーポンスイッチを切り替えたことを知らせるメッセージの投稿部分を作りたいと思います。