logo 受注ゲッターR

概要

受注ゲッターR は、受注APIを利用し受注情報の一覧をCSVファイルに出力するツールです。

_images/process.png

特徴

  • RMSログイン、FTP不要
    PC(*1)上で動作しますので、簡単操作で受注一覧を取得できます。
  • 過去2年分の受注情報取得可能(*2)
    受注APIを使用しますので、2年前(730日前)の受注情報を取得できます。
  • 定期的に自動実行可能
    シンプルなコマンドのため、Windowsのタスクスケジューラで自動実行出来ます。
  • 出力項目を自由に変更可能
    どの項目を出力するか設定ファイルで定義出来ます。
(*1) Windows, MacOS Xに対応
(*2) 2017/03時点の情報となります。

実行方法

前提

事前に、licenseKey と serviceSecret の発行が必要です。RMSにてご確認お願いします。
発行した、licenseKey と serviceSecret は、 setting.ini に設定してください

setting.ini sample

[global]

# 処理結果
outDir = ./data

# ログファイル
logDir = ./logs

[api]

# アプリケーションID
serviceSecret =
licenseKey =
shopUrl =


# RPay API
RPay = 1

# getOrder version
# 1: 2018/02版
# 2: 2018/11版
# 3: 2019/07版
# 4: 共通の送料込ライン
# 5: 領収書、前払い期限
# 6: 顧客・配送対応注意表示
# 7: SKU対応
getOrderVersion = 3

Windowsの場合(例)

  1. コマンドプロンプトを開く

  2. OrderGetterR.exe が存在する場所に移動する

cd C:\Users\username\Downloads\OrderGetterR-Windows
  1. コマンドを実行する

OrderGetterR.exe input.txt
  1. 出力結果を確認する
    同じディレクトリの、dataディレクトリ配下に作成されます。

MacOSの場合(例)

  1. Terminalを開く

  2. OrderGetterR が存在する場所に移動する

cd ~/Downloads/OrderGetterR-macOS
  1. コマンドを実行する

./OrderGetterR input.txt
  1. 出力結果を確認する
    同じディレクトリの、dataディレクトリ配下に作成されます。

Linux等の場合(例)

  1. RepositoryをCloneする

$ git clone https://github.com/tm-softworks/OrderGetterR.git
  1. OrderGetterR が存在する場所に移動する

$ cd OrderGetterR
  1. 必要なライブラリをInstallする

$ pip install -r requirements.txt
  1. コマンドを実行する

$ python3 src/OrderGetterR.py input.txt
  1. 出力結果を確認する
    同じディレクトリの、dataディレクトリ配下に作成されます。

入力ファイル

入力ファイルに、取得する受注情報の検索条件と、出力項目を指定します。
配布物に同梱されている input.txt または、 input_rpay.txt ファイルをコピーしてご利用ください。

検索条件

受注ゲッターR は、受注APIと同じ検索条件を指定できます。
指定可能な検索条件の詳細は、RMS の 一括受注情報取得(getOrder) の「リクエスト」を参照してください。
受注情報取得リクエストモデル(getOrderRequestModel) より下の階層の条件を指定できます。

なお、期間FROM と 期間TO については、日時を直接指定する以外に、
今月、先月、過去○日 を指定することが可能です。
詳細は、 期間指定について を参照ください

項目によって指定可能な条件が異なります。

任意の文字列を指定可能な条件の場合

以下の検索条件では、任意の文字列を指定可能です。

# ひとことメモ(文字列)
comment =

決まった値のみ指定可能な条件の場合

以下の検索条件では、1, 2, 3 のどれかのみ指定可能です。

# 期間検索種別(数字)
# 1: 注文日
# 2: 入金日
# 3: 発送日
dateType = 1

複数指定可能な条件の場合

複数指定可能な条件は、カンマで区切ることにより、複数の条件を指定可能です。

以下の検索条件では、受注番号がyyyyyy-20170101-0100000000 または yyyyyy-20170101-0200000000 である受注情報を取得します。

# 受注番号(文字列) ※複数指定する場合は、カンマ区切り(例: xxxx-yyyyy-zzzzz,aaaaa-bbbbb-ccccc)
orderNumber = 111111-20170101-0100000000,111111-20170101-0200000000
期間指定について

検索条件(期間FROM と 期間TO を直接指定)

以下の検索条件では、注文日が 2017/01/01 00:00:00 〜 2017/01/14 23:59:59 の受注情報を取得します

#################################################
##
## 検索条件 開始
##
[getOrderRequestModel]

# 注文情報取得フラグ(1 or 0)
# 1: 受注番号のみ取得
# 0: 受注情報を取得
# 指定無し: 受注情報を取得
isOrderNumberOnlyFlg =

# 受注番号(文字列) ※複数指定する場合は、カンマ区切り(例: xxxx-yyyyy-zzzzz,aaaaa-bbbbb-ccccc)
orderNumber =

[getOrderRequestModel.orderSearchModel]

# 受注ステータス(文字列) ※複数指定する場合は、カンマ区切り(例: 新規受付,保留)
status =

