/communication/bulk
向多个接收方批量发送短信或邮件。支持模板变量替换,逐条记录发送状态,适用于营销通知、系统公告等批量通信场景。参考:ePrivacy Directive 2002/58/EC、CAN-SPAM Act。
Request Body
Schema: dto.BulkSendRequest
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
channel |
string |
Yes | sms |
enum: `sms`, `email` | |
content |
string |
Yes | 您的验证码是123456 |
||
recipients |
array of string |
Yes | ['["13800138000"', '"13900139000"]'] |
||
subject |
string |
No | 通知 |
||
template |
string |
No | verify_code |
||
user_id |
string |
No | usr_abc123 |
||
variables |
object |
No | extra keys: `string` |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 批量发送成功,返回各条日志列表 | dto.CommunicationLogListResponse |
| 400 | 请求参数错误 | dto.SimpleResponse |
| 401 | 未认证或令牌无效 | dto.SimpleResponse |
| 403 | 无权访问该资源 | dto.SimpleResponse |
| 404 | 资源不存在 | dto.SimpleResponse |
| 500 | 服务内部错误 | dto.SimpleResponse |
Referenced Schemas
dto.CommunicationLogListResponse
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
code |
integer |
No | |||
items |
array of |
No | 统一使用 items | ||
message |
string |
No | |||
pagination |
object |
No | 分页信息(嵌套对象) | ||
timestamp |
string |
No | |||
total |
integer |
No | 总条数(平铺,便于直接读取) |
dto.CommunicationLogResponse
消息发送日志记录
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
channel |
string |
No | sms |
||
content |
string |
No | 您的验证码是123456 |
||
created_at |
string |
No | 2026-04-15T10:00:00Z |
||
error |
string |
No | 发送超时 |
||
id |
string |
No | log_abc123 |
||
provider |
string |
No | aliyun |
||
recipient |
string |
No | 138****8000 |
||
response |
string |
No | |||
sent_at |
string |
No | 2026-04-15T10:01:00Z |
||
status |
string |
No | delivered |
||
template_id |
string |
No | tpl_abc123 |
||
tenant_id |
string |
No | tnt_xyz789 |
||
updated_at |
string |
No | 2026-04-15T10:00:00Z |
||
user_id |
string |
No | usr_abc123 |
dto.PageInfo
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
has_next |
boolean |
No | HasNext indicates whether there is a next page | ||
has_prev |
boolean |
No | HasPrev indicates whether there is a previous page | ||
page |
integer |
No | Page is the current page number (1-based) | ||
page_size |
integer |
No | PageSize is the number of items per page | ||
total |
integer |
No | Total is the total number of items across all pages | ||
total_pages |
integer |
No | TotalPages is the total number of pages |
dto.SimpleResponse
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
code |
integer |
No | |||
message |
string |
No | |||
timestamp |
string |
No |