pokepay_partner_ruby_sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/partner.yaml CHANGED
@@ -12,6 +12,7 @@ info:
12
12
 
13
13
  tags:
14
14
  - name: Transaction
15
+ - name: Transfer
15
16
  - name: Check
16
17
  description: |
17
18
  店舗ユーザが発行し、エンドユーザーがポケペイアプリから読み取ることでチャージ取引が発生するQRコードです。
@@ -154,6 +155,9 @@ components:
154
155
  point_balance:
155
156
  type: number
156
157
  format: decimal
158
+ point_debt:
159
+ type: number
160
+ format: decimal
157
161
  private_money:
158
162
  $ref: '#/components/schemas/PrivateMoney'
159
163
  user:
@@ -241,6 +245,10 @@ components:
241
245
  type: string
242
246
  format: uuid
243
247
  title: チャージQRコードのID
248
+ created_at:
249
+ type: string
250
+ format: date-time
251
+ title: チャージQRコードの作成日時
244
252
  amount:
245
253
  type: number
246
254
  format: decimal
@@ -275,10 +283,23 @@ components:
275
283
  title: 対象マネー情報
276
284
  usage_limit:
277
285
  type: integer
286
+ minimum: 1
287
+ nullable: true
278
288
  title: 一回限りでない場合の最大読み取り回数
279
289
  usage_count:
280
290
  type: number
291
+ nullable: true
281
292
  title: 一回限りでない場合の現在までに読み取られた回数
293
+ point_expires_at:
294
+ type: string
295
+ format: date-time
296
+ nullable: true
297
+ title: ポイント有効期限(絶対日数指定)
298
+ point_expires_in_days:
299
+ type: integer
300
+ minimum: 0
301
+ nullable: true
302
+ title: ポイント有効期限(相対日数指定)
282
303
  token:
283
304
  type: string
284
305
  title: チャージQRコードを解析したときに出てくるURL
@@ -734,6 +755,84 @@ components:
734
755
  type: string
735
756
  format: date-time
736
757
  title: バルク取引が更新された日時
758
+ BulkTransactionJob:
759
+ x-pokepay-schema-type: "response"
760
+ properties:
761
+ id:
762
+ type: integer
763
+ bulk_transaction:
764
+ $ref: '#/components/schemas/BulkTransaction'
765
+ type:
766
+ type: string
767
+ enum:
768
+ - payment
769
+ - topup
770
+ title: 取引種別
771
+ sender_account_id:
772
+ type: string
773
+ format: uuid
774
+ receiver_account_id:
775
+ type: string
776
+ format: uuid
777
+ money_amount:
778
+ type: number
779
+ format: decimal
780
+ minimum: 0
781
+ point_amount:
782
+ type: number
783
+ format: decimal
784
+ minimum: 0
785
+ description:
786
+ type: string
787
+ title: バルク取引ジョブ管理用の説明文
788
+ bear_point_account_id:
789
+ type: string
790
+ format: uuid
791
+ point_expires_at:
792
+ type: string
793
+ format: date-time
794
+ nullable: true
795
+ title: ポイント有効期限
796
+ status:
797
+ type: string
798
+ enum:
799
+ - queued
800
+ - processing
801
+ - done
802
+ - error
803
+ title: バルク取引ジョブの状態
804
+ error:
805
+ type: string
806
+ nullable: true
807
+ title: バルク取引のエラー種別
808
+ lineno:
809
+ type: integer
810
+ nullable: true
811
+ title: バルク取引のエラーが発生した行番号
812
+ transaction_id:
813
+ type: string
814
+ format: uuid
815
+ nullable: true
816
+ created_at:
817
+ type: string
818
+ format: date-time
819
+ title: バルク取引ジョブが登録された日時
820
+ updated_at:
821
+ type: string
822
+ format: date-time
823
+ title: バルク取引ジョブが更新された日時
824
+ PaginatedBulkTransactionJob:
825
+ x-pokepay-schema-type: "response"
826
+ properties:
827
+ rows:
828
+ type: array
829
+ items:
830
+ $ref: '#/components/schemas/BulkTransactionJob'
831
+ count:
832
+ type: integer
833
+ minimum: 0
834
+ pagination:
835
+ $ref: '#/components/schemas/Pagination'
737
836
  AccountWithoutPrivateMoneyDetail:
738
837
  x-pokepay-schema-type: "response"
739
838
  properties:
@@ -907,6 +1006,46 @@ components:
907
1006
  format: decimal
908
1007
  transaction_count:
909
1008
  type: integer
1009
+ UserStatsOperation:
1010
+ x-pokepay-schema-type: "response"
1011
+ properties:
1012
+ id:
1013
+ title: '集計処理ID'
1014
+ type: string
1015
+ format: uuid
1016
+ from:
1017
+ title: '集計期間の開始時刻'
1018
+ type: string
1019
+ format: date-time
1020
+ to:
1021
+ title: '集計期間の終了時刻'
1022
+ type: string
1023
+ format: date-time
1024
+ status:
1025
+ title: '集計処理の実行ステータス'
1026
+ type: string
1027
+ enum: [submitted, preprocessing, pending, processing, successed, error]
1028
+ error_reason:
1029
+ title: 'エラーとなった理由'
1030
+ type: string
1031
+ nullable: true
1032
+ example: null
1033
+ done_at:
1034
+ title: '集計処理の完了時刻'
1035
+ type: string
1036
+ format: date-time
1037
+ nullable: true
1038
+ example: null
1039
+ file_url:
1040
+ title: '集計結果のCSVのダウンロードURL'
1041
+ type: string
1042
+ nullable: true
1043
+ example: 'https://pokepay.s3.ap-northeast-1.amazonaws.com/user-stats/1CB9DC40-788F-423F-A2BF-6A5D72FB5B81.csv'
1044
+ requested_at:
1045
+ title: '集計リクエストを行った時刻'
1046
+ type: string
1047
+ format: date-time
1048
+
910
1049
  PaginatedTransaction:
911
1050
  x-pokepay-schema-type: "response"
912
1051
  properties:
@@ -958,6 +1097,35 @@ components:
958
1097
  minimum: 0
959
1098
  pagination:
960
1099
  $ref: '#/components/schemas/Pagination'
1100
+
1101
+ PaginatedTransfersV2:
1102
+ x-pokepay-schema-type: "response"
1103
+ properties:
1104
+ rows:
1105
+ type: array
1106
+ items:
1107
+ $ref: '#/components/schemas/Transfer'
1108
+ per_page:
1109
+ type: integer
1110
+ count:
1111
+ type: integer
1112
+ next_page_cursor_id:
1113
+ type: string
1114
+ format: uuid
1115
+ nullable: true
1116
+ description: |-
1117
+ 次ページ取得するためのID。
1118
+
1119
+ 実際にはrows末尾
1120
+ prev_page_cursor_id:
1121
+ type: string
1122
+ format: uuid
1123
+ nullable: true
1124
+ description: |-
1125
+ 前ページ取得するためのID。
1126
+
1127
+ 実際にはrows先頭
1128
+
961
1129
  PaginatedAccounts:
962
1130
  x-pokepay-schema-type: "response"
963
1131
  properties:
@@ -1096,6 +1264,11 @@ components:
1096
1264
  dest_private_money:
1097
1265
  title: 'ポイントを付与するマネー'
1098
1266
  $ref: '#/components/schemas/PrivateMoney'
1267
+ max_total_point_amount:
1268
+ title: '一人当たりの累計ポイント上限'
1269
+ type: integer
1270
+ minimum: 1
1271
+ nullable: true
1099
1272
  point_calculation_rule:
1100
1273
  type: string
1101
1274
  title: 'ポイント計算ルール (banklisp表記)'
@@ -1119,6 +1292,29 @@ components:
1119
1292
  minimum: 0
1120
1293
  pagination:
1121
1294
  $ref: '#/components/schemas/Pagination'
1295
+ AccountTransferSummaryElement:
1296
+ x-pokepay-schema-type: "response"
1297
+ properties:
1298
+ transfer_type:
1299
+ type: string
1300
+ enum: [payment, topup, campaign-topup, use-coupon, refund-payment, refund-topup, refund-campaign, refund-coupon, exchange-inflow, exchange-outflow, refund-exchange-inflow, refund-exchange-outflow]
1301
+ money_amount:
1302
+ type: number
1303
+ format: decimal
1304
+ point_amount:
1305
+ type: number
1306
+ format: decimal
1307
+ count:
1308
+ type: number
1309
+ format: decimal
1310
+ AccountTransferSummary:
1311
+ x-pokepay-schema-type: "response"
1312
+ properties:
1313
+ summaries:
1314
+ type: array
1315
+ items:
1316
+ $ref: '#/components/schemas/AccountTransferSummaryElement'
1317
+
1122
1318
  BadRequest:
1123
1319
  x-pokepay-schema-type: "response"
1124
1320
  oneOf:
@@ -1194,6 +1390,14 @@ components:
1194
1390
  message:
1195
1391
  type: string
1196
1392
  example: Forbidden
1393
+ UnpermittedAdminUser:
1394
+ x-pokepay-schema-type: "response"
1395
+ properties:
1396
+ type:
1397
+ type: string
1398
+ pattern: '^unpermitted_admin_user$'
1399
+ message:
1400
+ type: string
1197
1401
  NotFound:
1198
1402
  properties:
1199
1403
  type:
@@ -1215,6 +1419,21 @@ components:
1215
1419
  type: string
1216
1420
  message:
1217
1421
  type: string
1422
+ TemporarilyUnavailable:
1423
+ properties:
1424
+ type:
1425
+ type: string
1426
+ pattern: '^temporarily_unavailable$'
1427
+ message:
1428
+ type: string
1429
+ UserStatsOperationServiceUnavailable:
1430
+ x-pokepay-schema-type: "response"
1431
+ properties:
1432
+ type:
1433
+ type: string
1434
+ pattern: '^user_stats_operation_service_unavailable$'
1435
+ message:
1436
+ type: string
1218
1437
 
1219
1438
  PrivateMoneyNotAvailable:
1220
1439
  properties:
@@ -1249,6 +1468,12 @@ components:
1249
1468
  application/json:
1250
1469
  schema:
1251
1470
  $ref: '#/components/schemas/Forbidden'
1471
+ UnpermittedAdminUser:
1472
+ description: Unpermitted Admin User
1473
+ content:
1474
+ application/json:
1475
+ schema:
1476
+ $ref: '#/components/schemas/UnpermittedAdminUser'
1252
1477
  NotFound:
1253
1478
  description: Not Found
1254
1479
  content:
@@ -1267,6 +1492,12 @@ components:
1267
1492
  application/json:
1268
1493
  schema:
1269
1494
  $ref: '#/components/schemas/Conflict'
1495
+ UserStatsOperationServiceUnavailable:
1496
+ description: User stats operation service is temporarily unavailable
1497
+ content:
1498
+ application/json:
1499
+ schema:
1500
+ $ref: '#/components/schemas/UserStatsOperationServiceUnavailable'
1270
1501
 
1271
1502
  paths:
1272
1503
  /ping:
@@ -1362,6 +1593,8 @@ paths:
1362
1593
  tags:
1363
1594
  - Account
1364
1595
  summary: 'エンドユーザーのウォレットを作成する'
1596
+ description: |-
1597
+ 既存のエンドユーザーに対して、指定したマネーのウォレットを新規作成します
1365
1598
  x-pokepay-operator-name: "CreateUserAccount"
1366
1599
  x-pokepay-allow-server-side: true
1367
1600
  parameters:
@@ -1397,6 +1630,18 @@ paths:
1397
1630
  title: '外部ID'
1398
1631
  type: string
1399
1632
  maxLength: 50
1633
+ metadata:
1634
+ type: string
1635
+ format: json
1636
+ title: 'ウォレットに付加するメタデータ'
1637
+ description: |-
1638
+ ウォレットに付加するメタデータをJSON文字列で指定します。
1639
+ 指定できるJSON文字列には以下のような制約があります。
1640
+ - フラットな構造のJSONを文字列化したものであること。
1641
+ - keyは最大32文字の文字列(同じkeyを複数指定することはできません)
1642
+ - valueには128文字以下の文字列が指定できます
1643
+ example: |-
1644
+ {"key1":"foo","key2":"bar"}
1400
1645
  responses:
1401
1646
  '200':
1402
1647
  description: OK
@@ -1443,7 +1688,14 @@ paths:
1443
1688
  tags:
1444
1689
  - Customer
1445
1690
  summary: 'ウォレット情報を更新する'
1446
- description: ウォレットの状態を更新します。現在はウォレットの凍結/凍結解除の切り替えにのみ対応しています。
1691
+ description: |-
1692
+ ウォレットの状態を更新します。
1693
+ 以下の項目が変更できます。
1694
+
1695
+ - ウォレットの凍結/凍結解除の切り替え(エンドユーザー、店舗ユーザー共通)
1696
+ - 店舗でチャージ可能かどうか(店舗ユーザのみ)
1697
+
1698
+ エンドユーザーのウォレット情報更新には UpdateCustomerAccount が使用できます。
1447
1699
  x-pokepay-operator-name: "UpdateAccount"
1448
1700
  x-pokepay-allow-server-side: true
1449
1701
  parameters:
@@ -1667,8 +1919,8 @@ paths:
1667
1919
  patch:
1668
1920
  tags:
1669
1921
  - Customer
1670
- summary: 'ウォレット情報を更新する'
1671
- description: ウォレットの状態を更新します。
1922
+ summary: 'エンドユーザーのウォレット情報を更新する'
1923
+ description: エンドユーザーのウォレットの状態を更新します。
1672
1924
  x-pokepay-operator-name: "UpdateCustomerAccount"
1673
1925
  x-pokepay-allow-server-side: true
1674
1926
  parameters:
@@ -1704,6 +1956,30 @@ paths:
1704
1956
  type: string
1705
1957
  maxLength: 50
1706
1958
  description: 変更する外部IDです。
1959
+ metadata:
1960
+ type: string
1961
+ format: json
1962
+ title: 'ウォレットに付加するメタデータ'
1963
+ description: |-
1964
+ ウォレットに付加するメタデータをJSON文字列で指定します。
1965
+ 指定できるJSON文字列には以下のような制約があります。
1966
+ - フラットな構造のJSONを文字列化したものであること。
1967
+ - keyは最大32文字の文字列(同じkeyを複数指定することはできません)
1968
+ - valueには128文字以下の文字列が指定できます
1969
+
1970
+ 更新時に指定した内容でメタデータ全体が置き換えられることに注意してください。
1971
+ 例えば、元々のメタデータが以下だったときに、
1972
+
1973
+ '{"key1":"foo","key2":"bar"}'
1974
+
1975
+ 更新APIで以下のように更新するとします。
1976
+
1977
+ '{"key1":"baz"}'
1978
+
1979
+ このときkey1はfooからbazに更新され、key2に対するデータは消去されます。
1980
+
1981
+ example: |-
1982
+ {"key1":"foo","key2":"bar"}
1707
1983
  responses:
1708
1984
  '200':
1709
1985
  description: OK
@@ -1719,6 +1995,88 @@ paths:
1719
1995
  $ref: '#/components/responses/NotFound'
1720
1996
  '422':
1721
1997
  $ref: '#/components/responses/UnprocessableEntity'
1998
+ /accounts/{account_id}/transfers/summary:
1999
+ get:
2000
+ tags:
2001
+ - Transfer
2002
+ summary: ''
2003
+ description: ウォレットを指定して取引明細種別毎の集計を返す
2004
+ x-pokepay-operator-name: "GetAccountTransferSummary"
2005
+ x-pokepay-allow-server-side: true
2006
+ parameters:
2007
+ - name: account_id
2008
+ in: path
2009
+ required: true
2010
+ schema:
2011
+ type: string
2012
+ format: uuid
2013
+ title: 'ウォレットID'
2014
+ description: |-
2015
+ ウォレットIDです。
2016
+
2017
+ ここで指定したウォレットIDの取引明細レベルでの集計を取得します。
2018
+ requestBody:
2019
+ required: true
2020
+ content:
2021
+ application/json:
2022
+ schema:
2023
+ properties:
2024
+ from:
2025
+ type: string
2026
+ format: date-time
2027
+ title: '集計期間の開始時刻'
2028
+ to:
2029
+ type: string
2030
+ format: date-time
2031
+ title: '集計期間の終了時刻'
2032
+ transfer_types:
2033
+ type: array
2034
+ title: '取引明細種別 (複数指定可)'
2035
+ example: '["topup", "payment"]'
2036
+ description: |-
2037
+ 取引明細の種別でフィルターします。
2038
+ 以下の種別を指定できます。
2039
+
2040
+ - payment
2041
+ エンドユーザーから店舗への送金取引(支払い取引)
2042
+ - topup
2043
+ 店舗からエンドユーザーへの送金取引(チャージ取引)
2044
+ - campaign-topup
2045
+ キャンペーンによるエンドユーザーへのポイント付与取引(ポイントチャージ)
2046
+ - use-coupon
2047
+ 支払い時のクーポン使用による値引き取引
2048
+ - refund-payment
2049
+ 支払い取引に対するキャンセル取引
2050
+ - refund-topup
2051
+ チャージ取引に対するキャンセル取引
2052
+ - refund-campaign
2053
+ キャンペーンによるポイント付与取引に対するキャンセル取引
2054
+ - refund-coupon
2055
+ クーポン使用による値引き取引に対するキャンセル取引
2056
+ - exchange-inflow
2057
+ 交換による他マネーからの流入取引
2058
+ - exchange-outflow
2059
+ 交換による他マネーへの流出取引
2060
+ - refund-exchange-inflow
2061
+ 交換による他マネーからの流入取引に対するキャンセル取引
2062
+ - refund-exchange-outflow
2063
+ 交換による他マネーへの流出取引に対するキャンセル取引
2064
+ items:
2065
+ type: string
2066
+ enum: [payment, topup, campaign-topup, use-coupon, refund-payment, refund-topup, refund-campaign, refund-coupon, exchange-inflow, exchange-outflow, refund-exchange-inflow, refund-exchange-outflow]
2067
+ responses:
2068
+ '200':
2069
+ description: OK
2070
+ content:
2071
+ application/json:
2072
+ schema:
2073
+ $ref: '#/components/schemas/AccountTransferSummary'
2074
+ '400':
2075
+ $ref: '#/components/responses/InvalidParameters'
2076
+ '403':
2077
+ $ref: '#/components/responses/UnpermittedAdminUser'
2078
+ '404':
2079
+ $ref: '#/components/responses/NotFound'
1722
2080
  /accounts/customers:
1723
2081
  get:
1724
2082
  tags:
@@ -1802,9 +2160,12 @@ paths:
1802
2160
  post:
1803
2161
  tags:
1804
2162
  - Customer
1805
- summary: '新規エンドユーザーウォレットを追加する'
2163
+ summary: '新規エンドユーザーをウォレットと共に追加する'
1806
2164
  description: |-
1807
- 指定したマネーのウォレットを作成し、同時にそのウォレットを保有するユーザも作成します。
2165
+ 指定したマネーのウォレットを作成し、同時にそのウォレットを保有するユーザも新規に作成します。
2166
+ このAPIにより作成されたユーザは認証情報を持たないため、モバイルSDKやポケペイ標準アプリからはログインすることはできません。
2167
+ Partner APIのみから操作可能な特殊なユーザになります。
2168
+ システム全体をPartner APIのみで構成する場合にのみ使用してください。
1808
2169
  x-pokepay-operator-name: "CreateCustomerAccount"