# 期間検索種別(数字)
# 1: 注文日
# 2: 入金日
# 3: 発送日
dateType = 1

# 期間FROM (yyyy/MM/dd HH:mm:ss   例: 2017/01/01 01:00:00)
startDate = 2017/01/01 00:00:00

# 期間TO (yyyy/MM/dd HH:mm:ss   例: 2017/01/10 23:59:59)
endDate = 2017/01/14 23:59:59

検索条件(今月)

以下の検索条件では、発送日が 今月 の受注情報を取得する

####
[general]

# 今月(1 or 0)
thisMonth = 1

#################################################
##
## 検索条件 開始
##
[getOrderRequestModel]

# 注文情報取得フラグ(1 or 0)
# 1: 受注番号のみ取得
# 0: 受注情報を取得
# 指定無し: 受注情報を取得
isOrderNumberOnlyFlg =

# 受注番号(文字列) ※複数指定する場合は、カンマ区切り(例: xxxx-yyyyy-zzzzz,aaaaa-bbbbb-ccccc)
orderNumber =

[getOrderRequestModel.orderSearchModel]

# 受注ステータス(文字列) ※複数指定する場合は、カンマ区切り(例: 新規受付,保留)
status =

# 期間検索種別(数字)
# 1: 注文日
# 2: 入金日
# 3: 発送日
dateType = 3

検索条件(過去14日間)

以下の検索条件では、入金日が 14日前 〜 現在まで の受注情報を取得する

####
[general]

# 期間(数字)
# 0: 当日の00:00 - 現在日時
# 1: 前日の00:00 - 現在日時
# 6: 6日前の00:00 - 現在日時
# n: n日前の00:00 - 現在日時
period = 14

#################################################
##
## 検索条件 開始
##
[getOrderRequestModel]

# 注文情報取得フラグ(1 or 0)
# 1: 受注番号のみ取得
# 0: 受注情報を取得
# 指定無し: 受注情報を取得
isOrderNumberOnlyFlg =

# 受注番号(文字列) ※複数指定する場合は、カンマ区切り(例: xxxx-yyyyy-zzzzz,aaaaa-bbbbb-ccccc)
orderNumber =

[getOrderRequestModel.orderSearchModel]

# 受注ステータス(文字列) ※複数指定する場合は、カンマ区切り(例: 新規受付,保留)
status =

# 期間検索種別(数字)
# 1: 注文日
# 2: 入金日
# 3: 発送日
dateType = 2
受注APIの制限について

受注API には、一回のリクエストで取得できる件数に以下の制限があります。

  • 受注番号のみを取得する場合は15000 件

  • 詳細情報も含めて取得する場合は5000 件

そのため、最大件数を超過しないように、受注API 1回の呼び出して指定する期間の長さを適切に指定して下さい。

例えば、検索条件で指定した期間のの受注件数が5,000件以上 かつ 1日の受注件数が5,000件未満の場合は、duration に 86400 を設定する
検索条件で指定した期間のの受注件数が5,000件以上 かつ 1日の受注件数が5,000件以上になる可能性がある場合は、43200 を設定するなど。
# 受注API 1回の呼び出しで指定する期間の長さ(sec)
# * 受注APIの上限を超過しないような長さを指定して下さい
#
# 例) period=1, duration=86400 を指定した場合、以下の2回呼び出しを実施します
#     1. 前日の00:00 - 前日の23:59:59
#     2. 当日の00:00 - 現在日時
#
# 3600:  1時間
# 86400: 1日
duration = 86400

出力項目

受注ゲッターR は、出力するCSVファイルの項目をカスタマイズすることが出来ます。
受注APIと同じ出力項目を指定できます。(ただし、子注文には対応していません)
指定可能な出力項目の詳細は、RMS の 一括受注情報取得(getOrder) の「レスポンス」を参照してください。

出力項目は、受注APIのレスポンスのモデル毎に定義します。
以下のように指定します。
出力する項目 = CSVの項目名
# で始まる項目は出力しません。

以下の例では、受注番号、受注ステータス、注文日時を出力します。 決済ステータス、入金日、配送日については、#で始まっているため、出力しません。

#################################################
##
## 出力情報 開始
##

[output.orderModel]
orderNumber = 受注番号
status = 受注ステータス
orderDate = 注文日時
# cardStatus = 決済ステータス
# paymentDate = 入金日
# shippingDate = 配送日

以下の例では、orderNumber、status、orderDate、shippingDate を出力します。 決済ステータス、入金日については、#で始まっているため、出力しません。

#################################################
##
## 出力情報 開始
##

[output.orderModel]
orderNumber = orderNumber
status = status
orderDate = orderDate
# cardStatus = 決済ステータス
# paymentDate = 入金日
shippingDate = shippingDate

FAQ

その他・有償サポート

受注ゲッターR の初期設定、定期サポート、カスタマイズにつきましては、有償にて承ります。

お問い合わせ

ご質問、ご相談などございましたら、お気軽にお問い合わせ下さい。

検索