クーポン管理
クーポン管理機能は電子クーポンの発行に必要な基本的な仕組みを提供します。
ポイント交換によるクーポン発行や、クーポンの発行履歴や利用状況を管理することができます。
このページでは、クーポン管理機能を利⽤する実装例を紹介します。
注意
クーポン管理機能はライトプラン、ベーシックプランではご利用いただけません。利用したい場合は、製品サイトよりお問い合わせください。
クーポンマスタを登録する
クーポンマスタはマイクーポンを発行する際のベースとなる情報です。
管理画面の「クーポン管理」→「クーポン一覧」を開くと、クーポンマスタの一覧を確認できます。また、同画面の「新規登録」よりクーポンマスタの新規作成をすることができます。
「取得可能期間」はマイクーポンを発行できる期間、「使用可能期間」は発行したマイクーポンを使用できる期間です。
「クーポン交換ポイント」に指定したポイントを支払うことで、マイクーポンを発行することができます。
クーポンマスタを1件取得する
クーポンマスタの1件取得はgetCoupon
メソッドで⾏います。
// code=0001のクーポン1件を取得
RKZService.sharedInstance().getCoupon("0001") { coupon, responseStatus in
if responseStatus.isSuccess, let coupon = coupon {
// 成功時
print("code:", coupon.code ?? "")
print("name:", coupon.name ?? "")
print("image_url:", coupon.image_url ?? "") // 画像
print("possible_from_dte:", coupon.possible_from_dte ?? "") // 取得可能期間(開始)
print("possible_to_dte:", coupon.possible_to_dte ?? "") // 取得可能期間(終了)
print("enable_from_dte:", coupon.enable_from_dte ?? "") // 使用可能期間(開始)
print("enable_to_dte:", coupon.enable_to_dte ?? "") // 使用可能期間(終了)
print("point:", coupon.point ?? "") // クーポン交換ポイント
print("description:", coupon.attributes?["description"]) // 独自に追加した項目
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
// code=0001のクーポン1件を取得
[[RKZService sharedInstance] getCoupon:@"0001" withBlock:^(RKZCouponData * _Nullable coupon, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
NSLog(@"code: %@", coupon.code);
NSLog(@"name: %@", coupon.name);
NSLog(@"image_url: %@", coupon.image_url); // 画像
NSLog(@"possible_from_dte: %@", coupon.possible_from_dte); // 取得可能期間(開始)
NSLog(@"possible_to_dte: %@", coupon.possible_to_dte); // 取得可能期間(終了)
NSLog(@"enable_from_dte: %@", coupon.enable_from_dte); // 使用可能期間(開始)
NSLog(@"enable_to_dte: %@", coupon.enable_to_dte); // 使用可能期間(終了)
NSLog(@"point: %@", coupon.point); // クーポン交換ポイント
NSLog(@"description: %@", coupon.attributes[@"description"]); // 独自に追加した項目
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
// code=0001のクーポン1件を取得
RKZClient.getInstance().getCoupon("0001") { coupon, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
Log.d(TAG, "code: ${coupon.code}")
Log.d(TAG, "name: ${coupon.name}")
Log.d(TAG, "imageUrl: ${coupon.imageUrl}") // 画像
Log.d(TAG, "possibleFromDte: ${coupon.possibleFromDte}") // 取得可能期間(開始)
Log.d(TAG, "possibleToDte: ${coupon.possibleToDte}") // 取得可能期間(終了)
Log.d(TAG, "enableFromDte: ${coupon.enableFromDte}") // 使用可能期間(開始)
Log.d(TAG, "enableToDte: ${coupon.enableToDte}") // 使用可能期間(終了)
Log.d(TAG, "point: ${coupon.point}") // クーポン交換ポイント
Log.d(TAG, "description: ${coupon.attributes["description"]}") // 独自に追加した項目
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
// code=0001のクーポン1件を取得
RKZClient.getInstance().getCoupon("0001", new OnGetCouponListener() {
@Override
public void onGetCoupon(Coupon coupon, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
Log.d(TAG, "code: " + coupon.getCode());
Log.d(TAG, "name: " + coupon.getName());
Log.d(TAG, "imageUrl: " + coupon.getImageUrl()); // 画像
Log.d(TAG, "possibleFromDte: " + coupon.getPossibleFromDte()); // 取得可能期間(開始)
Log.d(TAG, "possibleToDte: " + coupon.getPossibleToDte()); // 取得可能期間(終了)
Log.d(TAG, "enableFromDte: " + coupon.getEnableFromDte()); // 使用可能期間(開始)
Log.d(TAG, "enableToDte: " + coupon.getEnableToDte()); // 使用可能期間(終了)
Log.d(TAG, "point: " + coupon.getPoint()); // クーポン交換ポイント
Log.d(TAG, "description: " + coupon.getAttributesValue("description")); // 独自に追加した項目
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
// code=0001のクーポン1件を取得
RKZClient.getCoupon('0001', function (coupon) {
// 成功時
console.debug('code:', coupon.code)
console.debug('name:', coupon.name)
console.debug('image_url:', coupon.image_url) // 画像
console.debug('possible_from_dte:', coupon.possible_from_dte) // 取得可能期間(開始)
console.debug('possible_to_dte:', coupon.possible_to_dte) // 取得可能期間(終了)
console.debug('enable_from_dte:', coupon.enable_from_dte) // 使用可能期間(開始)
console.debug('enable_to_dte:', coupon.enable_to_dte) // 使用可能期間(終了)
console.debug('point:', coupon.point) // クーポン交換ポイント
console.debug('description:', coupon.attributes.description) // 独自に追加した項目
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
// code=0001のクーポン1件を取得
const coupon = await RKZ.Coupon.get('0001')
console.debug('code:', coupon.code)
console.debug('name:', coupon.name)
console.debug('image_url:', coupon.image_url) // 画像
console.debug('possible_from_dte:', coupon.possible_from_dte) // 取得可能期間(開始)
console.debug('possible_to_dte:', coupon.possible_to_dte) // 取得可能期間(終了)
console.debug('enable_from_dte:', coupon.enable_from_dte) // 使用可能期間(開始)
console.debug('enable_to_dte:', coupon.enable_to_dte) // 使用可能期間(終了)
console.debug('point:', coupon.point) // クーポン交換ポイント
console.debug('description:', coupon.attributes.description) // 独自に追加した項目
// code=0001のクーポン1件を取得
final coupon = await RKZClient.instance.getCoupon('0001');
print('code: ${coupon.code}');
print('name: ${coupon.name}');
print('imageUrl: ${coupon.imageUrl}'); // 画像
print('possibleFromDte: ${coupon.possibleFromDte}'); // 取得可能期間(開始)
print('possibleToDte: ${coupon.possibleToDte}'); // 取得可能期間(終了)
print('enableFromDte: ${coupon.enableFromDte}'); // 使用可能期間(開始)
print('enableToDte: ${coupon.enableToDte}'); // 使用可能期間(終了)
print('point: ${coupon.point}'); // クーポン交換ポイント
print('description: ' + coupon.attributes?['description']); // 独自に追加した項目
クーポンマスタを検索する
クーポンマスタの検索はgetCouponList
メソッド(JavaScript・FlutterはCouponQuery.find
メソッド)で⾏います。
検索条件、ソート条件を指定することができます。指定可能な条件については検索条件、ソート条件を参照してください。
RKZService.sharedInstance().getCouponList(nil, sortConditionArray: nil) { coupons, responseStatus in
if responseStatus.isSuccess {
// 成功時
coupons.forEach { item in
print("code:", item.code ?? "")
print("name:", item.name ?? "")
}
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
[[RKZService sharedInstance] getCouponList:nil sortConditionArray:nil withBlock:^(NSArray<RKZCouponData *> * _Nonnull coupons, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
for (RKZCouponData *item in coupons) {
NSLog(@"code: %@", item.code);
NSLog(@"name: %@", item.name);
}
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
RKZClient.getInstance().getCouponList(null, null) { coupons, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
coupons.forEach {
Log.d(TAG, "code: ${it.code}")
Log.d(TAG, "name: ${it.name}")
}
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
RKZClient.getInstance().getCouponList(null, null, new OnGetCouponListListener() {
@Override
public void onGetCouponList(List<Coupon> coupons, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
for (Coupon item : coupons) {
Log.d(TAG, "code: " + item.getCode());
Log.d(TAG, "name: " + item.getName());
}
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
RKZClient.getCouponList(null, null, function (coupons) {
// 成功時
coupons.forEach(function (item) {
console.debug('code:', item.code)
console.debug('name:', item.name)
})
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
const coupons = await RKZ.Coupon.query().find()
coupons.forEach(item => {
console.debug('code:', item.code)
console.debug('name:', item.name)
})
final coupons = await RKZClient.instance.couponQuery().find();
coupons.forEach((item) {
print('code: ${item.code}');
print('name: ${item.name}');
});
クーポンをポイントと交換する
クーポンマスタをもとに、ユーザーの所持するポイントと交換してクーポンを発行することができます。
クーポンとポイントの交換はexchangeCoupon
メソッドで行います。
let userAccessToken = "xxx"
let couponCd = "0001" // 発行するクーポンマスタのコード
let quantity: NSNumber = 1 // 発行するクーポン数
RKZService.sharedInstance().exchangeCoupon(userAccessToken, couponCd: couponCd, quantity: quantity) { statusCode, responseStatus in
if responseStatus.isSuccess {
// 成功時
print("交換完了")
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
NSString *userAccessToken = @"xxx";
NSString *couponCd = @"0001"; // 発行するクーポンマスタのコード
NSNumber *quantity = @1; // 発行するクーポン数
[[RKZService sharedInstance] exchangeCoupon:userAccessToken couponCd:couponCd quantity:quantity withBlock:^(RKZApiStatusCode statusCode, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
NSLog(@"交換完了");
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
val userAccessToken = "xxx"
val couponCd = "0001" // 発行するクーポンマスタのコード
val quantity = 1 // 発行するクーポン数
RKZClient.getInstance().exchangeCoupon(userAccessToken, couponCd, quantity) { statusCode, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
Log.d(TAG, "交換完了")
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
String userAccessToken = "xxx";
String couponCd = "0001"; // 発行するクーポンマスタのコード
Integer quantity = 1; // 発行するクーポン数
RKZClient.getInstance().exchangeCoupon(userAccessToken, couponCd, quantity, new OnExchangeCouponListener() {
@Override
public void onExchangeCoupon(String s, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
Log.d(TAG, "交換完了");
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
var userAccessToken = 'xxx'
var couponCd = '0001' // 発行するクーポンマスタのコード
var quantity = 1 // 発行するクーポン数
RKZClient.exchangeCoupon(userAccessToken, couponCd, quantity, function (statusCode) {
// 成功時
console.debug('交換完了')
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
const userAccessToken = 'xxx'
const couponCd = '0001' // 発行するクーポンマスタのコード
const quantity = 1 // 発行するクーポン数
await RKZ.Coupon.exchange(userAccessToken, couponCd, quantity)
final userAccessToken = 'xxx';
final couponCd = '0001'; // 発行するクーポンマスタのコード
final quantity = 1; // 発行するクーポン数
await RKZClient.instance.exchangeCoupon(userAccessToken, couponCd, quantity);
管理画面の「クーポン管理」→「クーポン利用状況」を開くと、ポイントと交換したクーポンの利用状況を確認することができます。
注意
システム日時がクーポンマスタの取得可能期間内の場合、クーポンを交換することができます。
マイクーポンを1件取得する
ポイントと交換したクーポン(マイクーポン)の1件取得はgetMyCoupon
メソッドで⾏います。
let userAccessToken = "xxx"
let myCouponCd = "1" // 取得するマイクーポンのコード
RKZService.sharedInstance().getMyCoupon(userAccessToken, myCouponCd: myCouponCd) { coupon, responseStatus in
if responseStatus.isSuccess, let coupon = coupon {
// 成功時
print("code:", coupon.code ?? "") // マイクーポンコード
print("coupon_cd:", coupon.coupon_cd ?? "") // クーポンコード
print("coupon_name:", coupon.coupon_name ?? "") // クーポン名称
print("get_date:", coupon.get_date ?? "") // マイクーポン取得日時
print("use_date:", coupon.use_date ?? "") // マイクーポン使用日時
print("used_flg:", coupon.used_flg) // マイクーポン使用フラグ
print("quantity:", coupon.quantity ?? "") // 発行するクーポン数
print("coupon.code:", coupon.coupon?.code ?? "") // マイクーポンのベースであるクーポンマスタの情報
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
NSString *userAccessToken = @"xxx";
NSString *myCouponCd = @"1"; // 取得するマイクーポンのコード
[[RKZService sharedInstance] getMyCoupon:userAccessToken myCouponCd:myCouponCd withBlock:^(RKZMyCouponData * _Nullable coupon, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
NSLog(@"code: %@", coupon.code); // マイクーポンコード
NSLog(@"coupon_cd: %@", coupon.coupon_cd); // クーポンコード
NSLog(@"coupon_name: %@", coupon.coupon_name); // クーポン名称
NSLog(@"get_date: %@", coupon.get_date); // マイクーポン取得日時
NSLog(@"use_date: %@", coupon.use_date); // マイクーポン使用日時
NSLog(@"used_flg: %d", coupon.used_flg); // マイクーポン使用フラグ
NSLog(@"quantity: %@", coupon.quantity); // 発行するクーポン数
NSLog(@"coupon.code: %@", coupon.coupon.code); // マイクーポンのベースであるクーポンマスタの情報
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
val userAccessToken = "xxx"
val myCouponCd = "1" // 取得するマイクーポンのコード
RKZClient.getInstance().getMyCoupon(userAccessToken, myCouponCd) { coupon, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
Log.d(TAG, "code: ${coupon.code}") // マイクーポンコード
Log.d(TAG, "couponCd: ${coupon.couponCd}") // クーポンコード
Log.d(TAG, "couponName: ${coupon.couponName}") // クーポン名称
Log.d(TAG, "getDate: ${coupon.getDate}") // マイクーポン取得日時
Log.d(TAG, "useDate: ${coupon.useDate}") // マイクーポン使用日時
Log.d(TAG, "isUsedFlg: ${coupon.isUsedFlg}") // マイクーポン使用フラグ
Log.d(TAG, "quantity: ${coupon.quantity}") // 発行するクーポン数
Log.d(TAG, "coupon.code: ${coupon.coupon.code}") // マイクーポンのベースであるクーポンマスタの情報
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
String userAccessToken = "xxx";
String myCouponCd = "1"; // 取得するマイクーポンのコード
RKZClient.getInstance().getMyCoupon(userAccessToken, myCouponCd, new OnGetMyCouponListener() {
@Override
public void onGetMyCoupon(MyCoupon myCoupon, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
Log.d(TAG, "code: " + myCoupon.getCode()); // マイクーポンコード
Log.d(TAG, "couponCd: " + myCoupon.getCouponCd()); // クーポンコード
Log.d(TAG, "couponName: " + myCoupon.getCouponName()); // クーポン名称
Log.d(TAG, "getDate: " + myCoupon.getGetDate()); // マイクーポン取得日時
Log.d(TAG, "useDate: " + myCoupon.getUseDate()); // マイクーポン使用日時
Log.d(TAG, "isUsedFlg: " + myCoupon.isUsedFlg()); // マイクーポン使用フラグ
Log.d(TAG, "quantity: " + myCoupon.getQuantity()); // 発行するクーポン数
Log.d(TAG, "coupon.code: " + myCoupon.getCoupon().getCode()); // マイクーポンのベースであるクーポンマスタの情報
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
var userAccessToken = 'xxx'
var myCouponCd = '1' // 取得するマイクーポンのコード
RKZClient.getMyCoupon(userAccessToken, myCouponCd, function (myCoupon) {
// 成功時
console.debug('code:', myCoupon.code) // マイクーポンコード
console.debug('coupon_cd:', myCoupon.coupon_cd) // クーポンコード
console.debug('coupon_name:', myCoupon.coupon_name) // クーポン名称
console.debug('get_date:', myCoupon.get_date) // マイクーポン取得日時
console.debug('use_date:', myCoupon.use_date) // マイクーポン使用日時
console.debug('used_flg:', myCoupon.used_flg) // マイクーポン使用フラグ
console.debug('quantity:', myCoupon.quantity) // 発行するクーポン数
console.debug('coupon.code:', myCoupon.coupon.code) // マイクーポンのベースであるクーポンマスタの情報
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
const userAccessToken = 'xxx'
const myCouponCd = '1' // 取得するマイクーポンのコード
const myCoupon = await RKZ.MyCoupon.get(userAccessToken, myCouponCd)
console.debug('code:', myCoupon.code) // マイクーポンコード
console.debug('coupon_cd:', myCoupon.coupon_cd) // クーポンコード
console.debug('coupon_name:', myCoupon.coupon_name) // クーポン名称
console.debug('get_date:', myCoupon.get_date) // マイクーポン取得日時
console.debug('use_date:', myCoupon.use_date) // マイクーポン使用日時
console.debug('used_flg:', myCoupon.used_flg) // マイクーポン使用フラグ
console.debug('quantity:', myCoupon.quantity) // 発行するクーポン数
console.debug('coupon.code:', myCoupon.coupon.code) // マイクーポンのベースであるクーポンマスタの情報
final userAccessToken = 'xxx';
final myCouponCd = '1'; // 取得するマイクーポンのコード
final myCoupon = await RKZClient.instance.getMyCoupon(userAccessToken, myCouponCd);
print('code: ${myCoupon.code}');
print('couponCd: ${myCoupon.couponCd}');
print('couponName: ${myCoupon.couponName}');
print('getDate: ${myCoupon.getDate}');
print('useDate: ${myCoupon.useDate}');
print('usedFlg: ${myCoupon.usedFlg}');
print('quantity: ${myCoupon.quantity}');
print('coupon.code: ${myCoupon.coupon?.code}');
注意
マイクーポンのベースであるクーポンマスタの情報が削除されている(または、使用不可フラグがONになっている)場合、返却値のcoupon
はnull
になります。
マイクーポンを検索する
マイクーポンの検索はgetMyCouponList
メソッド(JavaScript・FlutterはMyCouponQuery.find
メソッド)で⾏います。
検索条件、ソート条件を指定することができます。指定可能な条件については検索条件、ソート条件を参照してください。
let userAccessToken = "xxx"
RKZService.sharedInstance().getMyCouponList(userAccessToken, searchConditionArray: nil, sortConditionArray: nil) { myCoupons, responseStatus in
if responseStatus.isSuccess {
// 成功時
myCoupons.forEach { item in
print("code:", item.code ?? "")
print("coupon_cd:", item.coupon_cd ?? "")
print("coupon_name:", item.coupon_name ?? "")
}
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
NSString *userAccessToken = @"xxx";
[[RKZService sharedInstance] getMyCouponList:userAccessToken searchConditionArray:nil sortConditionArray:nil withBlock:^(NSArray<RKZMyCouponData *> * _Nonnull myCoupons, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
for (RKZMyCouponData *item in myCoupons) {
NSLog(@"code: %@", item.code);
NSLog(@"coupon_cd: %@", item.coupon_cd);
NSLog(@"coupon_name: %@", item.coupon_name);
}
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
val userAccessToken = "xxx"
RKZClient.getInstance().getMyCouponList(userAccessToken, null, null) { myCoupons, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
myCoupons.forEach {
Log.d(TAG, "code: ${it.code}")
Log.d(TAG, "couponCd: ${it.couponCd}")
Log.d(TAG, "couponName: ${it.couponName}")
}
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
String userAccessToken = "xxx";
RKZClient.getInstance().getMyCouponList(userAccessToken, null, null, new OnGetMyCouponListListener() {
@Override
public void onGetMyCouponList(List<MyCoupon> myCoupons, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
for (MyCoupon item : myCoupons) {
Log.d(TAG, "code: " + item.getCode());
Log.d(TAG, "couponCd: " + item.getCouponCd());
Log.d(TAG, "couponName: " + item.getCouponName());
}
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
var userAccessToken = 'xxx'
RKZClient.getMyCouponList(userAccessToken, null, null, function (myCoupons) {
// 成功時
myCoupons.forEach(function (item) {
console.debug('code:', item.code)
console.debug('coupon_cd:', item.coupon_cd)
console.debug('coupon_name:', item.coupon_name)
})
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
const userAccessToken = 'xxx'
const myCoupons = await RKZ.MyCoupon.query(userAccessToken).find()
myCoupons.forEach(item => {
console.debug('code:', item.code)
console.debug('coupon_cd:', item.coupon_cd)
console.debug('coupon_name:', item.coupon_name)
})
final userAccessToken = 'xxx';
final myCoupons = await RKZClient.instance.myCouponQuery(userAccessToken).find();
myCoupons.forEach((item) {
print('code: ${item.code}');
print('couponCd: ${item.couponCd}');
print('couponName: ${item.couponName}');
});
マイクーポンを使用する
マイクーポンの使用はuseMyCoupon
メソッドで行います。
let userAccessToken = "xxx"
let myCoupon = RKZMyCouponData()
myCoupon.code = "1" // 使用するマイクーポンのコード
myCoupon.coupon_cd = "0001" // 使用するクーポンマスタのコード
RKZService.sharedInstance().useMyCoupon(userAccessToken, myCouponData: myCoupon) { statusCode, responseStatus in
if responseStatus.isSuccess {
// 成功時
print("使用完了")
} else {
// 失敗
print("statusCode:", responseStatus.statusCode.rawValue)
print("message:", responseStatus.message ?? "")
}
}
NSString *userAccessToken = @"xxx";
RKZMyCouponData *myCoupon = [[RKZMyCouponData alloc] init];
myCoupon.code = @"1"; // 使用するマイクーポンのコード
myCoupon.coupon_cd = @"0001"; // 使用するクーポンマスタのコード
[[RKZService sharedInstance] useMyCoupon:userAccessToken myCouponData:myCoupon withBlock:^(RKZApiStatusCode statusCode, RKZResponseStatus * _Nonnull responseStatus) {
if (responseStatus.isSuccess) {
// 成功時
NSLog(@"使用完了");
} else {
// 失敗
NSLog(@"statusCode: %ld", responseStatus.statusCode);
NSLog(@"message: %@", responseStatus.message);
}
}];
val userAccessToken = "xxx"
val myCoupon = MyCoupon()
myCoupon.code = "1" // 使用するマイクーポンのコード
myCoupon.couponCd = "0001" // 使用するクーポンマスタのコード
RKZClient.getInstance().useMyCoupon(userAccessToken, myCoupon) { statusCode, rkzResponseStatus ->
if (rkzResponseStatus.isSuccess) {
// 成功時
Log.d(TAG, "使用完了")
} else {
// 失敗
Log.e(TAG, "statusCode: ${rkzResponseStatus.statusCode}")
Log.e(TAG, "message: ${rkzResponseStatus.message}")
}
}
String userAccessToken = "xxx";
MyCoupon myCoupon = new MyCoupon();
myCoupon.setCode("1"); // 使用するマイクーポンのコード
myCoupon.setCouponCd("0001"); // 使用するクーポンマスタのコード
RKZClient.getInstance().useMyCoupon(userAccessToken, myCoupon, new OnUseMyCouponListener() {
@Override
public void onUseMyCoupon(String s, RKZResponseStatus rkzResponseStatus) {
if (rkzResponseStatus.isSuccess()) {
// 成功時
Log.d(TAG, "使用完了");
} else {
// 失敗
Log.e(TAG, "statusCode: " + rkzResponseStatus.getStatusCode());
Log.e(TAG, "message: " + rkzResponseStatus.getMessage());
}
}
});
var userAccessToken = 'xxx'
var myCoupon = {
code: '1', // 使用するマイクーポンのコード
coupon_cd: '0001' // 使用するクーポンマスタのコード
}
RKZClient.useMyCoupon(userAccessToken, myCoupon, function (statusCode) {
// 成功時
console.debug('使用完了')
}, function (error) {
// 失敗時
console.error('status_code:', error.status_code)
console.error('message:', error.message)
})
const userAccessToken = 'xxx'
const myCouponCd = '1' // 使用するマイクーポンのコード
const couponCd = '0001' // 使用するクーポンマスタのコード
await RKZ.MyCoupon.use(userAccessToken, myCouponCd, couponCd)
final userAccessToken = 'xxx';
final myCouponCd = '1'; // 使用するマイクーポンのコード
final couponCd = '0001'; // 使用するクーポンマスタのコード
await RKZClient.instance.useMyCoupon(userAccessToken, myCouponCd, couponCd);
注意
システム日時がクーポンマスタの使用可能期間内の場合、クーポンを使用することができます。