产品说明
服务介绍
当您想发送一封邮件时,或者想发送一条消息通过钉钉机器人、企业微信机器人、微信公众号转发到对应的群组或者个人时,首先,我们需要查看对应官网的文档,然后申请、配置、调用接口等一系列的流程,微信公众号还需要进行认证审核等操作。这些操作和流程是否让您觉得繁琐?
基于这种情况,我们将这些消息媒介融合为一体,开放出一个接口,让您通过调用「消息推送API」就可以轻松将Html、Markdown、Json、XML等格式的自定义消息内容,推送至您所配置的微信公众号、邮件地址、钉钉群机器人、企业微信机器人,从而达到消息提醒的目的。
产品规格
消息发送频率(请求限制):每小时不超过50次
⚠️ 为了保障推送服务的可用稳定,请勿推送黄赌毒等违法信息。
使用流程
使用“消息推送API”服务需要3步:
Step1. 创建服务
1. 填写服务名称(如:余额预警、信用卡还款提醒等)
2. 选择推送方式(即消息接受的终端,如:手机、邮件、微信公众号等,此处可多选)
Step2. 创建完成
服务创建成功后,生成的Service ID(服务编码,作为每次创建服务的唯一标识)用于后续接口调用。
Step3. 调用接口
前往下面消息推送API文档,根据文档规范配置推送内容。
消息推送API文档
请求地址
https://tui.juhe.cn/api/plus/pushApi
请求方式
POST
Content-Type
application/x-www-form-urlencoded
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
token | char(32) | 是 | 用户令牌,在个人中心页面查看获取 |
title | varchar(20) | 是 | 消息标题 |
content | varchar(4000) | 是 | 消息内容 |
service_id | varchar(32) | 是 | 服务编号,在服务创建后自动生成ServiceID,是服务的唯一标识,可在每个服务的详情页中查看 |
doc_type | varchar(32) | 否 | 消息格式,支持txt、html、json、markdown,默认为txt格式,在消息详情页面,会以您当前选择的消息格式的类型展示你发送的消息内容 |
响应参数
字段名称 | 字段类型 | 说明 |
---|---|---|
token | int | 状态码 |
title | char(32) | 响应说明 |
content | object | 可忽略 |
service_id | object | 可忽略 |
响应数据示例
{
"code": 200,
"params": null,
"reason": "success",
"result": null
}
响应状态码说明
状态码 | 说明 |
---|---|
200 | 请求成功 |
101 | token错误 |
102 | service_id错误 |
103 | 创建的服务已经被关闭,请核实 |
104 | 标题长度错误 |
105 | 内容长度错误 |
106 | 服务异常,系统繁忙 |
107 | 请求路径错误 |
108 | 系统错误 |
消息推送API - 示例代码
curl
curl -d 'token=****&service_id=***&title=这是标题&content=这是内容'
https://tui.juhe.cn/api/plus/pushApi
返回:
{"code":200,"params":null,"reason":"success","result":null}
PHP
<?php
//接口url
$url = "https://tui.juhe.cn/api/plus/pushApi";
$token = "******";
$service_id = "*****";
$title = "这是标题";
$content = "这是内容";
$doc_type = "txt";
$response = post($url, [
'token' => $token,
'service_id' => $service_id,
'title' => $title,
'content' => $content,
'doc_type' => $doc_type
]);
//请求聚合接口所得到的响应报文
echo "接口返回:" . PHP_EOL;
echo $response;
/**
* 发送post请求
* @param string $url 请求地址
* @param array $post_data post键值对数据
* @return string
*/
function post(string $url, array $post_data)
{
$body = http_build_query($post_data);
$options = [
'http' => [
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $body,
'timeout' => 60 // 超时时间(单位:s)
]
];
$context = stream_context_create($options);
return file_get_contents($url, false, $context);
}
Java
package cn.juhe.controller;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @author micro.cloud.fly
* @date 2021/11/10 4:58 下午
* @desc 消息推送API示例代码
*/
public class Demo {
public static void main(String[] args) {
//接口url
String url = "https://tui.juhe.cn/api/plus/pushApi";
String token = "***";
String service_id = "***";
String title = "这是标题";
String content = "这是内容";
String doc_type = "txt";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
HttpMethod method = HttpMethod.POST;
// 以表单的方式提交
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//将请求头部和参数合成一个请求
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("token", token);
params.add("service_id", service_id);
params.add("title", title);
params.add("content", content);
params.add("doc_type", doc_type);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
String s = restTemplate.postForObject(url, requestEntity, String.class);
System.out.println(s);
}
}
GO
package main
import (
"fmt"
"io/ioutil"
"net/http"
"strings"
)
func main() {
//接口url
var url = "https://tui.juhe.cn/api/plus/pushApi"
contentType := "application/x-www-form-urlencoded"
data := `token=***&service_id=***&title=这是标题&content=这是内容`
resp, err := http.Post(url, contentType, strings.NewReader(data))
if err != nil {
fmt.Printf("错误, err:%v\n", err)
return
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("错误, err:%v\n", err)
return
}
fmt.Println("返回:", string(b))
}
Python
import requests
body = {"token": "***", "service_id": "***","title":"这是内容","content":"这是内容"}
r = requests.post("https://tui.juhe.cn/api/plus/pushApi", data=body)
print(r.text)
print(r.status_code)