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

     1  package boardingpass
     2  
     3  import (
     4  	"github.com/chanxuehong/wechat/mp/core"
     5  )
     6  
     7  type CheckinParameters struct {
     8  	Code   string `json:"code"`              // 必须; 卡券Code码。
     9  	CardId string `json:"card_id,omitempty"` // 可选; 卡券ID,自定义Code码的卡券必填。
    10  
    11  	PassengerName string `json:"passenger_name,omitempty"` // 必须; 乘客姓名, 上限为15 个汉字.
    12  	Class         string `json:"class,omitempty"`          // 必须; 舱等,如头等舱等,上限为5个汉字。
    13  	ETKT_NBR      string `json:"etkt_bnr,omitempty"`       // 必须; 电子客票号,上限为14个数字。
    14  	Seat          string `json:"seat,omitempty"`           // 可选; 乘客座位号。
    15  	QrcodeData    string `json:"qrcode_data,omitempty"`    // 可选; 二维码数据。乘客用于值机的二维码字符串,微信会通过此数据为用户生成值机用的二维码。
    16  	IsCancel      *bool  `json:"is_cancel,omitempty"`      // 可选; 是否取消值机。填写true或false。true代表取消,如填写true上述字段(如calss等)均不做判断,机票返回未值机状态,乘客可重新值机。默认填写false。
    17  }
    18  
    19  // 更新飞机票信息接口
    20  func Checkin(clt *core.Client, para *CheckinParameters) (err error) {
    21  	var result core.Error
    22  
    23  	incompleteURL := "https://api.weixin.qq.com/card/boardingpass/checkin?access_token="
    24  	if err = clt.PostJSON(incompleteURL, para, &result); err != nil {
    25  		return
    26  	}
    27  
    28  	if result.ErrCode != core.ErrCodeOK {
    29  		err = &result
    30  		return
    31  	}
    32  	return
    33  }