目録へ戻る

EXE別解説

未取り込み注文取得EXE使い方

GetUnimportedOrders.exe

ShopServe 未取り込み注文取得EXE使い方

外部プログラムから起動して使用します。

・起動方法
 GetUnimportedOrders.exe uid=会員ID since=注文検索開始日時 [until=注文検索終了日時] [unimported_only=0/1]

例)指定日時以降の未取り込み注文を取得
 GetUnimportedOrders.exe uid=testuser since=20260901000000

例)検索期間を指定して未取り込み注文を取得
 GetUnimportedOrders.exe uid=testuser since=20260901000000 until=20260930235959

例)DB照合を行わず、ShopServeから取得した注文をすべて出力
 GetUnimportedOrders.exe uid=testuser since=20260901000000 until=20260930235959 unimported_only=0

*uid にはShopServeの会員IDを指定してください。会員IDは完全一致で検索します。
*since は必須です。yyyyMMddHHmmss形式で指定してください。
*until は省略できます。省略した場合は、プログラム実行時点までを検索します。
*until を指定する場合は、yyyyMMddHHmmss形式でsince以降の日時を指定してください。
*unimported_only は0または1で指定してください。省略時は1です。

・unimported_onlyについて
unimported_only=1 の場合、ShopServeから取得した注文のcapture_keyをDBのT_注文.capture_keyと照合し、
DBに存在しない注文だけを標準出力に出力します。

unimported_only=0 の場合、DB照合を行わず、ShopServeから取得した注文をすべて標準出力に出力します。

同じorder_noの注文がDBに存在する場合でも、取得したcapture_keyがDBに存在しなければ未取り込みとして出力します。

・処理内容
ShopServe 注文情報検索APIを呼び出し、指定された会員IDおよび注文日時に該当する注文を取得します。
検索対象の保存先フォルダは以下の2種類です。

* InProgress(処理中取引)
* Completed(完了取引)

Cancelled(キャンセル取引)およびInTrash(ゴミ箱に入れた取引)は検索対象外です。
取得対象はcapture_key、order_no、ordered_at、basic.payment_amount.used_pointです。

ShopServe APIの制約により、2年以上前の注文は検索できません。
sinceに検索可能範囲より前の日時が指定された場合は、検索可能な最古日時へ自動的に調整します。
調整した内容はログに出力します。

・標準出力
取得結果は標準出力に出力します。
1注文につき1行で、項目区切りはタブ、データ区切りは改行です。
ヘッダ行は出力しません。

出力形式:
 capture_key<TAB>order_no<TAB>ordered_at<TAB>used_point

出力例:
 7xFmihCFzA==	12345678	2026-09-29 12:34:56	100
 7xFmihCFzB==	12345679	2026-09-29 12:40:01	0

*ordered_atはyyyy-MM-dd HH:mm:ss形式で出力します。
*used_pointが未設定の場合は0を出力します。
*ポイントを使用していない注文も出力対象です。
*出力順はShopServe APIから返却された順番です。
*該当する注文がない場合、または未取り込み注文がない場合、標準出力は空です。

内部エラーの場合:
 エラーメッセージ

・取得件数の上限
1回の実行でShopServeから取得する注文は最大100件です。
ページングは行いません。

検索条件に該当する注文が100件を超えた場合も、APIから取得できた先頭100件だけを処理し、ExitCode=0で終了します。
この場合、検索結果総件数、API取得件数、先頭100件のみ取得した旨をログに出力します。

unimported_only=1の場合も、DB照合の対象はAPIから取得できた先頭100件だけです。
101件目以降に未取り込み注文が存在しても、このプログラムでは検出できません。

・終了コード
API呼び出しおよび必要なDB照合に成功した場合はExitCode=0です。
該当する注文がなく標準出力が空の場合もExitCode=0です。
検索結果が100件を超え、先頭100件のみを処理した場合もExitCode=0です。

入力エラー、DB接続エラー、API通信エラー、JSON解析エラーなどが発生した場合はExitCode=9です。
ExitCode<>0のときは、StandardOutput.ReadToEndからエラー理由を取得できます。

・エラーについて
内部エラーとして扱う主な例:

* uid 未指定
* uid が80文字を超過
* since 未指定
* since またはuntilの形式不正
* untilがsinceより前
* unimported_onlyが0、1以外
* common.config が存在しない
* DB接続エラー
* API認証情報の取得失敗
* API通信エラー
* JSON解析エラー

エラー内容はログ、および標準出力に出力します。

・ログについて
ログは他のShopServe API連携EXEと同じく、EXE配置フォルダ配下のLogフォルダへ日付別に出力します。
会員IDは伏字にせず記録します。

主に以下の内容を記録します。

* 会員ID、検索開始日時、検索終了日時、unimported_only
* 検索開始日時を検索可能範囲へ調整した場合の指定日時と調整後日時
* 検索結果総件数、API取得件数
* DB照合件数、取込済件数、未取り込み出力件数
* DB照合なしの場合の出力件数
* 検索結果が100件を超えた場合の警告
* エラー内容

Other Documents

他のEXE別解説

EXE別解説

GetWebData.exe

ShopServeから注文情報を取得し、DBへ取り込みます。

詳細を開く

EXE別解説

PutPoint.exe

ShopServe会員のポイントを加算、または減算します。

詳細を開く

EXE別解説

GetPoint.exe

ShopServe会員のポイント情報を取得し、有効ポイントとポイント有効期限を標準出力に出力します。

詳細を開く

EXE別解説

PutShipping.exe

ShopServe注文のお届け先発送情報を更新します。

詳細を開く

EXE別解説

GetPaymentStatus.exe

ShopServe注文の決済状況を取得し、決済ステータスの日本語表記を含めて標準出力に出力します。

詳細を開く

EXE別解説

ReqPayment.exe

ShopServe注文の決済依頼を行い、処理結果を標準出力にタブ区切りで出力します。

詳細を開く