pokepay_partner_ruby_sdk 0.1.19 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -8
  3. data/docs/index.md +1060 -222
  4. data/lib/pokepay_partner_ruby_sdk/client.rb +11 -1
  5. data/lib/pokepay_partner_ruby_sdk/request/get_account_transfer_summary.rb +15 -0
  6. data/lib/pokepay_partner_ruby_sdk/request/get_bulk_transaction.rb +5 -5
  7. data/lib/pokepay_partner_ruby_sdk/request/get_private_money_summary.rb +15 -0
  8. data/lib/pokepay_partner_ruby_sdk/request/get_transaction_by_request_id.rb +15 -0
  9. data/lib/pokepay_partner_ruby_sdk/request/list_transactions_v2.rb +2 -2
  10. data/lib/pokepay_partner_ruby_sdk/request/list_transfers_v2.rb +15 -0
  11. data/lib/pokepay_partner_ruby_sdk/request/request_user_stats.rb +16 -0
  12. data/lib/pokepay_partner_ruby_sdk/response/account.rb +1 -2
  13. data/lib/pokepay_partner_ruby_sdk/response/account_detail.rb +3 -2
  14. data/lib/pokepay_partner_ruby_sdk/response/{account_status.rb → account_transfer_summary.rb} +3 -3
  15. data/lib/pokepay_partner_ruby_sdk/response/account_transfer_summary_element.rb +17 -0
  16. data/lib/pokepay_partner_ruby_sdk/response/account_with_user.rb +1 -2
  17. data/lib/pokepay_partner_ruby_sdk/response/account_without_private_money_detail.rb +1 -2
  18. data/lib/pokepay_partner_ruby_sdk/response/bulk_transaction_job.rb +42 -0
  19. data/lib/pokepay_partner_ruby_sdk/response/campaign.rb +2 -0
  20. data/lib/pokepay_partner_ruby_sdk/response/check.rb +6 -0
  21. data/lib/pokepay_partner_ruby_sdk/response/paginated_bulk_transaction_job.rb +16 -0
  22. data/lib/pokepay_partner_ruby_sdk/response/paginated_transfers_v2.rb +19 -0
  23. data/lib/pokepay_partner_ruby_sdk/response/private_money_summary.rb +27 -0
  24. data/lib/pokepay_partner_ruby_sdk/response/unpermitted_admin_user.rb +13 -0
  25. data/lib/pokepay_partner_ruby_sdk/response/user_stats_operation.rb +25 -0
  26. data/lib/pokepay_partner_ruby_sdk/response/user_stats_operation_service_unavailable.rb +13 -0
  27. data/lib/pokepay_partner_ruby_sdk/version.rb +1 -1
  28. data/lib/pokepay_partner_ruby_sdk.rb +15 -1
  29. data/partner.yaml +1315 -184
  30. data/pokepay_partner_ruby_sdk.gemspec +1 -1
  31. metadata +19 -6
data/docs/index.md CHANGED
@@ -157,8 +157,8 @@ response.body
157
157
  ## API Operations
158
158
 
