github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/card/membercard/activate.go (about)

     1  package membercard
     2  
     3  import (
     4  	"github.com/chanxuehong/wechat/mp/core"
     5  )
     6  
     7  type ActivateParameters struct {
     8  	Code   string `json:"code"`              // 必填, 创建会员卡时获取的初始code。
     9  	CardId string `json:"card_id,omitempty"` // 可选; 卡券ID. 自定义code 的会员卡必填card_id, 非自定义code 的会员卡不必填.
    10  
    11  	MembershipNumber string `json:"membership_number,omitempty"` // 必填, 会员卡编号,由开发者填入,作为序列号显示在用户的卡包里。可与Code码保持等值。
    12  
    13  	ActivateBeginTime int64 `json:"activate_begin_time,omitempty"` // 可选; 激活后的有效起始时间。若不填写默认以创建时的 data_info 为准。Unix时间戳格式。
    14  	ActivateEndTime   int64 `json:"activate_end_time,omitempty"`   // 可选; 激活后的有效截至时间。若不填写默认以创建时的 data_info 为准。Unix时间戳格式。
    15  
    16  	InitBonus   *int `json:"init_bonus,omitempty"`   // 可选; 初始积分, 不填为0
    17  	InitBalance *int `json:"init_balance,omitempty"` // 可选; 初始余额, 不填为0
    18  
    19  	InitCustomFieldValue1 string `json:"init_custom_field_value1,omitempty"` // 可选, 创建时字段custom_field1定义类型的初始值,限制为4个汉字,12字节。
    20  	InitCustomFieldValue2 string `json:"init_custom_field_value2,omitempty"` // 可选, 创建时字段custom_field2定义类型的初始值,限制为4个汉字,12字节。
    21  	InitCustomFieldValue3 string `json:"init_custom_field_value3,omitempty"` // 可选, 创建时字段custom_field3定义类型的初始值,限制为4个汉字,12字节。
    22  }
    23  
    24  // 激活/绑定会员卡
    25  func Activate(clt *core.Client, para *ActivateParameters) (err error) {
    26  	var result core.Error
    27  
    28  	incompleteURL := "https://api.weixin.qq.com/card/membercard/activate?access_token="
    29  	if err = clt.PostJSON(incompleteURL, para, &result); err != nil {
    30  		return
    31  	}
    32  
    33  	if result.ErrCode != core.ErrCodeOK {
    34  		err = &result
    35  		return
    36  	}
    37  	return
    38  }