1809
2170
  x-pokepay-allow-server-side: true
1810
2171
  requestBody:
@@ -2122,6 +2483,7 @@ paths:
2122
2483
  - Check
2123
2484
  summary: 'チャージQRコードの発行'
2124
2485
  x-pokepay-operator-name: "CreateCheck"
2486
+ x-pokepay-allow-server-side: true
2125
2487
  requestBody:
2126
2488
  required: true
2127
2489
  content:
@@ -2189,6 +2551,10 @@ paths:
2189
2551
  $ref: '#/components/schemas/Check'
2190
2552
  '400':
2191
2553
  $ref: '#/components/responses/InvalidParameters'
2554
+ '403':
2555
+ $ref: '#/components/responses/Forbidden'
2556
+ '422':
2557
+ $ref: '#/components/responses/UnprocessableEntity'
2192
2558
  /cpm/{cpm_token}:
2193
2559
  get:
2194
2560
  tags:
@@ -2849,6 +3215,9 @@ paths:
2849
3215
  jan_code:
2850
3216
  type: string
2851
3217
  maxLength: 64
3218
+ classification_code:
3219
+ type: string
3220
+ maxLength: 64
2852
3221
  name:
2853
3222
  type: string
2854
3223
  maxLength: 256
@@ -2973,6 +3342,9 @@ paths:
2973
3342
  jan_code:
2974
3343
  type: string
2975
3344
  maxLength: 64
3345
+ classification_code:
3346
+ type: string
3347
+ maxLength: 64
2976
3348
  name:
2977
3349
  type: string
2978
3350
  maxLength: 256
@@ -3287,6 +3659,12 @@ paths:
3287
3659
  title: リクエストID
3288
3660
  description: |-
3289
3661
  重複したリクエストを判断するためのユニークID。ランダムな36字の文字列を生成して渡してください。
3662
+ private_money_id:
3663
+ type: string
3664
+ format: uuid
3665
+ title: 'マネーID'
3666
+ description: |-
3667
+ マネーIDです。 マネーを指定します。
3290
3668
  responses:
3291
3669
  '200':
3292
3670
  description: OK
@@ -3300,6 +3678,8 @@ paths:
3300
3678
  $ref: '#/components/responses/Forbidden'
3301
3679
  '409':
3302
3680
  $ref: '#/components/responses/Conflict'
3681
+ '422':
3682
+ $ref: '#/components/responses/UnprocessableEntity'
3303
3683
  /transactions/{transaction_id}:
3304
3684
  get:
3305
3685
  tags:
@@ -3367,6 +3747,12 @@ paths:
3367
3747
  maxLength: 200
3368
3748
  title: '取引履歴に表示する返金事由'
3369
3749
  example: '返品対応のため'
3750
+ returning_point_expires_at:
3751
+ type: string
3752
+ format: date-time
3753
+ title: '返却ポイントの有効期限'
3754
+ description: |-
3755
+ ポイント支払いを含む支払い取引をキャンセルする際にユーザへ返却されるポイントの有効期限です。デフォルトでは未指定です。
3370
3756
  responses:
3371
3757
  '200':
3372
3758
  description: OK
@@ -3490,6 +3876,9 @@ paths:
3490
3876
  jan_code:
3491
3877
  type: string
3492
3878
  maxLength: 64
3879
+ classification_code:
3880
+ type: string
3881
+ maxLength: 64
3493
3882
  name:
3494
3883
  type: string
3495
3884
  maxLength: 256
@@ -3593,7 +3982,7 @@ paths:
3593
3982
  /transfers:
3594
3983
  get:
3595
3984
  tags:
3596
- - Transaction
3985
+ - Transfer
3597
3986
  x-pokepay-operator-name: "ListTransfers"
3598
3987
  x-pokepay-allow-server-side: true
3599
3988
  requestBody:
@@ -3688,6 +4077,206 @@ paths:
3688
4077
  '400':
3689
4078
  $ref: '#/components/responses/InvalidParameters'
3690
4079
 
