クーポン管理

クーポン管理機能は電子クーポンの発行に必要な基本的な仕組みを提供します。

ポイント交換によるクーポン発行や、クーポンの発行履歴や利用状況を管理することができます。

このページでは、クーポン管理機能を利⽤する実装例を紹介します。

注意

クーポン管理機能はライトプラン、ベーシックプランではご利用いただけません。利用したい場合は、製品サイトopen in new windowよりお問い合わせください。

クーポンマスタを登録する

クーポンマスタはマイクーポンを発行する際のベースとなる情報です。

管理画面の「クーポン管理」→「クーポン一覧」を開くと、クーポンマスタの一覧を確認できます。また、同画面の「新規登録」よりクーポンマスタの新規作成をすることができます。

「取得可能期間」はマイクーポンを発行できる期間、「使用可能期間」は発行したマイクーポンを使用できる期間です。

「クーポン交換ポイント」に指定したポイントを支払うことで、マイクーポンを発行することができます。

クーポンマスタを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になっている)場合、返却値のcouponnullになります。

マイクーポンを検索する

マイクーポンの検索は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);

注意

システム日時がクーポンマスタの使用可能期間内の場合、クーポンを使用することができます。