[TOC] #### 营销卡券 营销卡券在微擎中分为微信卡券和系统卡券,此两个类型在系统中使用常量 **COUPON_TYPE** 来标识,使用前请先调用 **activity_coupon_type_init()** 来初始化公众号支持卡券类型,以下我们分别介绍一下这两种卡券。 * 微信卡券,当公众号为认证服务号时,系统默认切换为微信卡券来使用卡券,支持的卡券类型为折扣券、代金券、礼品券、团购券、优惠券几种。领取、发放及核销全部通过微信接口来操作。 ``` activity_coupon_type_init(); if (COUPON_TYPE == WECHAT_COUPON) { //当前系统使用微信卡券 } ``` * 系统卡券,当非认证服务号时,系统模拟公众平台微信卡券的功能实现一套了卡券功能,支持的卡券类型为折扣券、代金券。此卡券与微信卡券并不通用。 ``` activity_coupon_type_init(); if (COUPON_TYPE == SYSTEM_COUPON) { //当前系统使用系统卡券 } ``` >[warning] 值得注意的是,微信卡券与系统卡券数据并不通用,当使用系统卡券添加的数据,并不会推送到微信卡券端,所以切换微信卡券后,数据需要重新添加。 <p> >[info]系统卡券只是为了补充那些没有权限的用户使用,强烈建议您使用体验和完整程度更高的微信卡券功能 #### 添加卡券 添加卡券可以在 **粉丝营销** - **卡券管理** - **添加卡券** 来添加一个卡券。下面详情说明一些添加卡券的表单项。 * 适用模块,添加卡券后管理员可以自由设置该卡券可以在哪些特定的模块中发放,核销,不选的话则不限制。 #### 发放卡券 ##### 通过营销活动发放 发放卡券可以在 **粉丝营销** - **卡券管理** - **卡券营销** 中进行卡券发放 ##### 通过模块发放 在模块中调用 activity_coupon_grant()方法发放卡券 >[info]activity_coupon_grant($id, $openid) * $id 卡券id * $openid 指定会员的openid *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) *示例* ``` load()->('activity'); $id = intval($_GPC['id']); $activity_exchange = pdo_get('activity_exchange', array('extra' => $id)); if ($activity_exchange['credit'] < 0) { message(error(-1, '兑换' . $creditnames[$activity_exchange['credittype']] . '有误'), '', 'ajax'); } $openid = $_W['member']['uid']; activity_coupon_grant($id, $openid); ``` #### 核销卡券 >[info]activity_coupon_use($couponid, $recid, $module == 'system') * $couponid 卡券id * $recid 兑换记录id * $module 模块名称,默认为系统模块 *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) *示例* ``` load()->model('activity'); $code = trim($_GPC['code']); $record = pdo_get('coupon_record', array('code' => $code)); if(empty($record)) { message(error(-1, '卡券记录不存在'), '', 'ajax'); } activity_coupon_use($record['couponid'], $record['id'], 'paycenter'); ``` #### 卡券相关函数 #####初始化公众号支持卡券类型. >[info] **activity_coupon_type_init**() *示例* ``` activity_coupon_type_init(); if (COUPON_TYPE == SYSTEM_COUPON) { //当前系统使用系统卡券 } ``` #####获取某张卡券的所有信息 >[info]activity_coupon_info($id) * $id 卡券id *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) succss ``` array( 'id' => 190; //卡券id 'card_id' => 'pTKzFjqwwpBOUNP5opKJbxCHNVVM' // 微信卡券id 'type' => '2' // 卡券类型 1.折扣券 2.代金券 3.团购券 4.礼品券 5.优惠券 'date_info' => array( 'time_type' => 1 // 时间类型 1.固定如期 2.领取后的一段时间内 'time_limit_start' => 2016.07.25 // 卡券有效期结束日期 'time_limit_end' => 2016.08.26 // 时间类型 'deadline' => 5 // 领取后几天可以使用 'limit' => 10 // 有效天数 'quantity' => 300 // 库存总量 'get_limit' => 10 // 每人限领 'extra' => array( // 优惠详情 'discount' => '0.8' //折扣(折扣券 'least_cost' => '100'//最低消费金额(代金券) '10'//抵扣金额(代金券) 'deal_detail' => '使用团购券可享受团购优惠'//团购券详情(团购券) 'gift' => '凭此礼品券可免费领取礼品一个'//礼品券详情(礼品券) 'default_detail' => '凭此优惠券在中秋到店消费可享受优惠'//优惠券详情(优惠券) 'status' => a卡券状态1.审核中2.审核未通过3.审核通过4.卡券被商户删除5.未知 // 优惠详情 'is_display' => 1//是否上架1.是2.否 'dosage' => 12//已领取数量 ); ``` *示例* ``` load()->model('activity');. $id = $_GPC['id']; $coupon = activity_coupon_info($id); ``` #####获取当前公众号所有有效的卡券 >[info]activity_coupon_available() *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) success ``` array( '0' => array( 'id' => 190 'card_id' => 'pTKzFjqwwpBOUNP5opKJbxCHNVVM' //卡券详情,同activity_coupon_info()的返回值 ), '1' => array( 'id' => 190 'card_id' => 'pTKzFjqwwpBsdfe235KJbxCHNVVM' //卡券详情,同activity_coupon_info()的返回值 ) ) ``` *示例* ``` load()->model('activity'); $available_coupons = activity_coupon_available(); ``` #####获取当前会员当前已有卡券及使用情况 >[info]activity_coupon_owned() *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) success ``` array( '0' => array( 'id' => 190 'card_id' => 'pTKzFjqwwpBOUNP5opKJbxCHNVVM' //卡券详情,同activity_coupon_info()的返回值 ), '1' => array( 'id' => 190 'card_id' => 'pTKzFjqwwpBsdfe235KJbxCHNVVM' //卡券详情,同activity_coupon_info()的返回值 ) ) ``` *示例* ``` load()->model('activity'); $coupon_records = activity_coupon_owned(); ``` #####指定会员兑换指定真实物品 >[info]activity_goods_grant($uid, $exid) * $uid 会员id * $exid 真实物品id *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) success 物品兑换记录id *示例* ``` load()->model('activity'); $uid = $_W['member']['uid']; $exid = intval($_GPC['exid']); $goods = activity_exchange_info($id, $_W['uniacid']); if(empty($goods)){ message(error(-1, '没有指定的礼品兑换'), '', 'ajax'); } activity_goods_grant($uid, $exid); ``` #####指定会员兑换指定活动 >[info]activity_module_grant($uid, $exid) * $uid 会员id * $exid 活动id *返回值* error [错误结构](http://www.kancloud.cn/donknap/we7/134630) success true *示例* ``` load()->model('activity'); $uid = $_W['member']['uid']; $exid = intval($_GPC['exid']); activity_module_grant($uid, $exid); ```