159
159
  - [GetCpmToken](#get-cpm-token): CPMトークンの状態取得
160
- - [ListTransactions](#list-transactions): 取引履歴を取得する
161
- - [CreateTransaction](#create-transaction): チャージする(廃止予定)
160
+ - [ListTransactions](#list-transactions): 【廃止】取引履歴を取得する
161
+ - [CreateTransaction](#create-transaction): 【廃止】チャージする
162
162
  - [ListTransactionsV2](#list-transactions-v2): 取引履歴を取得する
163
163
  - [CreateTopupTransaction](#create-topup-transaction): チャージする
164
164
  - [CreatePaymentTransaction](#create-payment-transaction): 支払いする
@@ -167,7 +167,11 @@ response.body
167
167
  - [CreateExchangeTransaction](#create-exchange-transaction):
168
168
  - [GetTransaction](#get-transaction): 取引情報を取得する
169
169
  - [RefundTransaction](#refund-transaction): 取引をキャンセルする
170
+ - [GetTransactionByRequestId](#get-transaction-by-request-id): リクエストIDから取引情報を取得する
171
+ - [RequestUserStats](#request-user-stats): 指定期間内の顧客が行った取引の統計情報をCSVでダウンロードする
172
+ - [GetAccountTransferSummary](#get-account-transfer-summary):
170
173
  - [ListTransfers](#list-transfers):
174
+ - [ListTransfersV2](#list-transfers-v2):
171
175
  - [CreateCheck](#create-check): チャージQRコードの発行
172
176
  - [CreateTopupTransactionWithCheck](#create-topup-transaction-with-check): チャージQRコードを読み取ることでチャージする
173
177
  - [ListBills](#list-bills): 支払いQRコード一覧を表示する
@@ -182,13 +186,13 @@ response.body
182
186
  - [DeleteAccount](#delete-account): ウォレットを退会する
183
187
  - [ListAccountBalances](#list-account-balances): エンドユーザーの残高内訳を表示する
184
188
  - [ListAccountExpiredBalances](#list-account-expired-balances): エンドユーザーの失効済みの残高内訳を表示する
185
- - [UpdateCustomerAccount](#update-customer-account): ウォレット情報を更新する
189
+ - [UpdateCustomerAccount](#update-customer-account): エンドユーザーのウォレット情報を更新する
186
190
  - [GetCustomerAccounts](#get-customer-accounts): エンドユーザーのウォレット一覧を表示する
187
- - [CreateCustomerAccount](#create-customer-account): 新規エンドユーザーウォレットを追加する
191
+ - [CreateCustomerAccount](#create-customer-account): 新規エンドユーザーをウォレットと共に追加する
188
192
  - [GetShopAccounts](#get-shop-accounts): 店舗ユーザーのウォレット一覧を表示する
189
193
  - [ListCustomerTransactions](#list-customer-transactions): 取引履歴を取得する
190
194
  - [ListShops](#list-shops): 店舗一覧を取得する
191
- - [CreateShop](#create-shop): 新規店舗を追加する(廃止予定)
195
+ - [CreateShop](#create-shop): 【廃止】新規店舗を追加する
192
196
  - [CreateShopV2](#create-shop-v2): 新規店舗を追加する
193
197
  - [GetShop](#get-shop): 店舗情報を表示する
194
198
  - [UpdateShop](#update-shop): 店舗情報を更新する
@@ -196,6 +200,7 @@ response.body
196
200
  - [CreateUserAccount](#create-user-account): エンドユーザーのウォレットを作成する
197
201
  - [GetPrivateMoneys](#get-private-moneys): マネー一覧を取得する
198
202
  - [GetPrivateMoneyOrganizationSummaries](#get-private-money-organization-summaries): 決済加盟店の取引サマリを取得する
203
+ - [GetPrivateMoneySummary](#get-private-money-summary): 取引サマリを取得する
199
204
  - [BulkCreateTransaction](#bulk-create-transaction): CSVファイル一括取引
200
205
  - [CreateExternalTransaction](#create-external-transaction): ポケペイ外部取引を作成する
201
206
  - [RefundExternalTransaction](#refund-external-transaction): ポケペイ外部取引をキャンセルする
@@ -209,7 +214,7 @@ response.body
209
214
  CPMトークンの現在の状態を取得します。CPMトークンの有効期限やCPM取引の状態を返します。
210
215
  ```ruby
211
216
  response = $client.send(Pokepay::Request::GetCpmToken.new(
212
- "C0yIYDrOmfZvcfCdES8HHJ" # cpm_token: CPMトークン
217
+ "lMKFHkTHEGRWUBVUZa1rmA" # cpm_token: CPMトークン
213
218
  ))
214
219
  ```
215
220
 
@@ -227,22 +232,22 @@ CPM取引時にエンドユーザーが店舗に提示するバーコードを
227
232
  ---
228
233
  成功したときは[CpmToken](#cpm-token)オブジェクトを返します
229
234
  <a name="list-transactions"></a>
230
- #### 取引履歴を取得する
235
+ #### 【廃止】取引履歴を取得する
231
236
  取引一覧を返します。
232
237
  ```ruby
233
238
  response = $client.send(Pokepay::Request::ListTransactions.new(
234
- from: "2023-04-24T17:11:07.000000+09:00", # 開始日時
235
- to: "2024-11-07T01:32:00.000000+09:00", # 終了日時
239
+ from: "2024-08-03T15:38:40.000000+09:00", # 開始日時
240
+ to: "2017-05-16T05:26:01.000000+09:00", # 終了日時
236
241
  page: 1, # ページ番号
237
242
  per_page: 50, # 1ページ分の取引数
238
243
  shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
239
244
  customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # エンドユーザーID
240
245
  customer_name: "太郎", # エンドユーザー名
241
246
  terminal_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 端末ID
242
- transaction_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 取引ID
247
+ transaction_id: "UF6ihvl", # 取引ID
243
248
  organization_code: "pocketchange", # 組織コード
244
249
  private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
245
- is_modified: true, # キャンセルフラグ
250
+ is_modified: false, # キャンセルフラグ
246
251
  types: ["topup", "payment"], # 取引種別 (複数指定可)、チャージ=topup、支払い=payment
247
252
  description: "店頭QRコードによる支払い" # 取引説明文
248
253
  ))
@@ -343,14 +348,11 @@ response = $client.send(Pokepay::Request::ListTransactions.new(
343
348
  ---
344
349
  `transaction_id`
345
350
  ```json
346
- {
347
- "type": "string",
348
- "format": "uuid"
349
- }
351
+ { "type": "string" }
350
352
  ```
351
353
  取引IDです。
352
354
 
353
- フィルターとして使われ、指定された取引のみ一覧に表示されます。
355
+ フィルターとして使われ、指定された取引IDに部分一致(前方一致)する取引のみが一覧に表示されます。
354
356
 
355
357
  ---
356
358
  `organization_code`
@@ -439,17 +441,17 @@ response = $client.send(Pokepay::Request::ListTransactions.new(
439
441
  ---
440
442
  成功したときは[PaginatedTransaction](#paginated-transaction)オブジェクトを返します
441
443
  <a name="create-transaction"></a>
442
- #### チャージする(廃止予定)
444
+ #### 【廃止】チャージする
443
445
  チャージ取引を作成します。このAPIは廃止予定です。以降は `CreateTopupTransaction` を使用してください。
444
446
  ```ruby
445
447
  response = $client.send(Pokepay::Request::CreateTransaction.new(
446
448
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
447
449
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
448
450
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
449
- money_amount: 1212,
450
- point_amount: 5173,
451
- point_expires_at: "2022-02-09T19:38:20.000000+09:00", # ポイント有効期限
452
- description: "C5y2HNrP34hD1uxIbudPgKcAH4LqtvnYdJrsgVxWy0PirB5ccKSjPsnaJy0xSUaUZ3KYipGveNp11WiSr08uCzB0JSt7hZNL6cvcqBnhGnyRs1ZbgEX46DL0EY9Dfg2K2KSBJ32yceHkpeJS53rQYr"
451
+ money_amount: 969,
452
+ point_amount: 895,
453
+ point_expires_at: "2023-04-29T23:13:39.000000+09:00", # ポイント有効期限
454
+ description: "uoOEnKr"
453
455
  ))
454
456
  ```
455
457
 
@@ -471,20 +473,20 @@ response = $client.send(Pokepay::Request::CreateTransaction.new(
471
473
  取引一覧を返します。
472
474
  ```ruby
473
475
  response = $client.send(Pokepay::Request::ListTransactionsV2.new(
474
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
476
+ private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
475
477
  organization_code: "pocketchange", # 組織コード
476
478
  shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
477
479
  terminal_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 端末ID
478
480
  customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # エンドユーザーID
479
481
  customer_name: "太郎", # エンドユーザー名
480
482
  description: "店頭QRコードによる支払い", # 取引説明文
481
- transaction_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 取引ID
483
+ transaction_id: "Nj", # 取引ID
482
484
  is_modified: false, # キャンセルフラグ
483
485
  types: ["topup", "payment"], # 取引種別 (複数指定可)、チャージ=topup、支払い=payment
484
- from: "2019-08-22T02:18:51.000000+09:00", # 開始日時
485
- to: "2022-04-21T22:06:05.000000+09:00", # 終了日時
486
- next_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 次のページへ遷移する際に起点となるtransactionのuuid
487
- prev_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 前のページへ遷移する際に起点となるtransactionのuuid
486
+ from: "2024-12-04T20:21:27.000000+09:00", # 開始日時
487
+ to: "2023-09-19T17:27:20.000000+09:00", # 終了日時
488
+ next_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 次ページへ遷移する際に起点となるtransactionのID
489
+ prev_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 前ページへ遷移する際に起点となるtransactionのID
488
490
  per_page: 50 # 1ページ分の取引数
489
491
  ))
490
492
  ```
@@ -512,7 +514,7 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
512
514
  ```
513
515
  組織コードです。
514
516
 
515
- フィルターとして使われ、指定された組織での取引のみ一覧に表示されます。
517
+ フィルターとして使われ、指定された組織の店舗での取引のみ一覧に表示されます。
516
518
 
517
519
  ---
518
520
  `shop_id`
@@ -548,7 +550,7 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
548
550
  ```
549
551
  エンドユーザーIDです。
550
552
 
551
- フィルターとして使われ、指定されたエンドユーザーでの取引のみ一覧に表示されます。
553
+ フィルターとして使われ、指定されたエンドユーザーの取引のみ一覧に表示されます。
552
554
 
553
555
  ---
554
556
  `customer_name`
@@ -577,14 +579,11 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
577
579
  ---
578
580
  `transaction_id`
579
581
  ```json
580
- {
581
- "type": "string",
582
- "format": "uuid"
583
- }
582
+ { "type": "string" }
584
583
  ```
585
584
  取引IDです。
586
585
 
587
- フィルターとして使われ、指定された取引のみ一覧に表示されます。
586
+ フィルターとして使われ、指定された取引IDに部分一致(前方一致)する取引のみが一覧に表示されます。
588
587
 
589
588
  ---
590
589
  `is_modified`
@@ -603,7 +602,11 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
603
602
  "type": "array",
604
603
  "items": {
605
604
  "type": "string",
606
- "enum": [ "topup", "payment", "exchange_outflow", "exchange_inflow", "cashback" ]
605
+ "enum": {
606
+ "topup": "payment",
607
+ "exchange_outflow": "exchange_inflow",
608
+ "cashback": "expire"
609
+ }
607
610
  }
608
611
  }
609
612
  ```
@@ -619,13 +622,20 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
619
622
 
620
623
  3. exchange-outflow
621
624
  他マネーへの流出
625
+ private_money_idが指定されたとき、そのマネーから見て流出方向の交換取引が抽出されます。
626
+ private_money_idを省略した場合は表示されません。
622
627
 
623
628
  4. exchange-inflow
624
629
  他マネーからの流入
630
+ private_money_idが指定されたとき、そのマネーから見て流入方向の交換取引が抽出されます。
631
+ private_money_idを省略した場合は表示されません。
625
632
 
626
633
  5. cashback
627
634
  退会時返金取引
628
635
 
636
+ 6. expire
637
+ 退会時失効取引
638
+
629
639
  ---
630
640
  `from`
631
641
  ```json
@@ -658,9 +668,11 @@ response = $client.send(Pokepay::Request::ListTransactionsV2.new(
658
668
  "format": "uuid"
659
669
  }
660
670
  ```
661
- 次のページへ遷移する際に起点となるtransactionのuuid(前のページの末尾の要素のuuid)です。
671
+ 次ページへ遷移する際に起点となるtransactionのID(前ページの末尾要素のID)です。
672
+ 本APIのレスポンスにもnext_page_cursor_idが含まれており、これがnull値の場合は最後のページであることを意味します。
673
+ UUIDである場合は次のページが存在することを意味し、このnext_page_cursor_idをリクエストパラメータに含めることで次ページに遷移します。
662
674
 
663
- prev_page_cursor_idのtransaction自体は次のページには含まれない。
675
+ next_page_cursor_idのtransaction自体は次のページには含まれません。
664
676
 
665
677
  ---
666
678
  `prev_page_cursor_id`
@@ -670,9 +682,12 @@ prev_page_cursor_idのtransaction自体は次のページには含まれない
670
682
  "format": "uuid"
671
683
  }
672
684
  ```
673
- 前のページへ遷移する際に起点となるtransactionのuuid(次のページの先頭の要素のuuid)です。
685
+ 前ページへ遷移する際に起点となるtransactionのID(次ページの先頭要素のID)です。
686
+
687
+ 本APIのレスポンスにもprev_page_cursor_idが含まれており、これがnull値の場合は先頭のページであることを意味します。
688
+ UUIDである場合は前のページが存在することを意味し、このprev_page_cursor_idをリクエストパラメータに含めることで前ページに遷移します。
674
689
 
675
- next_page_cursor_idのtransaction自体は前のページには含まれない。
690
+ prev_page_cursor_idのtransaction自体は前のページには含まれません。
676
691
 
677
692
  ---
678
693
  `per_page`
@@ -680,7 +695,7 @@ next_page_cursor_idのtransaction自体は前のページには含まれない
680
695
  {
681
696
  "type": "integer",
682
697
  "minimum": 1,
683
- "maximum": 100
698
+ "maximum": 1000
684
699
  }
685
700
  ```
686
701
  1ページ分の取引数です。
@@ -698,9 +713,9 @@ response = $client.send(Pokepay::Request::CreateTopupTransaction.new(
698
713
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # customer_id: エンドユーザーのID
699
714
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
700
715
  bear_point_shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # ポイント支払時の負担店舗ID
701
- money_amount: 3318, # マネー額
702
- point_amount: 9708, # ポイント額
703
- point_expires_at: "2023-10-20T19:24:03.000000+09:00", # ポイント有効期限
716
+ money_amount: 4113, # マネー額
717
+ point_amount: 1839, # ポイント額
718
+ point_expires_at: "2023-11-03T06:21:47.000000+09:00", # ポイント有効期限
704
719
  description: "初夏のチャージキャンペーン", # 取引履歴に表示する説明文
705
720
  metadata: "{\"key\":\"value\"}", # 取引メタデータ
706
721
  request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
@@ -842,7 +857,7 @@ response = $client.send(Pokepay::Request::CreatePaymentTransaction.new(
842
857
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 店舗ID
843
858
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # customer_id: エンドユーザーID
844
859
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
845
- 5365, # amount: 支払い額
860
+ 7737, # amount: 支払い額
846
861
  description: "たい焼き(小倉)", # 取引履歴に表示する説明文
847
862
  metadata: "{\"key\":\"value\"}", # 取引メタデータ
848
863
  products: [{"jan_code":"abc",
@@ -850,16 +865,6 @@ response = $client.send(Pokepay::Request::CreatePaymentTransaction.new(
850
865
  "unit_price":100,
851
866
  "price": 100,
852
867
  "is_discounted": false,
853
- "other":"{}"}, {"jan_code":"abc",
854
- "name":"name1",
855
- "unit_price":100,
856
- "price": 100,
857
- "is_discounted": false,
858
- "other":"{}"}, {"jan_code":"abc",
859
- "name":"name1",
860
- "unit_price":100,
861
- "price": 100,
862
- "is_discounted": false,
863
868
  "other":"{}"}], # 商品情報データ
864
869
  request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
865
870
  ))
@@ -978,9 +983,9 @@ CPMトークンに設定されたスコープの取引を作ることができ
978
983
 
979
984
  ```ruby
980
985
  response = $client.send(Pokepay::Request::CreateCpmTransaction.new(
981
- "lhP5RwfRsdmSnnsKFojcLO", # cpm_token: CPMトークン
986
+ "jDxtxrgs7e0dkiAAa8jwX6", # cpm_token: CPMトークン
982
987
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 店舗ID
983
- 3648, # amount: 取引金額
988
+ 7305.0, # amount: 取引金額
984
989
  description: "たい焼き(小倉)", # 取引説明文
985
990
  metadata: "{\"key\":\"value\"}", # 店舗側メタデータ
986
991
  products: [{"jan_code":"abc",
@@ -1100,7 +1105,7 @@ response = $client.send(Pokepay::Request::CreateTransferTransaction.new(
1100
1105
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # sender_id: 送金元ユーザーID
1101
1106
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # receiver_id: 受取ユーザーID
1102
1107
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
1103
- 1909, # amount: 送金額
1108
+ 8870.0, # amount: 送金額
1104
1109
  metadata: "{\"key\":\"value\"}", # 取引メタデータ
1105
1110
  description: "たい焼き(小倉)", # 取引履歴に表示する説明文
1106
1111
  request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
@@ -1202,8 +1207,8 @@ response = $client.send(Pokepay::Request::CreateExchangeTransaction.new(
1202
1207
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1203
1208
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1204
1209
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1205
- 1214,
1206
- description: "rZaaP5zVuitJAWBnMTQrqQLb4F279GcsdDtM3uSEYbuaOy1AtJbZFvX4DTrnYj6rE9HuWGm5xmBEPErYjV24xKSbfZiVFE1mx2zGT1xfUftI30JyBIPqdC",
1210
+ 6442.0,
1211
+ description: "LCB1XlvzBazSCE1hEG2EkkP2VIPy7HW7Ee7skB9BB1YNClE0n87A30l6vspNWH9u8x4Yq2mxjIub5W9d4fa79SnOHSfjKkp3QkI11kPUOWIOCC9XRXSkWvgwMdC6YsQVBM615BSLRTB4phpjbt6QHeDKxXdEg3OxGlsZaVSpjoQ6ffYAe6kpXiCTiSBUIe5iqIMOcjy",
1207
1212
  request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
1208
1213
  ))
1209
1214
  ```
@@ -1259,27 +1264,185 @@ response = $client.send(Pokepay::Request::GetTransaction.new(
1259
1264
  ```ruby
1260
1265
  response = $client.send(Pokepay::Request::RefundTransaction.new(
1261
1266
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # transaction_id: 取引ID
1262
- description: "返品対応のため" # 取引履歴に表示する返金事由
1267
+ description: "返品対応のため", # 取引履歴に表示する返金事由
1268
+ returning_point_expires_at: "2020-06-14T12:44:07.000000+09:00" # 返却ポイントの有効期限
1263
1269
  ))
1264
1270
  ```
1271
+
1272
+ ---
1273
+ `returning_point_expires_at`
1274
+ ```json
1275
+ {
1276
+ "type": "string",
1277
+ "format": "date-time"
1278
+ }
1279
+ ```
1280
+ ポイント支払いを含む支払い取引をキャンセルする際にユーザへ返却されるポイントの有効期限です。デフォルトでは未指定です。
1281
+
1282
+ ---
1265
1283
  成功したときは[TransactionDetail](#transaction-detail)オブジェクトを返します
1284
+ <a name="get-transaction-by-request-id"></a>
1285
+ #### リクエストIDから取引情報を取得する
1286
+ 取引を取得します。
1287
+ ```ruby
1288
+ response = $client.send(Pokepay::Request::GetTransactionByRequestId.new(
1289
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # request_id: リクエストID
1290
+ ))
1291
+ ```
1292
+
1293
+ ---
1294
+ `request_id`
1295
+ ```json
1296
+ {
1297
+ "type": "string",
1298
+ "format": "uuid"
1299
+ }
1300
+ ```
1301
+ 取引作成時にクライアントが生成し指定するリクエストIDです。
1302
+
1303
+ リクエストIDに対応する取引が存在すればその取引を返し、無ければNotFound(404)を返します。
1304
+
1305
+ ---
1306
+ 成功したときは[TransactionDetail](#transaction-detail)オブジェクトを返します
1307
+ <a name="request-user-stats"></a>
1308
+ #### 指定期間内の顧客が行った取引の統計情報をCSVでダウンロードする
1309
+ 期間を指定して、期間内に発行マネーの全顧客が行った取引の総額・回数などをCSVでダウンロードする機能です。
1310
+ CSVの作成は非同期で行われるため完了まで少しの間待つ必要がありますが、完了時にダウンロードできるURLをレスポンスとして返します。
1311
+ このURLの有効期限はリクエスト日時から7日間です。
1312
+
1313
+ ダウンロードできるCSVのデータは以下のものです。
1314
+
1315
+ * organization_code: 取引を行った組織コード
1316
+ * private_money_id: 取引されたマネーのID
1317
+ * private_money_name: 取引されたマネーの名前
1318
+ * user_id: 決済したユーザーID
1319
+ * user_external_id: 決済したユーザーの外部ID
1320
+ * payment_money_amount: 指定期間内に決済に使ったマネーの総額
1321
+ * payment_point_amount: 指定期間内に決済に使ったポイントの総額
1322
+ * payment_transaction_count: 指定期間内に決済した回数。キャンセルされた取引は含まない
1323
+
1324
+ また、指定期間より前の決済を時間をおいてキャンセルした場合などには payment_money_amount, payment_point_amount, payment_transaction_count が負の値になることもあることに留意してください。
1325
+ ```ruby
1326
+ response = $client.send(Pokepay::Request::RequestUserStats.new(
1327
+ "2019-01-18T03:32:22.000000+09:00", # from: 集計期間の開始時刻
1328
+ "2024-09-16T20:10:59.000000+09:00" # to: 集計期間の終了時刻
1329
+ ))
1330
+ ```
1331
+
1332
+ ---
1333
+ `from`
1334
+ ```json
1335
+ {
1336
+ "type": "string",
1337
+ "format": "date-time"
1338
+ }
1339
+ ```
1340
+ 集計する期間の開始時刻をISO8601形式で指定します。
1341
+ 時刻は現在時刻、及び `to` で指定する時刻以前である必要があります。
1342
+
1343
+ ---
1344
+ `to`
1345
+ ```json
1346
+ {
1347
+ "type": "string",
1348
+ "format": "date-time"
1349
+ }
1350
+ ```
1351
+ 集計する期間の終了時刻をISO8601形式で指定します。
1352
+ 時刻は現在時刻、及び `from` で指定する時刻の間である必要があります。
1353
+
1354
+ ---
1355
+ 成功したときは[UserStatsOperation](#user-stats-operation)オブジェクトを返します
1356
+ ### Transfer
1357
+ <a name="get-account-transfer-summary"></a>
1358
+ ####
1359
+ ウォレットを指定して取引明細種別毎の集計を返す
1360
+ ```ruby
1361
+ response = $client.send(Pokepay::Request::GetAccountTransferSummary.new(
1362
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
1363
+ from: "2024-12-27T07:40:11.000000+09:00", # 集計期間の開始時刻
1364
+ to: "2025-04-08T20:21:35.000000+09:00", # 集計期間の終了時刻
1365
+ transfer_types: ["topup", "payment"] # 取引明細種別 (複数指定可)
1366
+ ))
1367
+ ```
1368
+
1369
+ ---
1370
+ `account_id`
1371
+ ```json
1372
+ {
1373
+ "type": "string",
1374
+ "format": "uuid"
1375
+ }
1376
+ ```
1377
+ ウォレットIDです。
1378
+
1379
+ ここで指定したウォレットIDの取引明細レベルでの集計を取得します。
1380
+
1381
+ ---
1382
+ `transfer_types`
1383
+ ```json
1384
+ {
1385
+ "type": "array",
1386
+ "items": {
1387
+ "type": "string",
1388
+ "enum": {
1389
+ "payment": "topup",
1390
+ "campaign-topup": "use-coupon",
1391
+ "refund-payment": "refund-topup",
1392
+ "refund-campaign": "refund-coupon",
1393
+ "exchange-inflow": "exchange-outflow",
1394
+ "refund-exchange-inflow": "refund-exchange-outflow"
1395
+ }
1396
+ }
1397
+ }
1398
+ ```
1399
+ 取引明細の種別でフィルターします。
1400
+ 以下の種別を指定できます。
1401
+
1402
+ - payment
1403
+ エンドユーザーから店舗への送金取引(支払い取引)
1404
+ - topup
1405
+ 店舗からエンドユーザーへの送金取引(チャージ取引)
1406
+ - campaign-topup
1407
+ キャンペーンによるエンドユーザーへのポイント付与取引(ポイントチャージ)
1408
+ - use-coupon
1409
+ 支払い時のクーポン使用による値引き取引
1410
+ - refund-payment
1411
+ 支払い取引に対するキャンセル取引
1412
+ - refund-topup
1413
+ チャージ取引に対するキャンセル取引
1414
+ - refund-campaign
1415
+ キャンペーンによるポイント付与取引に対するキャンセル取引
1416
+ - refund-coupon
1417
+ クーポン使用による値引き取引に対するキャンセル取引
1418
+ - exchange-inflow
1419
+ 交換による他マネーからの流入取引
1420
+ - exchange-outflow
1421
+ 交換による他マネーへの流出取引
1422
+ - refund-exchange-inflow
1423
+ 交換による他マネーからの流入取引に対するキャンセル取引
1424
+ - refund-exchange-outflow
1425
+ 交換による他マネーへの流出取引に対するキャンセル取引
1426
+
1427
+ ---
1428
+ 成功したときは[AccountTransferSummary](#account-transfer-summary)オブジェクトを返します
1266
1429
  <a name="list-transfers"></a>
1267
1430
  ####
1268
1431
  ```ruby
1269
1432
  response = $client.send(Pokepay::Request::ListTransfers.new(
1270
- from: "2022-08-08T05:35:45.000000+09:00",
1271
- to: "2019-06-03T05:41:38.000000+09:00",
1272
- page: 3134,
1273
- per_page: 394,
1433
+ from: "2024-11-08T00:10:16.000000+09:00",
1434
+ to: "2021-09-21T12:28:04.000000+09:00",
1435
+ page: 4030,
1436
+ per_page: 3629,
1274
1437
  shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1275
- shop_name: "nTRvriMMqT8Y2wPxWWXEUoqg0zXsuvc8LF4mbP1h",
1438
+ shop_name: "qDn2oMYRFh8cqnV2spFoKb7jYgx3gTJKy6dBb3ykYYVRZ4jdyfDGYQa0QPCC60HT399N8hkxoSQFYDUU0HuG332kYdREQC39nZBUv4F8J7UzyDYEv7bctcmIqdmvTV8RBzp0gixsKZWoUeORL98QDv9TW",
1276
1439
  customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1277
- customer_name: "PDbNVjct5yQNjVn35rDh040vhQYw5VlT5PtGoiFuhhxPNxJedAo6IB1JwI4HtHPlHFEuPGo3GkdygOOVSyzQqeTxBrSdGB4t2pP3KohbOZsA8epkaCTJpPbbkD",
1440
+ customer_name: "tonru5DxxR1kiR4daTST401zYU9O5bmxo5R8HDeIrg38UDixRQOsOxJyiut30oRsSLi4FAWjvNFlMGhO7MjoFiHLtN9Yqy7R5Sel4rqjqD6mB2gz0FIdNSbIrXOBo1I3rdkLB5vuUQlHHWHdfJKJGJOe4o3A7Ast7GZKKewMQbpvWdRIf0j2",
1278
1441
  transaction_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1279
1442
  private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
1280
- is_modified: true,
1281
- transaction_types: ["payment", "exchange", "topup"],
1282
- transfer_types: ["payment", "coupon", "topup", "exchange"], # 取引明細の種類でフィルターします。
1443
+ is_modified: false,
1444
+ transaction_types: ["expire", "cashback", "topup", "payment", "exchange"],
1445
+ transfer_types: ["payment", "transfer", "campaign", "expire", "coupon", "cashback", "topup", "exchange"], # 取引明細の種類でフィルターします。
1283
1446
  description: "店頭QRコードによる支払い" # 取引詳細説明文
1284
1447
  ))
1285
1448
  ```
@@ -1339,6 +1502,272 @@ response = $client.send(Pokepay::Request::ListTransfers.new(
1339
1502
 
1340
1503
  ---
1341
1504
  成功したときは[PaginatedTransfers](#paginated-transfers)オブジェクトを返します
1505
+ <a name="list-transfers-v2"></a>
1506
+ ####
1507
+ ```ruby
1508
+ response = $client.send(Pokepay::Request::ListTransfersV2.new(
1509
+ shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
1510
+ shop_name: "bzWuGj28bjzoMkUfQZyG6ql9kvIc3ugQfVcwKEOAlMUYblAnOJUw5uYgLUj2LWIHcZ5Kh7Upt9fM2ThdFR4ZGmC3lYSdkRdIHlBo7iM", # 店舗名
1511
+ customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # エンドユーザーID
1512
+ customer_name: "slQeLzTg9FCP6boJkANEWZ0xko5rtXdkjCZ6KXkiMx1kHTVbpRx79qoFTViWGk7rsKgu2ihoMxDsfU3TC1A8fV5nkzyaMo6HNFjN16Mt1NNT0LSnWyLCIiaSmxOiabyCFBUZkKwMvzRhZdC9PIbxRIokrSMcAe6DLpfhwjho9qAj035em2B0e1zQxL4LWrEkUrKUADYa", # エンドユーザー名
1513
+ transaction_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 取引ID
1514
+ private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
1515
+ is_modified: false, # キャンセルフラグ
1516
+ transaction_types: ["expire", "payment", "topup", "exchange"], # 取引種別 (複数指定可)、チャージ=topup、支払い=payment
1517
+ next_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 次ページへ遷移する際に起点となるtransferのID
1518
+ prev_page_cursor_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 前ページへ遷移する際に起点となるtransferのID
1519
+ per_page: 50, # 1ページ分の取引数
1520
+ transfer_types: ["cashback", "coupon", "transfer", "topup"], # 取引明細種別 (複数指定可)
1521
+ description: "店頭QRコードによる支払い", # 取引詳細説明文
1522
+ from: "2022-12-06T00:04:18.000000+09:00", # 開始日時
1523
+ to: "2018-02-12T04:05:18.000000+09:00" # 終了日時
1524
+ ))
1525
+ ```
1526
+
1527
+ ---
1528
+ `shop_id`
1529
+ ```json
1530
+ {
1531
+ "type": "string",
1532
+ "format": "uuid"
1533
+ }
1534
+ ```
1535
+ 店舗IDです。
1536
+
1537
+ フィルターとして使われ、指定された店舗での取引のみ一覧に表示されます。
1538
+
1539
+ ---
1540
+ `shop_name`
1541
+ ```json
1542
+ {
1543
+ "type": "string",
1544
+ "maxLength": 256
1545
+ }
1546
+ ```
1547
+ 店舗名です。
1548
+
1549
+ フィルターとして使われ、入力された名前に部分一致する店舗での取引のみ一覧に表示されます。
1550
+
1551
+ ---
1552
+ `customer_id`
1553
+ ```json
1554
+ {
1555
+ "type": "string",
1556
+ "format": "uuid"
1557
+ }
1558
+ ```
1559
+ エンドユーザーIDです。
1560
+
1561
+ フィルターとして使われ、指定されたエンドユーザーの取引のみ一覧に表示されます。
1562
+
1563
+ ---
1564
+ `customer_name`
1565
+ ```json
1566
+ {
1567
+ "type": "string",
1568
+ "maxLength": 256
1569
+ }
1570
+ ```
1571
+ エンドユーザー名です。
1572
+
1573
+ フィルターとして使われ、入力された名前に部分一致するエンドユーザーでの取引のみ一覧に表示されます。
1574
+
1575
+ ---
1576
+ `transaction_id`
1577
+ ```json
1578
+ {
1579
+ "type": "string",
1580
+ "format": "uuid"
1581
+ }
1582
+ ```
1583
+ 取引IDです。
1584
+
1585
+ フィルターとして使われ、指定された取引IDに部分一致(前方一致)する取引のみが一覧に表示されます。
1586
+
1587
+ ---
1588
+ `private_money_id`
1589
+ ```json
1590
+ {
1591
+ "type": "string",
1592
+ "format": "uuid"
1593
+ }
1594
+ ```
1595
+ マネーIDです。
1596
+
1597
+ 指定したマネーでの取引が一覧に表示されます。
1598
+
1599
+ ---
1600
+ `is_modified`
1601
+ ```json
1602
+ { "type": "boolean" }
1603
+ ```
1604
+ キャンセルフラグです。
1605
+
1606
+ これにtrueを指定するとキャンセルされた取引のみ一覧に表示されます。
1607
+ デフォルト値はfalseで、キャンセルの有無にかかわらず一覧に表示されます。
1608
+
1609
+ ---
1610
+ `transaction_types`
1611
+ ```json
1612
+ {
1613
+ "type": "array",
1614
+ "items": {
1615
+ "type": "string",
1616
+ "enum": {
1617
+ "topup": "payment",
1618
+ "transfer": "exchange",
1619
+ "cashback": "expire"
1620
+ }
1621
+ }
1622
+ }
1623
+ ```
1624
+ 取引の種類でフィルターします。
1625
+
1626
+ 以下の種類を指定できます。
1627
+
1628
+ 1. topup
1629
+ 店舗からエンドユーザーへの送金取引(チャージ)
1630
+
1631
+ 2. payment
1632
+ エンドユーザーから店舗への送金取引(支払い)
1633
+
1634
+ 3. exchange-outflow
1635
+ 他マネーへの流出
1636
+ private_money_idが指定されたとき、そのマネーから見て流出方向の交換取引が抽出されます。
1637
+ private_money_idを省略した場合は表示されません。
1638
+
1639
+ 4. exchange-inflow
1640
+ 他マネーからの流入
1641
+ private_money_idが指定されたとき、そのマネーから見て流入方向の交換取引が抽出されます。
1642
+ private_money_idを省略した場合は表示されません。
1643
+
1644
+ 5. cashback
1645
+ 退会時返金取引
1646
+
1647
+ 6. expire
1648
+ 退会時失効取引
1649
+
1650
+ ---
1651
+ `next_page_cursor_id`
1652
+ ```json
1653
+ {
1654
+ "type": "string",
1655
+ "format": "uuid"
1656
+ }
1657
+ ```
1658
+ 次ページへ遷移する際に起点となるtransferのID(前ページの末尾要素のID)です。
1659
+ 本APIのレスポンスにもnext_page_cursor_idが含まれており、これがnull値の場合は最後のページであることを意味します。
1660
+ UUIDである場合は次のページが存在することを意味し、このnext_page_cursor_idをリクエストパラメータに含めることで次ページに遷移します。
1661
+
1662
+ next_page_cursor_idのtransfer自体は次のページには含まれません。
1663
+
1664
+ ---
1665
+ `prev_page_cursor_id`
1666
+ ```json
1667
+ {
1668
+ "type": "string",
1669
+ "format": "uuid"
1670
+ }
1671
+ ```
1672
+ 前ページへ遷移する際に起点となるtransferのID(次ページの先頭要素のID)です。
1673
+
1674
+ 本APIのレスポンスにもprev_page_cursor_idが含まれており、これがnull値の場合は先頭のページであることを意味します。
1675
+ UUIDである場合は前のページが存在することを意味し、このprev_page_cursor_idをリクエストパラメータに含めることで前ページに遷移します。
1676
+
1677
+ prev_page_cursor_idのtransfer自体は前のページには含まれません。
1678
+
1679
+ ---
1680
+ `per_page`
1681
+ ```json
1682
+ {
1683
+ "type": "integer",
1684
+ "minimum": 1,
1685
+ "maximum": 1000
1686
+ }
1687
+ ```
1688
+ 1ページ分の取引数です。
1689
+
1690
+ デフォルト値は50です。
1691
+
1692
+ ---
1693
+ `transfer_types`
1694
+ ```json
1695
+ {
1696
+ "type": "array",
1697
+ "items": {
1698
+ "type": "string",
1699
+ "enum": {
1700
+ "topup": "payment",
1701
+ "exchange": "transfer",
1702
+ "coupon": "campaign",
1703
+ "cashback": "expire"
1704
+ }
1705
+ }
1706
+ }
1707
+ ```
1708
+ 取引明細の種類でフィルターします。
1709
+
1710
+ 以下の種類を指定できます。
1711
+
1712
+ 1. topup
1713
+ 店舗からエンドユーザーへの送金取引(チャージ)、またはそのキャンセル取引
1714
+
1715
+ 2. payment
1716
+ エンドユーザーから店舗への送金取引(支払い)、またはそのキャンセル取引
1717
+
1718
+ 3. exchange
1719
+ 他マネーへの流出/流入
1720
+
1721
+ 4. campaign
1722
+ 取引に対するポイント還元キャンペーンによるポイント付与、またはそのキャンセル取引
1723
+
1724
+ 5. coupon
1725
+ クーポンによる値引き処理、またはそのキャンセル取引
1726
+
1727
+ 6. cashback
1728
+ 退会時の返金取引
1729
+
1730
+ 7. expire
1731
+ 退会時失効取引
1732
+
1733
+ ---
1734
+ `description`
1735
+ ```json
1736
+ {
1737
+ "type": "string",
1738
+ "maxLength": 200
1739
+ }
1740
+ ```
1741
+ 取引詳細を指定の取引詳細説明文でフィルターします。
1742
+
1743
+ 取引詳細説明文が完全一致する取引のみ抽出されます。取引詳細説明文は最大200文字で記録されています。
1744
+
1745
+ ---
1746
+ `from`
1747
+ ```json
1748
+ {
1749
+ "type": "string",
1750
+ "format": "date-time"
1751
+ }
1752
+ ```
1753
+ 抽出期間の開始日時です。
1754
+
1755
+ フィルターとして使われ、開始日時以降に発生した取引のみ一覧に表示されます。
1756
+
1757
+ ---
1758
+ `to`
1759
+ ```json
1760
+ {
1761
+ "type": "string",
1762
+ "format": "date-time"
1763
+ }
1764
+ ```
1765
+ 抽出期間の終了日時です。
1766
+
1767
+ フィルターとして使われ、終了日時以前に発生した取引のみ一覧に表示されます。
1768
+
1769
+ ---
1770
+ 成功したときは[PaginatedTransfersV2](#paginated-transfers-v2)オブジェクトを返します
1342
1771
  ### Check
1343
1772
  店舗ユーザが発行し、エンドユーザーがポケペイアプリから読み取ることでチャージ取引が発生するQRコードです。
1344
1773
 
@@ -1353,13 +1782,13 @@ QRコードを読み取る方法以外にも、このURLリンクを直接スマ
1353
1782
  ```ruby
1354
1783
  response = $client.send(Pokepay::Request::CreateCheck.new(
1355
1784
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: 送金元の店舗アカウントID
1356
- money_amount: 2773, # 付与マネー額
1357
- point_amount: 1358, # 付与ポイント額
1785
+ money_amount: 3666.0, # 付与マネー額
1786
+ point_amount: 2047.0, # 付与ポイント額
1358
1787
  description: "test check", # 説明文(アプリ上で取引の説明文として表示される)
1359
1788
  is_onetime: true, # ワンタイムかどうか。真の場合1度読み込まれた時点でそのチャージQRは失効する(デフォルト値は真)
1360
- usage_limit: 8593, # ワンタイムでない場合、複数ユーザから読み取られ得る。その場合の最大読み取り回数
1361
- expires_at: "2019-11-10T13:55:23.000000+09:00", # チャージQR自体の失効日時
1362
- point_expires_at: "2024-02-07T20:52:41.000000+09:00", # チャージQRによって付与されるポイントの失効日時
1789
+ usage_limit: 4725, # ワンタイムでない場合、複数ユーザから読み取られ得る。その場合の最大読み取り回数
1790
+ expires_at: "2019-12-04T11:27:19.000000+09:00", # チャージQR自体の失効日時
1791
+ point_expires_at: "2016-01-26T14:10:39.000000+09:00", # チャージQRによって付与されるポイントの失効日時
1363
1792
  point_expires_in_days: 60, # チャージQRによって付与されるポイントの有効期限(相対指定、単位は日)
1364
1793
  bear_point_account: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # ポイント額を負担する店舗アカウントのID
1365
1794
  ))
@@ -1434,18 +1863,18 @@ QRコード生成時に送金元店舗のウォレット情報や、送金額な
1434
1863
  支払いQRコード一覧を表示します。
1435
1864
  ```ruby
1436
1865
  response = $client.send(Pokepay::Request::ListBills.new(
1437
- page: 1152, # ページ番号
1438
- per_page: 3474, # 1ページの表示数
1439
- bill_id: "wG", # 支払いQRコードのID
1866
+ page: 5194, # ページ番号
1867
+ per_page: 366, # 1ページの表示数
1868
+ bill_id: "Q77By", # 支払いQRコードのID
1440
1869
  private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
1441
- organization_code: "-sVJ2oS5l", # 組織コード
1870
+ organization_code: "---6-e", # 組織コード
1442
1871
  description: "test bill", # 取引説明文
1443
- created_from: "2021-08-20T22:07:44.000000+09:00", # 作成日時(起点)
1444
- created_to: "2021-02-13T11:45:02.000000+09:00", # 作成日時(終点)
1872
+ created_from: "2023-11-13T16:02:56.000000+09:00", # 作成日時(起点)
1873
+ created_to: "2022-10-18T15:01:29.000000+09:00", # 作成日時(終点)
1445
1874
  shop_name: "bill test shop1", # 店舗名
1446
1875
  shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
1447
- lower_limit_amount: 9526, # 金額の範囲によるフィルタ(下限)
1448
- upper_limit_amount: 4780, # 金額の範囲によるフィルタ(上限)
1876
+ lower_limit_amount: 3786, # 金額の範囲によるフィルタ(下限)
1877
+ upper_limit_amount: 2781, # 金額の範囲によるフィルタ(上限)
1449
1878
  is_disabled: true # 支払いQRコードが無効化されているかどうか
1450
1879
  ))
1451
1880
  ```
@@ -1590,7 +2019,7 @@ response = $client.send(Pokepay::Request::ListBills.new(
1590
2019
  response = $client.send(Pokepay::Request::CreateBill.new(
1591
2020
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: 支払いマネーのマネーID
1592
2021
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 支払い先(受け取り人)の店舗ID
1593
- amount: 1655, # 支払い額
2022
+ amount: 4980.0, # 支払い額
1594
2023
  description: "test bill" # 説明文(アプリ上で取引の説明文として表示される)
1595
2024
  ))
1596
2025
  ```
@@ -1614,9 +2043,9 @@ response = $client.send(Pokepay::Request::CreateBill.new(
1614
2043
  ```ruby
1615
2044
  response = $client.send(Pokepay::Request::UpdateBill.new(
1616
2045
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # bill_id: 支払いQRコードのID
1617
- amount: 1037, # 支払い額
2046
+ amount: 630.0, # 支払い額
1618
2047
  description: "test bill", # 説明文
1619
- is_disabled: false # 無効化されているかどうか
2048
+ is_disabled: true # 無効化されているかどうか
1620
2049
  ))
1621
2050
  ```
1622
2051
 
@@ -1679,9 +2108,9 @@ Cashtrayを作成します。
1679
2108
  response = $client.send(Pokepay::Request::CreateCashtray.new(
1680
2109
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
1681
2110
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 店舗ユーザーID
1682
- 7128, # amount: 金額
2111
+ 5106.0, # amount: 金額
1683
2112
  description: "たい焼き(小倉)", # 取引履歴に表示する説明文
1684
- expires_in: 3581 # 失効時間(秒)
2113
+ expires_in: 6496 # 失効時間(秒)
1685
2114
  ))
1686
2115
  ```
1687
2116
 
@@ -1842,9 +2271,9 @@ Cashtrayの内容を更新します。bodyパラメーターは全て省略可
1842
2271
  ```ruby
1843
2272
  response = $client.send(Pokepay::Request::UpdateCashtray.new(
1844
2273
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # cashtray_id: CashtrayのID
1845
- amount: 3771, # 金額
2274
+ amount: 4728.0, # 金額
1846
2275
  description: "たい焼き(小倉)", # 取引履歴に表示する説明文
1847
- expires_in: 4448 # 失効時間(秒)
2276
+ expires_in: 3819 # 失効時間(秒)
1848
2277
  ))
1849
2278
  ```
1850
2279
 
@@ -1915,13 +2344,19 @@ response = $client.send(Pokepay::Request::GetAccount.new(
1915
2344
  成功したときは[AccountDetail](#account-detail)オブジェクトを返します
1916
2345
  <a name="update-account"></a>
1917
2346
  #### ウォレット情報を更新する
1918
- ウォレットの状態を更新します。現在はウォレットの凍結/凍結解除の切り替えにのみ対応しています。
2347
+ ウォレットの状態を更新します。
2348
+ 以下の項目が変更できます。
2349
+
2350
+ - ウォレットの凍結/凍結解除の切り替え(エンドユーザー、店舗ユーザー共通)
2351
+ - 店舗でチャージ可能かどうか(店舗ユーザのみ)
2352
+
2353
+ エンドユーザーのウォレット情報更新には UpdateCustomerAccount が使用できます。
1919
2354
  ```ruby
1920
2355
  response = $client.send(Pokepay::Request::UpdateAccount.new(
1921
2356
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
1922
2357
  is_suspended: false, # ウォレットが凍結されているかどうか
1923
- status: "pre-closed", # ウォレット状態
1924
- can_transfer_topup: true # チャージ可能かどうか
2358
+ status: "active", # ウォレット状態
2359
+ can_transfer_topup: false # チャージ可能かどうか
1925
2360
  ))
1926
2361
  ```
1927
2362
 
@@ -1969,7 +2404,7 @@ response = $client.send(Pokepay::Request::UpdateAccount.new(
1969
2404
  ```ruby
1970
2405
  response = $client.send(Pokepay::Request::DeleteAccount.new(
1971
2406
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
1972
- cashback: true # 返金有無
2407
+ cashback: false # 返金有無
1973
2408
  ))
1974
2409
  ```
1975
2410
 
@@ -2000,11 +2435,11 @@ response = $client.send(Pokepay::Request::DeleteAccount.new(
2000
2435
  ```ruby
2001
2436
  response = $client.send(Pokepay::Request::ListAccountBalances.new(
2002
2437
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
2003
- page: 4466, # ページ番号
2004
- per_page: 4680, # 1ページ分の取引数
2005
- expires_at_from: "2021-06-23T10:51:49.000000+09:00", # 有効期限の期間によるフィルター(開始時点)
2006
- expires_at_to: "2017-07-24T18:09:18.000000+09:00", # 有効期限の期間によるフィルター(終了時点)
2007
- direction: "desc" # 有効期限によるソート順序
2438
+ page: 1587, # ページ番号
2439
+ per_page: 3237, # 1ページ分の取引数
2440
+ expires_at_from: "2024-02-28T15:45:22.000000+09:00", # 有効期限の期間によるフィルター(開始時点)
2441
+ expires_at_to: "2022-07-08T07:38:31.000000+09:00", # 有効期限の期間によるフィルター(終了時点)
2442
+ direction: "asc" # 有効期限によるソート順序
2008
2443
  ))
2009
2444
  ```
2010
2445
 
@@ -2078,10 +2513,10 @@ response = $client.send(Pokepay::Request::ListAccountBalances.new(
2078
2513
  ```ruby
2079
2514
  response = $client.send(Pokepay::Request::ListAccountExpiredBalances.new(
2080
2515
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
2081
- page: 4074, # ページ番号
2082
- per_page: 2468, # 1ページ分の取引数
2083
- expires_at_from: "2023-10-28T19:16:59.000000+09:00", # 有効期限の期間によるフィルター(開始時点)
2084
- expires_at_to: "2016-05-11T12:44:07.000000+09:00", # 有効期限の期間によるフィルター(終了時点)
2516
+ page: 7573, # ページ番号
2517
+ per_page: 483, # 1ページ分の取引数
2518
+ expires_at_from: "2018-03-21T18:13:55.000000+09:00", # 有効期限の期間によるフィルター(開始時点)
2519
+ expires_at_to: "2025-07-28T15:04:14.000000+09:00", # 有効期限の期間によるフィルター(終了時点)
2085
2520
  direction: "desc" # 有効期限によるソート順序
2086
2521
  ))
2087
2522
  ```
@@ -2151,14 +2586,15 @@ response = $client.send(Pokepay::Request::ListAccountExpiredBalances.new(
2151
2586
  ---
2152
2587
  成功したときは[PaginatedAccountBalance](#paginated-account-balance)オブジェクトを返します
2153
2588
  <a name="update-customer-account"></a>
2154
- #### ウォレット情報を更新する
2155
- ウォレットの状態を更新します。
2589
+ #### エンドユーザーのウォレット情報を更新する
2590
+ エンドユーザーのウォレットの状態を更新します。
2156
2591
  ```ruby
2157
2592
  response = $client.send(Pokepay::Request::UpdateCustomerAccount.new(
2158
2593
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: ウォレットID
2159
- status: "pre-closed", # ウォレット状態
2160
- account_name: "2p9irVNMOOMEypf2sbMz5sG1GgyrO7oaIPGJ7JGBC1o5Rc96", # アカウント名
2161
- external_id: "mVrWrKd8ZckndPnp3nLoMele3ppOb8vOALeCaVZ" # 外部ID
2594
+ status: "active", # ウォレット状態
2595
+ account_name: "lI7ca3oyQQIsUl3rCM2ZMpE4WDor4IADTHdTPsjhUsWbuhnbIUFlfvobOclFXKfvdQivs3hjtD1VYnThEQOLtlkRPIAeI3C1kLwoSJ0t0xwzgZ3SAsjpAuPQwOMEx", # アカウント名
2596
+ external_id: "C1w6ifl9ZUstqj7jJ1Xa", # 外部ID
2597
+ metadata: "{\"key1\":\"foo\",\"key2\":\"bar\"}" # ウォレットに付加するメタデータ
2162
2598
  ))
2163
2599
  ```
2164
2600
 
@@ -2204,6 +2640,31 @@ response = $client.send(Pokepay::Request::UpdateCustomerAccount.new(
2204
2640
  ```
2205
2641
  変更する外部IDです。
2206
2642
 
2643
+ ---
2644
+ `metadata`
2645
+ ```json
2646
+ {
2647
+ "type": "string",
2648
+ "format": "json"
2649
+ }
2650
+ ```
2651
+ ウォレットに付加するメタデータをJSON文字列で指定します。
2652
+ 指定できるJSON文字列には以下のような制約があります。
2653
+ - フラットな構造のJSONを文字列化したものであること。
2654
+ - keyは最大32文字の文字列(同じkeyを複数指定することはできません)
2655
+ - valueには128文字以下の文字列が指定できます
2656
+
2657
+ 更新時に指定した内容でメタデータ全体が置き換えられることに注意してください。
2658
+ 例えば、元々のメタデータが以下だったときに、
2659
+
2660
+ '{"key1":"foo","key2":"bar"}'
2661
+
2662
+ 更新APIで以下のように更新するとします。
2663
+
2664
+ '{"key1":"baz"}'
2665
+
2666
+ このときkey1はfooからbazに更新され、key2に対するデータは消去されます。
2667
+
2207
2668
  ---
2208
2669
  成功したときは[AccountWithUser](#account-with-user)オブジェクトを返します
2209
2670
  <a name="get-customer-accounts"></a>
@@ -2212,15 +2673,15 @@ response = $client.send(Pokepay::Request::UpdateCustomerAccount.new(
2212
2673
  ```ruby
2213
2674
  response = $client.send(Pokepay::Request::GetCustomerAccounts.new(
2214
2675
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
2215
- page: 6368, # ページ番号
2216
- per_page: 8352, # 1ページ分のウォレット数
2217
- created_at_from: "2023-12-24T08:14:10.000000+09:00", # ウォレット作成日によるフィルター(開始時点)
2218
- created_at_to: "2017-12-23T12:19:35.000000+09:00", # ウォレット作成日によるフィルター(終了時点)
2219
- is_suspended: false, # ウォレットが凍結状態かどうかでフィルターする
2676
+ page: 7035, # ページ番号
2677
+ per_page: 3301, # 1ページ分のウォレット数
2678
+ created_at_from: "2016-05-19T22:14:32.000000+09:00", # ウォレット作成日によるフィルター(開始時点)
2679
+ created_at_to: "2019-01-09T22:39:55.000000+09:00", # ウォレット作成日によるフィルター(終了時点)
2680
+ is_suspended: true, # ウォレットが凍結状態かどうかでフィルターする
2220
2681
  status: "suspended", # ウォレット状態
2221
- external_id: "wh096vY0YkfqArkVOxtHaQbqrekxj6KVFbsIqYgBl99", # 外部ID
2222
- tel: "08-750326", # エンドユーザーの電話番号
2223
- email: "n3SH7ljqEd@pqCc.com" # エンドユーザーのメールアドレス
2682
+ external_id: "E8si7WktomTSIs3sss0bSZ", # 外部ID
2683
+ tel: "030404-7685", # エンドユーザーの電話番号
2684
+ email: "0iBD2et6R8@9vRe.com" # エンドユーザーのメールアドレス
2224
2685
  ))
2225
2686
  ```
2226
2687
 
@@ -2326,14 +2787,17 @@ response = $client.send(Pokepay::Request::GetCustomerAccounts.new(
2326
2787
  ---
2327
2788
  成功したときは[PaginatedAccountWithUsers](#paginated-account-with-users)オブジェクトを返します
2328
2789
  <a name="create-customer-account"></a>
2329
- #### 新規エンドユーザーウォレットを追加する
2330
- 指定したマネーのウォレットを作成し、同時にそのウォレットを保有するユーザも作成します。
2790
+ #### 新規エンドユーザーをウォレットと共に追加する
2791
+ 指定したマネーのウォレットを作成し、同時にそのウォレットを保有するユーザも新規に作成します。
2792
+ このAPIにより作成されたユーザは認証情報を持たないため、モバイルSDKやポケペイ標準アプリからはログインすることはできません。
2793
+ Partner APIのみから操作可能な特殊なユーザになります。
2794
+ システム全体をPartner APIのみで構成する場合にのみ使用してください。
2331
2795
  ```ruby
2332
2796
  response = $client.send(Pokepay::Request::CreateCustomerAccount.new(
2333
2797
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
2334
2798
  user_name: "ポケペイ太郎", # ユーザー名
2335
2799
  account_name: "ポケペイ太郎のアカウント", # アカウント名
2336
- external_id: "OpWjivoOnvdw0Yvld" # 外部ID
2800
+ external_id: "YIZbMh6MfShA8D4Ev7O7TGT70LQ2epxhXvfJrqwCw" # 外部ID
2337
2801
  ))
2338
2802
  ```
2339
2803
 
@@ -2387,11 +2851,11 @@ PAPIクライアントシステムから利用するPokepayユーザーのIDで
2387
2851
  ```ruby
2388
2852
  response = $client.send(Pokepay::Request::GetShopAccounts.new(
2389
2853
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
2390
- page: 3132, # ページ番号
2391
- per_page: 8253, # 1ページ分のウォレット数
2392
- created_at_from: "2025-07-27T06:36:29.000000+09:00", # ウォレット作成日によるフィルター(開始時点)
2393
- created_at_to: "2018-11-28T02:50:31.000000+09:00", # ウォレット作成日によるフィルター(終了時点)
2394
- is_suspended: true # ウォレットが凍結状態かどうかでフィルターする
2854
+ page: 812, # ページ番号
2855
+ per_page: 379, # 1ページ分のウォレット数
2856
+ created_at_from: "2023-02-09T04:32:37.000000+09:00", # ウォレット作成日によるフィルター(開始時点)
2857
+ created_at_to: "2024-06-26T08:50:23.000000+09:00", # ウォレット作成日によるフィルター(終了時点)
2858
+ is_suspended: false # ウォレットが凍結状態かどうかでフィルターする
2395
2859
  ))
2396
2860
  ```
2397
2861
 
@@ -2464,10 +2928,10 @@ response = $client.send(Pokepay::Request::ListCustomerTransactions.new(
2464
2928
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
2465
2929
  sender_customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 送金エンドユーザーID
2466
2930
  receiver_customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 受取エンドユーザーID
2467
- type: "expire", # 取引種別
2468
- is_modified: true, # キャンセル済みかどうか
2469
- from: "2018-09-13T17:32:36.000000+09:00", # 開始日時
2470
- to: "2016-07-29T17:33:26.000000+09:00", # 終了日時
2931
+ type: "transfer", # 取引種別
2932
+ is_modified: false, # キャンセル済みかどうか
2933
+ from: "2019-04-18T16:04:36.000000+09:00", # 開始日時
2934
+ to: "2022-11-03T14:24:11.000000+09:00", # 終了日時
2471
2935
  page: 1, # ページ番号
2472
2936
  per_page: 50 # 1ページ分の取引数
2473
2937
  ))
@@ -2603,11 +3067,11 @@ response = $client.send(Pokepay::Request::ListShops.new(
2603
3067
  organization_code: "pocketchange", # 組織コード
2604
3068
  private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
2605
3069
  name: "oxスーパー三田店", # 店舗名
2606
- postal_code: "344-2283", # 店舗の郵便番号
3070
+ postal_code: "829-4114", # 店舗の郵便番号
2607
3071
  address: "東京都港区芝...", # 店舗の住所
2608
- tel: "084292628", # 店舗の電話番号
2609
- email: "jMmLSHQhe4@tHPd.com", # 店舗のメールアドレス
2610
- external_id: "v", # 店舗の外部ID
3072
+ tel: "01-63220", # 店舗の電話番号
3073
+ email: "jD2CPBEg6q@DXhS.com", # 店舗のメールアドレス
3074
+ external_id: "8hafJy0sD", # 店舗の外部ID
2611
3075
  page: 1, # ページ番号
2612
3076
  per_page: 50 # 1ページ分の取引数
2613
3077
  ))
@@ -2727,16 +3191,16 @@ response = $client.send(Pokepay::Request::ListShops.new(
2727
3191
  ---
2728
3192
  成功したときは[PaginatedShops](#paginated-shops)オブジェクトを返します
2729
3193
  <a name="create-shop"></a>
2730
- #### 新規店舗を追加する(廃止予定)
3194
+ #### 【廃止】新規店舗を追加する
2731
3195
  新規店舗を追加します。このAPIは廃止予定です。以降は `CreateShopV2` を使用してください。
2732
3196
  ```ruby
2733
3197
  response = $client.send(Pokepay::Request::CreateShop.new(
2734
3198
  "oxスーパー三田店", # shop_name: 店舗名
2735
- shop_postal_code: "083-8015", # 店舗の郵便番号
3199
+ shop_postal_code: "9824004", # 店舗の郵便番号
2736
3200
  shop_address: "東京都港区芝...", # 店舗の住所
2737
- shop_tel: "0291516", # 店舗の電話番号
2738
- shop_email: "ICt7BPEIsH@w9ia.com", # 店舗のメールアドレス
2739
- shop_external_id: "xaPzoaDv6U6SXLkHad9cOSRej1Twb2rv", # 店舗の外部ID
3201
+ shop_tel: "076532541", # 店舗の電話番号
3202
+ shop_email: "C8JZcqIcqZ@B2nk.com", # 店舗のメールアドレス
3203
+ shop_external_id: "hw5Vunnh29qWQZz14xB891rPV7FcdDe", # 店舗の外部ID
2740
3204
  organization_code: "ox-supermarket" # 組織コード
2741
3205
  ))
2742
3206
  ```
@@ -2746,13 +3210,13 @@ response = $client.send(Pokepay::Request::CreateShop.new(
2746
3210
  ```ruby
2747
3211
  response = $client.send(Pokepay::Request::CreateShopV2.new(
2748
3212
  "oxスーパー三田店", # name: 店舗名
2749
- postal_code: "0977783", # 店舗の郵便番号
3213
+ postal_code: "2021634", # 店舗の郵便番号
2750
3214
  address: "東京都港区芝...", # 店舗の住所
2751
- tel: "0197577-543", # 店舗の電話番号
2752
- email: "TtkAPfziyB@2HYx.com", # 店舗のメールアドレス
2753
- external_id: "SuFevcjssU2Qn83gWH7hF0T8Nh7eoO6asj", # 店舗の外部ID
3215
+ tel: "0015-8224-4206", # 店舗の電話番号
3216
+ email: "lfzbfqKlns@G40w.com", # 店舗のメールアドレス
3217
+ external_id: "o0RT90mTv9imeNiY62Bc0n5yxxX", # 店舗の外部ID
2754
3218
  organization_code: "ox-supermarket", # 組織コード
2755
- private_money_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # 店舗で有効にするマネーIDの配列
3219
+ private_money_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # 店舗で有効にするマネーIDの配列
2756
3220
  can_topup_private_money_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"] # 店舗でチャージ可能にするマネーIDの配列
2757
3221
  ))
2758
3222
  ```
@@ -2824,11 +3288,11 @@ response = $client.send(Pokepay::Request::GetShop.new(
2824
3288
  response = $client.send(Pokepay::Request::UpdateShop.new(
2825
3289
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 店舗ユーザーID
2826
3290
  name: "oxスーパー三田店", # 店舗名
2827
- postal_code: "0806247", # 店舗の郵便番号
3291
+ postal_code: "644-8037", # 店舗の郵便番号
2828
3292
  address: "東京都港区芝...", # 店舗の住所
2829
- tel: "0718180047", # 店舗の電話番号
2830
- email: "shIHzbucfD@hID3.com", # 店舗のメールアドレス
2831
- external_id: "qemlo7JMNmGUe8JtqofMq1TyFcW0Uuc5ug", # 店舗の外部ID
3293
+ tel: "05651650-4895", # 店舗の電話番号
3294
+ email: "wois43hKOt@AoX7.com", # 店舗のメールアドレス
3295
+ external_id: "uae7lO58Ae6hTnrFSjbB1", # 店舗の外部ID
2832
3296
  private_money_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # 店舗で有効にするマネーIDの配列
2833
3297
  can_topup_private_money_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"] # 店舗でチャージ可能にするマネーIDの配列
2834
3298
  ))
@@ -2931,8 +3395,8 @@ response = $client.send(Pokepay::Request::UpdateShop.new(
2931
3395
  ```ruby
2932
3396
  response = $client.send(Pokepay::Request::ListUserAccounts.new(
2933
3397
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # user_id: ユーザーID
2934
- page: 5526, # ページ番号
2935
- per_page: 9523 # 1ページ分の取引数
3398
+ page: 6633, # ページ番号
3399
+ per_page: 3434 # 1ページ分の取引数
2936
3400
  ))
2937
3401
  ```
2938
3402
 
@@ -2972,12 +3436,14 @@ response = $client.send(Pokepay::Request::ListUserAccounts.new(
2972
3436
  成功したときは[PaginatedAccountDetails](#paginated-account-details)オブジェクトを返します
2973
3437
  <a name="create-user-account"></a>
2974
3438
  #### エンドユーザーのウォレットを作成する
3439
+ 既存のエンドユーザーに対して、指定したマネーのウォレットを新規作成します
2975
3440
  ```ruby
2976
3441
  response = $client.send(Pokepay::Request::CreateUserAccount.new(
2977
3442
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # user_id: ユーザーID
2978
3443
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
2979
- name: "pDoeGryI5OQQ9GoRehaS9O2M3fskqX8WbkxbWTp66iGj1lRR9XuMVcs2zeQQbQwb51zUDjfyGpNkIiUDvsd07Li3GyEdt6GGJ1GXo5UPiFJuScrEGcY5I6vYJqEcansSsP2ceIvKP9bgYanQbVQM9Z6RG0kCsPdzwEr5mXGzuLW3FkWi9ZhIojVZoApe0VcAXVJNN81LI44xL3mfrFPu", # ウォレット名
2980
- external_id: "EOV" # 外部ID
3444
+ name: "jTNSU46DKPvyktKcWCyKm4tG2FzeWXxPN6RiMVhZmmGj0TMjPFLM0DLdwVX1nfPZtzGunVJbtCnsdFVcjFx", # ウォレット名
3445
+ external_id: "pkr7nBijaa4uqZKlbpHQT4mZQDB6u1kMJt8otXLMwiqJK6M", # 外部ID
3446
+ metadata: "{\"key1\":\"foo\",\"key2\":\"bar\"}" # ウォレットに付加するメタデータ
2981
3447
  ))
2982
3448
  ```
2983
3449
 
@@ -2992,16 +3458,30 @@ response = $client.send(Pokepay::Request::CreateUserAccount.new(
2992
3458
  ユーザーIDです。
2993
3459
 
2994
3460
  ---
2995
- `private_money_id`
3461
+ `private_money_id`
3462
+ ```json
3463
+ {
3464
+ "type": "string",
3465
+ "format": "uuid"
3466
+ }
3467
+ ```
3468
+ マネーIDです。
3469
+
3470
+ 作成するウォレットのマネーを指定します。このパラメータは必須です。
3471
+
3472
+ ---
3473
+ `metadata`
2996
3474
  ```json
2997
3475
  {
2998
3476
  "type": "string",
2999
- "format": "uuid"
3477
+ "format": "json"
3000
3478
  }
3001
3479
  ```
3002
- マネーIDです。
3003
-
3004
- 作成するウォレットのマネーを指定します。このパラメータは必須です。
3480
+ ウォレットに付加するメタデータをJSON文字列で指定します。
3481
+ 指定できるJSON文字列には以下のような制約があります。
3482
+ - フラットな構造のJSONを文字列化したものであること。
3483
+ - keyは最大32文字の文字列(同じkeyを複数指定することはできません)
3484
+ - valueには128文字以下の文字列が指定できます
3005
3485
 
3006
3486
  ---
3007
3487
  成功したときは[AccountDetail](#account-detail)オブジェクトを返します
@@ -3037,8 +3517,8 @@ response = $client.send(Pokepay::Request::GetPrivateMoneys.new(
3037
3517
  ```ruby
3038
3518
  response = $client.send(Pokepay::Request::GetPrivateMoneyOrganizationSummaries.new(
3039
3519
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
3040
- from: "2023-08-27T08:46:48.000000+09:00", # 開始日時(toと同時に指定する必要有)
3041
- to: "2020-08-12T10:28:28.000000+09:00", # 終了日時(fromと同時に指定する必要有)
3520
+ from: "2019-03-23T03:00:57.000000+09:00", # 開始日時(toと同時に指定する必要有)
3521
+ to: "2021-02-12T06:53:47.000000+09:00", # 終了日時(fromと同時に指定する必要有)
3042
3522
  page: 1, # ページ番号
3043
3523
  per_page: 50 # 1ページ分の取引数
3044
3524
  ))
@@ -3046,16 +3526,27 @@ response = $client.send(Pokepay::Request::GetPrivateMoneyOrganizationSummaries.n
3046
3526
  `from`と`to`は同時に指定する必要があります。
3047
3527
 
3048
3528
  成功したときは[PaginatedPrivateMoneyOrganizationSummaries](#paginated-private-money-organization-summaries)オブジェクトを返します
3529
+ <a name="get-private-money-summary"></a>
3530
+ #### 取引サマリを取得する
3531
+ ```ruby
3532
+ response = $client.send(Pokepay::Request::GetPrivateMoneySummary.new(
3533
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
3534
+ from: "2016-11-05T09:26:12.000000+09:00", # 開始日時
3535
+ to: "2018-11-09T05:48:32.000000+09:00" # 終了日時
3536
+ ))
3537
+ ```
3538
+ 成功したときは[PrivateMoneySummary](#private-money-summary)オブジェクトを返します
3049
3539
  ### Bulk
3050
3540
  <a name="bulk-create-transaction"></a>
3051
3541
  #### CSVファイル一括取引
3052
3542
  CSVファイルから一括取引をします。
3053
3543
  ```ruby
3054
3544
  response = $client.send(Pokepay::Request::BulkCreateTransaction.new(
3055
- "DCyUBg3VaVg5lQKirhrBQImBbFT", # name: 一括取引タスク名
3056
- "Gr24", # content: 取引する情報のCSV
3057
- "vRn0V1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3n", # request_id: リクエストID
3058
- description: "JyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAxzFUF6i" # 一括取引の説明
3545
+ "J9APWVf0nkI2cpiZrwht02d", # name: 一括取引タスク名
3546
+ "TsSxNXBuh", # content: 取引する情報のCSV
3547
+ "LAxPxLgPF7PH9jsPo3qRbXC06hH5q5N6rSql", # request_id: リクエストID
3548
+ description: "hclxbbI1pwNVNkX1w", # 一括取引の説明
3549
+ private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # マネーID
3059
3550
  ))
3060
3551
  ```
3061
3552
 
@@ -3118,6 +3609,16 @@ response = $client.send(Pokepay::Request::BulkCreateTransaction.new(
3118
3609
  ```
3119
3610
  重複したリクエストを判断するためのユニークID。ランダムな36字の文字列を生成して渡してください。
3120
3611
 
3612
+ ---
3613
+ `private_money_id`
3614
+ ```json
3615
+ {
3616
+ "type": "string",
3617
+ "format": "uuid"
3618
+ }
3619
+ ```
3620
+ マネーIDです。 マネーを指定します。
3621
+
3121
3622
  ---
3122
3623
  成功したときは[BulkTransaction](#bulk-transaction)オブジェクトを返します
3123
3624
  ### Event
@@ -3132,7 +3633,7 @@ response = $client.send(Pokepay::Request::CreateExternalTransaction.new(
3132
3633
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # shop_id: 店舗ID
3133
3634
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # customer_id: エンドユーザーID
3134
3635
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
3135
- 104, # amount: 取引額
3636
+ 1428, # amount: 取引額
3136
3637
  description: "たい焼き(小倉)", # 取引説明文
3137
3638
  metadata: "{\"key\":\"value\"}", # ポケペイ外部取引メタデータ
3138
3639
  products: [{"jan_code":"abc",
@@ -3140,6 +3641,16 @@ response = $client.send(Pokepay::Request::CreateExternalTransaction.new(
3140
3641
  "unit_price":100,
3141
3642
  "price": 100,
3142
3643
  "is_discounted": false,
3644
+ "other":"{}"}, {"jan_code":"abc",
3645
+ "name":"name1",
3646
+ "unit_price":100,
3647
+ "price": 100,
3648
+ "is_discounted": false,
3649
+ "other":"{}"}, {"jan_code":"abc",
3650
+ "name":"name1",
3651
+ "unit_price":100,
3652
+ "price": 100,
3653
+ "is_discounted": false,
3143
3654
  "other":"{}"}], # 商品情報データ
3144
3655
  request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
3145
3656
  ))
@@ -3271,34 +3782,24 @@ response = $client.send(Pokepay::Request::RefundExternalTransaction.new(
3271
3782
 
3272
3783
  ```ruby
3273
3784
  response = $client.send(Pokepay::Request::CreateCampaign.new(
3274
- "lI4uoOEnKraNjpsN9SjDxtxrgs7e0dkiAAa8jwX6FLCB1XlvzBazSCE1hEG2EkkP2VIPy7HW7Ee7skB9BB1YNClE0n87A30l6vspNWH9u8x4Yq2mxjIub5W9d4fa79SnOHSfjKkp3QkI11kPUOWIOCC9XRXSkWvgwMdC6YsQVBM615BSLRTB4phpjbt6QHeDKxXdEg3OxGlsZaVSpjoQ6ffYAe6kpXiCTiSBUIe5iqIMOcjyqBKlSFG", # name: キャンペーン名
3785
+ "tHq7h4XHkBbxR0RnLtirGJS2N5S6EEO5Bp0TaBrmndiCNxXXwjFaRAeTxfe0YQCHzm8OG8zcqkOxIGcWZjjM6j3edDcpZu9iiEwcokneeQ36NR2IjhyB4vKQ7cGl", # name: キャンペーン名
3275
3786
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
3276
- "2022-11-13T02:10:12.000000+09:00", # starts_at: キャンペーン開始日時
3277
- "2021-09-21T12:28:04.000000+09:00", # ends_at: キャンペーン終了日時
3278
- 4029, # priority: キャンペーンの適用優先度
3279
- "topup", # event: イベント種別
3787
+ "2020-09-07T04:46:17.000000+09:00", # starts_at: キャンペーン開始日時
3788
+ "2018-06-24T05:34:48.000000+09:00", # ends_at: キャンペーン終了日時
3789
+ 8515, # priority: キャンペーンの適用優先度
3790
+ "external-transaction", # event: イベント種別
3280
3791
  bear_point_shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # ポイント負担先店舗ID
3281
- description: "qDn2oMYRFh8cqnV2spFoKb7jYgx3gTJKy6dBb3ykYYVRZ4jdyfDGYQa0QPCC60HT399N8hkxoSQFYDUU0HuG332kYdREQC39nZBUv4F8J7UzyDYEv7bctcmIqdmvTV8RBzp0gixsKZWoUeORL98QDv9TW", # キャンペーンの説明文
3282
- status: "disabled", # キャンペーン作成時の状態
3283
- point_expires_at: "2020-08-06T14:45:24.000000+09:00", # ポイント有効期限(絶対日時指定)
3284
- point_expires_in_days: 9973, # ポイント有効期限(相対日数指定)
3285
- is_exclusive: false, # キャンペーンの重複設定
3792
+ description: "dlgwn9qvauQ2kDhj5HLJcSNTCm30yK3y8WItCe9VYgMydEalG76qE4T1vOrKA4IwgS5AgijWRyxneekV8cIDT0hnm8h8evW68NKpdkq0PMSo6i", # キャンペーンの説明文
3793
+ status: "enabled", # キャンペーン作成時の状態
3794
+ point_expires_at: "2022-04-09T19:30:01.000000+09:00", # ポイント有効期限(絶対日時指定)
3795
+ point_expires_in_days: 8021, # ポイント有効期限(相対日数指定)
3796
+ is_exclusive: true, # キャンペーンの重複設定
3286
3797
  subject: "all", # ポイント付与の対象金額の種別
3287
3798
  amount_based_point_rules: [{
3288
3799
  "point_amount": 5,
3289
3800
  "point_amount_unit": "percent",
3290
3801
  "subject_more_than_or_equal": 1000,
3291
3802
  "subject_less_than": 5000
3292
- }, {
3293
- "point_amount": 5,
3294
- "point_amount_unit": "percent",
3295
- "subject_more_than_or_equal": 1000,
3296
- "subject_less_than": 5000
3297
- }, {
3298
- "point_amount": 5,
3299
- "point_amount_unit": "percent",
3300
- "subject_more_than_or_equal": 1000,
3301
- "subject_less_than": 5000
3302
3803
  }], # 取引金額ベースのポイント付与ルール
3303
3804
  product_based_point_rules: [{
3304
3805
  "point_amount": 5,
@@ -3306,30 +3807,28 @@ response = $client.send(Pokepay::Request::CreateCampaign.new(
3306
3807
  "product_code": "4912345678904",
3307
3808
  "is_multiply_by_count": true,
3308
3809
  "required_count": 2
3309
- }, {
3310
- "point_amount": 5,
3311
- "point_amount_unit": "percent",
3312
- "product_code": "4912345678904",
3313
- "is_multiply_by_count": true,
3314
- "required_count": 2
3315
- }, {
3316
- "point_amount": 5,
3317
- "point_amount_unit": "percent",
3318
- "product_code": "4912345678904",
3319
- "is_multiply_by_count": true,
3320
- "required_count": 2
3321
3810
  }], # 商品情報ベースのポイント付与ルール
3322
- applicable_days_of_week: [5, 5, 4], # キャンペーンを適用する曜日 (複数指定)
3811
+ applicable_days_of_week: [5, 6], # キャンペーンを適用する曜日 (複数指定)
3323
3812
  applicable_time_ranges: [{
3324
3813
  "from": "12:00",
3325
3814
  "to": "23:59"
3326
3815
  }, {
3327
3816
  "from": "12:00",
3328
3817
  "to": "23:59"
3818
+ }, {
3819
+ "from": "12:00",
3820
+ "to": "23:59"
3329
3821
  }], # キャンペーンを適用する時間帯 (複数指定)
3330
- applicable_shop_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # キャンペーン適用対象となる店舗IDのリスト
3331
- minimum_number_for_combination_purchase: 7983, # 複数種類の商品を同時購入するときの商品種別数の下限
3332
- dest_private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # ポイント付与先となるマネーID
3822
+ applicable_shop_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # キャンペーン適用対象となる店舗IDのリスト
3823
+ minimum_number_for_combination_purchase: 4943, # 複数種類の商品を同時購入するときの商品種別数の下限
3824
+ exist_in_each_product_groups: false, # 複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ
3825
+ max_point_amount: 6825, # キャンペーンによって付与されるポイントの上限
3826
+ max_total_point_amount: 1448, # キャンペーンによって付与されるの1人当たりの累計ポイントの上限
3827
+ dest_private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # ポイント付与先となるマネーID
3828
+ applicable_account_metadata: {
3829
+ "key": "sex",
3830
+ "value": "male"
3831
+ } # ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
3333
3832
  ))
3334
3833
  ```
3335
3834
 
@@ -3663,6 +4162,116 @@ event が payment か external-transaction の時のみ有効です。
3663
4162
  }
3664
4163
  ```
3665
4164
 
4165
+ ---
4166
+ `exist_in_each_product_groups`
4167
+ ```json
4168
+ { "type": "boolean" }
4169
+ ```
4170
+ 複数の商品グループの各グループにつき1種類以上の商品が購入されることによって発火するキャンペーンであるときに真を指定します。デフォルトは偽です。
4171
+
4172
+ このパラメータを指定するときは product_based_point_rules で商品毎のルールが指定され、さらにその中でgroup_idが指定されている必要があります。group_idは正の整数です。
4173
+ exist_in_each_product_groupsが指定されているにも関わらず商品毎のルールでgroup_idが指定されていないものが含まれている場合はinvalid_parametersエラー(missing group_id, エラーコード400)が返ります。
4174
+
4175
+ 例えば、商品グループA(商品コードa1, a2)、商品グループB(商品コードb1, b2)の2つの商品グループがあるとします。
4176
+ このとき、各商品グループからそれぞれ少なくとも1種類以上の商品が購入されることにより発火するキャンペーンに対するリクエストパラメータは以下のようなものになります。
4177
+
4178
+ ```javascript
4179
+ {
4180
+ exist_in_each_product_groups: true,
4181
+ product_based_point_rules: [
4182
+ {
4183
+ "point_amount": 100,
4184
+ "point_amount_unit": "absolute",
4185
+ "product_code": "a1",
4186
+ "group_id": 1
4187
+ },
4188
+ {
4189
+ "point_amount": 100,
4190
+ "point_amount_unit": "absolute",
4191
+ "product_code": "a2",
4192
+ "group_id": 1
4193
+ },
4194
+ {
4195
+ "point_amount": 200,
4196
+ "point_amount_unit": "absolute",
4197
+ "product_code": "b1",
4198
+ "group_id": 2
4199
+ },
4200
+ {
4201
+ "point_amount": 200,
4202
+ "point_amount_unit": "absolute",
4203
+ "product_code": "b2",
4204
+ "group_id": 2
4205
+ }
4206
+ ]
4207
+ }
4208
+ ```
4209
+
4210
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になります。つまり100 + 200=300がポイント付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
4211
+
4212
+ ポイント付与値を各商品毎のルールの総和ではなく固定値にしたい場合には、max_point_amountを指定します。
4213
+ 例えば以下のようなリクエストパラメータ指定の場合を考えます。
4214
+
4215
+ ```javascript
4216
+ {
4217
+ max_point_amount: 100,
4218
+ exist_in_each_product_groups: true,
4219
+ product_based_point_rules: [
4220
+ {
4221
+ "point_amount": 100,
4222
+ "point_amount_unit": "absolute",
4223
+ "product_code": "a1",
4224
+ "group_id": 1
4225
+ },
4226
+ {
4227
+ "point_amount": 100,
4228
+ "point_amount_unit": "absolute",
4229
+ "product_code": "a2",
4230
+ "group_id": 1
4231
+ },
4232
+ {
4233
+ "point_amount": 100,
4234
+ "point_amount_unit": "absolute",
4235
+ "product_code": "b1",
4236
+ "group_id": 2
4237
+ },
4238
+ {
4239
+ "point_amount": 100,
4240
+ "point_amount_unit": "absolute",
4241
+ "product_code": "b2",
4242
+ "group_id": 2
4243
+ }
4244
+ ]
4245
+ }
4246
+ ```
4247
+
4248
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になりますが、付与値の上限が100ポイントになります。つまり100 + 200=300と計算されますが上限額の100ポイントが実際の付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600ですが上限額の100がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
4249
+
4250
+ ---
4251
+ `max_point_amount`
4252
+ ```json
4253
+ {
4254
+ "type": "integer",
4255
+ "minimum": 1
4256
+ }
4257
+ ```
4258
+ キャンペーンによって付与されるポイントの上限を指定します。デフォルトは未指定です。
4259
+
4260
+ このパラメータが指定されている場合、amount_based_point_rules や product_based_point_rules によって計算されるポイント付与値がmax_point_amountを越えている場合、max_point_amountの値がポイント付与値となり、越えていない場合はその値がポイント付与値となります。
4261
+
4262
+ ---
4263
+ `max_total_point_amount`
4264
+ ```json
4265
+ {
4266
+ "type": "integer",
4267
+ "minimum": 1
4268
+ }
4269
+ ```
4270
+ キャンペーンによって付与される1人当たりの累計ポイント数の上限を指定します。デフォルトは未指定です。
4271
+
4272
+ このパラメータが指定されている場合、各ユーザに対してそのキャンペーンによって過去付与されたポイントの累積値が記録されるようになります。
4273
+ 累積ポイント数がmax_total_point_amountを超えない限りにおいてキャンペーンで算出されたポイントが付与されます。
4274
+
3666
4275
  ---
3667
4276
  `dest_private_money_id`
3668
4277
  ```json
@@ -3681,6 +4290,37 @@ event が payment か external-transaction の時のみ有効です。
3681
4290
 
3682
4291
  別マネーに対するポイント付与は別のtransactionとなります。 RefundTransaction で元のイベントをキャンセルしたときはポイント付与のtransactionもキャンセルされ、逆にポイント付与のtransactionをキャンセルしたときは連動して元のイベントがキャンセルされます。
3683
4292
 
4293
+ ---
4294
+ `applicable_account_metadata`
4295
+ ```json
4296
+ { "type": "object" }
4297
+ ```
4298
+ ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
4299
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
4300
+ ウォレットのメタデータはCreateUserAccountやUpdateCustomerAccountで登録できます。
4301
+
4302
+ オプショナルパラメータtestによって比較方法を指定することができます。
4303
+ デフォルトは equal で、その他に not-equalを指定可能です。
4304
+
4305
+ 例1: 取引が行なわれたウォレットのメタデータに住所として東京が指定されているときのみ発火
4306
+
4307
+ ```javascript
4308
+ {
4309
+ "key": "prefecture",
4310
+ "value": "tokyo"
4311
+ }
4312
+ ```
4313
+
4314
+ 例2: 取引が行なわれたウォレットのメタデータに住所として東京以外が指定されているときのみ発火
4315
+
4316
+ ```javascript
4317
+ {
4318
+ "key": "prefecture",
4319
+ "value": "tokyo",
4320
+ "test": "not-equal"
4321
+ }
4322
+ ```
4323
+
3684
4324
  ---
3685
4325
  成功したときは[Campaign](#campaign)オブジェクトを返します
3686
4326
  <a name="list-campaigns"></a>
@@ -3691,6 +4331,7 @@ event が payment か external-transaction の時のみ有効です。
3691
4331
  ```ruby
3692
4332
  response = $client.send(Pokepay::Request::ListCampaigns.new(
3693
4333
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # private_money_id: マネーID
4334
+ is_ongoing: true, # 現在適用可能なキャンペーンかどうか
3694
4335
  page: 1, # ページ番号
3695
4336
  per_page: 50 # 1ページ分の取得数
3696
4337
  ))
@@ -3708,6 +4349,15 @@ response = $client.send(Pokepay::Request::ListCampaigns.new(
3708
4349
 
3709
4350
  フィルターとして使われ、指定したマネーでのキャンペーンのみ一覧に表示されます。
3710
4351
 
4352
+ ---
4353
+ `is_ongoing`
4354
+ ```json
4355
+ { "type": "boolean" }
4356
+ ```
4357
+ 有効化されており、現在キャンペーン期間内にあるキャンペーンをフィルターするために使われます。
4358
+ 真であれば適用可能なもののみを抽出し、偽であれば適用不可なもののみを抽出します。
4359
+ デフォルトでは未指定(フィルターなし)です。
4360
+
3711
4361
  ---
3712
4362
  `page`
3713
4363
  ```json
@@ -3762,16 +4412,16 @@ response = $client.send(Pokepay::Request::GetCampaign.new(
3762
4412
  ```ruby
3763
4413
  response = $client.send(Pokepay::Request::UpdateCampaign.new(
3764
4414
  "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # campaign_id: キャンペーンID
3765
- name: "xR1kiR4daTST401zYU9O5bmxo5R8HDeIrg38UDixRQOsOxJyiut30oRsSLi4FAWjvNFlMGhO7MjoFiHLtN9Yqy7R5Sel4rqjqD6mB2gz0FIdNSbIrXOBo1I3rdkLB5vuUQlHHWHdfJKJGJOe4o3A7Ast7GZKKewMQbpvWdRIf0j2NcGpd9kTg7fbzWuGj28bjzoMkUfQZyG6ql9kvIc3ugQfVcwKEOAlMUYblAnOJUw5uYgLUj2LWIHcZ", # キャンペーン名
3766
- starts_at: "2016-05-05T15:35:59.000000+09:00", # キャンペーン開始日時
3767
- ends_at: "2019-01-06T08:56:51.000000+09:00", # キャンペーン終了日時
3768
- priority: 4521, # キャンペーンの適用優先度
4415
+ name: "OxFwqhkpZVaDhpFPp5bfKVt9DPYJAVzV6vyI6ywfpyKilj5zg8pn57kF0DYbPLXjuwrpeD0A9IDYP4sAiFNwaac9r9GBqh0SVIl9M1spjv4mKXU1rVLf6U0K44BovHKqYzk7GBG1DZKj2tBRFerhSuL22gGga7pF0nmLMfnIYTQdqHJZ8WnDHEVfpIBtEOMP2U7IkYygmkkDxd3MzpkzvPsPo", # キャンペーン名
4416
+ starts_at: "2023-06-03T23:52:26.000000+09:00", # キャンペーン開始日時
4417
+ ends_at: "2020-01-31T18:01:01.000000+09:00", # キャンペーン終了日時
4418
+ priority: 5110, # キャンペーンの適用優先度
3769
4419
  event: "topup", # イベント種別
3770
- description: "h7Upt9fM2ThdFR4ZGmC3lYSdkRdIHlBo7iMGslQeLzTg9FCP6boJkANEWZ0xko5rtXdkjCZ6KXki", # キャンペーンの説明文
3771
- status: "disabled", # キャンペーン作成時の状態
3772
- point_expires_at: "2019-07-11T08:00:16.000000+09:00", # ポイント有効期限(絶対日時指定)
3773
- point_expires_in_days: 9708, # ポイント有効期限(相対日数指定)
3774
- is_exclusive: false, # キャンペーンの重複設定
4420
+ description: "af470Dw5YI6SeAOBDBgRAgmjxZGGCqaBwJ9iXjXSEfbkdsvlfnd1NOUEcUOGTeYua5DveJsn8lhIUcgIkY0oNU4ZtZZObHmdr0N6vylnlZRhGDMxuj8A7eDOAWeoDpeF6vcSyg1N9plx7jjHK1E1PUQiuVzdT2YVVNgkhGiOa", # キャンペーンの説明文
4421
+ status: "enabled", # キャンペーン作成時の状態
4422
+ point_expires_at: "2018-01-18T02:18:26.000000+09:00", # ポイント有効期限(絶対日時指定)
4423
+ point_expires_in_days: 9491, # ポイント有効期限(相対日数指定)
4424
+ is_exclusive: true, # キャンペーンの重複設定
3775
4425
  subject: "all", # ポイント付与の対象金額の種別
3776
4426
  amount_based_point_rules: [{
3777
4427
  "point_amount": 5,
@@ -3798,7 +4448,7 @@ response = $client.send(Pokepay::Request::UpdateCampaign.new(
3798
4448
  "is_multiply_by_count": true,
3799
4449
  "required_count": 2
3800
4450
  }], # 商品情報ベースのポイント付与ルール
3801
- applicable_days_of_week: [4], # キャンペーンを適用する曜日 (複数指定)
4451
+ applicable_days_of_week: [6], # キャンペーンを適用する曜日 (複数指定)
3802
4452
  applicable_time_ranges: [{
3803
4453
  "from": "12:00",
3804
4454
  "to": "23:59"
@@ -3810,7 +4460,14 @@ response = $client.send(Pokepay::Request::UpdateCampaign.new(
3810
4460
  "to": "23:59"
3811
4461
  }], # キャンペーンを適用する時間帯 (複数指定)
3812
4462
  applicable_shop_ids: ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], # キャンペーン適用対象となる店舗IDのリスト
3813
- minimum_number_for_combination_purchase: 7047 # 複数種類の商品を同時購入するときの商品種別数の下限
4463
+ minimum_number_for_combination_purchase: 7796, # 複数種類の商品を同時購入するときの商品種別数の下限
4464
+ exist_in_each_product_groups: false, # 複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ
4465
+ max_point_amount: 9422, # キャンペーンによって付与されるポイントの上限
4466
+ max_total_point_amount: 3295, # キャンペーンによって付与されるの1人当たりの累計ポイントの上限
4467
+ applicable_account_metadata: {
4468
+ "key": "sex",
4469
+ "value": "male"
4470
+ } # ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
3814
4471
  ))
3815
4472
  ```
3816
4473
 
@@ -4135,6 +4792,147 @@ event が payment か external-transaction の時のみ有効です。
4135
4792
  }
4136
4793
  ```
4137
4794
 
4795
+ ---
4796
+ `exist_in_each_product_groups`
4797
+ ```json
4798
+ { "type": "boolean" }
4799
+ ```
4800
+ 複数の商品グループの各グループにつき1種類以上の商品が購入されることによって発火するキャンペーンであるときに真を指定します。デフォルトは偽です。
4801
+
4802
+ このパラメータを指定するときは product_based_point_rules で商品毎のルールが指定され、さらにその中でgroup_idが指定されている必要があります。group_idは正の整数です。
4803
+ exist_in_each_product_groupsが指定されているにも関わらず商品毎のルールでgroup_idが指定されていないものが含まれている場合はinvalid_parametersエラー(missing group_id, エラーコード400)が返ります。
4804
+
4805
+ 例えば、商品グループA(商品コードa1, a2)、商品グループB(商品コードb1, b2)の2つの商品グループがあるとします。
4806
+ このとき、各商品グループからそれぞれ少なくとも1種類以上の商品が購入されることにより発火するキャンペーンに対するリクエストパラメータは以下のようなものになります。
4807
+
4808
+ ```javascript
4809
+ {
4810
+ exist_in_each_product_groups: true,
4811
+ product_based_point_rules: [
4812
+ {
4813
+ "point_amount": 100,
4814
+ "point_amount_unit": "absolute",
4815
+ "product_code": "a1",
4816
+ "group_id": 1
4817
+ },
4818
+ {
4819
+ "point_amount": 100,
4820
+ "point_amount_unit": "absolute",
4821
+ "product_code": "a2",
4822
+ "group_id": 1
4823
+ },
4824
+ {
4825
+ "point_amount": 200,
4826
+ "point_amount_unit": "absolute",
4827
+ "product_code": "b1",
4828
+ "group_id": 2
4829
+ },
4830
+ {
4831
+ "point_amount": 200,
4832
+ "point_amount_unit": "absolute",
4833
+ "product_code": "b2",
4834
+ "group_id": 2
4835
+ }
4836
+ ]
4837
+ }
4838
+ ```
4839
+
4840
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になります。つまり100 + 200=300がポイント付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
4841
+
4842
+ ポイント付与値を各商品毎のルールの総和ではなく固定値にしたい場合には、max_point_amountを指定します。
4843
+ 例えば以下のようなリクエストパラメータ指定の場合を考えます。
4844
+
4845
+ ```javascript
4846
+ {
4847
+ max_point_amount: 100,
4848
+ exist_in_each_product_groups: true,
4849
+ product_based_point_rules: [
4850
+ {
4851
+ "point_amount": 100,
4852
+ "point_amount_unit": "absolute",
4853
+ "product_code": "a1",
4854
+ "group_id": 1
4855
+ },
4856
+ {
4857
+ "point_amount": 100,
4858
+ "point_amount_unit": "absolute",
4859
+ "product_code": "a2",
4860
+ "group_id": 1
4861
+ },
4862
+ {
4863
+ "point_amount": 100,
4864
+ "point_amount_unit": "absolute",
4865
+ "product_code": "b1",
4866
+ "group_id": 2
4867
+ },
4868
+ {
4869
+ "point_amount": 100,
4870
+ "point_amount_unit": "absolute",
4871
+ "product_code": "b2",
4872
+ "group_id": 2
4873
+ }
4874
+ ]
4875
+ }
4876
+ ```
4877
+
4878
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になりますが、付与値の上限が100ポイントになります。つまり100 + 200=300と計算されますが上限額の100ポイントが実際の付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600ですが上限額の100がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
4879
+
4880
+ ---
4881
+ `max_point_amount`
4882
+ ```json
4883
+ {
4884
+ "type": "integer",
4885
+ "minimum": 1
4886
+ }
4887
+ ```
4888
+ キャンペーンによって付与される1取引当たりのポイント数の上限を指定します。デフォルトは未指定です。
4889
+
4890
+ このパラメータが指定されている場合、amount_based_point_rules や product_based_point_rules によって計算されるポイント付与値がmax_point_amountを越えている場合、max_point_amountの値がポイント付与値となり、越えていない場合はその値がポイント付与値となります。
4891
+
4892
+ ---
4893
+ `max_total_point_amount`
4894
+ ```json
4895
+ {
4896
+ "type": "integer",
4897
+ "minimum": 1
4898
+ }
4899
+ ```
4900
+ キャンペーンによって付与される1人当たりの累計ポイント数の上限を指定します。デフォルトは未指定です。
4901
+
4902
+ このパラメータが指定されている場合、各ユーザに対してそのキャンペーンによって過去付与されたポイントの累積値が記録されるようになります。
4903
+ 累積ポイント数がmax_total_point_amountを超えない限りにおいてキャンペーンで算出されたポイントが付与されます。
4904
+
4905
+ ---
4906
+ `applicable_account_metadata`
4907
+ ```json
4908
+ { "type": "object" }
4909
+ ```
4910
+ ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
4911
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
4912
+ ウォレットのメタデータはCreateUserAccountやUpdateCustomerAccountで登録できます。
4913
+
4914
+ オプショナルパラメータtestによって比較方法を指定することができます。
4915
+ デフォルトは equal で、その他に not-equalを指定可能です。
4916
+
4917
+ 例1: 取引が行なわれたウォレットのメタデータに住所として東京が指定されているときのみ発火
4918
+
4919
+ ```javascript
4920
+ {
4921
+ "key": "prefecture",
4922
+ "value": "tokyo"
4923
+ }
4924
+ ```
4925
+
4926
+ 例2: 取引が行なわれたウォレットのメタデータに住所として東京以外が指定されているときのみ発火
4927
+
4928
+ ```javascript
4929
+ {
4930
+ "key": "prefecture",
4931
+ "value": "tokyo",
4932
+ "test": "not-equal"
4933
+ }
4934
+ ```
4935
+
4138
4936
  ---
4139
4937
  成功したときは[Campaign](#campaign)オブジェクトを返します
4140
4938
  ## Responses
@@ -4145,12 +4943,10 @@ event が payment か external-transaction の時のみ有効です。
4145
4943
  * `id (string)`:
4146
4944
  * `name (string)`:
4147
4945
  * `is_suspended (boolean)`:
4148
- * `status (AccountStatus)`:
4946
+ * `status (string)`:
4149
4947
  * `private_money (PrivateMoney)`:
4150
4948
  * `user (User)`:
4151
4949
 
4152
- `status`は [AccountStatus](#account-status) オブジェクトを返します。
4153
-
4154
4950
  `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
4155
4951
 
4156
4952
  `user`は [User](#user) オブジェクトを返します。
@@ -4160,16 +4956,15 @@ event が payment か external-transaction の時のみ有効です。
4160
4956
  * `id (string)`:
4161
4957
  * `name (string)`:
4162
4958
  * `is_suspended (boolean)`:
4163
- * `status (AccountStatus)`:
4959
+ * `status (string)`:
4164
4960
  * `balance (double)`:
4165
4961
  * `money_balance (double)`:
4166
4962
  * `point_balance (double)`:
4963
+ * `point_debt (double)`:
4167
4964
  * `private_money (PrivateMoney)`:
4168
4965
  * `user (User)`:
4169
4966
  * `external_id (string)`:
4170
4967
 
4171
- `status`は [AccountStatus](#account-status) オブジェクトを返します。
4172
-
4173
4968
  `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
4174
4969
 
4175
4970
  `user`は [User](#user) オブジェクトを返します。
@@ -4193,6 +4988,7 @@ event が payment か external-transaction の時のみ有効です。
4193
4988
  <a name="check"></a>
4194
4989
  ## Check
4195
4990
  * `id (string)`: チャージQRコードのID
4991
+ * `created_at (string)`: チャージQRコードの作成日時
4196
4992
  * `amount (double)`: チャージマネー額 (deprecated)
4197
4993
  * `money_amount (double)`: チャージマネー額
4198
4994
  * `point_amount (double)`: チャージポイント額
@@ -4204,6 +5000,8 @@ event が payment か external-transaction の時のみ有効です。
4204
5000
  * `private_money (PrivateMoney)`: 対象マネー情報
4205
5001
  * `usage_limit (integer)`: 一回限りでない場合の最大読み取り回数
4206
5002
  * `usage_count (double)`: 一回限りでない場合の現在までに読み取られた回数
5003
+ * `point_expires_at (string)`: ポイント有効期限(絶対日数指定)
5004
+ * `point_expires_in_days (integer)`: ポイント有効期限(相対日数指定)
4207
5005
  * `token (string)`: チャージQRコードを解析したときに出てくるURL
4208
5006
 
4209
5007
  `user`は [User](#user) オブジェクトを返します。
@@ -4336,6 +5134,29 @@ event が payment か external-transaction の時のみ有効です。
4336
5134
 
4337
5135
  `pagination`は [Pagination](#pagination) オブジェクトを返します。
4338
5136
 
5137
+ <a name="private-money-summary"></a>
5138
+ ## PrivateMoneySummary
5139
+ * `topup_amount (double)`:
5140
+ * `refunded_topup_amount (double)`:
5141
+ * `payment_amount (double)`:
5142
+ * `refunded_payment_amount (double)`:
5143
+ * `added_point_amount (double)`:
5144
+ * `refunded_added_point_amount (double)`:
5145
+ * `exchange_inflow_amount (double)`:
5146
+ * `exchange_outflow_amount (double)`:
5147
+ * `transaction_count (integer)`:
5148
+
5149
+ <a name="user-stats-operation"></a>
5150
+ ## UserStatsOperation
5151
+ * `id (string)`: 集計処理ID
5152
+ * `from (string)`: 集計期間の開始時刻
5153
+ * `to (string)`: 集計期間の終了時刻
5154
+ * `status (string)`: 集計処理の実行ステータス
5155
+ * `error_reason (string)`: エラーとなった理由
5156
+ * `done_at (string)`: 集計処理の完了時刻
5157
+ * `file_url (string)`: 集計結果のCSVのダウンロードURL
5158
+ * `requested_at (string)`: 集計リクエストを行った時刻
5159
+
4339
5160
  <a name="paginated-transaction"></a>
4340
5161
  ## PaginatedTransaction
4341
5162
  * `rows (array of Transactions)`:
@@ -4366,6 +5187,16 @@ event が payment か external-transaction の時のみ有効です。
4366
5187
 
4367
5188
  `pagination`は [Pagination](#pagination) オブジェクトを返します。
4368
5189
 
5190
+ <a name="paginated-transfers-v2"></a>
5191
+ ## PaginatedTransfersV2
5192
+ * `rows (array of Transfers)`:
5193
+ * `per_page (integer)`:
5194
+ * `count (integer)`:
5195
+ * `next_page_cursor_id (string)`:
5196
+ * `prev_page_cursor_id (string)`:
5197
+
5198
+ `rows`は [Transfer](#transfer) オブジェクトの配列を返します。
5199
+
4369
5200
  <a name="paginated-account-with-users"></a>
4370
5201
  ## PaginatedAccountWithUsers
4371
5202
  * `rows (array of AccountWithUsers)`:
@@ -4441,6 +5272,7 @@ event が payment か external-transaction の時のみ有効です。
4441
5272
  * `bear_point_shop (User)`: ポイントを負担する店舗
4442
5273
  * `private_money (PrivateMoney)`: キャンペーンを適用するマネー
4443
5274
  * `dest_private_money (PrivateMoney)`: ポイントを付与するマネー
5275
+ * `max_total_point_amount (integer)`: 一人当たりの累計ポイント上限
4444
5276
  * `point_calculation_rule (string)`: ポイント計算ルール (banklisp表記)
4445
5277
  * `point_calculation_rule_object (string)`: ポイント計算ルール (JSON文字列による表記)
4446
5278
  * `status (string)`: キャンペーンの現在の状態
@@ -4461,8 +5293,11 @@ event が payment か external-transaction の時のみ有効です。
4461
5293
 
4462
5294
  `pagination`は [Pagination](#pagination) オブジェクトを返します。
4463
5295
 
4464
- <a name="account-status"></a>
4465
- ## AccountStatus
5296
+ <a name="account-transfer-summary"></a>
5297
+ ## AccountTransferSummary
5298
+ * `summaries (array of AccountTransferSummaryElements)`:
5299
+
5300
+ `summaries`は [AccountTransferSummaryElement](#account-transfer-summary-element) オブジェクトの配列を返します。
4466
5301
 
4467
5302
  <a name="private-money"></a>
4468
5303
  ## PrivateMoney
@@ -4516,11 +5351,9 @@ event が payment か external-transaction の時のみ有効です。
4516
5351
  * `id (string)`: ウォレットID
4517
5352
  * `name (string)`: ウォレット名
4518
5353
  * `is_suspended (boolean)`: ウォレットが凍結されているかどうか
4519
- * `status (AccountStatus)`:
5354
+ * `status (string)`:
4520
5355
  * `private_money (PrivateMoney)`: 設定マネー情報
4521
5356
 
4522
- `status`は [AccountStatus](#account-status) オブジェクトを返します。
4523
-
4524
5357
  `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
4525
5358
 
4526
5359
  <a name="transfer"></a>
@@ -4581,6 +5414,13 @@ event が payment か external-transaction の時のみ有効です。
4581
5414
  * `email (string)`: 店舗のメールアドレス
4582
5415
  * `external_id (string)`: 店舗の外部ID
4583
5416
 
5417
+ <a name="account-transfer-summary-element"></a>
5418
+ ## AccountTransferSummaryElement
5419
+ * `transfer_type (string)`:
5420
+ * `money_amount (double)`:
5421
+ * `point_amount (double)`:
5422
+ * `count (double)`:
5423
+
4584
5424
  <a name="organization"></a>
4585
5425
  ## Organization
4586
5426
  * `code (string)`: 組織コード
@@ -4591,12 +5431,10 @@ event が payment か external-transaction の時のみ有効です。
4591
5431
  * `id (string)`:
4592
5432
  * `name (string)`:
4593
5433
  * `is_suspended (boolean)`:
4594
- * `status (AccountStatus)`:
5434
+ * `status (string)`:
4595
5435
  * `private_money_id (string)`:
4596
5436
  * `user (User)`:
4597
5437
 
4598
- `status`は [AccountStatus](#account-status) オブジェクトを返します。
4599
-
4600
5438
  `user`は [User](#user) オブジェクトを返します。
4601
5439
 
4602
5440
  <a name="organization-summary"></a>