4080
+ /transfers-v2:
4081
+ get:
4082
+ tags:
4083
+ - Transfer
4084
+ x-pokepay-operator-name: "ListTransfersV2"
4085
+ x-pokepay-allow-server-side: true
4086
+ requestBody:
4087
+ required: true
4088
+ content:
4089
+ application/json:
4090
+ schema:
4091
+ properties:
4092
+ shop_id:
4093
+ type: string
4094
+ format: uuid
4095
+ title: '店舗ID'
4096
+ description: |-
4097
+ 店舗IDです。
4098
+
4099
+ フィルターとして使われ、指定された店舗での取引のみ一覧に表示されます。
4100
+ shop_name:
4101
+ type: string
4102
+ maxLength: 256
4103
+ title: '店舗名'
4104
+ description: |-
4105
+ 店舗名です。
4106
+
4107
+ フィルターとして使われ、入力された名前に部分一致する店舗での取引のみ一覧に表示されます。
4108
+ customer_id:
4109
+ type: string
4110
+ format: uuid
4111
+ title: 'エンドユーザーID'
4112
+ description: |-
4113
+ エンドユーザーIDです。
4114
+
4115
+ フィルターとして使われ、指定されたエンドユーザーの取引のみ一覧に表示されます。
4116
+ customer_name:
4117
+ type: string
4118
+ maxLength: 256
4119
+ title: 'エンドユーザー名'
4120
+ description: |-
4121
+ エンドユーザー名です。
4122
+
4123
+ フィルターとして使われ、入力された名前に部分一致するエンドユーザーでの取引のみ一覧に表示されます。
4124
+ transaction_id:
4125
+ type: string
4126
+ format: uuid
4127
+ title: '取引ID'
4128
+ description: |-
4129
+ 取引IDです。
4130
+
4131
+ フィルターとして使われ、指定された取引IDに部分一致(前方一致)する取引のみが一覧に表示されます。
4132
+ private_money_id:
4133
+ type: string
4134
+ format: uuid
4135
+ title: 'マネーID'
4136
+ description: |-
4137
+ マネーIDです。
4138
+
4139
+ 指定したマネーでの取引が一覧に表示されます。
4140
+ is_modified:
4141
+ type: boolean
4142
+ title: 'キャンセルフラグ'
4143
+ description: |-
4144
+ キャンセルフラグです。
4145
+
4146
+ これにtrueを指定するとキャンセルされた取引のみ一覧に表示されます。
4147
+ デフォルト値はfalseで、キャンセルの有無にかかわらず一覧に表示されます。
4148
+ transaction_types:
4149
+ type: array
4150
+ title: '取引種別 (複数指定可)、チャージ=topup、支払い=payment'
4151
+ description: |-
4152
+ 取引の種類でフィルターします。
4153
+
4154
+ 以下の種類を指定できます。
4155
+
4156
+ 1. topup
4157
+ 店舗からエンドユーザーへの送金取引(チャージ)
4158
+
4159
+ 2. payment
4160
+ エンドユーザーから店舗への送金取引(支払い)
4161
+
4162
+ 3. exchange-outflow
4163
+ 他マネーへの流出
4164
+ private_money_idが指定されたとき、そのマネーから見て流出方向の交換取引が抽出されます。
4165
+ private_money_idを省略した場合は表示されません。
4166
+
4167
+ 4. exchange-inflow
4168
+ 他マネーからの流入
4169
+ private_money_idが指定されたとき、そのマネーから見て流入方向の交換取引が抽出されます。
4170
+ private_money_idを省略した場合は表示されません。
4171
+
4172
+ 5. cashback
4173
+ 退会時返金取引
4174
+
4175
+ 6. expire
4176
+ 退会時失効取引
4177
+ items:
4178
+ type: string
4179
+ enum: [topup, payment, transfer, exchange, cashback, expire]
4180
+ next_page_cursor_id:
4181
+ type: string
4182
+ format: uuid
4183
+ title: '次ページへ遷移する際に起点となるtransferのID'
4184
+ description: |-
4185
+ 次ページへ遷移する際に起点となるtransferのID(前ページの末尾要素のID)です。
4186
+ 本APIのレスポンスにもnext_page_cursor_idが含まれており、これがnull値の場合は最後のページであることを意味します。
4187
+ UUIDである場合は次のページが存在することを意味し、このnext_page_cursor_idをリクエストパラメータに含めることで次ページに遷移します。
4188
+
4189
+ next_page_cursor_idのtransfer自体は次のページには含まれません。
4190
+ prev_page_cursor_id:
4191
+ type: string
4192
+ format: uuid
4193
+ title: '前ページへ遷移する際に起点となるtransferのID'
4194
+ description: |-
4195
+ 前ページへ遷移する際に起点となるtransferのID(次ページの先頭要素のID)です。
4196
+
4197
+ 本APIのレスポンスにもprev_page_cursor_idが含まれており、これがnull値の場合は先頭のページであることを意味します。
4198
+ UUIDである場合は前のページが存在することを意味し、このprev_page_cursor_idをリクエストパラメータに含めることで前ページに遷移します。
4199
+
4200
+ prev_page_cursor_idのtransfer自体は前のページには含まれません。
4201
+ per_page:
4202
+ type: integer
4203
+ minimum: 1
4204
+ maximum: 1000
4205
+ title: '1ページ分の取引数'
4206
+ description: |-
4207
+ 1ページ分の取引数です。
4208
+
4209
+ デフォルト値は50です。
4210
+ example: 50
4211
+ transfer_types:
4212
+ type: array
4213
+ title: '取引明細種別 (複数指定可)'
4214
+ description: |-
4215
+ 取引明細の種類でフィルターします。
4216
+
4217
+ 以下の種類を指定できます。
4218
+
4219
+ 1. topup
4220
+ 店舗からエンドユーザーへの送金取引(チャージ)、またはそのキャンセル取引
4221
+
4222
+ 2. payment
4223
+ エンドユーザーから店舗への送金取引(支払い)、またはそのキャンセル取引
4224
+
4225
+ 3. exchange
4226
+ 他マネーへの流出/流入
4227
+
4228
+ 4. campaign
4229
+ 取引に対するポイント還元キャンペーンによるポイント付与、またはそのキャンセル取引
4230
+
4231
+ 5. coupon
4232
+ クーポンによる値引き処理、またはそのキャンセル取引
4233
+
4234
+ 6. cashback
4235
+ 退会時の返金取引
4236
+
4237
+ 7. expire
4238
+ 退会時失効取引
4239
+ items:
4240
+ type: string
4241
+ enum: [topup, payment, exchange, transfer, coupon, campaign, cashback, expire]
4242
+ description:
4243
+ type: string
4244
+ maxLength: 200
4245
+ title: '取引詳細説明文'
4246
+ description: |-
4247
+ 取引詳細を指定の取引詳細説明文でフィルターします。
4248
+
4249
+ 取引詳細説明文が完全一致する取引のみ抽出されます。取引詳細説明文は最大200文字で記録されています。
4250
+ example: 店頭QRコードによる支払い
4251
+ from:
4252
+ type: string
4253
+ format: date-time
4254
+ title: '開始日時'
4255
+ description: |-
4256
+ 抽出期間の開始日時です。
4257
+
4258
+ フィルターとして使われ、開始日時以降に発生した取引のみ一覧に表示されます。
4259
+ to:
4260
+ type: string
4261
+ format: date-time
4262
+ title: '終了日時'
4263
+ description: |-
4264
+ 抽出期間の終了日時です。
4265
+
4266
+ フィルターとして使われ、終了日時以前に発生した取引のみ一覧に表示されます。
4267
+
4268
+ responses:
4269
+ '200':
4270
+ description: OK
4271
+ content:
4272
+ application/json:
4273
+ schema:
4274
+ $ref: '#/components/schemas/PaginatedTransfersV2'
4275
+ '400':
4276
+ $ref: '#/components/responses/InvalidParameters'
4277
+ '422':
4278
+ $ref: '#/components/responses/UnprocessableEntity'
4279
+
3691
4280
  /organizations:
3692
4281
  post:
3693
4282
  tags:
@@ -4449,6 +5038,53 @@ paths:
4449
5038
  $ref: '#/components/responses/InvalidParameters'
4450
5039
  '404':
4451
5040
  $ref: '#/components/responses/NotFound'
