RODEM 精算連携API

利用方法

OAuth2.0準拠の認証/認可を通してアクセストークンを取得し、そのアクセストークンを利用し精算連携APIで精算データを取得します。

認証に利用するclient id、client secretの発行につきましては、現状自動化されておりません。
認証画面からのリダイレクト先のURL(redirect uri)をご連絡いただき、それに対して発行させていただきます。
redirect uriは原則としてhttps環境のみの対応とさせていただきます。

※認可周辺については、OAuth2.0クライアントライブラリの利用を推奨します。

RODEMをご契約されていない場合

RODEMの無料トライアルをお申込みいただくことで精算連携APIも2ヶ月間無料でご利用可能です。
トライアルお申込後にAPI利用希望の旨をご連絡ください。

ご不明な点がありましたらこちらのフォームからお問い合わせください。

ページトップへ

API利用フロー

API利用フロー

ページトップへ

OAuth認可画面

GET /oauth/authorize

parameters

必須 名称 説明
client_id string 配布するclient_id
redirect_uri string 事前にいただき、登録済のリダイレクトURI
response_type string 用途に合わせたresponce_typeです
http://oauth.jp/blog/2015/01/06/oauth2-multiple-response-type/
scope string 「expense_read」にのみ対応しています。

response

名称 説明 データ例
code string アクセストークンを取得するためのcode  

RODEMのアクセス権許可画面に遷移後、「許可」を選択するとredirect_uriに設定したURLに対しクエリにcodeがついた形でGETリクエストが走ります。

example

/oauth/authorize?client_id=***************&redirect_uri=https%3a%2f%2flvh%2eme%3a3000%2foauth%2fcallback&response_type=code&scope=expense_read

ページトップへ

OAuth認証(初期アクセストークン発行)

POST /oauth/token

parameters

必須 名称 説明
client_id string 配布するclient_id
client_secret string 配布するclient_secret
redirect_uri string 事前にいただき、登録済のリダイレクトURI
grant_type string 「authorization_code」
code string 認証画面で取得したcode

response

名称 説明 データ例
access_token string 精算データ取得APIを利用するためのトークン  
expires_in number アクセストークン有効期限(秒) 3600
refresh_token string アクセストークンを再発行するためのトークン  

※取得したリフレッシュトークンを、連携システムで保存・管理してください。
アクセストークンは有効期限が短いため、APIを利用する場合はその都度、リフレッシュトークンを元に下記のアクセストークンの再発行を行うことをおすすめします。

ページトップへ

OAuth認証(リフレッシュトークンによるアクセストークン再発行)

POST /oauth/token

parameters

必須 名称 説明
client_id string 配布するclient_id
client_secret string 配布するclient_secret
grant_type string 「refresh_token」
refresh_token string リフレッシュトークン

response

名称 説明 データ例
access_token string 精算データ取得APIを利用するためのトークン  
expires_in number アクセストークン有効期限(秒) 3600
refresh_token string アクセストークンを再発行するためのトークン  

ページトップへ

精算データ取得

GET  /api/v1/expenses 

parameters

ヘッダ
必須 名称 説明
Authorization string アクセストークン
例: Bearer access_token
Accept string メディアタイプ
例:application/json
クエリ
必須 名称 説明
start_date string データ取得開始日(yyyymmdd)
end_date string データ取得終了日(yyyymmdd)
  offset integer データ取得開始位置(0…n) Default:0
  limit integer データ取得数(1…200) Default:200

response

名称 説明 データ例
  map ルート要素  
id integer ユーザーID  
total_expense_count integer 総精算データ件数  
offset integer データ開始位置のオフセット値  
expense_details array 精算データ配列  
expense_details / id integer 精算データID  
expense_details / updated_at string 精算データ更新日時 2016-09-30 13:56:00
expense_details / use_date string 利用日 2016-09-30
expense_details / price integer 料金(運賃+特急料金) 165
expense_details / distance integer 乗車距離 (100m単位) 105
expense_details / serialize_data string シリアライズデータ(駅すぱあとwebサービス用)  
expense_details / movement_start_time string 出発時刻(yyyy-mm-dd hh24:mi) 2016-09-30 13:56:00
expense_details / movement_end_time string 訪問先到着時刻(yyyy-mm-dd hh24:mi) 2016-09-30 13:56:00
expense_details / sojourn_time string 訪問先滞在時間(分) 60
expense_details / calendar_title string カレンダーのタイトル欄の文字列 [訪問地(企業名)]打ち合わせ
expense_details / flags map    
expense_details / flags / best_price boolean 最安フラグ TRUE/FALSE
expense_details / flags / best_time boolean 最早フラグ TRUE/FALSE
expense_details / flags / best_transfer boolean 最小乗換数フラグ TRUE/FALSE
expense_details / flags / with_teiki boolean 定期券利用有無 TRUE/FALSE
expense_details / flags / use_ic_card boolean IC カード利用有無 TRUE/FALSE
expense_details / flags / reroute boolean 当日のリルート有無 TRUE/FALSE
expense_details / course_detail map    
expense_details / course_detail / course_string string 経路 六本木-[都営大江戸線・都庁前・光が丘方面]-新宿-[JR中央線快速・豊田行き]-高円寺
expense_details / course_detail / from_name string 出発地(企業名) 自社
expense_details / course_detail / to_name string 訪問地(企業名) 株式会社ヴァル研究所
expense_details / course_detail / lines array 路線名配列  
expense_details / course_detail / lines / name string 路線名  
expense_details / course_detail / stations array 駅情報配列  
expense_details / course_detail / stations / name string 駅名  
expense_details / course_detail / stations / code int 駅コード  
expense_details / teiki_course string 登録定期券区間(※本明細登録時のものではなく、API出力時にユーザーの定期マスタに登録されている定期区間となります。)  

example

GET:/api/v1/expenses?start_date=20161201&end_date=20161220&offset=1&limit=1
{
  "id": 27,
  "total_expense_count": 2,
  "offset": 1,
  "expens_details": [
    {
      "id": 474,
      "updated_at": "2016-12-14T13:10:22.470+09:00",
      "use_date": "2016-12-18",
      "price": 154,
      "distance": 117,
      "serialize_data": "VkV4QaEBygLDAqYBM6K0A6YBM6K0BJHCAUMAAAACpgEzor...",
      "movement_start_time": "2016-12-18T13:09:00.000+09:00",
      "movement_end_time": "2016-12-18T14:00:00.000+09:00",
      "sojourn_time": 60,
      "calendar_title": "[株式会社◯◯]打ち合わせ",
      "flags": {
        "best_price": true,
        "best_time": true,
        "best_transfer": true,
        "with_teiki": true,
        "use_ic_card": true,
        "reroute": false
      },
      "course_detail": {
        "course_string": "自社-[徒歩]-高円寺-[JR総武線・津田沼行]-新宿-[JR山手線外回り・池袋・上野方面]-池袋-[徒歩]-株式会社◯◯",
        "from_name": "自社",
        "to_name": "株式会社◯◯",
        "lines": [
          {
            "name": "徒歩"
          },
          {
            "name": "JR総武線・津田沼行"
          },
          {
            "name": "JR山手線外回り・池袋・上野方面"
          },
          {
            "name": "徒歩"
          }
        ],
        "stations": [
          {
            "name": "高円寺",
            "code": "22671"
          },
          {
            "name": "新宿",
            "code": "22741"
          },
          {
            "name": "池袋",
            "code": "22513"
          }
        ]
      },
      "teiki_course": "桜台:西武池袋線:Up:池袋:JR山手線内回り:Down:新宿"
    }
  ]
}

ページトップへ