国际网页短信软件平台搭建定制接口说明|移讯云短信系统

国际网页短信软件平台搭建定制接口说明|移讯云短信系统

通道路由功能介绍

支持地区通道分流,支持关键字,关键词通道分流,支持白名单独立通道,支持全网通道分流,支持通道可发地区设置,通道路由分组,用户通道分组设置,可通后台添加模板场景和模板类型,支持变量模板

这里先介绍下客户的定制需求,稍候放出开发构架和开发思路

我们根据市场需要,开发了一套可以接入国际通道的短信系统。

客户对短信平台系统开发的定制要求:

1:客户端支持英文和中文切换

2:客户端发送自定义短信时,客户必须可以自行选择通道。

3:客户选择通道时,必须已列表形式。通道选择列表时必须有通道名称(通道名称必须能在后台进行设置),通道所属国家的国旗图标,通道余额

4:客户选择通道后,可通过此通道发出

5:每个通道的可用条数必须是独立的。

6:界面必须是已国外形式出现。不能使用模板页面,不能使用中规中矩的页面

7:手机访问要自适应客户端和后台

8:必须能接入SMPP通道,必须实时返回每个号码的状态,中文状态,通道真正状态,通道批次号和系统自带批次号

9:日志报表必须能区分号码归属地和运营商

10:必须支持对外HTTP api接口,方便其他软件对接平台系统

11:客户端首页必须显示 服务器状态和SMPP服务程序是否正常的状态。要实时更新

12:后台必须能停用客户通道,停用后客户不能在发送短信时不能再次使用

13:预留模块可进行升级和二次短信开发和搭建。

关于客户通道充值

通过后台给客户分配通道后,必须给客户的通道充值 才可进行发送。不通道 不通条数。

例如给某个客户分配两个通道 A通道和B通道 然后点击用户管理中的充值  给这个客户两个不同的通道进行充值 例如给A通道充值1000条  B通道充值2000条

那么当客户登录后点击短信发送 选择不同通道时 显示的可用条数不一样。

对短信平台定制的调整

根据客户要求我们修改了如下功能

1:全新的页面。

2:导入了号码归属地数据库。

3:修改了数据库表,用来分配客户端通道和不通通道不通条数。

4:增加了通道图片国旗显示。

5:服务程序修改了状态数据返回值和数据成功失败未知条数整理。

6:修改了短信平台服务程序中的回执速度和发送提交速度。

7:修改了界面手机自适应效果,杜绝以前手机打开不能适应手机、显示不全、手机显示跑位问题。

8:在首页显示实时更新服务器状态是否正常。

短信平台源码搭建的代码展示

界面展示

此接口为发送接口可直接通过pos直接调用 直接发送,源码短信平台搭建平台时 包含此功能,在客户端中可查看API接口文档

接口名称:自定义短信发送接口

接口方式:POST

接口返回类型:JSON

接口地址:http://平台地址/send/send_api.aspx

接口参数参数作用是否必填备注

sms_user 接口账号 必填 客户端登陆账号

pass 账号密码 必填 用户账号对应的密码

send_phone 发送号码 必填 发信发送的目的号码.多个号码之间用半角逗号隔开 (每包最多20000个)

message 发送内容 必填 短信的内容

tongdao 通道名称 必填 分配的通道名称

接口提交成功返回值格式

提交返回成功格式:{"status":0,"msgnumber":"3114477723111099"}

返回值字段说明

msgnumber:此次提交批次号用于接收状态使用 

status值是0代表提交成功

status值是1代表提交号码超出3000个号码,每次提交每包不能超出3000条

status值是2代表发送账号余额不足

status值是3代表账号和密码错误

status值是4代表参数错误

status值是5代表通道不存在

平台外放接口介绍

支持接入CMPP接口,支持SMPP通道接入,支持外放CMPP接口(其他平台可以通过CMPP接入我平台),支持HTTP API JSON 接口,支持HTTP API 回执接口,支持验证码生成接口,支持变量接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用VisualStudio制作上位机(六)

文章目录 使用VisualStudio制作上位机(六)第五部分:应用程序打包第一步:勾选为Release模式第二步:生成解决方案第三步:将我们额外添加的文件放入到Release这个文件夹里 使用VisualStudio制作上位机&#xf…

笙默考试管理系统-MyExamTest----codemirror(12)

笙默考试管理系统-MyExamTest----codemirror(12) 目录 笙默考试管理系统-MyExamTest----codemirror(12) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…

qt day5 数据库,tcp

数据库 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QSqlDatabase>//数据库管理类 #include <QSqlRecord>//记录类 #include <QSqlQuery>//执行sql语句对应的类 #include <QMessageBox> #include<QDebug> …

MySQL中的索引事务(2)事务----》数据库运行的原理知识+面试题~

本篇文章建议读者结合&#xff1a;MySQL中的索引事务&#xff08;1&#xff09;索引----》数据库运行的原理知识面试题~_念君思宁的博客-CSDN博客此时&#xff0c;如果你根据name来查询&#xff0c;查到叶子节点得到的只是主键id&#xff0c;还需要通过主键id去主键的B树里面在…

ApiPost7使用介绍 | HTTP Websocket

一、基本介绍 创建项目&#xff08;团队下面可以创建多个项目节点&#xff0c;每个项目可以创建多个接口&#xff09;&#xff1a; 参数描述库&#xff08;填写参数时自动填充描述&#xff09;&#xff1a; 新建环境&#xff08;前置URL、环境变量很有用&#xff09;&#x…