5041
+ /bulk-transactions/{bulk_transaction_id}/jobs:
5042
+ get:
5043
+ summary: バルク取引ジョブの詳細情報一覧を取得する
5044
+ x-pokepay-operator-name: "GetBulkTransaction"
5045
+ x-pokepay-allow-server-side: true
5046
+ requestBody:
5047
+ required: true
5048
+ content:
5049
+ application/json:
5050
+ schema:
5051
+ properties:
5052
+ page:
5053
+ type: integer
5054
+ minimum: 1
5055
+ title: 'ページ番号'
5056
+ description: 取得したいページ番号です。
5057
+ example: 1
5058
+ per_page:
5059
+ type: integer
5060
+ minimum: 1
5061
+ title: '1ページ分の取得数'
5062
+ description: 1ページ分の取得数です。デフォルトでは 50 になっています。
5063
+ example: 50
5064
+ parameters:
5065
+ - in: path
5066
+ name: bulk_transaction_id
5067
+ schema:
5068
+ type: string
5069
+ format: uuid
5070
+ title: 'バルク取引ジョブID'
5071
+ description: |-
5072
+ バルク取引ジョブIDです。
5073
+ バルク取引ジョブ登録時にレスポンスに含まれます。
5074
+ required: true
5075
+ responses:
5076
+ '200':
5077
+ description: OK
5078
+ content:
5079
+ application/json:
5080
+ schema:
5081
+ $ref: '#/components/schemas/PaginatedBulkTransactionJob'
5082
+ '400':
5083
+ $ref: '#/components/responses/InvalidParameters'
5084
+ '403':
5085
+ $ref: '#/components/responses/Forbidden'
5086
+ '422':
5087
+ $ref: '#/components/responses/UnprocessableEntity'
4452
5088
  /cashtrays:
4453
5089
  post:
4454
5090
  tags:
@@ -4993,6 +5629,14 @@ paths:
4993
5629
  このルールを適用する終了日時を指定します。
4994
5630
  デフォルトではキャンペーン全体の終了日時が指定されます。
4995
5631
  商品個別にキャンペーン期間指定をする場合は、キャンペーン全体の期間指定の範囲内に入っている必要があります。
5632
+ group_id:
5633
+ type: integer
5634
+ minimum: 1
5635
+ title: '商品グループID'
5636
+ description: |-
5637
+ 複数の商品グループからの組み合わせ購入によって発火するキャンペーンで使用する商品グループIDです。
5638
+ キャンペーンのパラメータ exist_in_each_product_groups を真に設定し、product_based_point_rules中の全てのルールでgroup_idを指定する必要があります。
5639
+ デフォルトでは未指定です。
4996
5640
  example: |-
4997
5641
  {
4998
5642
  "point_amount": 5,
@@ -5170,6 +5814,106 @@ paths:
5170
5814
  ]
5171
5815
  }
5172
5816
  ```
5817
+ exist_in_each_product_groups:
5818
+ type: boolean
5819
+ title: '複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ'
5820
+ description: |-
5821
+ 複数の商品グループの各グループにつき1種類以上の商品が購入されることによって発火するキャンペーンであるときに真を指定します。デフォルトは偽です。
5822
+
5823
+ このパラメータを指定するときは product_based_point_rules で商品毎のルールが指定され、さらにその中でgroup_idが指定されている必要があります。group_idは正の整数です。
5824
+ exist_in_each_product_groupsが指定されているにも関わらず商品毎のルールでgroup_idが指定されていないものが含まれている場合はinvalid_parametersエラー(missing group_id, エラーコード400)が返ります。
5825
+
5826
+ 例えば、商品グループA(商品コードa1, a2)、商品グループB(商品コードb1, b2)の2つの商品グループがあるとします。
5827
+ このとき、各商品グループからそれぞれ少なくとも1種類以上の商品が購入されることにより発火するキャンペーンに対するリクエストパラメータは以下のようなものになります。
5828
+
5829
+ ```javascript
5830
+ {
5831
+ exist_in_each_product_groups: true,
5832
+ product_based_point_rules: [
5833
+ {
5834
+ "point_amount": 100,
5835
+ "point_amount_unit": "absolute",
5836
+ "product_code": "a1",
5837
+ "group_id": 1
5838
+ },
5839
+ {
5840
+ "point_amount": 100,
5841
+ "point_amount_unit": "absolute",
5842
+ "product_code": "a2",
5843
+ "group_id": 1
5844
+ },
5845
+ {
5846
+ "point_amount": 200,
5847
+ "point_amount_unit": "absolute",
5848
+ "product_code": "b1",
5849
+ "group_id": 2
5850
+ },
5851
+ {
5852
+ "point_amount": 200,
5853
+ "point_amount_unit": "absolute",
5854
+ "product_code": "b2",
5855
+ "group_id": 2
5856
+ }
5857
+ ]
5858
+ }
5859
+ ```
5860
+
5861
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になります。つまり100 + 200=300がポイント付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
5862
+
5863
+ ポイント付与値を各商品毎のルールの総和ではなく固定値にしたい場合には、max_point_amountを指定します。
5864
+ 例えば以下のようなリクエストパラメータ指定の場合を考えます。
5865
+
5866
+ ```javascript
5867
+ {
5868
+ max_point_amount: 100,
5869
+ exist_in_each_product_groups: true,
5870
+ product_based_point_rules: [
5871
+ {
5872
+ "point_amount": 100,
5873
+ "point_amount_unit": "absolute",
5874
+ "product_code": "a1",
5875
+ "group_id": 1
5876
+ },
5877
+ {
5878
+ "point_amount": 100,
5879
+ "point_amount_unit": "absolute",
5880
+ "product_code": "a2",
5881
+ "group_id": 1
5882
+ },
5883
+ {
5884
+ "point_amount": 100,
5885
+ "point_amount_unit": "absolute",
5886
+ "product_code": "b1",
5887
+ "group_id": 2
5888
+ },
5889
+ {
5890
+ "point_amount": 100,
5891
+ "point_amount_unit": "absolute",
5892
+ "product_code": "b2",
5893
+ "group_id": 2
5894
+ }
5895
+ ]
5896
+ }
5897
+ ```
5898
+
5899
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になりますが、付与値の上限が100ポイントになります。つまり100 + 200=300と計算されますが上限額の100ポイントが実際の付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600ですが上限額の100がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
5900
+ max_point_amount:
5901
+ type: integer
5902
+ minimum: 1
5903
+ title: 'キャンペーンによって付与されるポイントの上限'
5904
+ description: |-
5905
+ キャンペーンによって付与されるポイントの上限を指定します。デフォルトは未指定です。
5906
+
5907
+ このパラメータが指定されている場合、amount_based_point_rules や product_based_point_rules によって計算されるポイント付与値がmax_point_amountを越えている場合、max_point_amountの値がポイント付与値となり、越えていない場合はその値がポイント付与値となります。
5908
+ max_total_point_amount:
5909
+ type: integer
5910
+ minimum: 1
5911
+ title: 'キャンペーンによって付与されるの1人当たりの累計ポイントの上限'
5912
+ description: |-
5913
+ キャンペーンによって付与される1人当たりの累計ポイント数の上限を指定します。デフォルトは未指定です。
5914
+
5915
+ このパラメータが指定されている場合、各ユーザに対してそのキャンペーンによって過去付与されたポイントの累積値が記録されるようになります。
5916
+ 累積ポイント数がmax_total_point_amountを超えない限りにおいてキャンペーンで算出されたポイントが付与されます。
5173
5917
  dest_private_money_id:
5174
5918
  type: string
5175
5919
  format: uuid
@@ -5184,6 +5928,55 @@ paths:
5184
5928
  デフォルトではポイント付与先はキャンペーンを駆動するイベントのマネー(private_money_idで指定したマネー)になります。
5185
5929
 
5186
5930
  別マネーに対するポイント付与は別のtransactionとなります。 RefundTransaction で元のイベントをキャンセルしたときはポイント付与のtransactionもキャンセルされ、逆にポイント付与のtransactionをキャンセルしたときは連動して元のイベントがキャンセルされます。
5931
+ applicable_account_metadata:
5932
+ description: |-
5933
+ ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
5934
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
5935
+ ウォレットのメタデータはCreateUserAccountやUpdateCustomerAccountで登録できます。
5936
+
5937
+ オプショナルパラメータtestによって比較方法を指定することができます。
5938
+ デフォルトは equal で、その他に not-equalを指定可能です。
5939
+
5940
+ 例1: 取引が行なわれたウォレットのメタデータに住所として東京が指定されているときのみ発火
5941
+
5942
+ ```javascript
5943
+ {
5944
+ "key": "prefecture",
5945
+ "value": "tokyo"
5946
+ }
5947
+ ```
5948
+
5949
+ 例2: 取引が行なわれたウォレットのメタデータに住所として東京以外が指定されているときのみ発火
5950
+
5951
+ ```javascript
5952
+ {
5953
+ "key": "prefecture",
5954
+ "value": "tokyo",
5955
+ "test": "not-equal"
5956
+ }
5957
+ ```
5958
+
5959
+ type: object
5960
+ properties:
5961
+ key:
5962
+ type: string
5963
+ description: |-
5964
+ メタデータの属性名
5965
+ value:
5966
+ type: string
5967
+ description: |-
5968
+ メタデータの値
5969
+ test:
5970
+ type: string
5971
+ enum: [equal, not-equal]
5972
+ description: |-
5973
+ メタデータの値の比較方法。デフォルトはequal
5974
+ example: |-
5975
+ {
5976
+ "key": "sex",
5977
+ "value": "male"
5978
+ }
5979
+
5187
5980
  responses:
5188
5981
  '200':
5189
5982
  description: OK
@@ -5581,6 +6374,14 @@ paths:
5581
6374
  このルールを適用する終了日時を指定します。
5582
6375
  デフォルトではキャンペーン全体の終了日時が指定されます。
5583
6376
  商品個別にキャンペーン期間指定をする場合は、キャンペーン全体の期間指定の範囲内に入っている必要があります。
6377
+ group_id:
6378
+ type: integer
6379
+ minimum: 1
6380
+ title: '商品グループID'
6381
+ description: |-
6382
+ 複数の商品グループからの組み合わせ購入によって発火するキャンペーンで使用する商品グループIDです。
6383
+ キャンペーンのパラメータ exist_in_each_product_groups を真に設定し、product_based_point_rules中の全てのルールでgroup_idを指定する必要があります。
6384
+ デフォルトでは未指定です。
5584
6385
  example: |-
5585
6386
  {
5586
6387
  "point_amount": 5,
@@ -5763,6 +6564,158 @@ paths:
5763
6564
  ]
5764
6565
  }
5765
6566
  ```
