Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kamataryo/node-miopon
Wrapper of miopon API for Nodejs
https://github.com/kamataryo/node-miopon
Last synced: 3 days ago
JSON representation
Wrapper of miopon API for Nodejs
- Host: GitHub
- URL: https://github.com/kamataryo/node-miopon
- Owner: kamataryo
- License: mit
- Created: 2016-01-15T02:06:05.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-04-28T02:06:29.000Z (over 8 years ago)
- Last Synced: 2025-01-18T14:27:39.648Z (3 days ago)
- Language: CoffeeScript
- Size: 167 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-miopon
[](https://www.npmjs.com/package/node-miopon)
[![Build Status](https://travis-ci.org/KamataRyo/node-miopon.svg?branch=master)](https://travis-ci.org/KamataRyo/node-miopon)
[![npm version](https://badge.fury.io/js/node-miopon.svg)](https://badge.fury.io/js/node-miopon)
[![Dependency Status](https://david-dm.org/kamataryo/node-miopon.svg)](https://david-dm.org/kamataryo/node-miopon)
[![devDependency Status](https://david-dm.org/kamataryo/node-miopon/dev-status.svg)](https://david-dm.org/kamataryo/node-miopon#info=devDependencies)[IIJmioクーポンスイッチAPI](https://www.iijmio.jp/hdd/coupon/mioponapi.jsp)のNode.jsラッパーです。
oAuthとAPIへのアクセスをラップしています。実行にはデベロッパーIDとリダイレクトURIの指定が必要です。これらは公式サイトに従って登録してください。
[IIJmioクーポンスイッチAPIのご利用に当たって(IIJmioのサイト)](https://www.iijmio.jp/hdd/coupon/mioponapi.jsp#goriyou)## 実装
[](https://www.npmjs.com/package/node-miopon-cli)
[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').oAuthoAuth {
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.utilityclient_id = 'xxxxxxxxxxxxxxxxxxx'
access_token = 'yyyyyyyyyyyyyyyyyyy'# この例では、最初に全ての回線情報を取得しています
coupon.inform {
client_id
access_tokensuccess: ({information}) ->
# informationオブジェクトを整形
query = utility.querify {
information
couponUse: 'on'
filter: '0123'
}# このクエリでturnメソッドを実行
coupon.turn {
client_id
access_token
querysuccess: ->
console.log 'turn success!'failure: (err) ->
console.log err
}
}### 複雑なクーポン操作
miopon = require 'node-miopon'
coupon = new miopon.Coupon
utility = miopon.utilityclient_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
querysuccess: ->
console.log 'turn success!'
}