伯勒邮件群发机-开放API
使用邮件群发机提供的开放API接口,你可以将本软件轻松整合到你自己的系统中,用自己的业务逻辑来驱动本软件工作,搭建触发型的的EDM服务。在用户需求刚产生时对其营销。典型案例:监视QQ群,当有新成员入群时给他发送邮件进行抢单。
你可以在 选项 -> 其他设置 中看到相关选项,默认端口号 8060。如果你把软件部署在一台有公网IP的服务器上,那所有能访问这台公共服务器的人就都可以调用你的服务了,而不仅限于本机。 如果你是在公网上提供服务,建议启用签名功能,这样可以有效防止非法调用。开放API部署教程
接口规范文档(兼容强强)
请求方法: GET/POST
数据格式: JSON
数据编码: GBK (中文需做 URL编码)
监听端口: 8060(可自定义)
签名算法
如果你启用了签名功能,则需要在请求头中增加 berllosoft-auth: 签名值
签名值算法为:berllosoft-auth=md5(QueryString+key+PostData+key)
【兼容qiangsoft-auth】
QueryString 为 url 中 ?后的参数列表
例如 http://127.0.0.1:8060/test?tid=11 则 QueryString 为 tid=11, 若无参数,则 QueryString 为空, PostData 在 GET 请求时也为空
接口1:测试
测试接口连通性
请求地址:http://127.0.0.1:8060/test
请求方法:GET
查询字串:空
返回数据:
{
"ret": 200,
"msg": "OK"
}
接口2:批量发送邮件
一次性提交多个收件人进行批量发送,使用软件中设置好的邮件模板进行发送
请求地址:http://127.0.0.1:8060/send
请求方法:POST
查询字串:
| 参数名 | 说明 | 可空 |
| tid | 模板ID(传入后发送指定标题和正文,比如tid=5,将使用标题/正文列表ID为5的标题和正文) | 是(如果为空,将根据软件设置进行调用标题/正文) |
请求数据:
[
{"email":"邮箱地址1","def1":"宏1","def2":"宏2","def3":"宏3","def4":"宏4","def5":"宏5"},
{"email":"邮箱地址2","def1":"宏1","def2":"宏2","def3":"宏3","def4":"宏4","def5":"宏5"},
{"email":"邮箱地址3","def1":"宏1","def2":"宏2","def3":"宏3","def4":"宏4","def5":"宏5"}
.......
]
//如果没有宏数据可不填写,即:
[
{"email":"邮箱地址1"},
{"email":"邮箱地址2"},
{"email":"邮箱地址3"}
.......
]
返回数据:
{
"ret": 200,
"msg": "OK",
"data":{
"received":1,
"parsed":1,
"filtered":0
"email_id":[
//第一位数字为提交时的序号,下划线后面的是软件生成的唯一标识(GUID),用于后续查询发送结果
"0_55d6019c-6eac-4238-8535-c3b3c2c20c16",
"1_4837012b-54b5-48f8-a204-98bce9059b38",
"2_afcb12f8-fdbe-425b-9e85-321127d38014",
.......
]
}
}
接口3:单封发送邮件
推送通知邮件,可指定标题和内容,使用此接口将忽略软件中已经设置好的邮件模板
请求地址:http://127.0.0.1:8060/push
请求方法:POST
请求数据:
{
"email": "邮箱地址",
"def1": "宏1",
"def2": "宏2",
"def3": "宏3",
"def4": "宏4",
"def5": "宏5",
"subject": "邮件标题", //base64
"content": "邮件标题" //base64
}
返回数据:
{
"ret": 200,
"msg": "OK",
"data":{"email_id":"55d6019c-6eac-4238-8535-c3b3c2c20c16″}
}
接口4:查询发送结果
通过接口返回的GUID批量查询邮件发送结果
请求地址:http://127.0.0.1:8060/query
请求方法:POST
请求数据:
[
"55d6019c-6eac-4238-8535-c3b3c2c20c16",
"4837012b-54b5-48f8-a204-98bce9059b38",
"afcb12f8-fdbe-425b-9e85-321127d38014",
.......
]
返回数据:
{
“ret”: 200,
“msg”: “OK”,
“data”:{
“result”:[
“55d6019c-6eac-4238-8535-c3b3c2c20c16_2|发送成功”, //GUID_状态码|错误信息
“4837012b-54b5-48f8-a204-98bce9059b38_3|发送失败:网络请求超时”,
“afcb12f8-fdbe-425b-9e85-321127d38014_4|发送失败:用户名密码错误”,
]
}
}