6567
+ exist_in_each_product_groups:
6568
+ type: boolean
6569
+ title: '複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ'
6570
+ description: |-
6571
+ 複数の商品グループの各グループにつき1種類以上の商品が購入されることによって発火するキャンペーンであるときに真を指定します。デフォルトは偽です。
6572
+
6573
+ このパラメータを指定するときは product_based_point_rules で商品毎のルールが指定され、さらにその中でgroup_idが指定されている必要があります。group_idは正の整数です。
6574
+ exist_in_each_product_groupsが指定されているにも関わらず商品毎のルールでgroup_idが指定されていないものが含まれている場合はinvalid_parametersエラー(missing group_id, エラーコード400)が返ります。
6575
+
6576
+ 例えば、商品グループA(商品コードa1, a2)、商品グループB(商品コードb1, b2)の2つの商品グループがあるとします。
6577
+ このとき、各商品グループからそれぞれ少なくとも1種類以上の商品が購入されることにより発火するキャンペーンに対するリクエストパラメータは以下のようなものになります。
6578
+
6579
+ ```javascript
6580
+ {
6581
+ exist_in_each_product_groups: true,
6582
+ product_based_point_rules: [
6583
+ {
6584
+ "point_amount": 100,
6585
+ "point_amount_unit": "absolute",
6586
+ "product_code": "a1",
6587
+ "group_id": 1
6588
+ },
6589
+ {
6590
+ "point_amount": 100,
6591
+ "point_amount_unit": "absolute",
6592
+ "product_code": "a2",
6593
+ "group_id": 1
6594
+ },
6595
+ {
6596
+ "point_amount": 200,
6597
+ "point_amount_unit": "absolute",
6598
+ "product_code": "b1",
6599
+ "group_id": 2
6600
+ },
6601
+ {
6602
+ "point_amount": 200,
6603
+ "point_amount_unit": "absolute",
6604
+ "product_code": "b2",
6605
+ "group_id": 2
6606
+ }
6607
+ ]
6608
+ }
6609
+ ```
6610
+
6611
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になります。つまり100 + 200=300がポイント付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
6612
+
6613
+ ポイント付与値を各商品毎のルールの総和ではなく固定値にしたい場合には、max_point_amountを指定します。
6614
+ 例えば以下のようなリクエストパラメータ指定の場合を考えます。
6615
+
6616
+ ```javascript
6617
+ {
6618
+ max_point_amount: 100,
6619
+ exist_in_each_product_groups: true,
6620
+ product_based_point_rules: [
6621
+ {
6622
+ "point_amount": 100,
6623
+ "point_amount_unit": "absolute",
6624
+ "product_code": "a1",
6625
+ "group_id": 1
6626
+ },
6627
+ {
6628
+ "point_amount": 100,
6629
+ "point_amount_unit": "absolute",
6630
+ "product_code": "a2",
6631
+ "group_id": 1
6632
+ },
6633
+ {
6634
+ "point_amount": 100,
6635
+ "point_amount_unit": "absolute",
6636
+ "product_code": "b1",
6637
+ "group_id": 2
6638
+ },
6639
+ {
6640
+ "point_amount": 100,
6641
+ "point_amount_unit": "absolute",
6642
+ "product_code": "b2",
6643
+ "group_id": 2
6644
+ }
6645
+ ]
6646
+ }
6647
+ ```
6648
+
6649
+ このキャンペーンが設定された状態で、商品a1、b1が同時に購入された場合、各商品に対する個別のルールが適用された上での総和がポイント付与値になりますが、付与値の上限が100ポイントになります。つまり100 + 200=300と計算されますが上限額の100ポイントが実際の付与値になります。商品a1、a2、 b1、b2が同時に購入された場合は100 + 100 + 200 + 200=600ですが上限額の100がポイント付与値になります。 商品a1、a2が同時に購入された場合は全商品グループから1種以上購入されるという条件を満たしていないためポイントは付与されません。
6650
+ max_point_amount:
6651
+ type: integer
6652
+ minimum: 1
6653
+ nullable: true
6654
+ title: 'キャンペーンによって付与されるポイントの上限'
6655
+ description: |-
6656
+ キャンペーンによって付与される1取引当たりのポイント数の上限を指定します。デフォルトは未指定です。
6657
+
6658
+ このパラメータが指定されている場合、amount_based_point_rules や product_based_point_rules によって計算されるポイント付与値がmax_point_amountを越えている場合、max_point_amountの値がポイント付与値となり、越えていない場合はその値がポイント付与値となります。
6659
+ max_total_point_amount:
6660
+ type: integer
6661
+ minimum: 1
6662
+ nullable: true
6663
+ title: 'キャンペーンによって付与されるの1人当たりの累計ポイントの上限'
6664
+ description: |-
6665
+ キャンペーンによって付与される1人当たりの累計ポイント数の上限を指定します。デフォルトは未指定です。
6666
+
6667
+ このパラメータが指定されている場合、各ユーザに対してそのキャンペーンによって過去付与されたポイントの累積値が記録されるようになります。
6668
+ 累積ポイント数がmax_total_point_amountを超えない限りにおいてキャンペーンで算出されたポイントが付与されます。
6669
+ applicable_account_metadata:
6670
+ description: |-
6671
+ ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
6672
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
6673
+ ウォレットのメタデータはCreateUserAccountやUpdateCustomerAccountで登録できます。
6674
+
6675
+ オプショナルパラメータtestによって比較方法を指定することができます。
6676
+ デフォルトは equal で、その他に not-equalを指定可能です。
6677
+
6678
+ 例1: 取引が行なわれたウォレットのメタデータに住所として東京が指定されているときのみ発火
6679
+
6680
+ ```javascript
6681
+ {
6682
+ "key": "prefecture",
6683
+ "value": "tokyo"
6684
+ }
6685
+ ```
6686
+
6687
+ 例2: 取引が行なわれたウォレットのメタデータに住所として東京以外が指定されているときのみ発火
6688
+
6689
+ ```javascript
6690
+ {
6691
+ "key": "prefecture",
6692
+ "value": "tokyo",
6693
+ "test": "not-equal"
6694
+ }
6695
+ ```
6696
+
6697
+ type: object
6698
+ nullable: true
6699
+ properties:
6700
+ key:
6701
+ type: string
6702
+ description: |-
6703
+ メタデータの属性名
6704
+ value:
6705
+ type: string
6706
+ description: |-
6707
+ メタデータの値
6708
+ test:
6709
+ type: string
6710
+ enum: [equal, not-equal]
6711
+ description: |-
6712
+ メタデータの値の比較方法。デフォルトはequal
6713
+ example: |-
6714
+ {
6715
+ "key": "sex",
6716
+ "value": "male"
6717
+ }
6718
+
5766
6719
  responses:
5767
6720
  '200':
5768
6721
  description: OK
@@ -5778,3 +6731,61 @@ paths:
5778
6731
  $ref: '#/components/responses/NotFound'
5779
6732
  '422':
5780
6733
  $ref: '#/components/responses/UnprocessableEntity'
6734
+ /user-stats:
6735
+ post:
6736
+ tags:
6737
+ - Transaction
6738
+ summary: '指定期間内の顧客が行った取引の統計情報をCSVでダウンロードする'
6739
+ description: |-
6740
+ 期間を指定して、期間内に発行マネーの全顧客が行った取引の総額・回数などをCSVでダウンロードする機能です。
6741
+ CSVの作成は非同期で行われるため完了まで少しの間待つ必要がありますが、完了時にダウンロードできるURLをレスポンスとして返します。
6742
+ このURLの有効期限はリクエスト日時から7日間です。
6743
+
6744
+ ダウンロードできるCSVのデータは以下のものです。
6745
+
6746
+ * organization_code: 取引を行った組織コード
6747
+ * private_money_id: 取引されたマネーのID
6748
+ * private_money_name: 取引されたマネーの名前
6749
+ * user_id: 決済したユーザーID
6750
+ * user_external_id: 決済したユーザーの外部ID
6751
+ * payment_money_amount: 指定期間内に決済に使ったマネーの総額
6752
+ * payment_point_amount: 指定期間内に決済に使ったポイントの総額
6753
+ * payment_transaction_count: 指定期間内に決済した回数。キャンセルされた取引は含まない
6754
+
6755
+ また、指定期間より前の決済を時間をおいてキャンセルした場合などには payment_money_amount, payment_point_amount, payment_transaction_count が負の値になることもあることに留意してください。
6756
+ x-pokepay-operator-name: "RequestUserStats"
6757
+ x-pokepay-allow-server-side: true
6758
+ requestBody:
6759
+ required: true
6760
+ content:
6761
+ application/json:
6762
+ schema:
6763
+ required: ["from", "to"]
6764
+ properties:
6765
+ from:
6766
+ title: '集計期間の開始時刻'
6767
+ type: string
6768
+ format: date-time
6769
+ description: |-
6770
+ 集計する期間の開始時刻をISO8601形式で指定します。
6771
+ 時刻は現在時刻、及び `to` で指定する時刻以前である必要があります。
6772
+ to:
6773
+ title: '集計期間の終了時刻'
6774
+ type: string
6775
+ format: date-time
6776
+ description: |-
6777
+ 集計する期間の終了時刻をISO8601形式で指定します。
6778
+ 時刻は現在時刻、及び `from` で指定する時刻の間である必要があります。
6779
+ responses:
6780
+ '200':
6781
+ description: OK
6782
+ content:
6783
+ application/json:
6784
+ schema:
6785
+ $ref: '#/components/schemas/UserStatsOperation'
6786
+ '400':
6787
+ $ref: '#/components/responses/InvalidParameters'
6788
+ '403':
6789
+ $ref: '#/components/responses/UnpermittedAdminUser'
6790
+ '503':
6791
+ $ref: '#/components/responses/UserStatsOperationServiceUnavailable'