template

package
v0.0.0-...-7becda7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2017 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

模板消息接口.

Index

Constants

View Source
const (
	TemplateSendStatusSuccess            = "success"               // 送达成功时
	TemplateSendStatusFailedUserBlock    = "failed:user block"     // 送达由于用户拒收(用户设置拒绝接收公众号消息)而失败
	TemplateSendStatusFailedSystemFailed = "failed: system failed" // 送达由于其他原因失败
)
View Source
const (
	EventTypeTemplateSendJobFinish core.EventType = "TEMPLATESENDJOBFINISH"
)

Variables

This section is empty.

Functions

func AddPrivateTemplate

func AddPrivateTemplate(clt *core.Client, templateIdShort string) (templateId string, err error)

从行业模板库选择模板添加到账号后台, 并返回模板id.

templateIdShort: 模板库中模板的编号, 有"TM**"和"OPENTMTM**"等形式.

func DeletePrivateTemplate

func DeletePrivateTemplate(clt *core.Client, templateId string) (err error)

删除模板.

func Send

func Send(clt *core.Client, msg interface{}) (msgid int64, err error)

发送模板消息, msg 是经过 encoding/json.Marshal 得到的结果符合微信消息格式的任何数据结构, 一般为 *TemplateMessage 类型.

func SetIndustry

func SetIndustry(clt *core.Client, industryId1, industryId2 int64) (err error)

设置所属行业.

Types

type DataItem

type DataItem struct {
	Value string `json:"value"`
	Color string `json:"color,omitempty"`
}

模版内某个 .DATA 的值

type Industry

type Industry struct {
	FirstClass  string `json:"first_class"`
	SecondClass string `json:"second_class"`
}

func GetIndustry

func GetIndustry(clt *core.Client) (primaryIndustry, secondaryIndustry Industry, err error)

获取设置的行业信息

type Template

type Template struct {
	TemplateId      string `json:"template_id"`
	Title           string `json:"title"`
	PrimaryIndustry string `json:"primary_industry"`
	DeputyIndustry  string `json:"deputy_industry"`
	Content         string `json:"content"`
	Example         string `json:"example"`
}

模板数据结构

{
    "template_id": "iPk5sOIt5X_flOVKn5GrTFpncEYTojx6ddbt8WYoV5s",
    "title": "领取奖金提醒",
    "primary_industry": "IT科技",
    "deputy_industry": "互联网|电子商务",
    "content": "{ {result.DATA} }\n\n领奖金额:{ {withdrawMoney.DATA} }\n领奖  时间:{ {withdrawTime.DATA} }\n银行信息:{ {cardInfo.DATA} }\n到账时间:  { {arrivedTime.DATA} }\n{ {remark.DATA} }",
    "example": "您已提交领奖申请\n\n领奖金额:xxxx元\n领奖时间:2013-10-10 12:22:22\n银行信息:xx银行(尾号xxxx)\n到账时间:预计xxxxxxx\n\n预计将于xxxx到达您的银行卡"
}

func GetAllPrivateTemplate

func GetAllPrivateTemplate(clt *core.Client) (templateList []Template, err error)

获取模板列表

type TemplateMessage

type TemplateMessage struct {
	ToUser     string          `json:"touser"`             // 必须, 接受者OpenID
	TemplateId string          `json:"template_id"`        // 必须, 模版ID
	URL        string          `json:"url,omitempty"`      // 可选, 用户点击后跳转的URL, 该URL必须处于开发者在公众平台网站中设置的域中
	TopColor   string          `json:"topcolor,omitempty"` // 可选, 整个消息的颜色, 可以不设置
	Data       json.RawMessage `json:"data"`               // 必须, JSON 格式的 []byte, 满足特定的模板需求
}

type TemplateMessage2

type TemplateMessage2 struct {
	ToUser     string      `json:"touser"`             // 必须, 接受者OpenID
	TemplateId string      `json:"template_id"`        // 必须, 模版ID
	URL        string      `json:"url,omitempty"`      // 可选, 用户点击后跳转的URL, 该URL必须处于开发者在公众平台网站中设置的域中
	TopColor   string      `json:"topcolor,omitempty"` // 可选, 整个消息的颜色, 可以不设置
	Data       interface{} `json:"data"`               // 必须, struct 或者 *struct, encoding/json.Marshal 后满足格式要求.
}

type TemplateSendJobFinishEvent

type TemplateSendJobFinishEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	core.MsgHeader
	EventType core.EventType `xml:"Event"  json:"Event"`  // 此处为 TEMPLATESENDJOBFINISH
	MsgId     int64          `xml:"MsgId"  json:"MsgId"`  // 模板消息ID
	Status    string         `xml:"Status" json:"Status"` // 发送状态
}

func GetTemplateSendJobFinishEvent

func GetTemplateSendJobFinishEvent(msg *core.MixedMsg) *TemplateSendJobFinishEvent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL