messager

package
v0.11.3 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2024 License: MIT Imports: 1 Imported by: 0

README

Message Sender约束

一般原则:

同一组织,同一发送平台下保留一个发送账号生效,采用优先级原则。

ORG -> APP_ID -> CATEGORY -> SENDER

组织1, App1, 短信, 默认1

  1. 如果对接多个平台,按照账号优先级,总是有一个生效,依照具体算法排序
  2. API在调用时不再提供sender_id。 template id依旧需要明确在参数中。
sms:

Sender组成:

app_key, app_secret, sign_name


  1. 现在不是SaaS模式,因此一个组织下,理论上每个短信平台允许存在一个SMS发送账号。
  2. 一个组织下设置一个默认发送账号
  3. 模板不维护签名等信息(如同一发送平台设置多个签名,需要创建多个sender)

sms签名优先级: api参数 > 模板配置 > sender配置

  1. 请求参数如果带有签名优先使用
  2. 如请求中不带签名值,会在模板中查找签名
  3. 如模板中未设置签名,会使用sender中的签名

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MailProvider

type MailProvider interface {
	Send(req MailRequest) error
}

type MailRequest

type MailRequest struct {
	Subject   string
	Receivers []string
	Template  model.MessageTemplate
	Params    map[string]any
}

type Message

type Message struct {
	MessageId       int `json:"id"`
	MessageCategory int `json:"messageCategory,omitempty"` // 消息类型
}

Message 消息

type Payload

type Payload struct {
	MessageCategory int         `json:"messageCategory,omitempty"` // 消息类型
	Sender          string      `json:"sender"`                    // 发送者ID,必须在系统中注册过
	Payload         interface{} `json:"payload"`
}

type Request

type Request struct {
	Template  model.MessageTemplate
	Params    map[string]any
	Receivers string
}

Request SMS发送请求

type Response

type Response struct {
	RequestId string      // 本次请求的唯一标识,由服务器分配。用来追溯历史
	Payload   interface{} // 个性化的服务器返回信息
}

Response 服务器回复

type SmsProvider

type SmsProvider interface {
	Send(req Request) (resp Response, err error)
}

SmsProvider 发短信工具

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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