diff --git a/docs/README.md b/docs/README.md
index 171060d..9abf217 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -196,8 +196,8 @@ try {
- [ListTransfersV2](./transfer.md#list-transfers-v2):
### Check
-- [CreateCheck](./check.md#create-check): チャージQRコードの発行
- [ListChecks](./check.md#list-checks): チャージQRコード一覧の取得
+- [CreateCheck](./check.md#create-check): チャージQRコードの発行
- [GetCheck](./check.md#get-check): チャージQRコードの表示
- [UpdateCheck](./check.md#update-check): チャージQRコードの更新
- [CreateTopupTransactionWithCheck](./check.md#create-topup-transaction-with-check): チャージQRコードを読み取ることでチャージする
@@ -209,14 +209,14 @@ try {
### Cashtray
- [CreateCashtray](./cashtray.md#create-cashtray): Cashtrayを作る
-- [GetCashtray](./cashtray.md#get-cashtray): Cashtrayの情報を取得する
- [CancelCashtray](./cashtray.md#cancel-cashtray): Cashtrayを無効化する
+- [GetCashtray](./cashtray.md#get-cashtray): Cashtrayの情報を取得する
- [UpdateCashtray](./cashtray.md#update-cashtray): Cashtrayの情報を更新する
### Customer
+- [DeleteAccount](./customer.md#delete-account): ウォレットを退会する
- [GetAccount](./customer.md#get-account): ウォレット情報を表示する
- [UpdateAccount](./customer.md#update-account): ウォレット情報を更新する
-- [DeleteAccount](./customer.md#delete-account): ウォレットを退会する
- [ListAccountBalances](./customer.md#list-account-balances): エンドユーザーの残高内訳を表示する
- [ListAccountExpiredBalances](./customer.md#list-account-expired-balances): エンドユーザーの失効済みの残高内訳を表示する
- [UpdateCustomerAccount](./customer.md#update-customer-account): エンドユーザーのウォレット情報を更新する
@@ -254,18 +254,19 @@ try {
### Event
- [CreateExternalTransaction](./event.md#create-external-transaction): ポケペイ外部取引を作成する
- [RefundExternalTransaction](./event.md#refund-external-transaction): ポケペイ外部取引をキャンセルする
+- [GetExternalTransactionByRequestId](./event.md#get-external-transaction-by-request-id): リクエストIDからポケペイ外部取引を取得する
### Campaign
-- [CreateCampaign](./campaign.md#create-campaign): ポイント付与キャンペーンを作る
- [ListCampaigns](./campaign.md#list-campaigns): キャンペーン一覧を取得する
+- [CreateCampaign](./campaign.md#create-campaign): ポイント付与キャンペーンを作る
- [GetCampaign](./campaign.md#get-campaign): キャンペーンを取得する
- [UpdateCampaign](./campaign.md#update-campaign): ポイント付与キャンペーンを更新する
### Webhook
-- [CreateWebhook](./webhook.md#create-webhook): webhookの作成
- [ListWebhooks](./webhook.md#list-webhooks): 作成したWebhookの一覧を返す
-- [UpdateWebhook](./webhook.md#update-webhook): Webhookの更新
+- [CreateWebhook](./webhook.md#create-webhook): webhookの作成
- [DeleteWebhook](./webhook.md#delete-webhook): Webhookの削除
+- [UpdateWebhook](./webhook.md#update-webhook): Webhookの更新
### Coupon
- [ListCoupons](./coupon.md#list-coupons): クーポン一覧の取得
@@ -279,7 +280,7 @@ try {
- [ActivateUserDevice](./user_device.md#activate-user-device): デバイスの有効化
### BankPay
-- [CreateBank](./bank_pay.md#create-bank): 銀行口座の登録
- [ListBanks](./bank_pay.md#list-banks): 登録した銀行の一覧
+- [CreateBank](./bank_pay.md#create-bank): 銀行口座の登録
- [CreateBankTopupTransaction](./bank_pay.md#create-bank-topup-transaction): 銀行からのチャージ
diff --git a/docs/account.md b/docs/account.md
index 74459ef..978404a 100644
--- a/docs/account.md
+++ b/docs/account.md
@@ -8,8 +8,8 @@
Request.ListUserAccounts request = new Request.ListUserAccounts(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ユーザーID
) {
- Page = 5690, // ページ番号
- PerPage = 3320, // 1ページ分の取引数
+ Page = 4737, // ページ番号
+ PerPage = 7029, // 1ページ分の取引数
};
Response.PaginatedAccountDetails response = await request.Send(client);
```
@@ -62,6 +62,7 @@ Response.PaginatedAccountDetails response = await request.Send(client);
を返します
+
---
@@ -74,8 +75,8 @@ Request.CreateUserAccount request = new Request.CreateUserAccount(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ユーザーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
- Name = "BiPR32MXZafz3jffpT8lgGERnFdcWhSdaJfJ60D0H2T0aKhnL3FlnAD82QrpYaKuslNraOesyAiawWiyWkSV3bs4OkWhHFx3P67yxFmxWAZtUSoiVrIFnb7w6ZClkoqVajvuG5cGcBP5wA9", // ウォレット名
- ExternalId = "GwSB8bfxMId7hFKERGvYa7vbD1", // 外部ID
+ Name = "RhEmEhncAz9T8Jn6tKv842hmKtJWGe0W2JoBVxOBG6QSEaMM6DcJjfAtdrmKAg3KBKDu0vlbYdVC6n9nVLo43cE33CQPF6kxIlI0uguDnziraNYM7VX5YLnlD8HOOCDlP4GZ7jbmXMO5zVMwfk3fyCehTHNb57OPgysrQCIrNbKg5EGtS1CRG8HTOfVnvp3qGXZFBsOSpPHbliv7UIdhUMzObVJcG5btiH5rur7GsubMGTjIcOX", // ウォレット名
+ ExternalId = "KD9o8Kba3zToGBU", // 外部ID
Metadata = "{\"key1\":\"foo\",\"key2\":\"bar\"}", // ウォレットに付加するメタデータ
};
Response.AccountDetail response = await request.Send(client);
@@ -155,6 +156,7 @@ Response.AccountDetail response = await request.Send(client);
を返します
+
---
diff --git a/docs/bank_pay.md b/docs/bank_pay.md
index 72989e0..069ee3b 100644
--- a/docs/bank_pay.md
+++ b/docs/bank_pay.md
@@ -2,6 +2,55 @@
BankPayを用いた銀行からのチャージ取引などのAPIを提供しています。
+
+## ListBanks: 登録した銀行の一覧
+登録した銀行を一覧します
+
+```csharp
+Request.ListBanks request = new Request.ListBanks(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // デバイスID
+) {
+ PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+};
+Response.Banks response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`user_device_id`**
+
+
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+**`private_money_id`**
+
+
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+
+
+成功したときは
+[Banks](./responses.md#banks)
+を返します
+
+
+
+---
+
+
## CreateBank: 銀行口座の登録
銀行口座の登録を始めるAPIです。レスポンスに含まれるredirect_urlをユーザーの端末で開き銀行を登録します。
@@ -17,7 +66,7 @@ Request.CreateBank request = new Request.CreateBank(
"", // コールバックURL
"ポケペイタロウ" // ユーザーの氏名 (片仮名で指定)
) {
- Email = "HNb57OPgys@rQCI.com", // ユーザーのメールアドレス
+ Email = "x2jnlKrw0L@dNS4.com", // ユーザーのメールアドレス
Birthdate = "19901142", // 生年月日
};
Response.BankRegisteringInfo response = await request.Send(client);
@@ -100,53 +149,6 @@ Response.BankRegisteringInfo response = await request.Send(client);
を返します
----
-
-
-
-## ListBanks: 登録した銀行の一覧
-登録した銀行を一覧します
-
-```csharp
-Request.ListBanks request = new Request.ListBanks(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // デバイスID
-) {
- PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
-};
-Response.Banks response = await request.Send(client);
-```
-
-
-
-### Parameters
-**`user_device_id`**
-
-
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-**`private_money_id`**
-
-
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-
-
-成功したときは
-[Banks](./responses.md#banks)
-を返します
-
---
@@ -159,7 +161,7 @@ Response.Banks response = await request.Send(client);
Request.CreateBankTopupTransaction request = new Request.CreateBankTopupTransaction(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // デバイスID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- 2895, // チャージ金額
+ 8102, // チャージ金額
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 銀行ID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // リクエストID
);
@@ -231,6 +233,7 @@ Response.TransactionDetail response = await request.Send(client);
を返します
+
---
diff --git a/docs/bill.md b/docs/bill.md
index 62d5d02..862c78b 100644
--- a/docs/bill.md
+++ b/docs/bill.md
@@ -7,19 +7,19 @@
```csharp
Request.ListBills request = new Request.ListBills() {
- Page = 3989, // ページ番号
- PerPage = 3402, // 1ページの表示数
- BillId = "atpE7508L", // 支払いQRコードのID
+ Page = 231, // ページ番号
+ PerPage = 1828, // 1ページの表示数
+ BillId = "h7IyYB", // 支払いQRコードのID
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- OrganizationCode = "-1-XK--g-", // 組織コード
+ OrganizationCode = "-k-----Yq2hrn5-RcDh", // 組織コード
Description = "test bill", // 取引説明文
- CreatedFrom = "2020-02-22T21:37:01.000000+09:00", // 作成日時(起点)
- CreatedTo = "2021-08-12T03:19:42.000000+09:00", // 作成日時(終点)
+ CreatedFrom = "2021-08-04T01:59:13.000000Z", // 作成日時(起点)
+ CreatedTo = "2023-02-25T23:26:35.000000Z", // 作成日時(終点)
ShopName = "bill test shop1", // 店舗名
ShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
- LowerLimitAmount = 2989, // 金額の範囲によるフィルタ(下限)
- UpperLimitAmount = 3813, // 金額の範囲によるフィルタ(上限)
- IsDisabled = false, // 支払いQRコードが無効化されているかどうか
+ LowerLimitAmount = 5821, // 金額の範囲によるフィルタ(下限)
+ UpperLimitAmount = 4653, // 金額の範囲によるフィルタ(上限)
+ IsDisabled = true, // 支払いQRコードが無効化されているかどうか
};
Response.PaginatedBills response = await request.Send(client);
```
@@ -194,6 +194,12 @@ Response.PaginatedBills response = await request.Send(client);
[PaginatedBills](./responses.md#paginated-bills)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
---
@@ -207,7 +213,7 @@ Request.CreateBill request = new Request.CreateBill(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 支払いマネーのマネーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 支払い先(受け取り人)の店舗ID
) {
- Amount = 3055.0, // 支払い額
+ Amount = 2631.0, // 支払い額
Description = "test bill", // 説明文(アプリ上で取引の説明文として表示される)
};
Response.Bill response = await request.Send(client);
@@ -268,6 +274,18 @@ Response.Bill response = await request.Send(client);
[Bill](./responses.md#bill)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|shop_account_not_found||The shop account is not found|
+|422|private_money_not_found||Private money not found|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+
+
---
@@ -280,7 +298,7 @@ Response.Bill response = await request.Send(client);
Request.UpdateBill request = new Request.UpdateBill(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 支払いQRコードのID
) {
- Amount = 9988.0, // 支払い額
+ Amount = 1596.0, // 支払い額
Description = "test bill", // 説明文
IsDisabled = true, // 無効化されているかどうか
};
@@ -345,6 +363,7 @@ Response.Bill response = await request.Send(client);
を返します
+
---
diff --git a/docs/bulk.md b/docs/bulk.md
index a5c96f8..6678739 100644
--- a/docs/bulk.md
+++ b/docs/bulk.md
@@ -6,11 +6,11 @@ CSVファイルから一括取引をします。
```csharp
Request.BulkCreateTransaction request = new Request.BulkCreateTransaction(
- "pXocQ5N98CAVKuKRC5FLAIR", // 一括取引タスク名
- "iGKuI", // 取引する情報のCSV
- "8CNBTqLCZ99AjVbK3l31NeAICSoLJdEVZoJB" // リクエストID
+ "P9DvE8UV0j2YqC15yVJZpc8KVpHARBD", // 一括取引タスク名
+ "gg1Gn2X", // 取引する情報のCSV
+ "cmC1vS6JUWIFuWHifSCeHqDX4OovF1kPsfFA" // リクエストID
) {
- Description = "0H", // 一括取引の説明
+ Description = "UD6hedBMnO5c5siBhPS0PdEUgltcrxJuLRpPyEyLzg5USUF0acnAYj9bCB7rUqwv3jfmweeo8gmjkrVbM4yoFbYRleOf9KOkq0RFzjJ", // 一括取引の説明
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
};
Response.BulkTransaction response = await request.Send(client);
@@ -106,6 +106,16 @@ Response.BulkTransaction response = await request.Send(client);
[BulkTransaction](./responses.md#bulk-transaction)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|403|organization_not_issuer|発行体以外に許可されていない操作です|Unpermitted operation except for issuer organizations.|
+|409|NULL|NULL|NULL|
+|422|private_money_not_found||Private money not found|
+|422|bulk_transaction_invalid_csv_format|入力されたCSVデータに誤りがあります|Invalid csv format|
+
+
---
diff --git a/docs/campaign.md b/docs/campaign.md
index d87b731..3db1f84 100644
--- a/docs/campaign.md
+++ b/docs/campaign.md
@@ -1,5 +1,121 @@
# Campaign
+
+## ListCampaigns: キャンペーン一覧を取得する
+マネーIDを指定してキャンペーンを取得します。
+発行体の組織マネージャ権限で、自組織が発行するマネーのキャンペーンについてのみ閲覧可能です。
+閲覧権限がない場合は unpermitted_admin_user エラー(422)が返ります。
+
+```csharp
+Request.ListCampaigns request = new Request.ListCampaigns(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
+) {
+ IsOngoing = false, // 現在適用可能なキャンペーンかどうか
+ AvailableFrom = "2023-06-12T02:18:30.000000Z", // 指定された日時以降に適用可能期間が含まれているか
+ AvailableTo = "2023-03-14T19:36:47.000000Z", // 指定された日時以前に適用可能期間が含まれているか
+ Page = 1, // ページ番号
+ PerPage = 20, // 1ページ分の取得数
+};
+Response.PaginatedCampaigns response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`private_money_id`**
+
+
+マネーIDです。
+
+フィルターとして使われ、指定したマネーでのキャンペーンのみ一覧に表示されます。
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+**`is_ongoing`**
+
+
+有効化されており、現在キャンペーン期間内にあるキャンペーンをフィルターするために使われます。
+真であれば適用可能なもののみを抽出し、偽であれば適用不可なもののみを抽出します。
+デフォルトでは未指定(フィルターなし)です。
+
+```json
+{
+ "type": "boolean"
+}
+```
+
+**`available_from`**
+
+
+キャンペーン終了日時が指定された日時以降であるキャンペーンをフィルターするために使われます。
+デフォルトでは未指定(フィルターなし)です。
+
+```json
+{
+ "type": "string",
+ "format": "date-time"
+}
+```
+
+**`available_to`**
+
+
+キャンペーン開始日時が指定された日時以前であるキャンペーンをフィルターするために使われます。
+デフォルトでは未指定(フィルターなし)です。
+
+```json
+{
+ "type": "string",
+ "format": "date-time"
+}
+```
+
+**`page`**
+
+
+取得したいページ番号です。
+
+```json
+{
+ "type": "integer",
+ "minimum": 1
+}
+```
+
+**`per_page`**
+
+
+1ページ分の取得数です。デフォルトでは 20 になっています。
+
+```json
+{
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 50
+}
+```
+
+
+
+成功したときは
+[PaginatedCampaigns](./responses.md#paginated-campaigns)
+を返します
+
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
+
+---
+
+
## CreateCampaign: ポイント付与キャンペーンを作る
ポイント付与キャンペーンを作成します。
@@ -7,35 +123,36 @@
```csharp
Request.CreateCampaign request = new Request.CreateCampaign(
- "jNmYRtpCMs9TezTj3A085y5hWQ3gdeDOWFExGORRYNLJdsZ6n3IGoF44i0499bTqwmusaHN4dAo0kcMwrj6lsuth9pSzmqVAxW3BZh2UFG0NdobuyCqKAyF8XBloHn7nUM7l934bPMQ7DIwFMXGuPCrmdUDxKggDFfFvOJkxhc8IPvtQD4Q", // キャンペーン名
+ "8komJ1Atk5RVlui7mGRMrDuzhgMwi2QEwxvEfxvbfoaYN92mmS964bSnGq9n7PpIOomMWW66P3IlH0kXmsTMdugDsmRtGnF7L4kFCWrbFqt27c2GHcIyayD2aKjXN0NBWyTy0xC6byToeZcV73t7vuEmirlewYMI5WNi6AMJzfUo3Mw8SUD48UFtXOBKAPivd5iJNrdqAuTxyB0A3WX2Ec", // キャンペーン名
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- "2021-06-14T22:51:36.000000+09:00", // キャンペーン開始日時
- "2022-03-23T15:56:44.000000+09:00", // キャンペーン終了日時
- 5537, // キャンペーンの適用優先度
- "external-transaction" // イベント種別
+ "2024-01-28T22:34:10.000000Z", // キャンペーン開始日時
+ "2020-07-08T19:55:58.000000Z", // キャンペーン終了日時
+ 2422, // キャンペーンの適用優先度
+ "payment" // イベント種別
) {
BearPointShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント負担先店舗ID
- Description = "tX3Guvbo2vDNfvQpElqxJKgNyOMeXS2rUoCJ5iHqorIswPc2cBsLEwskU0m8hSr1melepO9LnwIsUcSmvb4GOUqCz9cGDIhlPt52zP7YS2DWusWLcKpd2P335Nv6jpCTg7cImjgcPmkAEumRe3ajMg8VGC0KZL7VMaMEGv2NsNRGCHkqW6b190X", // キャンペーンの説明文
+ Description = "xFyFeM64iLpLDhctAZixWvzCjvZGuuLmpXAGJua2paAAkUgzb5zEsMYGbxzOIV2r2JtDEGxgzX90xQ1qEwnOjzBjMdE2ZgqC6g1ENWOPFMuygZod8nuff2bwE3RDjoGhPLmonziI8gPB410GLPQCeC7jS6W3DftZcdyglmNXEppEtAweq", // キャンペーンの説明文
Status = "enabled", // キャンペーン作成時の状態
- PointExpiresAt = "2023-02-17T04:45:19.000000+09:00", // ポイント有効期限(絶対日時指定)
- PointExpiresInDays = 1020, // ポイント有効期限(相対日数指定)
+ PointExpiresAt = "2020-11-09T20:33:41.000000Z", // ポイント有効期限(絶対日時指定)
+ PointExpiresInDays = 6073, // ポイント有効期限(相対日数指定)
IsExclusive = true, // キャンペーンの重複設定
- Subject = "money", // ポイント付与の対象金額の種別
- AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}}, // 取引金額ベースのポイント付与ルール
- ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}}, // 商品情報ベースのポイント付与ルール
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}}, // 商品情報ベースのキャンペーンで除外対象にする商品リスト
- ApplicableDaysOfWeek = new int[]{5, 2, 1}, // キャンペーンを適用する曜日 (複数指定)
+ Subject = "all", // ポイント付与の対象金額の種別
+ AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}}, // 取引金額ベースのポイント付与ルール
+ ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}}, // 商品情報ベースのポイント付与ルール
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}}, // 商品情報ベースのキャンペーンで除外対象にする商品リスト
+ ApplicableDaysOfWeek = new int[]{1, 6}, // キャンペーンを適用する曜日 (複数指定)
ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}}, // キャンペーンを適用する時間帯 (複数指定)
- ApplicableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // キャンペーン適用対象となる店舗IDのリスト
- MinimumNumberOfProducts = 2330, // キャンペーンを適用する1会計内の商品個数の下限
- MinimumNumberOfAmount = 579, // キャンペーンを適用する1会計内の商品総額の下限
- MinimumNumberForCombinationPurchase = 2304, // 複数種類の商品を同時購入するときの商品種別数の下限
+ ApplicableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // キャンペーン適用対象となる店舗IDのリスト
+ MinimumNumberOfProducts = 6050, // キャンペーンを適用する1会計内の商品個数の下限
+ MinimumNumberOfAmount = 5681, // キャンペーンを適用する1会計内の商品総額の下限
+ MinimumNumberForCombinationPurchase = 318, // 複数種類の商品を同時購入するときの商品種別数の下限
ExistInEachProductGroups = true, // 複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ
- MaxPointAmount = 7935, // キャンペーンによって付与されるポイントの上限
- MaxTotalPointAmount = 4502, // キャンペーンによって付与されるの1人当たりの累計ポイントの上限
+ MaxPointAmount = 797, // キャンペーンによって付与されるポイントの上限
+ MaxTotalPointAmount = 4271, // キャンペーンによって付与されるの1人当たりの累計ポイントの上限
DestPrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント付与先となるマネーID
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}}, // ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
- BudgetCapsAmount = 651534322, // キャンペーン予算上限
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}}, // 取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+ BudgetCapsAmount = 1893504508, // キャンペーン予算上限
};
Response.Campaign response = await request.Send(client);
```
@@ -360,6 +477,9 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_days_of_week`**
+キャンペーンを適用する曜日を指定します (複数指定)。
+曜日は整数で表します。月曜を 0 とし、日曜を 6 とします。
+指定しなかった場合は全日を対象にします (曜日による適用条件なし)
```json
{
@@ -375,6 +495,9 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_time_ranges`**
+キャンペーンを適用する時間帯を指定します (複数指定可)。
+時間帯はfromとtoからなるオブジェクトで指定します。
+fromとtoは両方必要です。
```json
{
@@ -388,6 +511,8 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_shop_ids`**
+キャンペーンを適用する店舗IDを指定します (複数指定)。
+指定しなかった場合は全店舗が対象になります。
```json
{
@@ -678,138 +803,76 @@ exist_in_each_product_groupsが指定されているにも関わらず商品毎
}
```
-**`budget_caps_amount`**
-
-
-キャンペーンの予算上限を指定します。デフォルトは未指定です。
-
-このパラメータが指定されている場合、このキャンペーンの適用により付与されたポイント全体を定期的に集計し、その合計が上限を越えていた場合にはキャンペーンを無効にします。
-一度この値を越えて無効となったキャンペーンを再度有効にすることは出来ません。
-
-```json
-{
- "type": "integer",
- "minimum": 1,
- "maximum": 10000000000
-}
-```
-
-
-
-成功したときは
-[Campaign](./responses.md#campaign)
-を返します
-
-
----
-
-
-
-## ListCampaigns: キャンペーン一覧を取得する
-マネーIDを指定してキャンペーンを取得します。
-発行体の組織マネージャ権限で、自組織が発行するマネーのキャンペーンについてのみ閲覧可能です。
-閲覧権限がない場合は unpermitted_admin_user エラー(422)が返ります。
-
-```csharp
-Request.ListCampaigns request = new Request.ListCampaigns(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
-) {
- IsOngoing = false, // 現在適用可能なキャンペーンかどうか
- AvailableFrom = "2021-07-11T21:31:03.000000+09:00", // 指定された日時以降に適用可能期間が含まれているか
- AvailableTo = "2020-03-20T02:19:26.000000+09:00", // 指定された日時以前に適用可能期間が含まれているか
- Page = 1, // ページ番号
- PerPage = 20, // 1ページ分の取得数
-};
-Response.PaginatedCampaigns response = await request.Send(client);
-```
-
-
-
-### Parameters
-**`private_money_id`**
+**`applicable_transaction_metadata`**
-マネーIDです。
-
-フィルターとして使われ、指定したマネーでのキャンペーンのみ一覧に表示されます。
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
+取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
+取引のメタデータはCreatePaymentTransactionやCreateExternalTransactionで登録できます。
-**`is_ongoing`**
-
+オプショナルパラメータtestによって比較方法を指定することができます。
+デフォルトは equal で、その他に not-equalを指定可能です。
-有効化されており、現在キャンペーン期間内にあるキャンペーンをフィルターするために使われます。
-真であれば適用可能なもののみを抽出し、偽であれば適用不可なもののみを抽出します。
-デフォルトでは未指定(フィルターなし)です。
+例1: 取引のメタデータに会員ランクとしてbronzeが指定されているときのみ発火
-```json
+```javascript
{
- "type": "boolean"
+ "key": "rank",
+ "value": "bronze"
}
```
-**`available_from`**
-
-
-キャンペーン終了日時が指定された日時以降であるキャンペーンをフィルターするために使われます。
-デフォルトでは未指定(フィルターなし)です。
+例2: 取引のメタデータに会員ランクとしてbronze以外が指定されているときのみ発火
-```json
+```javascript
{
- "type": "string",
- "format": "date-time"
+ "key": "rank",
+ "value": "bronze",
+ "test": "not-equal"
}
```
-**`available_to`**
-
-
-キャンペーン開始日時が指定された日時以前であるキャンペーンをフィルターするために使われます。
-デフォルトでは未指定(フィルターなし)です。
-
```json
{
- "type": "string",
- "format": "date-time"
+ "type": "object"
}
```
-**`page`**
+**`budget_caps_amount`**
-取得したいページ番号です。
-
-```json
-{
- "type": "integer",
- "minimum": 1
-}
-```
-
-**`per_page`**
-
+キャンペーンの予算上限を指定します。デフォルトは未指定です。
-1ページ分の取得数です。デフォルトでは 20 になっています。
+このパラメータが指定されている場合、このキャンペーンの適用により付与されたポイント全体を定期的に集計し、その合計が上限を越えていた場合にはキャンペーンを無効にします。
+一度この値を越えて無効となったキャンペーンを再度有効にすることは出来ません。
```json
{
"type": "integer",
"minimum": 1,
- "maximum": 50
+ "maximum": 10000000000
}
```
成功したときは
-[PaginatedCampaigns](./responses.md#paginated-campaigns)
+[Campaign](./responses.md#campaign)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|campaign_overlaps|同期間に開催されるキャンペーン間で優先度が重複してます|The campaign period overlaps under the same private-money / type / priority|
+|422|shop_account_not_found||The shop account is not found|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+|422|campaign_period_overlaps|同期間に開催されるキャンペーン間で優先度が重複してます|The campaign period overlaps under the same private-money / type / priority|
+|422|campaign_invalid_period||Invalid campaign period starts_at later than ends_at|
+
+
---
@@ -851,6 +914,7 @@ Response.Campaign response = await request.Send(client);
を返します
+
---
@@ -863,31 +927,32 @@ Response.Campaign response = await request.Send(client);
Request.UpdateCampaign request = new Request.UpdateCampaign(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // キャンペーンID
) {
- Name = "ySMiYLD3kq3Znz8pepfEmpSiLZTFdERWScAwFtubDUWmymMiDwFFfcNNLAfTp6G3m2S11HDiNC2T6Z1NRFWi9xNJqHv5TG4qAHZdsob31RGFcTjCHIRk6EOKDYDfh7IyYBfSv2V1UV4oPfCtFaYiWkYeLppJ33CkMXXFMJbGPqbgq29Gzz59vVOvin5VZAtZIBDPoHNl5n", // キャンペーン名
- StartsAt = "2020-03-14T11:23:10.000000+09:00", // キャンペーン開始日時
- EndsAt = "2021-11-16T02:43:02.000000+09:00", // キャンペーン終了日時
- Priority = 7348, // キャンペーンの適用優先度
- Event = "payment", // イベント種別
- Description = "544K0pgRwqKcwLRpyfhvSp3huvf9ISSZ1V5b6lHxDKXrcl2EVGtJV2Ntce9IqiV", // キャンペーンの説明文
- Status = "enabled", // キャンペーン作成時の状態
- PointExpiresAt = "2021-07-14T23:28:53.000000+09:00", // ポイント有効期限(絶対日時指定)
- PointExpiresInDays = 3247, // ポイント有効期限(相対日数指定)
+ Name = "LeVc0IIOPvouCcBMs9oEUXdmuJ5CsXeAgeVmz0XdBqvz2LZqSb1Cr9GvJk1u6JVnb04lQy4ktenk93ttYPJhOiPCYhnxitPJhteZ9v4lYIFrYpnV35pBMGKJEJkpn6Mlr99tmpLoTFQeHIPsIBBDhi4oQ1t1s3zE32Vk24Ceen1NSj", // キャンペーン名
+ StartsAt = "2022-11-18T02:27:13.000000Z", // キャンペーン開始日時
+ EndsAt = "2020-08-12T06:11:00.000000Z", // キャンペーン終了日時
+ Priority = 6665, // キャンペーンの適用優先度
+ Event = "external-transaction", // イベント種別
+ Description = "3byZcFEPnIDVyEjs1xIVAG7PJaXsPvnXy7JLPWT4POJKIKUBKfvAdAdVhR8qFWp5tCaOkj67zOOhzPjoLUnpes4zWmpVcy9ixDX4fCfbAE0AZjhFF", // キャンペーンの説明文
+ Status = "disabled", // キャンペーン作成時の状態
+ PointExpiresAt = "2023-12-14T09:27:35.000000Z", // ポイント有効期限(絶対日時指定)
+ PointExpiresInDays = 4933, // ポイント有効期限(相対日数指定)
IsExclusive = false, // キャンペーンの重複設定
Subject = "all", // ポイント付与の対象金額の種別
AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}}, // 取引金額ベースのポイント付与ルール
ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}}, // 商品情報ベースのポイント付与ルール
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}}, // 商品情報ベースのキャンペーンで除外対象にする商品リスト
- ApplicableDaysOfWeek = new int[]{3, 1}, // キャンペーンを適用する曜日 (複数指定)
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}}, // 商品情報ベースのキャンペーンで除外対象にする商品リスト
+ ApplicableDaysOfWeek = new int[]{2}, // キャンペーンを適用する曜日 (複数指定)
ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}}, // キャンペーンを適用する時間帯 (複数指定)
- ApplicableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // キャンペーン適用対象となる店舗IDのリスト
- MinimumNumberOfProducts = 3071, // キャンペーンを適用する1会計内の商品個数の下限
- MinimumNumberOfAmount = 1966, // キャンペーンを適用する1会計内の商品総額の下限
- MinimumNumberForCombinationPurchase = 2704, // 複数種類の商品を同時購入するときの商品種別数の下限
- ExistInEachProductGroups = false, // 複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ
- MaxPointAmount = 1241, // キャンペーンによって付与されるポイントの上限
- MaxTotalPointAmount = 5837, // キャンペーンによって付与されるの1人当たりの累計ポイントの上限
+ ApplicableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // キャンペーン適用対象となる店舗IDのリスト
+ MinimumNumberOfProducts = 1867, // キャンペーンを適用する1会計内の商品個数の下限
+ MinimumNumberOfAmount = 5956, // キャンペーンを適用する1会計内の商品総額の下限
+ MinimumNumberForCombinationPurchase = 6072, // 複数種類の商品を同時購入するときの商品種別数の下限
+ ExistInEachProductGroups = true, // 複数の商品グループにつき1種類以上の商品購入によって発火するキャンペーンの指定フラグ
+ MaxPointAmount = 3297, // キャンペーンによって付与されるポイントの上限
+ MaxTotalPointAmount = 4112, // キャンペーンによって付与されるの1人当たりの累計ポイントの上限
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}}, // ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
- BudgetCapsAmount = 1650449672, // キャンペーン予算上限
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}}, // 取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+ BudgetCapsAmount = 52894808, // キャンペーン予算上限
};
Response.Campaign response = await request.Send(client);
```
@@ -1201,6 +1266,9 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_days_of_week`**
+キャンペーンを適用する曜日を指定します (複数指定)。
+曜日は整数で表します。月曜を 0 とし、日曜を 6 とします。
+指定しなかった場合は全日を対象にします (曜日による適用条件なし)
```json
{
@@ -1216,6 +1284,9 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_time_ranges`**
+キャンペーンを適用する時間帯を指定します (複数指定可)。
+時間帯はfromとtoからなるオブジェクトで指定します。
+fromとtoは両方必要です。
```json
{
@@ -1229,6 +1300,8 @@ event が payment か external-transaction の時のみ有効です。
**`applicable_shop_ids`**
+キャンペーンを適用する店舗IDを指定します (複数指定)。
+指定しなかった場合は全店舗が対象になります。
```json
{
@@ -1499,6 +1572,41 @@ exist_in_each_product_groupsが指定されているにも関わらず商品毎
}
```
+**`applicable_transaction_metadata`**
+
+
+取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
+取引のメタデータはCreatePaymentTransactionやCreateExternalTransactionで登録できます。
+
+オプショナルパラメータtestによって比較方法を指定することができます。
+デフォルトは equal で、その他に not-equalを指定可能です。
+
+例1: 取引のメタデータに会員ランクとしてbronzeが指定されているときのみ発火
+
+```javascript
+{
+ "key": "rank",
+ "value": "bronze"
+}
+```
+
+例2: 取引のメタデータに会員ランクとしてbronze以外が指定されているときのみ発火
+
+```javascript
+{
+ "key": "rank",
+ "value": "bronze",
+ "test": "not-equal"
+}
+```
+
+```json
+{
+ "type": "object"
+}
+```
+
**`budget_caps_amount`**
@@ -1524,6 +1632,7 @@ exist_in_each_product_groupsが指定されているにも関わらず商品毎
を返します
+
---
diff --git a/docs/cashtray.md b/docs/cashtray.md
index 717d245..7402034 100644
--- a/docs/cashtray.md
+++ b/docs/cashtray.md
@@ -19,10 +19,10 @@ Cashtrayを作成します。
Request.CreateCashtray request = new Request.CreateCashtray(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ユーザーID
- 1381.0 // 金額
+ 9997.0 // 金額
) {
Description = "たい焼き(小倉)", // 取引履歴に表示する説明文
- ExpiresIn = 6443, // 失効時間(秒)
+ ExpiresIn = 2427, // 失効時間(秒)
};
Response.Cashtray response = await request.Send(client);
```
@@ -97,6 +97,54 @@ Cashtrayが失効するまでの時間を秒単位で指定します(任意項
[Cashtray](./responses.md#cashtray)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|account_not_found|アカウントが見つかりません|The account is not found|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+
+
+
+---
+
+
+
+## CancelCashtray: Cashtrayを無効化する
+Cashtrayを無効化します。
+
+これにより、 `GetCashtray` のレスポンス中の `canceled_at` に無効化時点での現在時刻が入るようになります。
+エンドユーザーが無効化されたQRコードを読み取ると `cashtray_already_canceled` エラーとなり、取引は失敗します。
+
+```csharp
+Request.CancelCashtray request = new Request.CancelCashtray(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // CashtrayのID
+);
+Response.Cashtray response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`cashtray_id`**
+
+
+無効化するCashtrayのIDです。
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+
+
+成功したときは
+[Cashtray](./responses.md#cashtray)
+を返します
+
+
---
@@ -191,44 +239,6 @@ Response.CashtrayWithResult response = await request.Send(client);
を返します
----
-
-
-
-## CancelCashtray: Cashtrayを無効化する
-Cashtrayを無効化します。
-
-これにより、 `GetCashtray` のレスポンス中の `canceled_at` に無効化時点での現在時刻が入るようになります。
-エンドユーザーが無効化されたQRコードを読み取ると `cashtray_already_canceled` エラーとなり、取引は失敗します。
-
-```csharp
-Request.CancelCashtray request = new Request.CancelCashtray(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // CashtrayのID
-);
-Response.Cashtray response = await request.Send(client);
-```
-
-
-
-### Parameters
-**`cashtray_id`**
-
-
-無効化するCashtrayのIDです。
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-
-
-成功したときは
-[Cashtray](./responses.md#cashtray)
-を返します
-
---
@@ -241,9 +251,9 @@ Cashtrayの内容を更新します。bodyパラメーターは全て省略可
Request.UpdateCashtray request = new Request.UpdateCashtray(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // CashtrayのID
) {
- Amount = 5934.0, // 金額
+ Amount = 9018.0, // 金額
Description = "たい焼き(小倉)", // 取引履歴に表示する説明文
- ExpiresIn = 7614, // 失効時間(秒)
+ ExpiresIn = 3002, // 失効時間(秒)
};
Response.Cashtray response = await request.Send(client);
```
@@ -307,6 +317,7 @@ Cashtrayが失効するまでの時間を秒で指定します(任意項目、
を返します
+
---
diff --git a/docs/check.md b/docs/check.md
index 98359f3..c496d94 100644
--- a/docs/check.md
+++ b/docs/check.md
@@ -8,65 +8,58 @@
QRコードを読み取る方法以外にも、このURLリンクを直接スマートフォン(iOS/Android)上で開くことによりアプリが起動して取引が行われます。(注意: 上記URLはsandbox環境であるため、アプリもsandbox環境のものである必要があります) 上記URL中の `xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx` の部分がチャージQRコードのIDです。
-
-## CreateCheck: チャージQRコードの発行
+
+## ListChecks: チャージQRコード一覧の取得
```csharp
-Request.CreateCheck request = new Request.CreateCheck(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 送金元の店舗アカウントID
-) {
- MoneyAmount = 4917.0, // 付与マネー額
- PointAmount = 9509.0, // 付与ポイント額
- Description = "test check", // 説明文(アプリ上で取引の説明文として表示される)
- IsOnetime = false, // ワンタイムかどうかのフラグ
- UsageLimit = 8921, // ワンタイムでない場合の最大読み取り回数
- ExpiresAt = "2023-03-25T06:19:47.000000+09:00", // チャージQRコード自体の失効日時
- PointExpiresAt = "2024-01-06T06:20:51.000000+09:00", // チャージQRコードによって付与されるポイント残高の有効期限
- PointExpiresInDays = 60, // チャージQRコードによって付与されるポイント残高の有効期限(相対日数指定)
- BearPointAccount = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント額を負担する店舗のウォレットID
+Request.ListChecks request = new Request.ListChecks() {
+ Page = 3076, // ページ番号
+ PerPage = 50, // 1ページの表示数
+ PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
+ OrganizationCode = "sob31", // 組織コード
+ ExpiresFrom = "2021-09-17T13:36:18.000000Z", // 有効期限の期間によるフィルター(開始時点)
+ ExpiresTo = "2020-06-01T05:11:51.000000Z", // 有効期限の期間によるフィルター(終了時点)
+ CreatedFrom = "2020-06-12T12:23:35.000000Z", // 作成日時の期間によるフィルター(開始時点)
+ CreatedTo = "2021-10-30T18:42:50.000000Z", // 作成日時の期間によるフィルター(終了時点)
+ IssuerShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 発行店舗ID
+ Description = "FcTjCHIR", // チャージQRコードの説明文
+ IsOnetime = false, // ワンタイムのチャージQRコードかどうか
+ IsDisabled = true, // 無効化されたチャージQRコードかどうか
};
-Response.Check response = await request.Send(client);
+Response.PaginatedChecks response = await request.Send(client);
```
-`money_amount`と`point_amount`の少なくとも一方は指定する必要があります。
-
-
### Parameters
-**`money_amount`**
+**`page`**
-チャージQRコードによって付与されるマネー額です。
-`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
-
```json
{
- "type": "number",
- "format": "decimal",
- "minimum": 0
+ "type": "integer",
+ "minimum": 1
}
```
-**`point_amount`**
+**`per_page`**
-チャージQRコードによって付与されるポイント額です。
-`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
-
+1ページ当たり表示数です。デフォルト値は50です。
```json
{
- "type": "number",
- "format": "decimal",
- "minimum": 0
+ "type": "integer",
+ "minimum": 1
}
```
-**`account_id`**
+**`private_money_id`**
+チャージQRコードのチャージ対象のマネーIDで結果をフィルターします。
+
```json
{
@@ -75,52 +68,52 @@ Response.Check response = await request.Send(client);
}
```
-**`description`**
+**`organization_code`**
+チャージQRコードの発行店舗の所属組織の組織コードで結果をフィルターします。
+デフォルトでは未指定です。
```json
{
"type": "string",
- "maxLength": 200
+ "maxLength": 32
}
```
-**`is_onetime`**
+**`expires_from`**
-チャージQRコードが一度の読み取りで失効するときに`true`にします。デフォルト値は`true`です。
-`false`の場合、複数ユーザによって読み取り可能なQRコードになります。
-ただし、その場合も1ユーザにつき1回のみしか読み取れません。
+有効期限の期間によるフィルターの開始時点のタイムスタンプです。
+デフォルトでは未指定です。
```json
{
- "type": "boolean"
+ "type": "string",
+ "format": "date-time"
}
```
-**`usage_limit`**
+**`expires_to`**
-複数ユーザによって読み取り可能なチャージQRコードの最大読み取り回数を指定します。
-NULLに設定すると無制限に読み取り可能なチャージQRコードになります。
-デフォルト値はNULLです。
-ワンタイム指定(`is_onetime`)がされているときは、本パラメータはNULLである必要があります。
+有効期限の期間によるフィルターの終了時点のタイムスタンプです。
+デフォルトでは未指定です。
```json
{
- "type": "integer"
+ "type": "string",
+ "format": "date-time"
}
```
-**`expires_at`**
+**`created_from`**
-チャージQRコード自体の失効日時を指定します。この日時以降はチャージQRコードを読み取れなくなります。デフォルトでは作成日時から3ヶ月後になります。
-
-チャージQRコード自体の失効日時であって、チャージQRコードによって付与されるマネー残高の有効期限とは異なることに注意してください。マネー残高の有効期限はマネー設定で指定されているものになります。
+作成日時の期間によるフィルターの開始時点のタイムスタンプです。
+デフォルトでは未指定です。
```json
@@ -130,12 +123,11 @@ NULLに設定すると無制限に読み取り可能なチャージQRコード
}
```
-**`point_expires_at`**
+**`created_to`**
-チャージQRコードによって付与されるポイント残高の有効起源を指定します。デフォルトではマネー残高の有効期限と同じものが指定されます。
-
-チャージQRコードにより付与されるマネー残高の有効期限はQRコード毎には指定できませんが、ポイント残高の有効期限は本パラメータにより、QRコード毎に個別に指定することができます。
+作成日時の期間によるフィルターの終了時点のタイムスタンプです。
+デフォルトでは未指定です。
```json
@@ -145,165 +137,195 @@ NULLに設定すると無制限に読み取り可能なチャージQRコード
}
```
-**`point_expires_in_days`**
+**`issuer_shop_id`**
-チャージQRコードによって付与されるポイント残高の有効期限を相対日数で指定します。
-1を指定すると、チャージQRコード作成日の当日中に失効します(翌日0時に失効)。
-`point_expires_at`と`point_expires_in_days`が両方指定されている場合は、チャージQRコードによるチャージ取引ができた時点からより近い方が採用されます。
+チャージQRコードを発行した店舗IDによってフィルターします。
+デフォルトでは未指定です。
```json
{
- "type": "integer",
- "minimum": 1
+ "type": "string",
+ "format": "uuid"
}
```
-**`bear_point_account`**
+**`description`**
-ポイントチャージをする場合、ポイント額を負担する店舗のウォレットIDを指定することができます。
-デフォルトではマネー発行体のデフォルト店舗(本店)がポイント負担先となります。
+チャージQRコードの説明文(description)によってフィルターします。
+部分一致(前方一致)したものを表示します。
+デフォルトでは未指定です。
```json
{
- "type": "string",
- "format": "uuid"
+ "type": "string"
+}
+```
+
+**`is_onetime`**
+
+
+チャージQRコードがワンタイムに設定されているかどうかでフィルターします。
+`true` の場合はワンタイムかどうかでフィルターし、`false`の場合はワンタイムでないものをフィルターします。
+未指定の場合はフィルターしません。
+デフォルトでは未指定です。
+
+
+```json
+{
+ "type": "boolean"
+}
+```
+
+**`is_disabled`**
+
+
+チャージQRコードが無効化されているかどうかでフィルターします。
+`true` の場合は無効なものをフィルターし、`false`の場合は有効なものをフィルターします。
+未指定の場合はフィルターしません。
+デフォルトでは未指定です。
+
+
+```json
+{
+ "type": "boolean"
}
```
成功したときは
-[Check](./responses.md#check)
+[PaginatedChecks](./responses.md#paginated-checks)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|organization_not_found||Organization not found|
+|422|private_money_not_found||Private money not found|
+
+
---
-
-## ListChecks: チャージQRコード一覧の取得
+
+## CreateCheck: チャージQRコードの発行
```csharp
-Request.ListChecks request = new Request.ListChecks() {
- Page = 7994, // ページ番号
- PerPage = 50, // 1ページの表示数
- PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- OrganizationCode = "TXEMx6", // 組織コード
- ExpiresFrom = "2024-02-11T07:45:43.000000+09:00", // 有効期限の期間によるフィルター(開始時点)
- ExpiresTo = "2022-09-02T02:26:25.000000+09:00", // 有効期限の期間によるフィルター(終了時点)
- CreatedFrom = "2022-05-29T15:37:23.000000+09:00", // 作成日時の期間によるフィルター(開始時点)
- CreatedTo = "2021-02-21T22:54:32.000000+09:00", // 作成日時の期間によるフィルター(終了時点)
- IssuerShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 発行店舗ID
- Description = "lydCp", // チャージQRコードの説明文
- IsOnetime = true, // ワンタイムのチャージQRコードかどうか
- IsDisabled = false, // 無効化されたチャージQRコードかどうか
+Request.CreateCheck request = new Request.CreateCheck(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 送金元の店舗アカウントID
+) {
+ MoneyAmount = 7052.0, // 付与マネー額
+ PointAmount = 2501.0, // 付与ポイント額
+ Description = "test check", // 説明文(アプリ上で取引の説明文として表示される)
+ IsOnetime = false, // ワンタイムかどうかのフラグ
+ UsageLimit = 5853, // ワンタイムでない場合の最大読み取り回数
+ ExpiresAt = "2022-09-06T14:41:07.000000Z", // チャージQRコード自体の失効日時
+ PointExpiresAt = "2020-09-18T12:05:39.000000Z", // チャージQRコードによって付与されるポイント残高の有効期限
+ PointExpiresInDays = 60, // チャージQRコードによって付与されるポイント残高の有効期限(相対日数指定)
+ BearPointAccount = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント額を負担する店舗のウォレットID
};
-Response.PaginatedChecks response = await request.Send(client);
+Response.Check response = await request.Send(client);
```
-
-### Parameters
-**`page`**
-
+`money_amount`と`point_amount`の少なくとも一方は指定する必要があります。
-```json
-{
- "type": "integer",
- "minimum": 1
-}
-```
-**`per_page`**
+### Parameters
+**`money_amount`**
-1ページ当たり表示数です。デフォルト値は50です。
+チャージQRコードによって付与されるマネー額です。
+`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
+
```json
{
- "type": "integer",
- "minimum": 1
+ "type": "number",
+ "format": "decimal",
+ "minimum": 0
}
```
-**`private_money_id`**
+**`point_amount`**
-チャージQRコードのチャージ対象のマネーIDで結果をフィルターします。
+チャージQRコードによって付与されるポイント額です。
+`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
```json
{
- "type": "string",
- "format": "uuid"
+ "type": "number",
+ "format": "decimal",
+ "minimum": 0
}
```
-**`organization_code`**
+**`account_id`**
-チャージQRコードの発行店舗の所属組織の組織コードで結果をフィルターします。
-デフォルトでは未指定です。
```json
{
"type": "string",
- "maxLength": 32
+ "format": "uuid"
}
```
-**`expires_from`**
+**`description`**
-有効期限の期間によるフィルターの開始時点のタイムスタンプです。
-デフォルトでは未指定です。
-
```json
{
"type": "string",
- "format": "date-time"
+ "maxLength": 200
}
```
-**`expires_to`**
+**`is_onetime`**
-有効期限の期間によるフィルターの終了時点のタイムスタンプです。
-デフォルトでは未指定です。
+チャージQRコードが一度の読み取りで失効するときに`true`にします。デフォルト値は`true`です。
+`false`の場合、複数ユーザによって読み取り可能なQRコードになります。
+ただし、その場合も1ユーザにつき1回のみしか読み取れません。
```json
{
- "type": "string",
- "format": "date-time"
+ "type": "boolean"
}
```
-**`created_from`**
+**`usage_limit`**
-作成日時の期間によるフィルターの開始時点のタイムスタンプです。
-デフォルトでは未指定です。
+複数ユーザによって読み取り可能なチャージQRコードの最大読み取り回数を指定します。
+NULLに設定すると無制限に読み取り可能なチャージQRコードになります。
+デフォルト値はNULLです。
+ワンタイム指定(`is_onetime`)がされているときは、本パラメータはNULLである必要があります。
```json
{
- "type": "string",
- "format": "date-time"
+ "type": "integer"
}
```
-**`created_to`**
+**`expires_at`**
-作成日時の期間によるフィルターの終了時点のタイムスタンプです。
-デフォルトでは未指定です。
+チャージQRコード自体の失効日時を指定します。この日時以降はチャージQRコードを読み取れなくなります。デフォルトでは作成日時から3ヶ月後になります。
+
+チャージQRコード自体の失効日時であって、チャージQRコードによって付与されるマネー残高の有効期限とは異なることに注意してください。マネー残高の有効期限はマネー設定で指定されているものになります。
```json
@@ -313,70 +335,73 @@ Response.PaginatedChecks response = await request.Send(client);
}
```
-**`issuer_shop_id`**
+**`point_expires_at`**
-チャージQRコードを発行した店舗IDによってフィルターします。
-デフォルトでは未指定です。
-
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-**`description`**
-
+チャージQRコードによって付与されるポイント残高の有効起源を指定します。デフォルトではマネー残高の有効期限と同じものが指定されます。
-チャージQRコードの説明文(description)によってフィルターします。
-部分一致(前方一致)したものを表示します。
-デフォルトでは未指定です。
+チャージQRコードにより付与されるマネー残高の有効期限はQRコード毎には指定できませんが、ポイント残高の有効期限は本パラメータにより、QRコード毎に個別に指定することができます。
```json
{
- "type": "string"
+ "type": "string",
+ "format": "date-time"
}
```
-**`is_onetime`**
+**`point_expires_in_days`**
-チャージQRコードがワンタイムに設定されているかどうかでフィルターします。
-`true` の場合はワンタイムかどうかでフィルターし、`false`の場合はワンタイムでないものをフィルターします。
-未指定の場合はフィルターしません。
-デフォルトでは未指定です。
+チャージQRコードによって付与されるポイント残高の有効期限を相対日数で指定します。
+1を指定すると、チャージQRコード作成日の当日中に失効します(翌日0時に失効)。
+`point_expires_at`と`point_expires_in_days`が両方指定されている場合は、チャージQRコードによるチャージ取引ができた時点からより近い方が採用されます。
```json
{
- "type": "boolean"
+ "type": "integer",
+ "minimum": 1
}
```
-**`is_disabled`**
+**`bear_point_account`**
-チャージQRコードが無効化されているかどうかでフィルターします。
-`true` の場合は無効なものをフィルターし、`false`の場合は有効なものをフィルターします。
-未指定の場合はフィルターしません。
-デフォルトでは未指定です。
+ポイントチャージをする場合、ポイント額を負担する店舗のウォレットIDを指定することができます。
+デフォルトではマネー発行体のデフォルト店舗(本店)がポイント負担先となります。
```json
{
- "type": "boolean"
+ "type": "string",
+ "format": "uuid"
}
```
成功したときは
-[PaginatedChecks](./responses.md#paginated-checks)
+[Check](./responses.md#check)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameter_both_point_and_money_are_zero||One of 'money_amount' or 'point_amount' must be a positive (>0) number|
+|400|invalid_parameter_only_merchants_can_attach_points_to_check||Only merchants can attach points to check|
+|400|invalid_parameter_bear_point_account_identification_item_not_unique|ポイントを負担する店舗アカウントを指定するリクエストパラメータには、アカウントID、またはユーザIDのどちらかを含めることができます|Request parameters include either bear_point_account or bear_point_shop_id.|
+|400|invalid_parameter_combination_usage_limit_and_is_onetime||'usage_limit' can not be specified if 'is_onetime' is true.|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|400|invalid_parameter_expires_at||'expires_at' must be in the future|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|account_private_money_is_not_issued_by_organization||The account's private money is not issued by this organization|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|bear_point_account_not_found|ポイントを負担する店舗アカウントが見つかりません|Bear point account not found.|
+
+
---
@@ -413,6 +438,7 @@ Response.Check response = await request.Send(client);
を返します
+
---
@@ -423,16 +449,16 @@ Response.Check response = await request.Send(client);
Request.UpdateCheck request = new Request.UpdateCheck(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // チャージQRコードのID
) {
- MoneyAmount = 2298.0, // 付与マネー額
- PointAmount = 5767.0, // 付与ポイント額
+ MoneyAmount = 7719.0, // 付与マネー額
+ PointAmount = 5023.0, // 付与ポイント額
Description = "test check", // チャージQRコードの説明文
IsOnetime = true, // ワンタイムかどうかのフラグ
- UsageLimit = 7144, // ワンタイムでない場合の最大読み取り回数
- ExpiresAt = "2021-06-15T21:21:49.000000+09:00", // チャージQRコード自体の失効日時
- PointExpiresAt = "2022-09-07T06:29:59.000000+09:00", // チャージQRコードによって付与されるポイント残高の有効期限
+ UsageLimit = 3929, // ワンタイムでない場合の最大読み取り回数
+ ExpiresAt = "2020-08-02T23:28:09.000000Z", // チャージQRコード自体の失効日時
+ PointExpiresAt = "2020-10-22T18:15:03.000000Z", // チャージQRコードによって付与されるポイント残高の有効期限
PointExpiresInDays = 60, // チャージQRコードによって付与されるポイント残高の有効期限(相対日数指定)
BearPointAccount = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント額を負担する店舗のウォレットID
- IsDisabled = false, // 無効化されているかどうかのフラグ
+ IsDisabled = true, // 無効化されているかどうかのフラグ
};
Response.Check response = await request.Send(client);
```
@@ -603,6 +629,7 @@ NULLに設定すると無制限に読み取り可能なチャージQRコード
を返します
+
---
@@ -676,6 +703,48 @@ QRコード生成時に送金元店舗のウォレット情報や、送金額な
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|customer_user_not_found||The customer user is not found|
+|422|check_not_found|これはチャージQRコードではありません|This is not a topup QR code|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|422|check_already_received|このチャージQRコードは既に受取済みの為、チャージ出来ませんでした|Check is already received|
+|422|check_unavailable|このチャージQRコードは利用できません|The topup QR code is not available|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
diff --git a/docs/coupon.md b/docs/coupon.md
index 4779b74..219e431 100644
--- a/docs/coupon.md
+++ b/docs/coupon.md
@@ -11,12 +11,12 @@ Couponは特定店舗で利用できるものや利用可能期間、配信条
Request.ListCoupons request = new Request.ListCoupons(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 対象クーポンのマネーID
) {
- CouponId = "R5ZNIi", // クーポンID
- CouponName = "ikdp8w", // クーポン名
- IssuedShopName = "9", // 発行店舗名
- AvailableShopName = "Wl", // 利用可能店舗名
- AvailableFrom = "2021-09-27T15:32:49.000000+09:00", // 利用可能期間 (開始日時)
- AvailableTo = "2023-02-15T11:18:54.000000+09:00", // 利用可能期間 (終了日時)
+ CouponId = "XWP", // クーポンID
+ CouponName = "Nst4", // クーポン名
+ IssuedShopName = "4xBM1t", // 発行店舗名
+ AvailableShopName = "MMoOy", // 利用可能店舗名
+ AvailableFrom = "2023-03-30T16:00:42.000000Z", // 利用可能期間 (開始日時)
+ AvailableTo = "2023-12-05T20:58:25.000000Z", // 利用可能期間 (終了日時)
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取得数
};
@@ -145,6 +145,14 @@ Response.PaginatedCoupons response = await request.Send(client);
[PaginatedCoupons](./responses.md#paginated-coupons)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+
+
---
@@ -156,25 +164,25 @@ Response.PaginatedCoupons response = await request.Send(client);
```csharp
Request.CreateCoupon request = new Request.CreateCoupon(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "krqUcz43dBm26",
- "2021-05-07T16:08:38.000000+09:00",
- "2021-03-24T06:30:38.000000+09:00",
+ "WcD5ADFBSPh7o2MC5sMNAQhF0HC",
+ "2022-11-04T16:57:14.000000Z",
+ "2023-02-19T10:51:37.000000Z",
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 発行元の店舗ID
) {
- Description = "r7FE7oxXwqyeP95WFsrDTZsTHaLMAx4xhJmPNb2Vt3kMgTzAxm3nuCtm4tM4rQ7TMWwQQegAiqW5Gh3E",
- DiscountAmount = 1694,
- DiscountPercentage = 3744.0,
- DiscountUpperLimit = 1253,
- DisplayStartsAt = "2021-03-24T15:38:39.000000+09:00", // クーポンの掲載期間(開始日時)
- DisplayEndsAt = "2020-11-23T22:17:08.000000+09:00", // クーポンの掲載期間(終了日時)
+ Description = "Dj4ZpJqp2buSHK5WKI86hTWo47qb9nSKNBR3LjzCdQo4GwTY7y2Am8ZcyGh3BczuQ1HmAT4U7cCHORIBupKF2LGLWlWRqEU1R3HVfumJrkxA1RBhkJnrKn6T4UBYf7XzEp3cMOeoQItbJApNFNbizZqSEKvNBsiLTmRsG1pcvzPfSNlMjgyCm3l36NNuyyweAXXanZiLS6lbj9JXoVWEOjNWcJ8Pq",
+ DiscountAmount = 7919,
+ DiscountPercentage = 8256.0,
+ DiscountUpperLimit = 4638,
+ DisplayStartsAt = "2020-04-05T02:04:40.000000Z", // クーポンの掲載期間(開始日時)
+ DisplayEndsAt = "2020-10-01T23:49:47.000000Z", // クーポンの掲載期間(終了日時)
IsDisabled = false, // 無効化フラグ
IsHidden = true, // クーポン一覧に掲載されるかどうか
- IsPublic = false, // アプリ配信なしで受け取れるかどうか
- Code = "N4", // クーポン受け取りコード
- UsageLimit = 3497, // ユーザごとの利用可能回数(NULLの場合は無制限)
- MinAmount = 6454, // クーポン適用可能な最小取引額
+ IsPublic = true, // アプリ配信なしで受け取れるかどうか
+ Code = "Dc", // クーポン受け取りコード
+ UsageLimit = 3660, // ユーザごとの利用可能回数(NULLの場合は無制限)
+ MinAmount = 8009, // クーポン適用可能な最小取引額
IsShopSpecified = false, // 特定店舗限定のクーポンかどうか
- AvailableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 利用可能店舗リスト
+ AvailableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 利用可能店舗リスト
StorageId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ストレージID
};
Response.CouponDetail response = await request.Send(client);
@@ -410,6 +418,17 @@ Storage APIでアップロードしたクーポン画像のStorage IDを指定
[CouponDetail](./responses.md#coupon-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|404|partner_storage_not_found|指定したIDのデータは保存されていません|Not found by storage_id|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+|422|coupon_image_storage_conflict|クーポン画像のストレージIDは既に存在します|The coupon image storage_id is already exists|
+
+
---
@@ -449,6 +468,7 @@ UUIDv4フォーマットである必要があり、フォーマットが異な
を返します
+
---
@@ -460,22 +480,22 @@ UUIDv4フォーマットである必要があり、フォーマットが異な
Request.UpdateCoupon request = new Request.UpdateCoupon(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // クーポンID
) {
- Name = "Bgm1bgbkQVRY8MuhwDykulFo5mDyJw8V3XaTOkFDFDXkJRYuzmNrD0IPFMYcPpoEqcZqYNWKYupHW3vkZPbupwOmpLyfc",
- Description = "nvR24ekndSEuijqLz34cJjz9WzSXV2waIpnDEjnPuGDOLqsy43AtWyT6hyzJkPIxdv4Vr2ADhNnBQ2AhJrtrRhEmEhncAz9T8Jn6tKv842hmKtJWGe0W2JoBVxOBG6QSEaMM6DcJjfAtdrmKAg3KBKDu0vlbYdVC6n9nVLo43cE33CQPF6kxIlI0uguDnziraNYM7VX5YLnlD8HOOCDlP4GZ7jbmXM",
- DiscountAmount = 4761,
- DiscountPercentage = 1845.0,
- DiscountUpperLimit = 4360,
- StartsAt = "2023-03-19T19:18:18.000000+09:00",
- EndsAt = "2022-04-02T23:56:43.000000+09:00",
- DisplayStartsAt = "2022-08-15T11:01:42.000000+09:00", // クーポンの掲載期間(開始日時)
- DisplayEndsAt = "2020-10-06T06:10:06.000000+09:00", // クーポンの掲載期間(終了日時)
+ Name = "AJFpX3tMiPvkskrBs7cZNQht6pUXt6QkeG9pRp1c5EcN6nLJcb0NEcuMnzKSDbJDSeKRyRniwPaN0afN8mRVY0r2kLaY",
+ Description = "QQnNWq5gJk8ucSDE2uEYUD0C3IXLL4lH8T3KxBkSfET7NeTYdPy8UjYc9OlslQQZIq7zSOEeSzczj6ObIBdQwmJP2q6udBME6WRlyybO27figMsVRHKPW8EbdfuKdbyfcjYNDVx4A2ovqPMZA8irXJ9E6ZcMzkLyAqgwSoddiujWTgn11mpxaVIYgQo5GvBiHK",
+ DiscountAmount = 1536,
+ DiscountPercentage = 6647.0,
+ DiscountUpperLimit = 1791,
+ StartsAt = "2020-04-21T20:54:59.000000Z",
+ EndsAt = "2020-07-25T08:18:17.000000Z",
+ DisplayStartsAt = "2021-03-25T04:58:14.000000Z", // クーポンの掲載期間(開始日時)
+ DisplayEndsAt = "2024-01-05T15:52:32.000000Z", // クーポンの掲載期間(終了日時)
IsDisabled = false, // 無効化フラグ
- IsHidden = true, // クーポン一覧に掲載されるかどうか
+ IsHidden = false, // クーポン一覧に掲載されるかどうか
IsPublic = false, // アプリ配信なしで受け取れるかどうか
- Code = "fk3fyCeh", // クーポン受け取りコード
- UsageLimit = 1955, // ユーザごとの利用可能回数(NULLの場合は無制限)
- MinAmount = 2132, // クーポン適用可能な最小取引額
- IsShopSpecified = true, // 特定店舗限定のクーポンかどうか
+ Code = "FE45d3P2", // クーポン受け取りコード
+ UsageLimit = 5840, // ユーザごとの利用可能回数(NULLの場合は無制限)
+ MinAmount = 3578, // クーポン適用可能な最小取引額
+ IsShopSpecified = false, // 特定店舗限定のクーポンかどうか
AvailableShopIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 利用可能店舗リスト
StorageId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ストレージID
};
@@ -704,6 +724,7 @@ Storage APIでアップロードしたクーポン画像のStorage IDを指定
を返します
+
---
diff --git a/docs/customer.md b/docs/customer.md
index a27695b..4292d3d 100644
--- a/docs/customer.md
+++ b/docs/customer.md
@@ -1,5 +1,57 @@
# Customer
+
+## DeleteAccount: ウォレットを退会する
+ウォレットを退会します。一度ウォレットを退会した後は、そのウォレットを再び利用可能な状態に戻すことは出来ません。
+
+```csharp
+Request.DeleteAccount request = new Request.DeleteAccount(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
+) {
+ Cashback = true, // 返金有無
+};
+Response.AccountDeleted response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`account_id`**
+
+
+ウォレットIDです。
+
+指定したウォレットIDのウォレットを退会します。
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+**`cashback`**
+
+
+退会時の返金有無です。エンドユーザに返金を行う場合、真を指定して下さい。現在のマネー残高を全て現金で返金したものとして記録されます。
+
+```json
+{
+ "type": "boolean"
+}
+```
+
+
+
+成功したときは
+[AccountDeleted](./responses.md#account-deleted)
+を返します
+
+
+
+---
+
+
## GetAccount: ウォレット情報を表示する
ウォレットを取得します。
@@ -35,6 +87,7 @@ Response.AccountDetail response = await request.Send(client);
を返します
+
---
@@ -54,7 +107,7 @@ Request.UpdateAccount request = new Request.UpdateAccount(
) {
IsSuspended = false, // ウォレットが凍結されているかどうか
Status = "pre-closed", // ウォレット状態
- CanTransferTopup = false, // チャージ可能かどうか
+ CanTransferTopup = true, // チャージ可能かどうか
};
Response.AccountDetail response = await request.Send(client);
```
@@ -121,56 +174,6 @@ Response.AccountDetail response = await request.Send(client);
を返します
----
-
-
-
-## DeleteAccount: ウォレットを退会する
-ウォレットを退会します。一度ウォレットを退会した後は、そのウォレットを再び利用可能な状態に戻すことは出来ません。
-
-```csharp
-Request.DeleteAccount request = new Request.DeleteAccount(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
-) {
- Cashback = true, // 返金有無
-};
-Response.AccountDeleted response = await request.Send(client);
-```
-
-
-
-### Parameters
-**`account_id`**
-
-
-ウォレットIDです。
-
-指定したウォレットIDのウォレットを退会します。
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-**`cashback`**
-
-
-退会時の返金有無です。エンドユーザに返金を行う場合、真を指定して下さい。現在のマネー残高を全て現金で返金したものとして記録されます。
-
-```json
-{
- "type": "boolean"
-}
-```
-
-
-
-成功したときは
-[AccountDeleted](./responses.md#account-deleted)
-を返します
-
---
@@ -183,10 +186,10 @@ Response.AccountDeleted response = await request.Send(client);
Request.ListAccountBalances request = new Request.ListAccountBalances(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
) {
- Page = 5982, // ページ番号
- PerPage = 6381, // 1ページ分の取引数
- ExpiresAtFrom = "2021-02-16T00:28:45.000000+09:00", // 有効期限の期間によるフィルター(開始時点)
- ExpiresAtTo = "2020-01-30T06:56:35.000000+09:00", // 有効期限の期間によるフィルター(終了時点)
+ Page = 7120, // ページ番号
+ PerPage = 8183, // 1ページ分の取引数
+ ExpiresAtFrom = "2023-04-19T21:58:01.000000Z", // 有効期限の期間によるフィルター(開始時点)
+ ExpiresAtTo = "2021-07-18T16:39:27.000000Z", // 有効期限の期間によるフィルター(終了時点)
Direction = "asc", // 有効期限によるソート順序
};
Response.PaginatedAccountBalance response = await request.Send(client);
@@ -279,6 +282,7 @@ Response.PaginatedAccountBalance response = await request.Send(client);
を返します
+
---
@@ -290,10 +294,10 @@ Response.PaginatedAccountBalance response = await request.Send(client);
Request.ListAccountExpiredBalances request = new Request.ListAccountExpiredBalances(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
) {
- Page = 7729, // ページ番号
- PerPage = 8229, // 1ページ分の取引数
- ExpiresAtFrom = "2020-10-28T09:31:32.000000+09:00", // 有効期限の期間によるフィルター(開始時点)
- ExpiresAtTo = "2020-02-06T18:50:52.000000+09:00", // 有効期限の期間によるフィルター(終了時点)
+ Page = 8897, // ページ番号
+ PerPage = 5085, // 1ページ分の取引数
+ ExpiresAtFrom = "2022-12-10T19:44:05.000000Z", // 有効期限の期間によるフィルター(開始時点)
+ ExpiresAtTo = "2023-10-05T14:46:25.000000Z", // 有効期限の期間によるフィルター(終了時点)
Direction = "desc", // 有効期限によるソート順序
};
Response.PaginatedAccountBalance response = await request.Send(client);
@@ -386,6 +390,7 @@ Response.PaginatedAccountBalance response = await request.Send(client);
を返します
+
---
@@ -397,9 +402,9 @@ Response.PaginatedAccountBalance response = await request.Send(client);
Request.UpdateCustomerAccount request = new Request.UpdateCustomerAccount(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
) {
- Status = "pre-closed", // ウォレット状態
- AccountName = "J93Y52C590AS7UiB0DiDGREmImyJDbbC2wEGBfcAGc0EsTxqnb80BRFYcLTC4xCABLekowD1pN0MSUSSu62wEl3iPUkIv4a2NsBAg7OoWmbOWXvcqkH6OCG8bjnFs6Wxag7kVTYLZtjqA6blCNXCxB23NKDv8dBki6rCZ5MRu3n3kWR611LhXRF1WjDXemYssWVQAa0S9OWEqIPoWhsZ81p0D8TH", // アカウント名
- ExternalId = "D4dpuhxNvhxjPfdLCMpGSOhV764tK", // 外部ID
+ Status = "active", // ウォレット状態
+ AccountName = "tZIBDPoHNl5n64I544K0pgRwqKcwLRpyfhvSp3huvf9I", // アカウント名
+ ExternalId = "SZ1V5b6lHxDKXrcl2EVG", // 外部ID
Metadata = "{\"key1\":\"foo\",\"key2\":\"bar\"}", // ウォレットに付加するメタデータ
};
Response.AccountWithUser response = await request.Send(client);
@@ -496,6 +501,7 @@ Response.AccountWithUser response = await request.Send(client);
を返します
+
---
@@ -507,15 +513,15 @@ Response.AccountWithUser response = await request.Send(client);
Request.GetCustomerAccounts request = new Request.GetCustomerAccounts(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
- Page = 5205, // ページ番号
- PerPage = 7228, // 1ページ分のウォレット数
- CreatedAtFrom = "2020-09-02T21:57:13.000000+09:00", // ウォレット作成日によるフィルター(開始時点)
- CreatedAtTo = "2023-05-21T21:09:03.000000+09:00", // ウォレット作成日によるフィルター(終了時点)
+ Page = 6645, // ページ番号
+ PerPage = 5963, // 1ページ分のウォレット数
+ CreatedAtFrom = "2020-10-15T16:52:47.000000Z", // ウォレット作成日によるフィルター(開始時点)
+ CreatedAtTo = "2023-04-17T14:35:15.000000Z", // ウォレット作成日によるフィルター(終了時点)
IsSuspended = true, // ウォレットが凍結状態かどうかでフィルターする
Status = "suspended", // ウォレット状態
- ExternalId = "gjnPne51YZOU0zGq4PpZBc0rJPOstD7C9IM7suB5w40dZFTs", // 外部ID
- Tel = "05735160-4023", // エンドユーザーの電話番号
- Email = "TaTlLaqlkU@49OX.com", // エンドユーザーのメールアドレス
+ ExternalId = "9IqiVZ5m5eyekXLeKtBuImxNnX45R5ZNIieikd", // 外部ID
+ Tel = "08-91-312", // エンドユーザーの電話番号
+ Email = "qUcz43dBm2@6Or7.com", // エンドユーザーのメールアドレス
};
Response.PaginatedAccountWithUsers response = await request.Send(client);
```
@@ -654,6 +660,13 @@ Response.PaginatedAccountWithUsers response = await request.Send(client);
[PaginatedAccountWithUsers](./responses.md#paginated-account-with-users)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|private_money_not_found||Private money not found|
+
+
---
@@ -671,7 +684,7 @@ Request.CreateCustomerAccount request = new Request.CreateCustomerAccount(
) {
UserName = "ポケペイ太郎", // ユーザー名
AccountName = "ポケペイ太郎のアカウント", // アカウント名
- ExternalId = "mcM1eYLCIv", // 外部ID
+ ExternalId = "FE7oxXwqyeP95WFsrDTZsTHaLMAx4xhJm", // 外部ID
};
Response.AccountWithUser response = await request.Send(client);
```
@@ -735,6 +748,19 @@ PAPIクライアントシステムから利用するPokepayユーザーのIDで
[AccountWithUser](./responses.md#account-with-user)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|user_not_found||The user is not found|
+|422|private_money_not_found||Private money not found|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|user_attributes_external_id_not_match|ユーザー属性情報の外部IDが一致しません|Not match external id of user attributes|
+|422|user_attributes_not_found|ユーザー属性情報が存在しません|Not found the user attrubtes|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|account_can_not_create|このマネーに新規アカウントを作る事は出来ません|Can not create an account with this money|
+
+
---
@@ -747,10 +773,10 @@ PAPIクライアントシステムから利用するPokepayユーザーのIDで
Request.GetShopAccounts request = new Request.GetShopAccounts(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
- Page = 6034, // ページ番号
- PerPage = 5759, // 1ページ分のウォレット数
- CreatedAtFrom = "2020-03-19T11:40:52.000000+09:00", // ウォレット作成日によるフィルター(開始時点)
- CreatedAtTo = "2021-04-16T05:15:38.000000+09:00", // ウォレット作成日によるフィルター(終了時点)
+ Page = 4175, // ページ番号
+ PerPage = 8163, // 1ページ分のウォレット数
+ CreatedAtFrom = "2020-12-13T15:33:06.000000Z", // ウォレット作成日によるフィルター(開始時点)
+ CreatedAtTo = "2022-08-19T17:52:52.000000Z", // ウォレット作成日によるフィルター(終了時点)
IsSuspended = false, // ウォレットが凍結状態かどうかでフィルターする
};
Response.PaginatedAccountWithUsers response = await request.Send(client);
@@ -838,6 +864,13 @@ Response.PaginatedAccountWithUsers response = await request.Send(client);
[PaginatedAccountWithUsers](./responses.md#paginated-account-with-users)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|private_money_not_found||Private money not found|
+
+
---
@@ -852,10 +885,10 @@ Request.ListCustomerTransactions request = new Request.ListCustomerTransactions(
) {
SenderCustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 送金エンドユーザーID
ReceiverCustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 受取エンドユーザーID
- Type = "payment", // 取引種別
+ Type = "transfer", // 取引種別
IsModified = false, // キャンセル済みかどうか
- From = "2020-08-01T13:51:54.000000+09:00", // 開始日時
- To = "2020-01-02T20:37:11.000000+09:00", // 終了日時
+ From = "2024-02-06T12:42:13.000000Z", // 開始日時
+ To = "2021-11-01T15:59:39.000000Z", // 終了日時
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取引数
};
@@ -1013,6 +1046,14 @@ falseを指定するとキャンセルされていない取引のみ一覧に表
[PaginatedTransaction](./responses.md#paginated-transaction)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|customer_user_not_found||The customer user is not found|
+|422|private_money_not_found||Private money not found|
+
+
---
diff --git a/docs/error-response.csv b/docs/error-response.csv
index 6cb1bc5..990a441 100644
--- a/docs/error-response.csv
+++ b/docs/error-response.csv
@@ -369,6 +369,8 @@ POST,/external-transactions/:uuid/refund,400,invalid_mdk_token,,Invalid MDK toke
,,422,not_refundable_transaction_type,"キャンセルできるのは取引種別が支払いかチャージのときのみです。",The transaction can refund when its type is payment or topup only
,,503,veritrans_api_error,"カード決済サービスが一時的にご利用になれません。時間を置いて再度お試しください",Credit card service is temporarily unavailable. Please wait a moment and try again
,,503,temporarily_unavailable,,Service Unavailable
+GET,/external-transactions/requests/:request-id,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
+,,422,event_not_found,"イベントが見つかりません",Event not found
GET,/bulk-transactions/:uuid,404,notfound,,Not found
GET,/bulk-transactions/:uuid/jobs,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
,,422,bulk_transaction_not_found,"Bulk取引が見つかりません",Bulk transaction not found
@@ -445,8 +447,8 @@ DELETE,/users/:uuid,403,,,
,,503,temporarily_unavailable,,Service Unavailable
GET,/private-moneys,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
,,422,organization_not_found,,Organization not found
-GET,/private-moneys/:uuid,403,,,
-,,404,,,
+GET,/private-moneys/:uuid,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
+,,422,private_money_not_found,,Private money not found
GET,/private-moneys/:uuid/summary,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
,,404,,,
,,422,private_money_not_found,,Private money not found
@@ -794,3 +796,7 @@ POST,/user-devices/:uuid/banks/topup,400,paytree_request_failure,"銀行の外
,,422,unpermitted_private_money,"このマネーは使えません",This money is not available
,,503,temporarily_unavailable,,Service Unavailable
,,503,incomplete_configration_for_organization_bank,"現状、このマネーは銀行からのチャージを行えません。システム管理者へお問合せ下さい","Currently, this money cannot be topup from this bank. Please contact your system administrator."
+POST,/paytree/charge-entry-result,400,partner_decryption_failed,"リクエスト中の暗号データを復号化することができませんでした。",Could not decrypt the data.
+,,400,partner_client_not_found,"partner_clientが見つかりません。",The partner client is not found.
+POST,/paytree/reconcile,400,invalid_parameters,"項目が無効です",Invalid parameters
+,,403,unpermitted_admin_user,"この管理ユーザには権限がありません",Admin does not have permission
diff --git a/docs/event.md b/docs/event.md
index b16bab4..2fcd14a 100644
--- a/docs/event.md
+++ b/docs/event.md
@@ -12,11 +12,11 @@ Request.CreateExternalTransaction request = new Request.CreateExternalTransactio
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- 7956 // 取引額
+ 1864, // 取引額
+ new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}} // 商品情報データ
) {
Description = "たい焼き(小倉)", // 取引説明文
Metadata = "{\"key\":\"value\"}", // ポケペイ外部取引メタデータ
- Products = new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}}, // 商品情報データ
RequestId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // リクエストID
};
Response.ExternalTransactionDetail response = await request.Send(client);
@@ -117,6 +117,7 @@ Response.ExternalTransactionDetail response = await request.Send(client);
- `name`: 商品名。256字以下の文字列
- `unit_price`: 商品単価。0以上の数値
- `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
+- `quantity`: 商品の個数。この値が指定された場合、priceから算出される個数よりも優先されます。
- `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- `other`: その他商品に関する情報。JSONオブジェクトで指定します。
@@ -151,6 +152,47 @@ Response.ExternalTransactionDetail response = await request.Send(client);
[ExternalTransactionDetail](./responses.md#external-transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|customer_user_not_found||The customer user is not found|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -205,6 +247,45 @@ Response.ExternalTransactionDetail response = await request.Send(client);
を返します
+
+---
+
+
+
+## GetExternalTransactionByRequestId: リクエストIDからポケペイ外部取引を取得する
+リクエストIDを指定してポケペイ外部取引を取得します。
+
+発行体の管理者は自組織発行のマネーに紐付くポケペイ外部取引を取得できます。
+
+```csharp
+Request.GetExternalTransactionByRequestId request = new Request.GetExternalTransactionByRequestId(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // リクエストID
+);
+Response.ExternalTransactionDetail response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`request_id`**
+
+
+
+```json
+{
+ "type": "string",
+ "format": "uuid"
+}
+```
+
+
+
+成功したときは
+[ExternalTransactionDetail](./responses.md#external-transaction-detail)
+を返します
+
+
+
---
diff --git a/docs/organization.md b/docs/organization.md
index e142490..3dbac1d 100644
--- a/docs/organization.md
+++ b/docs/organization.md
@@ -9,8 +9,8 @@ Request.ListOrganizations request = new Request.ListOrganizations(
) {
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取引数
- Name = "AtEksQW", // 組織名
- Code = "l6Am", // 組織コード
+ Name = "MgTz", // 組織名
+ Code = "xm", // 組織コード
};
Response.PaginatedOrganizations response = await request.Send(client);
```
@@ -81,6 +81,14 @@ Response.PaginatedOrganizations response = await request.Send(client);
[PaginatedOrganizations](./responses.md#paginated-organizations)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|private_money_not_found||Private money not found|
+
+
---
@@ -92,15 +100,15 @@ Response.PaginatedOrganizations response = await request.Send(client);
Request.CreateOrganization request = new Request.CreateOrganization(
"ox-supermarket", // 新規組織コード
"oxスーパー", // 新規組織名
- new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 加盟店組織で有効にするマネーIDの配列
- "3gCBrhM35E@fmrt.com", // 発行体担当者メールアドレス
- "OFWMml5EKR@iDsW.com" // 新規組織担当者メールアドレス
+ new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 加盟店組織で有効にするマネーIDの配列
+ "uCtm4tM4rQ@7TMW.com", // 発行体担当者メールアドレス
+ "wQQegAiqW5@Gh3E.com" // 新規組織担当者メールアドレス
) {
BankName = "XYZ銀行", // 銀行名
BankCode = "1234", // 銀行金融機関コード
BankBranchName = "ABC支店", // 銀行支店名
BankBranchCode = "123", // 銀行支店コード
- BankAccountType = "current", // 銀行口座種別 (普通=saving, 当座=current, その他=other)
+ BankAccountType = "other", // 銀行口座種別 (普通=saving, 当座=current, その他=other)
BankAccount = "1234567", // 銀行口座番号
BankAccountHolderName = "フクザワユキチ", // 口座名義人名
ContactName = "佐藤清", // 担当者名
@@ -270,6 +278,17 @@ Response.Organization response = await request.Send(client);
[Organization](./responses.md#organization)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|NULL|NULL|NULL|
+|409|organization_conflict||The organization code is already used|
+|409|shop_name_conflict||The shop name is already used|
+|422|organization_private_money_not_found||Issuer organization does not have private-money|
+|422|unavailable_private_money||Given private money(s) is/are not available|
+|503|failed_to_send_email||Failed to send an E-mail.|
+
+
---
diff --git a/docs/private_money.md b/docs/private_money.md
index be58132..b1135d6 100644
--- a/docs/private_money.md
+++ b/docs/private_money.md
@@ -59,6 +59,13 @@ Response.PaginatedPrivateMoneys response = await request.Send(client);
[PaginatedPrivateMoneys](./responses.md#paginated-private-moneys)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|organization_not_found||Organization not found|
+
+
---
@@ -70,8 +77,8 @@ Response.PaginatedPrivateMoneys response = await request.Send(client);
Request.GetPrivateMoneyOrganizationSummaries request = new Request.GetPrivateMoneyOrganizationSummaries(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
- From = "2023-06-12T09:52:35.000000+09:00", // 開始日時(toと同時に指定する必要有)
- To = "2020-08-23T22:38:01.000000+09:00", // 終了日時(fromと同時に指定する必要有)
+ From = "2023-11-17T02:30:57.000000Z", // 開始日時(toと同時に指定する必要有)
+ To = "2024-03-18T16:09:15.000000Z", // 終了日時(fromと同時に指定する必要有)
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取引数
};
@@ -144,6 +151,7 @@ Response.PaginatedPrivateMoneyOrganizationSummaries response = await request.Sen
を返します
+
---
@@ -154,8 +162,8 @@ Response.PaginatedPrivateMoneyOrganizationSummaries response = await request.Sen
Request.GetPrivateMoneySummary request = new Request.GetPrivateMoneySummary(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
- From = "2023-07-23T18:46:17.000000+09:00", // 開始日時
- To = "2023-09-04T17:42:15.000000+09:00", // 終了日時
+ From = "2022-06-21T16:03:01.000000Z", // 開始日時
+ To = "2023-09-16T21:12:29.000000Z", // 終了日時
};
Response.PrivateMoneySummary response = await request.Send(client);
```
@@ -203,6 +211,7 @@ Response.PrivateMoneySummary response = await request.Send(client);
を返します
+
---
diff --git a/docs/shop.md b/docs/shop.md
index 2a54335..dbe8c48 100644
--- a/docs/shop.md
+++ b/docs/shop.md
@@ -8,11 +8,11 @@ Request.ListShops request = new Request.ListShops() {
OrganizationCode = "pocketchange", // 組織コード
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
Name = "oxスーパー三田店", // 店舗名
- PostalCode = "716-3551", // 店舗の郵便番号
+ PostalCode = "005-4961", // 店舗の郵便番号
Address = "東京都港区芝...", // 店舗の住所
- Tel = "0136-6261-581", // 店舗の電話番号
- Email = "m8wdK6sB9H@suCl.com", // 店舗のメールアドレス
- ExternalId = "aKx3AfzVa9lboQsNDBH1u", // 店舗の外部ID
+ Tel = "0229320-7100", // 店舗の電話番号
+ Email = "bgbkQVRY8M@uhwD.com", // 店舗のメールアドレス
+ ExternalId = "ykulFo5mD", // 店舗の外部ID
WithDisabled = true, // 無効な店舗を含める
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取引数
@@ -172,6 +172,14 @@ Response.PaginatedShops response = await request.Send(client);
[PaginatedShops](./responses.md#paginated-shops)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|private_money_not_found||Private money not found|
+|422|organization_not_found||Organization not found|
+
+
---
@@ -184,11 +192,11 @@ Response.PaginatedShops response = await request.Send(client);
Request.CreateShop request = new Request.CreateShop(
"oxスーパー三田店" // 店舗名
) {
- ShopPostalCode = "652-2536", // 店舗の郵便番号
+ ShopPostalCode = "9774638", // 店舗の郵便番号
ShopAddress = "東京都港区芝...", // 店舗の住所
- ShopTel = "03184-0638", // 店舗の電話番号
- ShopEmail = "PURq2Q4ZM2@ZH2d.com", // 店舗のメールアドレス
- ShopExternalId = "8EggWOOiiO67HWQCePWkLnY7y5P2vTc", // 店舗の外部ID
+ ShopTel = "04-639488", // 店舗の電話番号
+ ShopEmail = "kJRYuzmNrD@0IPF.com", // 店舗のメールアドレス
+ ShopExternalId = "YcPpoEqcZqYNWK", // 店舗の外部ID
OrganizationCode = "ox-supermarket", // 組織コード
};
Response.User response = await request.Send(client);
@@ -283,6 +291,17 @@ Response.User response = await request.Send(client);
[User](./responses.md#user)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|NULL|NULL|NULL|
+|409|email_conflict|このメールアドレスは既に使われています|The E-mail address is already registered|
+|409|shop_name_conflict||The shop name is already used|
+|422|organization_not_member_organization||The specified organization is not a member organization of the organization accessing this API|
+|422|organization_not_found||Organization not found|
+|422|unavailable_private_money||Given private money(s) is/are not available|
+
+
---
@@ -294,14 +313,14 @@ Response.User response = await request.Send(client);
Request.CreateShopV2 request = new Request.CreateShopV2(
"oxスーパー三田店" // 店舗名
) {
- PostalCode = "2445685", // 店舗の郵便番号
+ PostalCode = "950-8736", // 店舗の郵便番号
Address = "東京都港区芝...", // 店舗の住所
- Tel = "097807-493", // 店舗の電話番号
- Email = "tjhMxgRT9F@EddB.com", // 店舗のメールアドレス
- ExternalId = "an5HyW6Uan9MoYMbeeBKUXD", // 店舗の外部ID
+ Tel = "0253-070-949", // 店舗の電話番号
+ Email = "fcnvR24ekn@dSEu.com", // 店舗のメールアドレス
+ ExternalId = "ijqL", // 店舗の外部ID
OrganizationCode = "ox-supermarket", // 組織コード
- PrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗で有効にするマネーIDの配列
- CanTopupPrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗でチャージ可能にするマネーIDの配列
+ PrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗で有効にするマネーIDの配列
+ CanTopupPrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗でチャージ可能にするマネーIDの配列
};
Response.ShopWithAccounts response = await request.Send(client);
```
@@ -436,6 +455,18 @@ Response.ShopWithAccounts response = await request.Send(client);
[ShopWithAccounts](./responses.md#shop-with-accounts)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|409|shop_name_conflict||The shop name is already used|
+|422|organization_not_found||Organization not found|
+|422|unpermitted_private_money|このマネーは使えません|This money is not available|
+|422|unavailable_private_money||Given private money(s) is/are not available|
+|422|organization_not_member_organization||The specified organization is not a member organization of the organization accessing this API|
+
+
---
@@ -474,6 +505,7 @@ Response.ShopWithAccounts response = await request.Send(client);
を返します
+
---
@@ -486,14 +518,14 @@ Request.UpdateShop request = new Request.UpdateShop(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 店舗ユーザーID
) {
Name = "oxスーパー三田店", // 店舗名
- PostalCode = "012-4307", // 店舗の郵便番号
+ PostalCode = "4349417", // 店舗の郵便番号
Address = "東京都港区芝...", // 店舗の住所
- Tel = "0793587-854", // 店舗の電話番号
- Email = "L0vlIdvdIM@bz7w.com", // 店舗のメールアドレス
- ExternalId = "Ui6BXoKUl0tR073", // 店舗の外部ID
- PrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗で有効にするマネーIDの配列
+ Tel = "0383-697190", // 店舗の電話番号
+ Email = "nDEjnPuGDO@Lqsy.com", // 店舗のメールアドレス
+ ExternalId = "43AtWyT6hyzJkPIxdv4Vr2ADhNnBQ2AhJ", // 店舗の外部ID
+ PrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗で有効にするマネーIDの配列
CanTopupPrivateMoneyIds = new string[]{"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}, // 店舗でチャージ可能にするマネーIDの配列
- Status = "active", // 店舗の状態
+ Status = "disabled", // 店舗の状態
};
Response.ShopWithAccounts response = await request.Send(client);
```
@@ -647,6 +679,7 @@ Response.ShopWithAccounts response = await request.Send(client);
を返します
+
---
diff --git a/docs/transaction.md b/docs/transaction.md
index b612fd2..846b72b 100644
--- a/docs/transaction.md
+++ b/docs/transaction.md
@@ -6,7 +6,7 @@ CPMトークンの現在の状態を取得します。CPMトークンの有効
```csharp
Request.GetCpmToken request = new Request.GetCpmToken(
- "PKvTH4Qb4HK1DE5zpHipft" // CPMトークン
+ "07369wBiPR32MXZafz3jff" // CPMトークン
);
Response.CpmToken response = await request.Send(client);
```
@@ -34,6 +34,7 @@ CPM取引時にエンドユーザーが店舗に提示するバーコードを
を返します
+
---
@@ -43,15 +44,15 @@ CPM取引時にエンドユーザーが店舗に提示するバーコードを
```csharp
Request.ListTransactions request = new Request.ListTransactions() {
- From = "2021-10-20T16:32:19.000000+09:00", // 開始日時
- To = "2021-02-01T08:09:55.000000+09:00", // 終了日時
+ From = "2021-04-02T07:32:00.000000Z", // 開始日時
+ To = "2022-07-30T13:45:34.000000Z", // 終了日時
Page = 1, // ページ番号
PerPage = 50, // 1ページ分の取引数
ShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
CustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
CustomerName = "太郎", // エンドユーザー名
TerminalId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 端末ID
- TransactionId = "uuU", // 取引ID
+ TransactionId = "8l", // 取引ID
OrganizationCode = "pocketchange", // 組織コード
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
IsModified = false, // キャンセルフラグ
@@ -290,6 +291,12 @@ Response.PaginatedTransaction response = await request.Send(client);
[PaginatedTransaction](./responses.md#paginated-transaction)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|NULL|NULL|NULL|
+
+
---
@@ -304,10 +311,10 @@ Request.CreateTransaction request = new Request.CreateTransaction(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
) {
- MoneyAmount = 3168,
- PointAmount = 7952,
- PointExpiresAt = "2022-10-25T15:57:47.000000+09:00", // ポイント有効期限
- Description = "4UG1MO97nrik73QyiaNKms0iFYGrWxxlKwOlCibtq2e0nqtXLNITG9Gffmmox8hwqx5x7",
+ MoneyAmount = 1949,
+ PointAmount = 3853,
+ PointExpiresAt = "2020-04-12T08:23:54.000000Z", // ポイント有効期限
+ Description = "RnFdcWhSdaJfJ60D0H2T0aKhnL3FlnAD82QrpYaKuslNraOesyAiawWiyWkSV3bs4OkWhHFx3P67yxFmxWAZtUSoiVrIFnb7w6ZClkoqVajvuG5cGcBP5wA9GwSB8bfxMId7hFKERGvYa7vbD1cIywVpXocQ5N98CAVKuKRC5FLAIRiGKuI8CNBTqLCZ99AjVbK3l3",
};
Response.TransactionDetail response = await request.Send(client);
```
@@ -402,6 +409,47 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameter_both_point_and_money_are_zero||One of 'money_amount' or 'point_amount' must be a positive (>0) number|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|NULL|NULL|NULL|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|customer_user_not_found||The customer user is not found|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -419,11 +467,11 @@ Request.ListTransactionsV2 request = new Request.ListTransactionsV2() {
CustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
CustomerName = "太郎", // エンドユーザー名
Description = "店頭QRコードによる支払い", // 取引説明文
- TransactionId = "fQZGPMXFo", // 取引ID
- IsModified = true, // キャンセルフラグ
+ TransactionId = "Ne", // 取引ID
+ IsModified = false, // キャンセルフラグ
Types = new string[]{"topup", "payment"}, // 取引種別 (複数指定可)、チャージ=topup、支払い=payment
- From = "2021-02-27T22:52:38.000000+09:00", // 開始日時
- To = "2022-10-05T17:16:15.000000+09:00", // 終了日時
+ From = "2021-11-10T11:36:05.000000Z", // 開始日時
+ To = "2021-11-29T15:30:34.000000Z", // 終了日時
NextPageCursorId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 次ページへ遷移する際に起点となるtransactionのID
PrevPageCursorId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 前ページへ遷移する際に起点となるtransactionのID
PerPage = 50, // 1ページ分の取引数
@@ -688,6 +736,12 @@ prev_page_cursor_idのtransaction自体は前のページには含まれませ
[PaginatedTransactionV2](./responses.md#paginated-transaction-v2)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
---
@@ -703,9 +757,9 @@ Request.CreateTopupTransaction request = new Request.CreateTopupTransaction(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // マネーID
) {
BearPointShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント支払時の負担店舗ID
- MoneyAmount = 3976, // マネー額
- PointAmount = 3055, // ポイント額
- PointExpiresAt = "2020-06-16T08:58:49.000000+09:00", // ポイント有効期限
+ MoneyAmount = 2243, // マネー額
+ PointAmount = 9043, // ポイント額
+ PointExpiresAt = "2021-06-23T16:01:51.000000Z", // ポイント有効期限
Description = "初夏のチャージキャンペーン", // 取引履歴に表示する説明文
Metadata = "{\"key\":\"value\"}", // 取引メタデータ
RequestId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // リクエストID
@@ -865,6 +919,46 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameter_both_point_and_money_are_zero||One of 'money_amount' or 'point_amount' must be a positive (>0) number|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|private_money_not_found||Private money not found|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -880,11 +974,11 @@ Request.CreatePaymentTransaction request = new Request.CreatePaymentTransaction(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- 8478 // 支払い額
+ 4138, // 支払い額
+ new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}} // 商品情報データ
) {
Description = "たい焼き(小倉)", // 取引履歴に表示する説明文
Metadata = "{\"key\":\"value\"}", // 取引メタデータ
- Products = new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}}, // 商品情報データ
RequestId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // リクエストID
};
Response.TransactionDetail response = await request.Send(client);
@@ -987,6 +1081,7 @@ Response.TransactionDetail response = await request.Send(client);
- `name`: 商品名。256字以下の文字列
- `unit_price`: 商品単価。0以上の数値
- `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
+- `quantity`: 商品の個数。この値が指定された場合、priceから算出される個数よりも優先されます。
- `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- `other`: その他商品に関する情報。JSONオブジェクトで指定します。
@@ -1021,6 +1116,45 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|private_money_not_found||Private money not found|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -1033,13 +1167,13 @@ CPMトークンに設定されたスコープの取引を作ることができ
```csharp
Request.CreateCpmTransaction request = new Request.CreateCpmTransaction(
- "ZGxUJAAeHeUyg78eCpqwfb", // CPMトークン
+ "LJdEVZoJB0H5I2jNmYRtpC", // CPMトークン
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
- 4899.0 // 取引金額
+ 9240.0, // 取引金額
+ new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"quantity",1}, {"is_discounted",false}, {"other","{}"}}} // 商品情報データ
) {
Description = "たい焼き(小倉)", // 取引説明文
Metadata = "{\"key\":\"value\"}", // 店舗側メタデータ
- Products = new object[]{new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}, new Dictionary(){{"jan_code","abc"}, {"name","name1"}, {"unit_price",100}, {"price",100}, {"is_discounted",false}, {"other","{}"}}}, // 商品情報データ
RequestId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // リクエストID
};
Response.TransactionDetail response = await request.Send(client);
@@ -1128,6 +1262,7 @@ Response.TransactionDetail response = await request.Send(client);
- `name`: 商品名。256字以下の文字列
- `unit_price`: 商品単価。0以上の数値
- `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
+- `quantity`: 商品の個数。この値が指定された場合、priceから算出される個数よりも優先されます。
- `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- `other`: その他商品に関する情報。JSONオブジェクトで指定します。
@@ -1162,6 +1297,50 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|cpm_unacceptable_amount|このCPMトークンに対して許可されていない金額です。|The amount is unacceptable for the CPM token|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|shop_user_not_found|店舗が見つかりません|The shop user is not found|
+|422|private_money_not_found||Private money not found|
+|422|cpm_token_already_proceed|このCPMトークンは既に処理されています。|The CPM token is already proceed|
+|422|cpm_token_already_expired|このCPMトークンは既に失効しています。|The CPM token is already expired|
+|422|cpm_token_not_found|CPMトークンが見つかりませんでした。|The CPM token is not found.|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -1177,7 +1356,7 @@ Request.CreateTransferTransaction request = new Request.CreateTransferTransactio
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 送金元ユーザーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 受取ユーザーID
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- 1735.0 // 送金額
+ 9279.0 // 送金額
) {
Metadata = "{\"key\":\"value\"}", // 取引メタデータ
Description = "たい焼き(小倉)", // 取引履歴に表示する説明文
@@ -1295,6 +1474,46 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|customer_user_not_found||The customer user is not found|
+|422|private_money_not_found||Private money not found|
+|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|422|customer_account_not_found||The customer account is not found|
+|422|shop_account_not_found||The shop account is not found|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -1307,9 +1526,9 @@ Request.CreateExchangeTransaction request = new Request.CreateExchangeTransactio
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- 4122
+ 7381
) {
- Description = "I8MUg6pkTJeF4LA5VGWmlO55tLRhXfPthFrTbvP",
+ Description = "zTj3A085y5hWQ3gdeDOWFExGORRYNLJdsZ6n3IGoF44i0499bTqwmusaHN4dAo0kcMwrj6lsuth9pSzmqVAxW3BZh2UFG0NdobuyCqKAyF8XBloHn7nUM7l934bPMQ7DIwF",
RequestId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // リクエストID
};
Response.TransactionDetail response = await request.Send(client);
@@ -1395,6 +1614,44 @@ Response.TransactionDetail response = await request.Send(client);
[TransactionDetail](./responses.md#transaction-detail)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
+|422|account_not_found|アカウントが見つかりません|The account is not found|
+|422|transaction_restricted||Transaction is not allowed|
+|422|can_not_exchange_between_same_private_money|同じマネーとの交換はできません||
+|422|can_not_exchange_between_users|異なるユーザー間での交換は出来ません||
+|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
+|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
+|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
+|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
+|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
+|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
+|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
+|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
+|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
+|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
+|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
+|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
+|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
+|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
+|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
+|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
+|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
+|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
+|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
+|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
+|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
+|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
+|422|account_suspended|アカウントは停止されています|The account is suspended|
+|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
+|422|account_closed|アカウントは退会しています|The account is closed|
+|503|temporarily_unavailable||Service Unavailable|
+
+
---
@@ -1434,6 +1691,7 @@ Response.TransactionDetail response = await request.Send(client);
を返します
+
---
@@ -1452,7 +1710,7 @@ Request.RefundTransaction request = new Request.RefundTransaction(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // 取引ID
) {
Description = "返品対応のため", // 取引履歴に表示する返金事由
- ReturningPointExpiresAt = "2023-04-10T10:02:04.000000+09:00", // 返却ポイントの有効期限
+ ReturningPointExpiresAt = "2023-05-11T10:56:00.000000Z", // 返却ポイントの有効期限
};
Response.TransactionDetail response = await request.Send(client);
```
@@ -1501,6 +1759,7 @@ Response.TransactionDetail response = await request.Send(client);
を返します
+
---
@@ -1539,6 +1798,7 @@ Response.TransactionDetail response = await request.Send(client);
を返します
+
---
@@ -1575,6 +1835,7 @@ Response.BulkTransaction response = await request.Send(client);
を返します
+
---
@@ -1638,6 +1899,7 @@ Response.PaginatedBulkTransactionJob response = await request.Send(client);
を返します
+
---
@@ -1703,6 +1965,16 @@ Response.UserStatsOperation response = await request.Send(client);
[UserStatsOperation](./responses.md#user-stats-operation)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|400|invalid_parameters|項目が無効です|Invalid parameters|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|invalid_promotional_operation_user|ユーザーの指定に不正な値が含まれています|Invalid user data is specified|
+|422|invalid_promotional_operation_status|不正な処理ステータスです|Invalid operation status is specified|
+|503|user_stats_operation_service_unavailable|一時的にユーザー統計サービスが利用不能です|User stats service is temporarily unavailable|
+
+
---
diff --git a/docs/transfer.md b/docs/transfer.md
index f9a4142..174e6f3 100644
--- a/docs/transfer.md
+++ b/docs/transfer.md
@@ -8,8 +8,8 @@
Request.GetAccountTransferSummary request = new Request.GetAccountTransferSummary(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ウォレットID
) {
- From = "2020-11-21T12:14:48.000000+09:00", // 集計期間の開始時刻
- To = "2024-01-29T03:18:51.000000+09:00", // 集計期間の終了時刻
+ From = "2021-05-27T23:29:35.000000Z", // 集計期間の開始時刻
+ To = "2020-08-03T23:00:14.000000Z", // 集計期間の終了時刻
TransferTypes = new string[]{"topup", "payment"}, // 取引明細種別 (複数指定可)
};
Response.AccountTransferSummary response = await request.Send(client);
@@ -115,6 +115,7 @@ Response.AccountTransferSummary response = await request.Send(client);
を返します
+
---
@@ -123,19 +124,19 @@ Response.AccountTransferSummary response = await request.Send(client);
```csharp
Request.ListTransfers request = new Request.ListTransfers() {
- From = "2023-12-31T07:01:20.000000+09:00",
- To = "2020-06-29T02:08:48.000000+09:00",
- Page = 6859,
- PerPage = 4421,
+ From = "2023-05-01T22:11:57.000000Z",
+ To = "2022-07-24T22:57:17.000000Z",
+ Page = 9433,
+ PerPage = 2504,
ShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- ShopName = "4TLAvvWwguBec41EmwzzFrgc709a7P9KtTHr3zG8NnPjRfIRrqy3FohrRiHbftN77E9sKP2LWTHQkvbYQTkmfSmGSFmTTeLGAy7h6m0YyagUC0Ij3N9K",
+ ShopName = "uPCrmdUDxKggDFfFvOJkxhc8IPvtQD4QxNm6tX3Guvbo2vDNfvQpElqxJKgNyOMeXS2rUoCJ5iHqorIswPc2cBsLEwskU0m8hSr1melepO9LnwIsUcSmvb4GOUqCz9cGDIhlPt52zP7YS2DWusWLcKpd2P335Nv6jp",
CustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- CustomerName = "7EVH4f0IDf80jI5hMMqGagepFcb0C3pMehBLw9uhZslxpk65zsLMOaWLvqiZty5Zp232IvDDPPtMusem1WSPOdAkWLCHhP7q7jyjEo8V3Di9DtzhzAGKUtsDdhPal5eEvQkTNVI1DbDv2ICSa1fLqeRzwnNnU8Hy7seU6TPp7YTcvCbm",
+ CustomerName = "CTg7cImjgcPmkAEumRe3ajMg8VGC0KZ",
TransactionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- IsModified = false,
- TransactionTypes = new string[]{"payment", "transfer", "topup"},
- TransferTypes = new string[]{"transfer", "exchange", "cashback", "payment", "coupon", "campaign"}, // 取引明細の種類でフィルターします。
+ IsModified = true,
+ TransactionTypes = new string[]{"cashback", "expire", "payment"},
+ TransferTypes = new string[]{"topup", "exchange", "expire", "transfer", "campaign", "payment"}, // 取引明細の種類でフィルターします。
Description = "店頭QRコードによる支払い", // 取引詳細説明文
};
Response.PaginatedTransfers response = await request.Send(client);
@@ -352,6 +353,12 @@ Response.PaginatedTransfers response = await request.Send(client);
[PaginatedTransfers](./responses.md#paginated-transfers)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|NULL|NULL|NULL|
+
+
---
@@ -362,20 +369,20 @@ Response.PaginatedTransfers response = await request.Send(client);
```csharp
Request.ListTransfersV2 request = new Request.ListTransfersV2() {
ShopId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
- ShopName = "FzroFJfg0zCih9q", // 店舗名
+ ShopName = "Gv2NsNRGCHkqW6b190X", // 店舗名
CustomerId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
- CustomerName = "Hu842U5SnXNqipKVsIIUjVYx3ZiMVPZEq0xgguEtAXJ6WozfUGo1oVRA1PV2JD5SjzUvS2Jlq6P89tC2Mi1PRe6ex8zQnoMXPxIs0d6X24reGHeQvAPqGMsA1rgfPu4olvC1KDDE1G2mGU9YeDH5Tysjz5v4HW6eqkSknjW", // エンドユーザー名
+ CustomerName = "2yHeAyBqIIySMiYLD3kq3Znz8pepfEmpSiLZTFdERWScAwFtubDUWmymMiDwFFfcNNLAfTp6G3m2S11HDiNC2T6Z1NRFWi9xNJqHv5T", // エンドユーザー名
TransactionId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 取引ID
PrivateMoneyId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
- IsModified = false, // キャンセルフラグ
- TransactionTypes = new string[]{"cashback", "expire", "exchange", "topup", "transfer"}, // 取引種別 (複数指定可)、チャージ=topup、支払い=payment
+ IsModified = true, // キャンセルフラグ
+ TransactionTypes = new string[]{"payment", "cashback", "expire", "exchange", "transfer", "topup"}, // 取引種別 (複数指定可)、チャージ=topup、支払い=payment
NextPageCursorId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 次ページへ遷移する際に起点となるtransferのID
PrevPageCursorId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 前ページへ遷移する際に起点となるtransferのID
PerPage = 50, // 1ページ分の取引数
- TransferTypes = new string[]{"expire", "coupon", "exchange", "campaign", "payment", "transfer"}, // 取引明細種別 (複数指定可)
+ TransferTypes = new string[]{"payment", "exchange", "expire", "cashback", "coupon"}, // 取引明細種別 (複数指定可)
Description = "店頭QRコードによる支払い", // 取引詳細説明文
- From = "2021-10-04T05:26:43.000000+09:00", // 開始日時
- To = "2021-11-17T01:08:00.000000+09:00", // 終了日時
+ From = "2020-05-16T00:13:53.000000Z", // 開始日時
+ To = "2023-01-28T02:51:42.000000Z", // 終了日時
};
Response.PaginatedTransfersV2 response = await request.Send(client);
```
@@ -670,6 +677,12 @@ prev_page_cursor_idのtransfer自体は前のページには含まれません
[PaginatedTransfersV2](./responses.md#paginated-transfers-v2)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
---
diff --git a/docs/user.md b/docs/user.md
index 47d5c51..98384e9 100644
--- a/docs/user.md
+++ b/docs/user.md
@@ -17,6 +17,12 @@ Response.AdminUserWithShopsAndPrivateMoneys response = await request.Send(client
[AdminUserWithShopsAndPrivateMoneys](./responses.md#admin-user-with-shops-and-private-moneys)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
---
diff --git a/docs/user_device.md b/docs/user_device.md
index 813f1b0..f1bcf28 100644
--- a/docs/user_device.md
+++ b/docs/user_device.md
@@ -51,6 +51,13 @@ Response.UserDevice response = await request.Send(client);
[UserDevice](./responses.md#user-device)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|422|user_not_found||The user is not found|
+
+
---
@@ -87,6 +94,7 @@ Response.UserDevice response = await request.Send(client);
を返します
+
---
@@ -123,6 +131,7 @@ Response.UserDevice response = await request.Send(client);
を返します
+
---
diff --git a/docs/webhook.md b/docs/webhook.md
index cc420ef..39c5e89 100644
--- a/docs/webhook.md
+++ b/docs/webhook.md
@@ -4,6 +4,60 @@ WebHookにはURLとタスク名、有効化されているかを設定するこ
通知はタスク完了時、事前に設定したURLにPOSTリクエストを行います。
+
+## ListWebhooks: 作成したWebhookの一覧を返す
+
+```csharp
+Request.ListWebhooks request = new Request.ListWebhooks() {
+ Page = 1, // ページ番号
+ PerPage = 50, // 1ページ分の取得数
+};
+Response.PaginatedOrganizationWorkerTaskWebhook response = await request.Send(client);
+```
+
+
+
+### Parameters
+**`page`**
+
+
+取得したいページ番号です。
+
+```json
+{
+ "type": "integer",
+ "minimum": 1
+}
+```
+
+**`per_page`**
+
+
+1ページ分の取得数です。デフォルトでは 50 になっています。
+
+```json
+{
+ "type": "integer",
+ "minimum": 1
+}
+```
+
+
+
+成功したときは
+[PaginatedOrganizationWorkerTaskWebhook](./responses.md#paginated-organization-worker-task-webhook)
+を返します
+
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+
+
+
+---
+
+
## CreateWebhook: webhookの作成
ワーカータスクの処理が終了したことを通知するためのWebhookを登録します
@@ -12,8 +66,8 @@ WebHookにはURLとタスク名、有効化されているかを設定するこ
```csharp
Request.CreateWebhook request = new Request.CreateWebhook(
- "process_user_stats_operation", // タスク名
- "tBu" // URL
+ "bulk_shops", // タスク名
+ "Ds" // URL
);
Response.OrganizationWorkerTaskWebhook response = await request.Send(client);
```
@@ -53,55 +107,51 @@ Response.OrganizationWorkerTaskWebhook response = await request.Send(client);
[OrganizationWorkerTaskWebhook](./responses.md#organization-worker-task-webhook)
を返します
+### Error Responses
+|status|type|ja|en|
+|---|---|---|---|
+|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
+|409|organization_worker_task_finish_webhook_conflict|そのwebhookは既に登録されています|The webhook is already registered|
+
+
---
-
-## ListWebhooks: 作成したWebhookの一覧を返す
+
+## DeleteWebhook: Webhookの削除
+指定したWebhookを削除します
```csharp
-Request.ListWebhooks request = new Request.ListWebhooks() {
- Page = 1, // ページ番号
- PerPage = 50, // 1ページ分の取得数
-};
-Response.PaginatedOrganizationWorkerTaskWebhook response = await request.Send(client);
+Request.DeleteWebhook request = new Request.DeleteWebhook(
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // Webhook ID
+);
+Response.OrganizationWorkerTaskWebhook response = await request.Send(client);
```
### Parameters
-**`page`**
-
-
-取得したいページ番号です。
-
-```json
-{
- "type": "integer",
- "minimum": 1
-}
-```
-
-**`per_page`**
+**`webhook_id`**
-1ページ分の取得数です。デフォルトでは 50 になっています。
+削除するWebhookのIDです。
```json
{
- "type": "integer",
- "minimum": 1
+ "type": "string",
+ "format": "uuid"
}
```
成功したときは
-[PaginatedOrganizationWorkerTaskWebhook](./responses.md#paginated-organization-worker-task-webhook)
+[OrganizationWorkerTaskWebhook](./responses.md#organization-worker-task-webhook)
を返します
+
---
@@ -113,9 +163,9 @@ Response.PaginatedOrganizationWorkerTaskWebhook response = await request.Send(cl
Request.UpdateWebhook request = new Request.UpdateWebhook(
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // Webhook ID
) {
- Url = "ImxNnX4", // URL
+ Url = "yOnXTq", // URL
IsActive = false, // 有効/無効
- Task = "bulk_shops", // タスク名
+ Task = "process_user_stats_operation", // タスク名
};
Response.OrganizationWorkerTaskWebhook response = await request.Send(client);
```
@@ -179,41 +229,6 @@ trueならWebhookによる通知が有効になり、falseなら無効になり
を返します
----
-
-
-
-## DeleteWebhook: Webhookの削除
-指定したWebhookを削除します
-
-```csharp
-Request.DeleteWebhook request = new Request.DeleteWebhook(
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // Webhook ID
-);
-Response.OrganizationWorkerTaskWebhook response = await request.Send(client);
-```
-
-
-
-### Parameters
-**`webhook_id`**
-
-
-削除するWebhookのIDです。
-
-```json
-{
- "type": "string",
- "format": "uuid"
-}
-```
-
-
-
-成功したときは
-[OrganizationWorkerTaskWebhook](./responses.md#organization-worker-task-webhook)
-を返します
-
---
diff --git a/partner.yaml b/partner.yaml
index 57c0821..3ecb963 100644
--- a/partner.yaml
+++ b/partner.yaml
@@ -1021,6 +1021,55 @@ components:
例えば、キャンペーンによるポイント付与取引やキャンセル状況などの情報が含まれます。
ポケペイ取引が存在しない場合はnullが設定されます。
+ Products:
+ type: array
+ items:
+ type: object
+ properties:
+ jan_code:
+ type: string
+ maxLength: 64
+ classification_code:
+ type: string
+ maxLength: 64
+ name:
+ type: string
+ maxLength: 256
+ unit_price:
+ type: number
+ minimum: 0
+ price:
+ type: number
+ minimum: 0
+ quantity:
+ type: integer
+ minimum: 1
+ is_discounted:
+ type: boolean
+ other:
+ type: string
+ format: json
+ example: |-
+ {"jan_code":"abc",
+ "name":"name1",
+ "unit_price":100,
+ "price": 100,
+ "quantity": 1,
+ "is_discounted": false,
+ "other":"{}"}
+ title: '商品情報データ'
+ description: |-
+ 一つの取引に含まれる商品情報データです。
+ 以下の内容からなるJSONオブジェクトの配列で指定します。
+
+ - `jan_code`: JANコード。64字以下の文字列
+ - `name`: 商品名。256字以下の文字列
+ - `unit_price`: 商品単価。0以上の数値
+ - `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
+ - `quantity`: 商品の個数。この値が指定された場合、priceから算出される個数よりも優先されます。
+ - `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
+ - `other`: その他商品に関する情報。JSONオブジェクトで指定します。
+
Product:
x-pokepay-schema-type: "response"
properties:
@@ -1036,6 +1085,10 @@ components:
price:
type: number
minimum: 0
+ quantity:
+ type: integer
+ minimum: 1
+ nullable: true
is_discounted:
type: boolean
other:
@@ -3904,48 +3957,7 @@ paths:
example: |-
{"key":"value"}
products:
- type: array
- items:
- type: object
- properties:
- jan_code:
- type: string
- maxLength: 64
- classification_code:
- type: string
- maxLength: 64
- name:
- type: string
- maxLength: 256
- unit_price:
- type: number
- minimum: 0
- price:
- type: number
- minimum: 0
- is_discounted:
- type: boolean
- other:
- type: string
- format: json
- example: |-
- {"jan_code":"abc",
- "name":"name1",
- "unit_price":100,
- "price": 100,
- "is_discounted": false,
- "other":"{}"}
- title: '商品情報データ'
- description: |-
- 一つの取引に含まれる商品情報データです。
- 以下の内容からなるJSONオブジェクトの配列で指定します。
-
- - `jan_code`: JANコード。64字以下の文字列
- - `name`: 商品名。256字以下の文字列
- - `unit_price`: 商品単価。0以上の数値
- - `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
- - `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- - `other`: その他商品に関する情報。JSONオブジェクトで指定します。
+ $ref: '#/components/schemas/Products'
request_id:
type: string
format: uuid
@@ -4031,48 +4043,7 @@ paths:
example: |-
{"key":"value"}
products:
- type: array
- items:
- type: object
- properties:
- jan_code:
- type: string
- maxLength: 64
- classification_code:
- type: string
- maxLength: 64
- name:
- type: string
- maxLength: 256
- unit_price:
- type: number
- minimum: 0
- price:
- type: number
- minimum: 0
- is_discounted:
- type: boolean
- other:
- type: string
- format: json
- example: |-
- {"jan_code":"abc",
- "name":"name1",
- "unit_price":100,
- "price": 100,
- "is_discounted": false,
- "other":"{}"}
- title: 商品情報データ
- description: |-
- 一つの取引に含まれる商品情報データです。
- 以下の内容からなるJSONオブジェクトの配列で指定します。
-
- - `jan_code`: JANコード。64字以下の文字列
- - `name`: 商品名。256字以下の文字列
- - `unit_price`: 商品単価。0以上の数値
- - `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
- - `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- - `other`: その他商品に関する情報。JSONオブジェクトで指定します。
+ $ref: '#/components/schemas/Products'
request_id:
type: string
format: uuid
@@ -4566,48 +4537,7 @@ paths:
example: |-
{"key":"value"}
products:
- type: array
- items:
- type: object
- properties:
- jan_code:
- type: string
- maxLength: 64
- classification_code:
- type: string
- maxLength: 64
- name:
- type: string
- maxLength: 256
- unit_price:
- type: number
- minimum: 0
- price:
- type: number
- minimum: 0
- is_discounted:
- type: boolean
- other:
- type: string
- format: json
- example: |-
- {"jan_code":"abc",
- "name":"name1",
- "unit_price":100,
- "price": 100,
- "is_discounted": false,
- "other":"{}"}
- title: '商品情報データ'
- description: |-
- 一つの取引に含まれる商品情報データです。
- 以下の内容からなるJSONオブジェクトの配列で指定します。
-
- - `jan_code`: JANコード。64字以下の文字列
- - `name`: 商品名。256字以下の文字列
- - `unit_price`: 商品単価。0以上の数値
- - `price`: 全体の金額(例: 商品単価 × 個数)。0以上の数値
- - `is_discounted`: 賞味期限が近いなどの理由で商品が値引きされているかどうかのフラグ。boolean
- - `other`: その他商品に関する情報。JSONオブジェクトで指定します。
+ $ref: '#/components/schemas/Products'
request_id:
type: string
format: uuid
@@ -4676,6 +4606,37 @@ paths:
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
+ /external-transactions/requests/{request_id}:
+ get:
+ tags:
+ - Event
+ summary: 'リクエストIDからポケペイ外部取引を取得する'
+ description: |-
+ リクエストIDを指定してポケペイ外部取引を取得します。
+
+ 発行体の管理者は自組織発行のマネーに紐付くポケペイ外部取引を取得できます。
+
+ x-pokepay-operator-name: GetExternalTransactionByRequestId
+ x-pokepay-allow-server-side: true
+ parameters:
+ - in: path
+ name: request_id
+ required: true
+ schema:
+ type: string
+ format: uuid
+ title: 'リクエストID'
+ responses:
+ '200':
+ description: OK
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExternalTransactionDetail'
+ '403':
+ $ref: '#/components/responses/Forbidden'
+ '422':
+ $ref: '#/components/responses/UnprocessableEntity'
/transfers:
get:
tags:
@@ -6522,7 +6483,7 @@ paths:
minimum: 0
maximum: 6
title: 'キャンペーンを適用する曜日 (複数指定)'
- describe: |-
+ description: |-
キャンペーンを適用する曜日を指定します (複数指定)。
曜日は整数で表します。月曜を 0 とし、日曜を 6 とします。
指定しなかった場合は全日を対象にします (曜日による適用条件なし)
@@ -6546,7 +6507,7 @@ paths:
}
title: 'キャンペーンを適用する時間帯 (複数指定)'
- describe: |-
+ description: |-
キャンペーンを適用する時間帯を指定します (複数指定可)。
時間帯はfromとtoからなるオブジェクトで指定します。
fromとtoは両方必要です。
@@ -6556,7 +6517,7 @@ paths:
type: string
format: uuid
title: 'キャンペーン適用対象となる店舗IDのリスト'
- describe: |-
+ description: |-
キャンペーンを適用する店舗IDを指定します (複数指定)。
指定しなかった場合は全店舗が対象になります。
minimum_number_of_products:
@@ -6761,6 +6722,7 @@ paths:
デフォルトではポイント付与先はキャンペーンを駆動するイベントのマネー(private_money_idで指定したマネー)になります。
別マネーに対するポイント付与は別のtransactionとなります。 RefundTransaction で元のイベントをキャンセルしたときはポイント付与のtransactionもキャンセルされ、逆にポイント付与のtransactionをキャンセルしたときは連動して元のイベントがキャンセルされます。
+
applicable_account_metadata:
description: |-
ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
@@ -6810,6 +6772,55 @@ paths:
"value": "male"
}
+ applicable_transaction_metadata:
+ description: |-
+ 取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
+ 取引のメタデータはCreatePaymentTransactionやCreateExternalTransactionで登録できます。
+
+ オプショナルパラメータtestによって比較方法を指定することができます。
+ デフォルトは equal で、その他に not-equalを指定可能です。
+
+ 例1: 取引のメタデータに会員ランクとしてbronzeが指定されているときのみ発火
+
+ ```javascript
+ {
+ "key": "rank",
+ "value": "bronze"
+ }
+ ```
+
+ 例2: 取引のメタデータに会員ランクとしてbronze以外が指定されているときのみ発火
+
+ ```javascript
+ {
+ "key": "rank",
+ "value": "bronze",
+ "test": "not-equal"
+ }
+ ```
+
+ type: object
+ properties:
+ key:
+ type: string
+ description: |-
+ メタデータの属性名
+ value:
+ type: string
+ description: |-
+ メタデータの値
+ test:
+ type: string
+ enum: [equal, not-equal]
+ description: |-
+ メタデータの値の比較方法。デフォルトはequal
+ example: |-
+ {
+ "key": "rank",
+ "value": "bronze"
+ }
+
budget_caps_amount:
title: 'キャンペーン予算上限'
type: integer
@@ -7354,7 +7365,7 @@ paths:
maximum: 6
nullable: true
title: 'キャンペーンを適用する曜日 (複数指定)'
- describe: |-
+ description: |-
キャンペーンを適用する曜日を指定します (複数指定)。
曜日は整数で表します。月曜を 0 とし、日曜を 6 とします。
指定しなかった場合は全日を対象にします (曜日による適用条件なし)
@@ -7379,7 +7390,7 @@ paths:
nullable: true
title: 'キャンペーンを適用する時間帯 (複数指定)'
- describe: |-
+ description: |-
キャンペーンを適用する時間帯を指定します (複数指定可)。
時間帯はfromとtoからなるオブジェクトで指定します。
fromとtoは両方必要です。
@@ -7390,7 +7401,7 @@ paths:
format: uuid
nullable: true
title: 'キャンペーン適用対象となる店舗IDのリスト'
- describe: |-
+ description: |-
キャンペーンを適用する店舗IDを指定します (複数指定)。
指定しなかった場合は全店舗が対象になります。
minimum_number_of_products:
@@ -7586,6 +7597,7 @@ paths:
このパラメータが指定されている場合、各ユーザに対してそのキャンペーンによって過去付与されたポイントの累積値が記録されるようになります。
累積ポイント数がmax_total_point_amountを超えない限りにおいてキャンペーンで算出されたポイントが付与されます。
+
applicable_account_metadata:
description: |-
ウォレットに紐付くメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
@@ -7636,6 +7648,56 @@ paths:
"value": "male"
}
+ applicable_transaction_metadata:
+ description: |-
+ 取引時に指定するメタデータが特定の値を持つときにのみ発火するキャンペーンを登録します。
+ メタデータの属性名 key とメタデータの値 value の組をオブジェクトとして指定します。
+ 取引のメタデータはCreatePaymentTransactionやCreateExternalTransactionで登録できます。
+
+ オプショナルパラメータtestによって比較方法を指定することができます。
+ デフォルトは equal で、その他に not-equalを指定可能です。
+
+ 例1: 取引のメタデータに会員ランクとしてbronzeが指定されているときのみ発火
+
+ ```javascript
+ {
+ "key": "rank",
+ "value": "bronze"
+ }
+ ```
+
+ 例2: 取引のメタデータに会員ランクとしてbronze以外が指定されているときのみ発火
+
+ ```javascript
+ {
+ "key": "rank",
+ "value": "bronze",
+ "test": "not-equal"
+ }
+ ```
+
+ type: object
+ nullable: true
+ properties:
+ key:
+ type: string
+ description: |-
+ メタデータの属性名
+ value:
+ type: string
+ description: |-
+ メタデータの値
+ test:
+ type: string
+ enum: [equal, not-equal]
+ description: |-
+ メタデータの値の比較方法。デフォルトはequal
+ example: |-
+ {
+ "key": "rank",
+ "value": "bronze"
+ }
+
budget_caps_amount:
title: 'キャンペーン予算上限'
type: integer
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestActivateUserDevice.cs b/src/PokepayPartnerCsharpSdk.Test/TestActivateUserDevice.cs
index c34fcaf..577162f 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestActivateUserDevice.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestActivateUserDevice.cs
@@ -25,7 +25,7 @@ public async Task ActivateUserDevice0()
{
try {
Request.ActivateUserDevice request = new Request.ActivateUserDevice(
- "ddc19920-12b8-4f27-b109-5ccc97edf707"
+ "544a0698-8c7c-4f0c-9c95-6070b7a99193"
);
Response.UserDevice response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestBulkCreateTransaction.cs b/src/PokepayPartnerCsharpSdk.Test/TestBulkCreateTransaction.cs
index f53d12e..5e224b3 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestBulkCreateTransaction.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestBulkCreateTransaction.cs
@@ -25,9 +25,9 @@ public async Task BulkCreateTransaction0()
{
try {
Request.BulkCreateTransaction request = new Request.BulkCreateTransaction(
- "3OQSs9cvMVMzYpfEHHq4AVCPhpF",
- "l2NE9Oo",
- "hrFLhvABt92YjeNGkeRyZCxDwnyuzPdWfYw4"
+ "uu2d72PSR",
+ "B",
+ "NNGTP71wcJLJGkIvTZnRNAv7oeQjUez1G0bw"
);
Response.BulkTransaction response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -42,11 +42,11 @@ public async Task BulkCreateTransaction1()
{
try {
Request.BulkCreateTransaction request = new Request.BulkCreateTransaction(
- "3OQSs9cvMVMzYpfEHHq4AVCPhpF",
- "l2NE9Oo",
- "hrFLhvABt92YjeNGkeRyZCxDwnyuzPdWfYw4"
+ "uu2d72PSR",
+ "B",
+ "NNGTP71wcJLJGkIvTZnRNAv7oeQjUez1G0bw"
) {
- PrivateMoneyId = "764583b8-f1b2-4f53-9f0c-29a381545536",
+ PrivateMoneyId = "df0a8443-3500-4c60-861c-9f7507533df2",
};
Response.BulkTransaction response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -61,12 +61,12 @@ public async Task BulkCreateTransaction2()
{
try {
Request.BulkCreateTransaction request = new Request.BulkCreateTransaction(
- "3OQSs9cvMVMzYpfEHHq4AVCPhpF",
- "l2NE9Oo",
- "hrFLhvABt92YjeNGkeRyZCxDwnyuzPdWfYw4"
+ "uu2d72PSR",
+ "B",
+ "NNGTP71wcJLJGkIvTZnRNAv7oeQjUez1G0bw"
) {
- Description = "HFsZh9ksnqTSKQYaLtgBF21Mao0iMx72McbAtuQfbwPK5Ol2Udeu5ClBnNsqGtwvAjO8SQrjpTlUKU7ix6vD3BTnNcaIv4Cy2qiGNeSDJueWNAF2",
- PrivateMoneyId = "be50ce8a-2b92-4dbc-a9a4-88af0586c65c",
+ Description = "maLHHuXDOcuycPW2WYY40yWZt9ZjHKqLir6qmCF3zfoEN4hG6jzrPFiN4YTSJ9o4hVc0u6tzaZ3sbYKCNybmAlkaNJiOvuRswwQSmiJco3KwhjqpMqyENnnot",
+ PrivateMoneyId = "99040124-561b-4aca-8b4e-b4a5256b8f4d",
};
Response.BulkTransaction response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestCancelCashtray.cs b/src/PokepayPartnerCsharpSdk.Test/TestCancelCashtray.cs
index f23aeb7..e1d0a68 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestCancelCashtray.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestCancelCashtray.cs
@@ -25,7 +25,7 @@ public async Task CancelCashtray0()
{
try {
Request.CancelCashtray request = new Request.CancelCashtray(
- "b3773803-92d6-4480-8386-dd0bb7f66b74"
+ "aaf6a586-88af-4705-b315-e668c4144e0c"
);
Response.Cashtray response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestCreateBank.cs b/src/PokepayPartnerCsharpSdk.Test/TestCreateBank.cs
index 34264ec..9320773 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestCreateBank.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestCreateBank.cs
@@ -25,10 +25,10 @@ public async Task CreateBank0()
{
try {
Request.CreateBank request = new Request.CreateBank(
- "fdbcc7c9-aefb-4f8b-b4af-3cb45eb58378",
- "88d770a4-c68d-4e27-bb7f-e24cfe9835b3",
- "frFPuEOVKpPzDCyUBg3VaVg5lQKirhrBQImBbFTGr24vRn0V1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6",
- "CVlMKFHkTHEGRWUBVUZa1"
+ "438f86c4-85d0-4bd9-8a9d-3941867967ad",
+ "2212ed03-8825-40d6-ba56-a08028c272b6",
+ "vyI6ywfpyKilj5zg8pn57kF0DYbPLXjuwrpeD0A9IDYP4sAiFNwaac9r9GBqh0SVIl9M1spjv4mKXU1rVLf6U0K44BovHKqYzk7GBG1DZKj2tBRFerhSuL22gGga7pF0nmLMfnIYTQdqHJZ8WnDHEVfpIBtEOM",
+ "P2U7IkYygmkkDxd3MzpkzvPsPo2v"
);
Response.BankRegisteringInfo response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -43,12 +43,12 @@ public async Task CreateBank1()
{
try {
Request.CreateBank request = new Request.CreateBank(
- "fdbcc7c9-aefb-4f8b-b4af-3cb45eb58378",
- "88d770a4-c68d-4e27-bb7f-e24cfe9835b3",
- "frFPuEOVKpPzDCyUBg3VaVg5lQKirhrBQImBbFTGr24vRn0V1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6",
- "CVlMKFHkTHEGRWUBVUZa1"
+ "438f86c4-85d0-4bd9-8a9d-3941867967ad",
+ "2212ed03-8825-40d6-ba56-a08028c272b6",
+ "vyI6ywfpyKilj5zg8pn57kF0DYbPLXjuwrpeD0A9IDYP4sAiFNwaac9r9GBqh0SVIl9M1spjv4mKXU1rVLf6U0K44BovHKqYzk7GBG1DZKj2tBRFerhSuL22gGga7pF0nmLMfnIYTQdqHJZ8WnDHEVfpIBtEOM",
+ "P2U7IkYygmkkDxd3MzpkzvPsPo2v"
) {
- Birthdate = "rmAx",
+ Birthdate = "cZvK",
};
Response.BankRegisteringInfo response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -63,13 +63,13 @@ public async Task CreateBank2()
{
try {
Request.CreateBank request = new Request.CreateBank(
- "fdbcc7c9-aefb-4f8b-b4af-3cb45eb58378",
- "88d770a4-c68d-4e27-bb7f-e24cfe9835b3",
- "frFPuEOVKpPzDCyUBg3VaVg5lQKirhrBQImBbFTGr24vRn0V1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6",
- "CVlMKFHkTHEGRWUBVUZa1"
+ "438f86c4-85d0-4bd9-8a9d-3941867967ad",
+ "2212ed03-8825-40d6-ba56-a08028c272b6",
+ "vyI6ywfpyKilj5zg8pn57kF0DYbPLXjuwrpeD0A9IDYP4sAiFNwaac9r9GBqh0SVIl9M1spjv4mKXU1rVLf6U0K44BovHKqYzk7GBG1DZKj2tBRFerhSuL22gGga7pF0nmLMfnIYTQdqHJZ8WnDHEVfpIBtEOM",
+ "P2U7IkYygmkkDxd3MzpkzvPsPo2v"
) {
- Email = "zFUF6ihvlI@4uoO.com",
- Birthdate = "nKraNj",
+ Email = "af470Dw5YI@6SeA.com",
+ Birthdate = "OBDBgRA",
};
Response.BankRegisteringInfo response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestCreateBankTopupTransaction.cs b/src/PokepayPartnerCsharpSdk.Test/TestCreateBankTopupTransaction.cs
index 5c0b9a4..578a05c 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestCreateBankTopupTransaction.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestCreateBankTopupTransaction.cs
@@ -25,11 +25,11 @@ public async Task CreateBankTopupTransaction0()
{
try {
Request.CreateBankTopupTransaction request = new Request.CreateBankTopupTransaction(
- "8c7d46d3-3f18-467f-a96a-4b8a600daa44",
- "ed8a4f16-96f8-4f74-b8f2-4267e97de3f3",
- 3128,
- "c785bc2d-80e5-4408-be30-535e90b4bce4",
- "1df65312-5e1c-4b6b-a9db-54c169ed5fc1"
+ "bd69dc67-93ed-4eea-85de-e7f86a483e90",
+ "24e6d640-54bf-425a-8709-1efe509dbefb",
+ 8451,
+ "dc71cfa6-e4c7-4b43-8193-5623dabd3806",
+ "97a71771-7861-4942-9cf7-1aca19f711b9"
);
Response.TransactionDetail response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestCreateBill.cs b/src/PokepayPartnerCsharpSdk.Test/TestCreateBill.cs
index 05864ca..b46152a 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestCreateBill.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestCreateBill.cs
@@ -25,8 +25,8 @@ public async Task CreateBill0()
{
try {
Request.CreateBill request = new Request.CreateBill(
- "67de50c6-261a-4ed4-82a8-b7eb5f78bd1b",
- "93385457-bf39-40f4-8b9c-35159bdadd50"
+ "9a5387ae-5073-455d-b2b6-f5c50f9210c4",
+ "f41d19fb-7d26-4d80-abfa-9dc49d937f4c"
);
Response.Bill response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -41,10 +41,10 @@ public async Task CreateBill1()
{
try {
Request.CreateBill request = new Request.CreateBill(
- "67de50c6-261a-4ed4-82a8-b7eb5f78bd1b",
- "93385457-bf39-40f4-8b9c-35159bdadd50"
+ "9a5387ae-5073-455d-b2b6-f5c50f9210c4",
+ "f41d19fb-7d26-4d80-abfa-9dc49d937f4c"
) {
- Description = "byeqITUoc54HWI6lY3NxA2Qq6LVyn2dOGJj5BoyL1MgjctfisLuYo4aorOwFrhmbs26EDkzDLnAr7NHvMDZLOk3Kn6N9IKA2DQ0UDl0RkGXqQRpkGArTGU",
+ Description = "nAr7NHvMDZLOk3Kn6N9IKA2DQ0UDl0RkGXqQRpkGArTGUPugetKJLdESdgB4DMlPhuAgx6J23S5a4KJH2dJnXOeAy8xYgmSSWd6nFdHza9f0TF30iljDxgSpyfoekUtY",
};
Response.Bill response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -59,11 +59,11 @@ public async Task CreateBill2()
{
try {
Request.CreateBill request = new Request.CreateBill(
- "67de50c6-261a-4ed4-82a8-b7eb5f78bd1b",
- "93385457-bf39-40f4-8b9c-35159bdadd50"
+ "9a5387ae-5073-455d-b2b6-f5c50f9210c4",
+ "f41d19fb-7d26-4d80-abfa-9dc49d937f4c"
) {
- Amount = 2348.0,
- Description = "PugetKJLdESdgB4DMlPhuAgx6J23S5a4KJH2dJnXOeAy8xYgmSSWd6nFdHza9f0TF30iljDxgSpyfoekUtYXnQ6dyRqDXbojqilSXXfgL13rI1kMYSkzLYWcqyBEPqq6jXoMPoI5",
+ Amount = 1581.0,
+ Description = "6dyRqDXbojqilSXXfgL13rI1kMYSkzLYWcqyBEPqq6jXoMPoI5dYhtAEAC8MN1MIRbysguh0xXqdkQK8VG",
};
Response.Bill response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
diff --git a/src/PokepayPartnerCsharpSdk.Test/TestCreateCampaign.cs b/src/PokepayPartnerCsharpSdk.Test/TestCreateCampaign.cs
index a7b71b5..21aa174 100644
--- a/src/PokepayPartnerCsharpSdk.Test/TestCreateCampaign.cs
+++ b/src/PokepayPartnerCsharpSdk.Test/TestCreateCampaign.cs
@@ -25,12 +25,12 @@ public async Task CreateCampaign0()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
);
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -45,14 +45,14 @@ public async Task CreateCampaign1()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- BudgetCapsAmount = 417391773,
+ BudgetCapsAmount = 1009088247,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -67,15 +67,15 @@ public async Task CreateCampaign2()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1058382380,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 784220269,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -90,16 +90,16 @@ public async Task CreateCampaign3()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- DestPrivateMoneyId = "6fb99657-5581-42ed-a69c-b2059f4d1c40",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1004494496,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1554964878,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -114,17 +114,17 @@ public async Task CreateCampaign4()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- MaxTotalPointAmount = 3883,
- DestPrivateMoneyId = "60d6d2bf-d0e2-4f13-8154-a830571d2c20",
+ DestPrivateMoneyId = "558d6d5d-6d7d-43c9-bf7b-311bb4aa8634",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1925568641,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1833154823,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -139,18 +139,18 @@ public async Task CreateCampaign5()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- MaxPointAmount = 6206,
- MaxTotalPointAmount = 3422,
- DestPrivateMoneyId = "f2f50c36-94b6-4235-ab72-6e9c59ab94e7",
+ MaxTotalPointAmount = 9503,
+ DestPrivateMoneyId = "d0acb405-ad1a-46dc-b5af-db6f42754a4f",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 54119804,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 333829830,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -165,19 +165,19 @@ public async Task CreateCampaign6()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ExistInEachProductGroups = true,
- MaxPointAmount = 6040,
- MaxTotalPointAmount = 7772,
- DestPrivateMoneyId = "85a19e95-3605-4464-b784-d6e58f3de2fc",
+ MaxPointAmount = 6161,
+ MaxTotalPointAmount = 1120,
+ DestPrivateMoneyId = "c629c6c0-0429-45bf-8bf2-89615559e2ce",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1805137598,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1233458079,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -192,20 +192,20 @@ public async Task CreateCampaign7()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- MinimumNumberForCombinationPurchase = 3504,
ExistInEachProductGroups = false,
- MaxPointAmount = 3146,
- MaxTotalPointAmount = 6282,
- DestPrivateMoneyId = "2e5644c9-ba6b-47ec-8e10-31a1774f8ceb",
+ MaxPointAmount = 747,
+ MaxTotalPointAmount = 1030,
+ DestPrivateMoneyId = "67f6463f-333a-4e92-a12d-667043eef62a",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 144191962,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1496436754,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -220,21 +220,21 @@ public async Task CreateCampaign8()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- MinimumNumberOfAmount = 5288,
- MinimumNumberForCombinationPurchase = 3029,
+ MinimumNumberForCombinationPurchase = 1840,
ExistInEachProductGroups = false,
- MaxPointAmount = 1834,
- MaxTotalPointAmount = 3235,
- DestPrivateMoneyId = "dbbc8024-67ca-4309-9ee5-6bb96b8ec292",
+ MaxPointAmount = 2127,
+ MaxTotalPointAmount = 7738,
+ DestPrivateMoneyId = "8c7d46d3-3f18-467f-a96a-4b8a600daa44",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1899582053,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1837780759,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -249,22 +249,22 @@ public async Task CreateCampaign9()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- MinimumNumberOfProducts = 6086,
- MinimumNumberOfAmount = 2384,
- MinimumNumberForCombinationPurchase = 3784,
+ MinimumNumberOfAmount = 5881,
+ MinimumNumberForCombinationPurchase = 3957,
ExistInEachProductGroups = true,
- MaxPointAmount = 9599,
- MaxTotalPointAmount = 7501,
- DestPrivateMoneyId = "744139ce-d391-4db8-937c-8add2959692e",
+ MaxPointAmount = 9971,
+ MaxTotalPointAmount = 616,
+ DestPrivateMoneyId = "e97de3f3-4c37-4c2d-a508-8cfea6540930",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1221568410,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 2109625183,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -279,23 +279,23 @@ public async Task CreateCampaign10()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ApplicableShopIds = new string[]{"45b9027a-76aa-41a8-b1cb-72a13591d246", "6be1b482-0e22-4c3f-aff2-fedbc756fcc9", "b130be09-e551-4567-9df7-0cf8c21a7113", "483cfe23-8bb8-4c6f-af5d-c491d484d7fc", "84b0bcf3-2a4a-49cc-8bb5-66523bad8971", "476345b6-b0a8-4dbe-b72a-a5a970984756", "f98199ac-dc18-4cd8-8d05-54f0fc39bb18", "e091ffda-7647-4128-8d53-a692375fa126"},
- MinimumNumberOfProducts = 1915,
- MinimumNumberOfAmount = 5879,
- MinimumNumberForCombinationPurchase = 2640,
+ MinimumNumberOfProducts = 4883,
+ MinimumNumberOfAmount = 7709,
+ MinimumNumberForCombinationPurchase = 1770,
ExistInEachProductGroups = false,
- MaxPointAmount = 1920,
- MaxTotalPointAmount = 6236,
- DestPrivateMoneyId = "d8763ca4-c710-4fc8-99d2-d16a2f93d07a",
+ MaxPointAmount = 5314,
+ MaxTotalPointAmount = 8130,
+ DestPrivateMoneyId = "95bdf2e1-f71a-4438-aa77-f1d87095212f",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 153171498,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1604707511,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -310,24 +310,24 @@ public async Task CreateCampaign11()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"ea713bda-738c-40de-99f7-363059939505", "2efa0c7c-5b35-4bd4-91f9-4c30bdeb5740", "12f7131f-52fe-4707-82ee-0ee579a3baee"},
- MinimumNumberOfProducts = 7204,
- MinimumNumberOfAmount = 3963,
- MinimumNumberForCombinationPurchase = 6345,
+ ApplicableShopIds = new string[]{"a49fcbdd-a2a6-4929-86cc-b543cf5ea942", "bd03b1df-cfdf-405b-b13e-ad18fec38858", "df324786-3dde-44dd-ac76-217ac2ccd605", "9d1e1b42-cd11-4461-babe-2e53af301fc3", "46fbbc45-b028-423d-bbba-fb9f27fbb731", "7661bbe8-a8bd-4360-850c-24479f5b5086", "340bfda0-a3bc-4bb2-a7c5-7c0633462791", "c59cf76b-5deb-42dd-9e0c-ebd05bd30532", "5678ba0d-93ae-4f56-a508-f31dad866a49", "78367916-efd0-41f9-823e-8b372ff08d7b"},
+ MinimumNumberOfProducts = 7497,
+ MinimumNumberOfAmount = 8326,
+ MinimumNumberForCombinationPurchase = 9560,
ExistInEachProductGroups = false,
- MaxPointAmount = 7370,
- MaxTotalPointAmount = 9431,
- DestPrivateMoneyId = "49d982f7-b824-4a0d-a88e-420b3abcc14d",
+ MaxPointAmount = 6949,
+ MaxTotalPointAmount = 7775,
+ DestPrivateMoneyId = "3b7a5ae5-91a7-4d5c-b7a8-a9a9b52a70fe",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1946180367,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1553487604,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -342,25 +342,25 @@ public async Task CreateCampaign12()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ApplicableDaysOfWeek = new int[]{2, 1, 0, 2, 0},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"d6761e94-d49f-4c4d-8447-aa1a670891e5", "35160376-2ca7-4913-b7d6-abcdb1fcc59f", "e4b67365-19c0-44da-9ddf-20fb5a70f7ab", "fa24790a-e58f-41f4-b8c5-6aa832991f71", "8505b09b-665f-48af-bec9-ac9be07e1e76", "b544a53e-6589-438e-8992-4679695a3ff8", "3d03327c-08f6-4f01-beec-126a3a30c4b5"},
- MinimumNumberOfProducts = 588,
- MinimumNumberOfAmount = 5101,
- MinimumNumberForCombinationPurchase = 4594,
- ExistInEachProductGroups = true,
- MaxPointAmount = 9261,
- MaxTotalPointAmount = 2829,
- DestPrivateMoneyId = "456e9024-b718-4a03-8119-2a29124f29fe",
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"bfaec73a-3edd-4e20-88bc-621f345c0d12", "6017b142-1029-4642-a8b1-389ef1c39d18", "bd988fd9-4983-4d4e-af43-66ecacabce7f", "9754d593-6e3a-4bc5-b028-f16edc1ca33b", "de898838-9237-44c1-b38a-7d92016c2f06", "32d42e89-1830-460c-acb6-e3c0d183e10b", "6c8ee176-225c-46db-b390-55f024f5d85c", "0515f6be-3d1b-4d3f-8e2a-7014622fe43b", "776be15b-03ac-4fdd-9708-d6bfd58366c8", "5d0641b9-cf88-4f75-b8ae-39f823e6d8b4"},
+ MinimumNumberOfProducts = 4826,
+ MinimumNumberOfAmount = 1959,
+ MinimumNumberForCombinationPurchase = 736,
+ ExistInEachProductGroups = false,
+ MaxPointAmount = 13,
+ MaxTotalPointAmount = 1431,
+ DestPrivateMoneyId = "5d1f8032-3b3c-4392-ad78-d56a86571c94",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1381412536,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1089189598,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -375,26 +375,26 @@ public async Task CreateCampaign13()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
- ApplicableDaysOfWeek = new int[]{2, 0, 6, 4, 1, 2},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"c6f3a0f6-f429-4f9f-a418-db9112d75953", "b61a414e-0d1c-4c5b-b6e5-68d7cbf8d87a", "d3823bd7-6ec9-4f2e-b5cc-fa93b702e380", "5e5da697-b88d-4bb6-b3f4-12affbbbc515"},
- MinimumNumberOfProducts = 7453,
- MinimumNumberOfAmount = 9728,
- MinimumNumberForCombinationPurchase = 4798,
+ ApplicableDaysOfWeek = new int[]{5, 2, 5, 1, 4, 5, 4, 6, 1, 5},
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"f8574894-d553-4f6e-8f48-87d3ab29e466"},
+ MinimumNumberOfProducts = 5099,
+ MinimumNumberOfAmount = 348,
+ MinimumNumberForCombinationPurchase = 180,
ExistInEachProductGroups = true,
- MaxPointAmount = 6656,
- MaxTotalPointAmount = 5183,
- DestPrivateMoneyId = "0e60ee16-fcd1-4076-9b90-36da693cf0f6",
+ MaxPointAmount = 4204,
+ MaxTotalPointAmount = 8618,
+ DestPrivateMoneyId = "48d99ac9-9e9c-429d-9fb1-aeb18bd20add",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1610856251,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1139125484,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -409,27 +409,27 @@ public async Task CreateCampaign14()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
- ApplicableDaysOfWeek = new int[]{2, 3, 2, 2, 4, 4, 6},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"64f2cc08-8333-4a89-836d-b8d63bb12dfe", "a6aa3ced-09d0-491a-9d8c-62faa5b58b2c", "abae25b2-99e2-4aa4-a3c8-5027a86f5dad", "96487232-9e13-4f9d-9778-88d647f387c2", "95e54048-f27c-46d4-a280-eee9f7ec771e", "a6b60bcf-7ac8-4ba7-a212-0c598724bc8d", "db72bc14-c35c-4262-ba5f-92a9307f775e", "ce7a0bd7-d720-4e06-b745-c59db2791b2b"},
- MinimumNumberOfProducts = 6831,
- MinimumNumberOfAmount = 2984,
- MinimumNumberForCombinationPurchase = 3000,
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
+ ApplicableDaysOfWeek = new int[]{5},
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"4133b82a-ecc9-4a1e-978a-d49e29247dcf", "65af3ec3-8f43-42a0-a609-963907d4b5d8", "9548b2be-0b52-4c3c-a09b-3e587bd9dfd3", "4200ba06-178f-4a60-abbd-dcfd443aad8b", "b695699b-93db-49d7-8414-709f517b86ab", "ab0d2810-ee8d-40ff-a20b-85768933d367", "5bc645f7-f24d-4764-bd43-a3366b5fd159", "c50bdaf3-a41a-49a5-851b-ba5190841a56"},
+ MinimumNumberOfProducts = 5710,
+ MinimumNumberOfAmount = 9223,
+ MinimumNumberForCombinationPurchase = 8887,
ExistInEachProductGroups = true,
- MaxPointAmount = 5550,
- MaxTotalPointAmount = 8541,
- DestPrivateMoneyId = "544ea624-91c8-4c2e-a3e3-5f7cda8dcba1",
+ MaxPointAmount = 818,
+ MaxTotalPointAmount = 2310,
+ DestPrivateMoneyId = "786d25b5-b842-4d53-82cc-ae5222df5154",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1577347978,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1734000707,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -444,28 +444,28 @@ public async Task CreateCampaign15()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
- ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
- ApplicableDaysOfWeek = new int[]{4, 2, 2, 2, 5},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"3639882d-efc4-45b6-b271-462ee37dbe40", "5b3f107f-85f7-4147-a644-f2fdf7623a88"},
- MinimumNumberOfProducts = 5843,
- MinimumNumberOfAmount = 6629,
- MinimumNumberForCombinationPurchase = 7280,
- ExistInEachProductGroups = true,
- MaxPointAmount = 7403,
- MaxTotalPointAmount = 6984,
- DestPrivateMoneyId = "556f5a6a-947b-46e9-a748-cc70dd98a114",
+ ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
+ ApplicableDaysOfWeek = new int[]{0, 2, 2, 6, 4, 2, 1, 6, 5},
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"9fa8b21c-88ff-4ba0-8817-870ecc0b6365", "cf4ab4af-da44-402e-a84b-9cace4b0b583", "20d33981-8c78-4bde-9896-47e4b3ee081f", "1feb6bc5-7fe7-4426-8a60-3db3ce16574f", "a019c6ff-2d97-4378-bb28-48dfa31d4647"},
+ MinimumNumberOfProducts = 1133,
+ MinimumNumberOfAmount = 3828,
+ MinimumNumberForCombinationPurchase = 3675,
+ ExistInEachProductGroups = false,
+ MaxPointAmount = 7511,
+ MaxTotalPointAmount = 2853,
+ DestPrivateMoneyId = "954d9d53-0e3f-4670-af05-9f881614ee9d",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 1890993440,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 2030052446,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -480,29 +480,67 @@ public async Task CreateCampaign16()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
+ ) {
+ AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
+ ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
+ ApplicableDaysOfWeek = new int[]{6, 5},
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"51aac3c1-4b65-4b5f-ab80-db3630f25d15", "bdd50904-966b-4dbb-b02e-d71a93ad6dd8", "c180197c-193e-40e9-87c3-dc54710cab69", "b7d97953-8a42-4c55-8965-0635d7705f2d", "05d9b269-b4db-4a71-8906-a49a2389514d", "53f24d4f-4f63-45ea-b9f1-0c05c3192ac2", "6d51375f-a63b-4d4b-ac53-a446a89b11c7", "7415de7c-e360-488a-8c20-b3f59cf4ef24", "463b8fbd-8e2c-4498-97f1-30bcd93a0744", "c0424796-94ee-4f91-b26f-d19544c6cd4d"},
+ MinimumNumberOfProducts = 5697,
+ MinimumNumberOfAmount = 723,
+ MinimumNumberForCombinationPurchase = 2469,
+ ExistInEachProductGroups = false,
+ MaxPointAmount = 6343,
+ MaxTotalPointAmount = 9862,
+ DestPrivateMoneyId = "ae0a0a68-9baa-4eb8-bea1-d0ab270ba663",
+ ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 1284983922,
+ };
+ Response.Campaign response = await request.Send(client);
+ Assert.NotNull(response, "Shouldn't be null at least");
+ } catch (HttpRequestException e) {
+ Assert.AreNotEqual((int) e.Data["StatusCode"], (int) HttpStatusCode.BadRequest, "Shouldn't be BadRequest");
+ Assert.True((int) e.Data["StatusCode"] >= 300, "Should be larger than 300");
+ }
+ }
+
+ [Test]
+ public async Task CreateCampaign17()
+ {
+ try {
+ Request.CreateCampaign request = new Request.CreateCampaign(
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
Subject = "money",
- AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
+ AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
- ApplicableDaysOfWeek = new int[]{6, 5, 5, 6, 5, 0, 2, 3, 1, 2},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"a9b7dc7b-428e-4172-a4da-774a9f60a60c", "04c27f54-0198-4027-b905-8caec4e395fc", "4f8ed9ab-3898-4cff-8d6e-8cd15fa90a67", "3f213047-cdfe-4487-8ae6-e923d2bcab80", "ec16ad84-46c5-40ec-aaeb-c2d330e97c63", "c52755f4-63b5-45ab-80b6-06f42170d342", "83f789b3-5d40-40d1-b69b-1e408c4860d9", "0f7262ea-1f11-4ef9-b86d-86fbacd71f55", "6ce4fe92-b0aa-4900-a7c4-5679cd343c95", "0b0218d8-5e2e-488e-913a-62a382675314"},
- MinimumNumberOfProducts = 776,
- MinimumNumberOfAmount = 3471,
- MinimumNumberForCombinationPurchase = 5547,
+ BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
+ ApplicableDaysOfWeek = new int[]{1},
+ ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
+ ApplicableShopIds = new string[]{"ae2a952a-22b7-4260-a16a-8159e7936b67", "d481c378-e191-42b3-ad23-d913af0fe1e7", "bdd6ab54-8620-42ca-8b2c-e108ce96b3f9"},
+ MinimumNumberOfProducts = 6670,
+ MinimumNumberOfAmount = 6938,
+ MinimumNumberForCombinationPurchase = 5733,
ExistInEachProductGroups = true,
- MaxPointAmount = 4052,
- MaxTotalPointAmount = 7599,
- DestPrivateMoneyId = "58e2a968-d818-4119-b0bd-f847b75cabcd",
+ MaxPointAmount = 3724,
+ MaxTotalPointAmount = 7679,
+ DestPrivateMoneyId = "f0b7e49c-07c2-4abf-8e07-c7fc0fc5e721",
ApplicableAccountMetadata = new Dictionary(){{"key","sex"}, {"value","male"}},
- BudgetCapsAmount = 207436356,
+ ApplicableTransactionMetadata = new Dictionary(){{"key","rank"}, {"value","bronze"}},
+ BudgetCapsAmount = 543467906,
};
Response.Campaign response = await request.Send(client);
Assert.NotNull(response, "Shouldn't be null at least");
@@ -513,34 +551,35 @@ public async Task CreateCampaign16()
}
[Test]
- public async Task CreateCampaign17()
+ public async Task CreateCampaign18()
{
try {
Request.CreateCampaign request = new Request.CreateCampaign(
- "gMn5wd60p6qorRSF",
- "3f4a09b9-b84e-4ada-81d4-088033e04bed",
- "2022-09-04T05:43:04.000000+09:00",
- "2022-11-11T10:54:41.000000+09:00",
- 4248,
- "external-transaction"
+ "1KmKqNhpuD1AS4IxvpFPGaTF6gXtd3nJyyNe74Q2bvFtDokudzPS7PJ09whlF6CVlMKFHkTHEGRWUBVUZa1rmAx",
+ "5c77907a-e61f-40df-9a46-8214b5afe7d5",
+ "2023-05-26T13:27:18.000000Z",
+ "2022-12-03T22:38:33.000000Z",
+ 104,
+ "topup"
) {
- IsExclusive = false,
+ IsExclusive = true,
Subject = "all",
- AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
- ProductBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"product_code","4912345678904"}, {"is_multiply_by_count",true}, {"required_count",2}}},
- BlacklistedProductRules = new object[]{new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}, new Dictionary(){{"product_code","4912345678904"}, {"classification_code","c123"}}},
- ApplicableDaysOfWeek = new int[]{0, 0},
- ApplicableTimeRanges = new object[]{new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}, new Dictionary(){{"from","12:00"}, {"to","23:59"}}},
- ApplicableShopIds = new string[]{"0d0bdf99-d1a0-444b-8ba9-cf6a74f519ad", "182fbc22-3f14-4ac2-a5c8-f1fc1ab9e96e", "18f5582c-fdc1-4fed-a46c-35cbc071107f", "d0954991-2a69-435c-8bd5-551db204f66a"},
- MinimumNumberOfProducts = 1978,
- MinimumNumberOfAmount = 9074,
- MinimumNumberForCombinationPurchase = 1386,
+ AmountBasedPointRules = new object[]{new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}, new Dictionary(){{"point_amount",5}, {"point_amount_unit","percent"}, {"subject_more_than_or_equal",1000}, {"subject_less_than",5000}}},
+ ProductBasedPointRules = new object[]{new Dictionary