登录
原创

聚合云推 - 消息推送服务

发布于 2021-11-12 阅读 10246
  • 聚合云推
原创

产品说明

服务介绍

当您想发送一封邮件时,或者想发送一条消息通过钉钉机器人、企业微信机器人、微信公众号转发到对应的群组或者个人时,首先,我们需要查看对应官网的文档,然后申请、配置、调用接口等一系列的流程,微信公众号还需要进行认证审核等操作。这些操作和流程是否让您觉得繁琐?

基于这种情况,我们将这些消息媒介融合为一体,开放出一个接口,让您通过调用「消息推送API」就可以轻松将Html、Markdown、Json、XML等格式的自定义消息内容,推送至您所配置的微信公众号、邮件地址、钉钉群机器人、企业微信机器人,从而达到消息提醒的目的。

产品规格

消息发送频率(请求限制):每小时不超过50次
⚠️ 为了保障推送服务的可用稳定,请勿推送黄赌毒等违法信息。

使用流程

使用“消息推送API”服务需要3步:

Step1. 创建服务

1. 填写服务名称(如:余额预警、信用卡还款提醒等)
2. 选择推送方式(即消息接受的终端,如:手机、邮件、微信公众号等,此处可多选)
183DDD8206894AF98467F05ADECA0AA9.png

Step2. 创建完成

服务创建成功后,生成的Service ID(服务编码,作为每次创建服务的唯一标识)用于后续接口调用。
bQeDR3PiPVQpRLAT75csGA.png

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)

评论区

励志做一条安静的咸鱼,从此走上人生巅峰。

0

0

0

举报