[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);
```
- 入门
- 系统安装
- 接入公众平台
- 关键字回复
- 更上一层楼
- 编码规范
- php编码规范
- html&css编码规范
- JavaScript编码规范
- 系统概述
- 结构概述
- 入口脚本
- 微擎MVC
- URL路由&创建
- $_W&全局变量
- 加载器
- 错误处理
- 日志记录
- 模板
- 模板标签
- 数据调用
- 常用变量
- 手机端组件
- 概述及依赖
- 图像上传
- 弹出选项
- 后台组件
- 概述及依赖
- 后台文件上传
- 富文本编辑器
- 系统链接选择器
- 其它常用组件
- 数据库
- 参数绑定
- 数据操作
- 主从配置
- 连接其它数据库
- 缓存
- 配置
- 缓存操作
- Http请求
- 概述及依赖
- GET&POST请求
- 发送邮件
- 会员与积分
- 统一用户中心
- 借用OAuth
- 积分操作
- 资料操作
- 卡券
- 营销卡券
- 会员卡
- 消息响应
- 消息概述
- 消息响应
- 微信API
- 公众号AccessToken
- 共享收货地址(废弃)
- 共享收货地址(新)
- 粉丝标签
- 客服消息
- 模板消息
- 粉丝信息
- 素材
- 群发
- 二维码
- 在线支付
- 概述及依赖
- 发起支付(PHP)
- 发起支付(JS)
- 验证支付
- 模块
- 设计模块
- 目录结构
- module.php
- processor.php
- site.php
- receiver.php
- 模块高级专题
- 自定义分享
- 智能应答
- 微信卡券
- 远程附件
- 权限控制
- 特殊事件触发模块
- 粉丝信息
- 小程序
- 概述
- Uitl类
- 云服务
- 云API
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题