创蓝253云通讯 paas 短信发送接口和定义说明
一、demo:
#include <arpa/inet.h>
#include <assert.h>
#include <errno.h>
#include <netinet/in.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <netdb.h>
#include <unistd.h>
#define SA struct sockaddr
#define MAXLINE 4096
#define MAXSUB 2000
#define MAXPARAM 2048
#define LISTENQ 1024
//线上线下接口宏开关
#define ONLINE
extern int h_errno;
int sockfd;
char *hostname = "123.59.105.84";
char *send_sms_uri = "/msg/send";
char *query_balance_uri = "/msg/balance";
/**
* * 发http post请求
* */
ssize_t http_post(char *page, char *poststr)
{
char sendline[MAXLINE + 1], recvline[MAXLINE + 1];
ssize_t n;
snprintf(sendline, MAXSUB,
"POST %s HTTP/1.0\r\n"
"Host: sms.253.com\r\n"
"Content-type: application/x-www-form-urlencoded\r\n"
"Content-length: %zu\r\n\r\n"
"%s", page, strlen(poststr), poststr);
write(sockfd, sendline, strlen(sendline));
printf("\n%s", sendline);
printf("\n--------------------------\n");
while ((n = read(sockfd, recvline, MAXLINE)) > 0) {
recvline[n] = '\0';
printf("%s\n", recvline);
}
return n;
}
/**
* * 查账户余额
* */
ssize_t get_balance(char *un, char *pw)
{
char params[MAXPARAM + 1];
char *cp = params;
sprintf(cp,"un=%s&pw=%s", un, pw);
return http_post(query_balance_uri, cp);
}
/**
* * 发送短信
* */
ssize_t send_sms(char *un, char *pw, char *phone, char *msg)
{
char params[MAXPARAM + 1];
char *cp = params;
sprintf(cp,"un=%s&pw=%s&phone=%s&msg=%s&rd=1", un, pw, phone, msg);
return http_post(send_sms_uri, cp);
}
int main(void)
{
struct sockaddr_in servaddr;
char str[50];
//建立socket连接
sockfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_addr.s_addr = inet_addr(hostname);
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(80);
inet_pton(AF_INET, str, &servaddr.sin_addr);
connect(sockfd, (SA *) & servaddr, sizeof(servaddr));
char *un = "账号";
char *pw = "密码";
char *phone = "手机号";
//必须带签名
char *msg = "【253云通讯】您的验证码是123400";
//get_balance(un, pw);
send_sms(un, pw, phone, msg);
close(sockfd);
exit(0);
}
二、创蓝253云通讯 paas 短信发送接口和定义说明
用户在遵循HTTP或者HTTPS协议的前提下,可通过GET和POST方式提交短信发送请求。
(1)短信提交地址:
短信可以提交不超过50000个手机号码,每个号码用英文逗号间隔。(一次提交发送超过200个手机号码,请使用POST请求)
URL地址为:
http://sms.253.com/msg/send
或 https://sms.253.com/msg/send(安全)
(2) 参数定义:
序号 参数 说明
1 un 必填参数。用户账号
2 pw 必填参数。用户密码
3 phone 必填参数。合法的手机号码,号码间用英文逗号分隔
4 msg 必填参数。短信内容,短信内容长度不能超过536个字符。使用URL方式编码为UTF-8格式。短信内容超过70个字符(企信通是60个字符)时,会被拆分成多条,然后以长短信的格式发送。
5 rd 必填参数。是否需要状态报告,0表示不需要,1表示需要
6 ex 可选参数,扩展码,用户定义扩展码,扩展码的长度将直接影响短信上行接收的接收。固需要传扩展码参数时,请提前咨询客服相关设置问题。
(3)短信提交响应:
用户短信通过http请求提交到服务器后,服务器返回响应码,响应码的格式如下:
响应时间,提交状态
messageid
A、格式说明:
短信提交响应分为两行,第一行为响应时间和提交状态,第二行为服务器给出提交messageid。无论发送的号码是多少,一个发送请求只返回一个messageid,如果响应的状态不是“0”,则没有messageid即第二行数据。(每行以换行符(0x0a,即\n)分割)
B、示例:
(4)提交成功
20161025170822,0
16102517082223817
响应时间为20161025170822,响应状态为0 表明那个成功提交到服务器;16102517082223817为返回的messageid,这个供状态报告匹配时使用。
Ø
20161025170822,101
提交失败
本示例表明用户提交失败,返回错误码为101,服务器端并未返回messageid。
C、响应状态值说明:
代码 说明
0 提交成功
101 无此用户
102 密码错
103 提交过快(提交速度超过流速限制)
104 系统忙(因平台侧原因,暂时无法处理提交的短信)
105 敏感短信(短信内容包含敏感词)
106 消息长度错(>536或<=0)
107 包含错误的手机号码
108
手机号码个数错(群发>50000或<=0)
109 无发送额度(该用户可用短信数已使用完)
110 不在发送时间内
113 extno格式错(非数字或者长度不对)
116 签名不合法或未带签名(用户必须带签名的前提下)
117 IP地址认证错,请求调用的IP地址不是系统登记的IP地址
118 用户没有相应的发送权限(账号被禁止发送)
119 用户已过期
120 违反放盗用策略(日发限制) --自定义添加
121 必填参数。是否需要状态报告,取值true或false
122 5分钟内相同账号提交相同
消息内容过多
123 发送类型错误
124 白模板匹配错误
125 匹配驳回模板,提交失败
126 审核通过模板匹配错误
128 内容解码失败,内容要保证utf-8格式的编码(例如%#+之类的特殊字符要urlencode编码)
(4)注意事项:
用户群发短信如果有审核的限制,则客户的短信必须经过管理人员的审核,审核通过后才能被提交到网关进行短信实际发送。
用户群发短信必须满足手机号码最低个数的限制,低于系统设定的群发最小手机号码数,则该提交请求会被拒绝,响应码为108。
(5)短信发送例子:【创蓝253云通讯】欢迎体验创蓝253云通讯产品,验证码是253253
http://sms.253.com/msg/send?un=N253253&pw=Bdewx3675f&phone=13482416860&msg=【创蓝253云通讯】欢迎体验创蓝253云通讯产品,验证码是253253&rd=1
创蓝253云通讯 paas 短信发送接口和定义说明相关推荐
- Python---短信接口demo,对接创蓝253云通讯paas平台
#!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...
- 创蓝253云通讯paas平台PHP短信接口demo分享
demo: <?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { // ...
- 【PHP】创蓝253云通讯paas平台短信验证码接口调用emo
<?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { //发送短信的接 ...
- 创蓝253云通讯短信平台变量说明
创蓝253云通讯变量说明文档 变量短信发送 用户通过HTTP的POST方式提交短信发送请求. 系统提交URL地址 http://sms.253.com/msg/HttpVarSM 参数定义 序号 参数 ...
- django框架中嵌入容联云sdk实现短信发送接口
1.注册容联云账号,主要是为了获取如下参数 添加测试手机号 2.关于sdk和用法可参考Demo示例,demo下载在最上面Demo下载 3.在自己的项目中导入需用到的模块 4.更改配置为自己申请的应用配 ...
- 【Python】创蓝253云通讯平台---国际短信API接口demo
#!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...
- 【Python】创蓝253云通讯平台国际短信API接口DEMO
#!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...
- APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯
1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...
- 短信验证码、短信服务商接口---PHP---对接创蓝253云通讯平台
<?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { //发送短信的接 ...
最新文章
- 未找到beta版怎么解决_刚刚,谷歌正式发布Android 11 Beta版,带来多项重磅更新...
- 实战Gradle——第一部分 Gradle介绍
- UITextView中的占位符
- NOI2014 动物园
- juqery代码优化
- python现有两个磁盘文件a和b_有两个磁盘文件A和B,各存放一行字母,今要求把这两个文件中的信息合并,输出到一个新文件C中。...
- iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
- [C++11] 右值引用和移动语义
- uwsgi模式_uWSGI / Pylons的开发模式(重新加载新代码)
- Android Textview实现文字颜色渐变效果
- silverlight将字符串转化为控件
- java 动画 制作_DragonBones简单动画制作实例
- 方舟服务器伤害怎么显示,方舟单机模式下怎么显示伤害数值啊 | 手游网游页游攻略大全...
- Chrome浏览器设置 【显示右上角 翻译语言图标】
- 速度最快的数据库---MEMSQL的安装与部署
- ppt怎么把图片做成翻书效果_PPT怎么制作翻书效果?PPT制作翻书效果教程
- pickle.PicklingError: Can't pickle function lambda
- 关于Scanner.nextLine()问题的解决方案
- mysql 提现_第四站——网贷平台数据分析(MySQL篇)
- linux下mysql定时备份命令