云智信134字营销短信

短信API接口对接,适用于短信验证、会员通知、会员营销、行业短信通知、语音验证码等场景; 支持三大运营商、虚拟运营商短信发送;接口支持最长134字符(两条内容67+67)

使用期限

价格

1012元
用户评价: 暂无评价

购买人数:13

规格与周期

10.00元/130次”,“一年

联系电话

服务保障

精选优质服务商
7*8小时在线客服
专业测试保证品质
退款售后无忧
API文档

130字营销短信发送

调用地址:http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release/longSms

请求方式:GET

返回类型:JSON

API调用: API调用说明(secret_id & secret_key)

去调试

请求参数(Headers)

名称
类型
是否必须
描述
暂无数据

请求参数(Qurey)

名称
类型
是否必须
描述
mobile
string
需要发送的手机号
param
string
模板中变量参数名,参数值,有多个时使用英文","隔开,例如:code:1111,aoumnt:100
tpl_id
string
模板id,联系客服人员申请成功的id

请求参数(Body)

名称
类型
是否必须
描述
暂无数据

请求示例

import urllib2, ssl, datetime, hmac, base64, hashlib

host = 'service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com'
url = 'http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release'
path = '/longSms'
source = 'source'
method ='GET'
querys = "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514";
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'

#云市场分配的密钥Id
SecretId='xxx'
#云市场分配的密钥Key
SecretKey='xxx'
dateTime = datetime.datetime.utcnow().strftime(GMT_FORMAT)
auth = "hmac id=\"" + SecretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\""
signStr = "date: " + dateTime + "\n" + "source: " + source
sign = hmac.new(SecretKey, signStr, hashlib.sha1).digest()
sign = base64.b64encode(sign)
sign = auth + sign + "\""

url = url + path + '?' + querys
request = urllib2.Request(url)

request.add_header('Authorization', sign)
request.add_header('Host', host)
request.add_header('Source', 'source')
request.add_header('Date', dateTime)
request.add_header('X-Requested-With', 'XMLHttpRequest')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urllib2.urlopen(request, context=ctx)
content = response.read()
if (content):
    print(content)
curl -v -X GET http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release/longSms ?mobile=159xxxx9999&param=code:李四&tpl_id=TP18031514-H 'Host:service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com' -H 'Source:source' -H 'Date:Mon, 19 Mar 2018 12:08:40 GMT' -H 'Authorization:hmac id = "AKIDi6qE41WgJ9w8h4h9zq68Vq24d1beIuN0qIwU", algorithm = "hmac-sha1", headers = "date source", signature = yMCxXNytW5nvVGNZ8aBtRxmiLJ4=' -H 'X-Requested-With:XMLHttpRequest' 
//请用云市场分配给您的密钥计算签名并放入请求头,Date为当前的GMT时间
<?php
$host = 'service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com';
$url = 'http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release';
$path = '/longSms';
$method = 'GET';
$source = 'source';

#云市场分配的密钥Id
$SecretId = 'xxx';
#云市场分配的密钥Key
$SecretKey = 'xxx';
$dateTime = gmdate('D, d M Y H:i:s T');
$auth = 'hmac id="' . $SecretId . '", algorithm="hmac-sha1", headers="date source", signature="';
$signStr = 'date: ' . $dateTime . "\n" . 'source: ' . $source;
$sign = base64_encode(hash_hmac('sha1', $signStr, $SecretKey, true));
$sign = $auth . $sign . '"';

$querys = "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514";
$url = $url . $path . "?" . $querys;

$headers = array(
    "Host: $host",
    'Accept: text/html, */*; q=0.01',
    "Source: $source",
    "Date: $dateTime",
    "Authorization: $sign",
    'X-Requested-With: XMLHttpRequest',
    'Accept-Encoding: gzip, deflate, sdch'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
$data = curl_exec($ch);
if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    // Show me the result
    var_dump($data);
    curl_close($ch);
}
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System;

public class CsharpTest
{
    public static String HMACSHA1Text(String EncryptText, String EncryptKey)
    {
            HMACSHA1 hmacsha1 = new HMACSHA1();
            hmacsha1.Key = System.Text.Encoding.UTF8.GetBytes(EncryptKey);

            byte[] dataBuffer = System.Text.Encoding.UTF8.GetBytes(EncryptText);
            byte[] hashBytes = hmacsha1.ComputeHash(dataBuffer);
            return Convert.ToBase64String(hashBytes);
    }

    public static void Main(String[] args)
    {
        String url = "http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release";
        String host = "service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com";
        String path = "/longSms";
        String method = "GET";
        String querys = "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514";
        String source = "source";

        //云市场分配的密钥Id
        String  secretId = "xxx";
        //云市场分配的密钥Key
        String  secretKey = "xxx";

        String dt = DateTime.UtcNow.GetDateTimeFormats('r')[0]; //Mon, 19 Mar 2018 12:00:44 GMT
        url = url + path + "?" + querys;

        String signStr = "x-date: " + dt + "\n" + "source: " + source;
        String sign = HMACSHA1Text(signStr, secretKey);

        String auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
        auth = auth + sign + "\"";
        Console.WriteLine(auth + "\n");

        HttpWebRequest httpRequest = null;
        HttpWebResponse httpResponse = null;

        if (url.Contains("https://"))
        {
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
        }
        else
        {
            httpRequest = (HttpWebRequest)WebRequest.Create(url);
        }

        httpRequest.Method = method;
        httpRequest.Headers.Add("Authorization", auth);
        httpRequest.Headers.Add("Source", source);
        httpRequest.Headers.Add("X-date", dt);

        try
        {
            httpResponse = (HttpWebResponse)httpRequest.GetResponse();
        }
        catch (WebException ex)
        {
            httpResponse = (HttpWebResponse)ex.Response;
        }

        Console.WriteLine(httpResponse.StatusCode);
        Console.WriteLine(httpResponse.Headers);
        Stream st = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
        Console.WriteLine(reader.ReadToEnd());
        Console.WriteLine("\n");

    }

    public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
    {
        return true;
    }
}
package main

import (
    "time"
    "fmt"
    "crypto/hmac"
    "crypto/sha1"
    "io"
    "io/ioutil"
    "encoding/base64"
    "net/http"
)


func calcAuthorization(source string, secretId string, secretKey string) (sign string, dateTime string, err error) {
    timeLocation, _ := time.LoadLocation("Etc/GMT")
    dateTime = time.Now().In(timeLocation).Format("Mon, 02 Jan 2006 15:04:05 GMT")
    sign = fmt.Sprintf("x-date: %s\nsource: %s", dateTime, source)
    fmt.Println(sign)

    //hmac-sha1
    h := hmac.New(sha1.New, []byte(secretKey))
    io.WriteString(h, sign)
    sign = fmt.Sprintf("%x", h.Sum(nil))
    sign = string(h.Sum(nil))
    fmt.Println("sign:", fmt.Sprintf("%s", h.Sum(nil)))

    //base64
    sign = base64.StdEncoding.EncodeToString([]byte(sign))
    fmt.Println("sign:", sign)

    auth := fmt.Sprintf("hmac id=\"%s\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"%s\"",
        secretId, sign)
    fmt.Println("auth:", auth)

    return auth, dateTime, nil
}

func main () {

    //云市场分配的密钥Id
    SecretId := "xxx"
    //云市场分配的密钥Key
    SecretKey := "xxx"
    source := "source"

    sign, dateTime, err := calcAuthorization(source, SecretId, SecretKey)
    if err != nil {
        fmt.Println(err)
        return
    }

    defaultDomain := "service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com"
    path := "/longSms"
    query := "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514"
    url := "http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release"
    reqUrl := url + path + "?" + query
    client := &http.Client{
        Timeout: 7 * time.Second,//set timeout
    }

    req, err := http.NewRequest("GET", reqUrl, nil) //set body
    if err != nil {
        fmt.Println(err)
        return
    }

    req.Header.Set("Accept", "*/*")
    req.Header.Set("Accept-Charset", "utf-8;")
    req.Header.Set("Host", defaultDomain)
    req.Header.Set("Source", source)
    req.Header.Set("X-Date", dateTime)
    req.Header.Set("Authorization", sign)

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()

    fmt.Println("status code:", resp.StatusCode)

    //get resp header
    var headerMsg string
    for key, _ := range resp.Header {
        headerMsg += fmt.Sprintf("\n%s:%s", key, resp.Header.Get(key))
    }
    fmt.Println(headerMsg)

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(string(body))
}
import java.io.*;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.HttpURLConnection;
import sun.misc.BASE64Encoder;

