node-miopon

1.1.2 • Public • Published

node-miopon

アイコン

Build Status npm version Dependency Status devDependency Status

IIJmioクーポンスイッチAPIのNode.jsラッパーです。 oAuthとAPIへのアクセスをラップしています。

実行にはデベロッパーIDとリダイレクトURIの指定が必要です。これらは公式サイトに従って登録してください。 IIJmioクーポンスイッチAPIのご利用に当たって(IIJmioのサイト)

実装

アイコン [node-miopon-cli](https://www.npmjs.com/package/node-miopon-cli)

install

npm install node-miopon

APIs

node-mioponモジュールは、oAuthメソッド、コンストラクタ関数Coupon、コンテナオブジェクトutilityをメンバに持ちます。

oAuth

phantomjsでoAuthのやり取りを自動化します。

  • oAuth takes { mioID, mioPass, client_id, redirect_uri, success, failure }.
  • callback success will be called with {client_id, access_token, expires_in}.
  • callback failure will be called with a error object.

coupon.inform

回線の情報(ID、電話番号、クーポンを使用中か、etc.)を取得します。

  • coupon.inform takes {client_id, access_token, success, failure}.
  • callback success will be called with {information}.
  • callback failure will be called with a error object.

coupon.turn

クーポンの切り替えをします。

  • coupon.turn takes {client_id, access_token, query, success, failure}.
  • callback success will be called with no argument.
  • callback failure will be called with a error object.

utility.querify

informメソッドで得られたinformationオブジェクトを、turnメソッドで用いるqueryオブジェクトに整形します。

  • utility.querify takes {information, couponUse, filter} and returns query synchronously.
  • optional couponUse accepts..
    • 'on' or something to be evaluated as true
    • 'off' or something to be evaluated as false
  • optional filter accepts array or string of phone number(s) and filter query if provided. If not, all of the information will be querified.

utility.generateQuery

hdoServiceCodeを指定して、turnメソッドで用いるqueryオブジェクトを生成します。

  • utility.generateQuery takes {turnStates} and returns query synchronously.
  • turnStates should be a array of {hdoServiceCode: couponUse}

example

CoffeeScriptでの例

oAuthでaccess_tokenを取得

oAuth = require('node-miopon').oAuth

oAuth {
    mioID:     'aaaaaaaa'
    mioPass:   'bbbbbbbb'
    client_id: 'cccccccc' # デベロッパーID
    redirect_uri: 'ddddd'

    success: ({access_token})->
        console.log 'authorized!'

    failure: (err) ->
        console.log 'not authorized..'
        console.log err
}

電話番号'0123'のクーポンをオンにする

miopon = require 'node-miopon'
coupon = new miopon.Coupon
utility = miopon.utility

client_id    = 'xxxxxxxxxxxxxxxxxxx'
access_token = 'yyyyyyyyyyyyyyyyyyy'

# この例では、最初に全ての回線情報を取得しています
coupon.inform {
    client_id
    access_token

    success: ({information}) ->
        # informationオブジェクトを整形
        query = utility.querify {
            information
            couponUse: 'on'
            filter: '0123'
        }

        # このクエリでturnメソッドを実行
        coupon.turn {
            client_id
            access_token
            query

            success: ->
                console.log 'turn success!'

            failure: (err) ->
                console.log err
        }
}

複雑なクーポン操作

miopon = require 'node-miopon'
coupon = new miopon.Coupon
utility = miopon.utility

client_id    = 'xxxxxxxxxxxxxxxxxxx'
access_token = 'yyyyyyyyyyyyyyyyyyy'

# hdoServiceCodeはinformメソッドなどで取得しておきます
# この例では、3つのクーポンを扱っています
# XとYはクーポンを共有しています
# Zは、XYとはクーポンを共有していません
# XZをonにし、Yをoffにします
query = utility.generateQuery [
    {
        'hdoXXXXXXXX': 'on'
        'hdoYYYYYYYY': 'off'
    },{
        'hdoZZZZZZZZ': 'on'
    }
]

coupon.turn {
    client_id
    access_token
    query

    success: ->
        console.log 'turn success!'
}

Package Sidebar

Install

npm i node-miopon

Weekly Downloads

1

Version

1.1.2

License

MIT

Last publish

Collaborators

  • kamataryo