Skip to content

Weixin Card API (微信卡券接口)

lanrion edited this page May 27, 2016 · 2 revisions

此wiki针对:https://github.com/lanrion/weixin_authorize/pull/73

接口参数说明

请参见 微信卡券接口参数Map

或参见 微信公众平台Wiki

获得 实例化client

要创建卡券,请先实例化client

client = WeixinAuthorize::Client.new('YOUR_APP_ID','YOUR_APP_SECERT')

创建卡券

上传卡券LOGO

response = client.upload_image(image)
logo_url = response.url

准备基础信息

helper = WeixinAuthorize::CardJsonHelper
base_info =
    helper.base_info({logo_url: logo_url, code_type: 'CODE_TYPE_TEXT',
                      brand_name: '海底捞', title: '双人套餐100元兑换券',
                      color: 'Color010', notice: '请出示二维码核销卡券',
                      description: '不可与其他优惠同享\n如需团购券发票,请向店员提出要求。',
                      sku: helper.sku(100),
                      date_info: helper.date_info('DATE_TYPE_FIX_TERM', nil, nil, 0, 30)})

创建团购券

card = helper::Groupon.create(base_info, {deal_detail: '双人套餐\n -进口红酒一支。\n孜然牛肉一份。'})
client.card_create(card)

创建代金券

card = helper::Cash.create(base_info, {least_cost: 10000, reduce_cost: 10000})
client.card_create(card)

创建折扣券

card = helper::Discount.create(base_info, {discount: 30})
client.card_create(card)

创建礼品券

card = helper::Gift.createDiscount(base_info, {gift: '可兑换音乐木盒一个'})
client.card_create(card)

创建通用优惠券

card = helper::GeneralCoupon.create(base_info, {default_detail: '音乐木盒'})
client.card_create(card)

创建会员卡

准备基础信息

helper = WeixinAuthorize::CardJsonHelper
base_info =
    helper.base_info({logo_url: logo_url, code_type: 'CODE_TYPE_TEXT',
                      brand_name: '海底捞', title: '海底捞会员卡',
                      color: 'Color010', notice: '使用时向服务员出示会员卡',
                      description: '不可与其他优惠同享', service_phone: '020-88888888',
                      sku: helper.sku(100),
                      date_info: helper.date_info('DATE_TYPE_FIX_TERM', nil, nil, 0, 30)})

创建会员卡

bonus = helper::MemberCard.bonus(true, 'http://www.example.com', '每年年底12月30号积分清0。', '每消费一元获取1点积分。')
balance = helper::MemberCard.balance(true, 'http://www.example.com', '储值说明')
custom_field1 = helper::MemberCard.custom_field('FIELD_NAME_TYPE_LEVEL', 'http://www.example.com')
custom_field2 = helper::MemberCard.custom_field('FIELD_NAME_TYPE_ACHIEVEMEN', 'http://www.example.com')
custom_field3 = helper::MemberCard.custom_field('FIELD_NAME_TYPE_COUPON', 'http://www.example.com')
custom_cell1 = helper::MemberCard.custom_cell('FIELD_NAME_TYPE_LEVEL', '立即查看', 'http://www.example.com')
card = helper::MemberCard.create(base_info, {prerogative: '持白金会员卡到店消费,可享8折优惠。',
                                 bonus: bonus, balance: balance,
                                 custom_field: [custom_field1,custom_field2,custom_field3],
                                 custom_cell: [custom_cell1]})
client.card_create(card)

创建特殊票券

准备基础信息

helper = WeixinAuthorize::CardJsonHelper
base_info =
    helper.base_info({logo_url: logo_url, code_type: 'CODE_TYPE_TEXT',
                      brand_name: 'xx票务公司', title: 'xx会议门票', sub_title: '全球首次举办',
                      color: 'Color010', notice: '请出示二维码核销卡券',
                      description: '请务必准时入场', service_phone: '020-88888888',
                      sku: helper.sku(100),
                      date_info: helper.date_info('DATE_TYPE_FIX_TERM', nil, nil, 0, 30)})

创建会议/演出门票

card = helper::MeetingTicket.create(base_info, {meeting_detail: '本次会议于2015年5月10号在广州举行,会场地点:xxxx。',
                                                map_url: 'http://www.example.com'})
client.card_create(card)

创建景区门票

card = helper::ScenicTicket.create(base_info, {ticket_class: '平日全票',
                                               guide_url: 'http://www.example.com'})
client.card_create(card)

创建电影票

card = helper::MovieTicket.create(base_info, {detail: '电影名:xxx,电影简介:xxx。'})
client.card_create(card)

创建飞机票

card = helper::MovieTicket.create(base_info, {from: '成都', to: '广州', flight: 'CE123', gate: 'A11',
                                              check_in_url: 'http://www.example.com', air_model: '空客A320',
                                              departure_time: 0, landing_time: 0})
client.card_create(card)

投放卡券

创建货架接口

场景值 scene

  • SCENE_NEAR_BY 附近
  • SCENE_SCAN 扫一扫
  • SCENE_SHAKE_TV 摇电视
  • SCENE_WIFI 微信wifi
  • SCENE_IBEACON iBeacon
  • SCENE_PAY 微信支付
  • SCENE_MENU 自定义菜单
  • SCENE_MONENTS_AD 朋友圈广告
  • SCENE_QRCODE 二维码
  • SCENE_ARTICLE 公众号文章
  • SCENE_H5 h5页面
  • SCENE_SHAKE_CARD 摇礼券
  • SCENE_BIZ_AD 公众号广告
  • SCENE_IVR 自动回复
  • SCENE_SMS 短信
  • SCENE_CARD_CUSTOM_CELL 卡券自定义cell
  • SCENE_CARD_MSG_URL 卡券消息运营位
  • SCENE_MEMBER_CARD_ANNOUNCEMENT 会员卡公告

示例:

banner_img_url = client.download_media_url(your_media_id)
can_share = 1 #是否可分享
scene = 'SCENE_PAY'
cardlist = [
          {cardid: your_card_id1, thumb_url: thumb_url1},
          {cardid: your_card_id2, thumb_url: thumb_url2}
          ]
response = client.card_landingpage(banner_img_url, title, can_share, scene, cardlist)
if response.ok?

# You was sccusse created landing page
else
# Please check your params
end

核销卡券

管理卡券

统计卡券数据

错误码一览表

  • -1 系统繁忙,此时请开发者稍候再试。
  • 0 请求成功
  • 40009 图片文件超长。
  • 40013 不合法的Appid,请开发者检查AppID的正确性,避免异常字符,注意大小写。
  • 40053 不合法的actioninfo,请开发者确认参数正确。
  • 40071 不合法的卡券类型。
  • 40072 不合法的编码方式。
  • 40078 不合法的卡券状态。
  • 40079 不合法的时间。
  • 40080 不合法的CardExt。
  • 40099 卡券已被核销。
  • 40100 不合法的时间区间。
  • 40116 不合法的Code码。
  • 40122 不合法的库存数量。
  • 40124 会员卡设置查过限制的 custom_field字段。
  • 40127 卡券被用户删除或转赠中。
  • 41012 缺少cardid参数。
  • 45030 该cardid无接口权限。
  • 45031 库存为0。
  • 45033 用户领取次数超过限制get_limit
  • 41011 缺少必填字段。
  • 45021 字段超过长度限制,请参考相应接口的字段说明。
  • 40056 不合法的Code码。
  • 43009 自定义SN权限,请前往公众平台申请。
  • 43010 无储值权限,请前往公众平台申请。