openproject在docker下的安装

官方指引&#xff1a;https://www.openproject.org/docs/installation-and-operations/installation/docker/ 网友指引&#xff1a;https://blog.csdn.net/joefive/article/details/119409550 建个自己的数据文件夹&#xff1a; sudo mkdir -p /var/lib/openproject/{mydata…

C语言中结构体和位段的一些知识

一、结构体 struct stu {char name[20];//20//对齐数为8int age;//4//两个数中最大对齐数为8&#xff0c;而24又是8的整数倍 }; int main () {printf("%d\n", sizeof(struct stu));//只有vs中有对齐数为8&#xff0c;gcc没有对齐数&#xff0c;对齐数为成员变量自…

SpringBoot - Google EventBus、AsyncEventBus

介绍 EventBus 顾名思义&#xff0c;事件总线&#xff0c;是一个轻量级的发布/订阅模式的应用模式&#xff0c;最初设计及应用源与 google guava 库。 相比于各种 MQ 中间件更加简洁、轻量&#xff0c;它可以在单体非分布式的小型应用模块内部使用&#xff08;即同一个JVM范围…

CSS3 知识点

一、【圆角效果】 border-radius: 5px 4px 3px 2px; border-top-right-radius:10px 右上解圆滑 二、【阴影效果】 box-shadow: X轴偏移量 Y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式]; box-shadow: 0 0 15px blue inset; 内阴影 三、【颜色之RGBA】 colo…

线上问诊:数仓开发(三)

系列文章目录 线上问诊&#xff1a;业务数据采集 线上问诊&#xff1a;数仓数据同步 线上问诊&#xff1a;数仓开发(一) 线上问诊&#xff1a;数仓开发(二) 线上问诊&#xff1a;数仓开发(三) 文章目录 系列文章目录前言一、ADS1.交易主题1.交易综合统计2.各医院交易统计3.各性…

Golang的类型断言的使用

1.把接口转为结构体&#xff0c;再塞给一个结构体的变量 package main//把接口转为结构体&#xff0c;再塞给一个结构体的变量 // 结构体接口.(结构体) import "fmt"type Point struct {x inty int }func main() {var a interface{}var point Point Point{1, 2}a …

js+html实现打字游戏v2

实现逻辑&#xff0c;看jshtml实现打字游戏v1&#xff0c;在此基础之上增加了从文件读取到的单词&#xff0c;随机选取10个单词。 效果演示 上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&l…

window系统 bat脚本开启和关闭防火墙

前言 手动去关闭和开启防火墙太麻烦 命令 开始防火墙 netsh advfirewall set allprofiles state on关闭防火墙 netsh advfirewall set allprofiles state off

Maven高级

目录 1.分模块设计与开发 2.继承与聚合 ​编辑 3.私服 资源上传和下载 1.分模块设计与开发 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 分模块设计需要先针对模块功能进行设计&…

Python+Requests+Pytest+Excel+Allure 接口自动化测试项目实战【框架之间的对比】

--------UnitTest框架和PyTest框架的简单认识对比与项目实战-------- 定义&#xff1a; Unittest是Python标准库中自带的单元测试框架&#xff0c;Unittest有时候也被称为PyUnit&#xff0c;就像JUnit是Java语言的标准单元测试框架一样&#xff0c;Unittest则是Python语言的标…

MySQL——连接查询与子查询

一、连接查询 单表查询&#xff1a;在一张表当中查询数据&#xff0c;叫做单表查询。 连接查询&#xff0c;结合俩&#xff08;多&#xff09;张表&#xff0c;在俩张&#xff08;多&#xff09;表当中查询数据&#xff0c;在一张表当中查询一部分&#xff0c;在另一张表当中…

5个强大的Java分布式缓存框架推荐

在开发中大型Java软件项目时&#xff0c;很多Java架构师都会遇到数据库读写瓶颈&#xff0c;如果你在系统架构时并没有将缓存策略考虑进去&#xff0c;或者并没有选择更优的缓存策略&#xff0c;那么到时候重构起来将会是一个噩梦。 在开发中大型Java软件项目时&#xff0c;很…

C语言之练习题

欢迎来到我的&#xff1a;世界 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 前言填空题&#xff1a;第一题第二题第三题 编程题&#xff1a;第一题&#xff1a;不用加减乘除做加法第二题&#xff1a;完全数计算第三题&am…

字节9.3秋招研发笔试 【后端方向】第三题

题目 小红拿到了一个无向图&#xff0c;初始每人节点是白色&#xff0c;其中有若干个节点被染成了红色。小红想知道&#xff0c;若将 i 号节点染成红色&#xff0c;当前的红色连块的数量是多少? 你需要回答i∈[1,n] 的答案。 定义&#xff0c;若干节点组成一个红色连通块&am…

lintcode 1827 · 停在原地的方案数2 【动态规划 中等 vip】

题目 https://www.lintcode.com/problem/1827/ 有一个长度为 arrLen 的数组&#xff0c;开始有一个指针在索引 0 处。 每一步操作中&#xff0c;你可以将指针向左或向右移动 1 步&#xff0c;或者停在原地&#xff08;指针不能被移动到数组范围外&#xff09;。 给你两个整数…