class test
{
    public static String sign(String secret, String timeStr)
        throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        //get signStr
        String signStr = "date: " + timeStr + "\n" + "source: " + "source";
        //get sig
        String sig = null;
        Mac mac1 = Mac.getInstance("HmacSHA1");
        byte[] hash;
        SecretKeySpec secretKey = new SecretKeySpec(secret.getBytes("UTF-8"), mac1.getAlgorithm());
        mac1.init(secretKey);
        hash = mac1.doFinal(signStr.getBytes("UTF-8"));
        sig = new BASE64Encoder().encode(hash);
        System.out.println("signValue--->" + sig);
        return sig;
    }

    public static void main(String[] args) {
        String result = "";
        BufferedReader in = null;

        //get current GMT time
        Calendar cd = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US);
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        String timeStr = sdf.format(cd.getTime());

        String host = "service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com";
        String path = "/longSms";
        String query = "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514";
        String url = "http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release";
        url = url + path + "?" + query;
        String source = "source";


        //云市场分配的密钥Id
        String secretId = "xxx";
        //云市场分配的密钥Key
        String secretKey = "xxx";

        try {
            String urlNameString = url;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            HttpURLConnection httpUrlCon = (HttpURLConnection)connection;
            // 设置通用的请求属性
            httpUrlCon.setRequestProperty("Host", host);
            httpUrlCon.setRequestProperty("Accept", "text/html, */*; q=0.01");
            httpUrlCon.setRequestProperty("Source", source );
            httpUrlCon.setRequestProperty("Date", timeStr);
            String sig = sign(secretKey,timeStr);
            String authen = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"date source\", signature=\"" + sig + "\"";
            System.out.println("authen --->" + authen);
            httpUrlCon.setRequestProperty("Authorization", authen);
            httpUrlCon.setRequestProperty("X-Requested-With", "XMLHttpRequest");
            httpUrlCon.setRequestProperty("Accept-Encoding", "gzip, deflate, sdch");
            // 建立实际的连接
            httpUrlCon.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = httpUrlCon.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
            httpUrlCon.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);

        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}
/**
 * npm install crypto-js axios
 */
var CryptoJS = require("crypto-js");
var axios = require('axios');

var nowDate = new Date();
var dateTime = nowDate.toGMTString();

var host = "service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com";
var path = "/longSms";
var query = "mobile=159xxxx9999&param=code%3A%E6%9D%8E%E5%9B%9B&tpl_id=TP18031514";
var url = "http://service-17uvuzah-1255399658.ap-beijing.apigateway.myqcloud.com/release";
url = url + path + "?" + query;
var source = "source";

//云市场分配的密钥Id
var secretId = "xxx";
//云市场分配的密钥Key
var secretKey = "xxx";

var auth = "hmac id=\"" + secretId + "\", algorithm=\"hmac-sha1\", headers=\"x-date source\", signature=\"";
var signStr = "x-date: " + dateTime + "\n" + "source: " + source;
var sign = CryptoJS.HmacSHA1(signStr, secretKey)
console.log(sign.toString())
sign = CryptoJS.enc.Base64.stringify(sign)
sign = auth + sign + "\""
console.log(sign)

var instance = axios.create({
    baseURL: url,
    timeout: 5000,
    headers: {
        "Source": source,
        "X-date": dateTime,
        "Authorization": sign
    },
    withCredentials: true
});


instance.get()
    .then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

正常返回示例

{
    "return_code":"00000",
    "order_id":"TXL126........257"
}

失败返回示例

{
    "return_code":"10001"
}

返回码定义

返回码
返回信息
描述
10000
参数异常
必传参数有空值
10001
手机号格式不正确
手机号应为11位手机号
10002
模板不存在
没有申请模板,或模板未通过审核
10003
模板变量不正确
模板中含有变量,但未将变量传入,变量传值格式错误
10004
变量中含有敏感词
变量中含有违法敏感词
10005
变量名称不匹配
申请的模板中含有变量名称,变量的名称与所传变量名称不匹配
10006
短信长度过长
签名+模板+变量长度超过超过规定的短信长度
10007
手机号查询不到归属地
所传手机号查询不到归属地
10008
产品错误
系统错误,详情请联系客服
10009
价格错误
系统错误,详情请联系客服
10010
重复调用
由于网络原因重复调用接口
99999
系统异常
系统异常
产品详情

商品详情

9996503733208ec6d8d5a9cc3774b461.png
d6d4496419ffcdd74bf56751f17ca59a.jpg

接口特别说明:

(1)短信测试可使用默认短信模板:TP18031514

,【山东鼎信网络】尊敬的#code#会员:自3月15日起,开启全新停车收费模式!白天1元半小时,夜间最高3元。详见店内公告明示,回T退订

(2)短信字数不能超过 134字,标点、数字、英文都算一个字符

短信长度大于一条计算方式为67字+67字

(3)签名要求:3-8个字符,签名需要是公司名、产品名、网站名、系统名等,特殊情况需要提供相关证明

(4)操作步骤:联系客服创建模板,设置参数,发送短信

(5)短信内容不要包含特殊字符及违反法律要求的内容

 

售后支持范围:

若正式使用签名,您需要进行签名报备。
报备方式: 联系 QQ在线客服 或添加 QQ 2355936155 

评价详情
暂无评价
购买记录
联系电话

18663865081

联系客服
请提前登录QQ,以获得更好体验

小云商务经理

服务时间

08:00-18:00

联系邮箱

liyh@decent.cn

10 12元
立即购买
联系方式

联系电话

18663865081

服务时间

08:00-18:00

联系邮箱

liyh@decent.cn
必须同意使用协议才可购买