当前位置:文档之家› 浩顺接口SDK

浩顺接口SDK

浩顺接口SDK
浩顺接口SDK

1.通讯协议共同利用的内容1.1 文档中所使用的术语

1.2 基于HTTP协议机器与服务器通讯。

机器向服务器发送的所有的请求用POST方式的HTTP 请求。

利用在POST方式上传二进制数据的方法机器到服务器传达数据。

对这个POST请求的HTTP 应答的body部分也包含二进制数据。

1.3 请求和应答中所使用的二进制数据的格式

HTTP请求和应答中所使用的二进制数据的格式是如下。

字符串数据放在最前边后续放置任意个数的二进制数据。

字符串数据是 JSON格式的字符串而且他的编码是 UTF-8。

其实使用JSON格式可以表达所有的数据格式。可是表达二进制数据时可能产生整个数据的大少问题还有通讯速度问题等较难接收的问题。在这个通讯协议中尽可能使用json格式却不可避免的情况下使用二进制数据来表达数据。

使用二进制数据时在前面的字符串数据里有标识对应后面的二进制数据是哪一个。

举个例子说如果某个字段的值的数据类型是二进制数据时用“BIN_n”的字符串来表示那个字段的值。

在此 n是后面的二进制数据的序号,从1开始。

实例 :

{“log_array”:”BIN_1”}

这个JSON字符串说明记录数据是二进制数据而且放在字符串数据后面的第一个位置。

1.4 机器与服务器的通讯流程

与WEB服务器的通讯大概分两种。

一个是机器接收而执行操作者指令的流程,另一个是机器通知服务器某种事件(比如新记录的产生)的流程。

2. 操作者指令的大概处理过程

操作者指令处理,是用户登陆服务器选择需要管理的考勤机,向考勤机下发指令,接收指令执行结果的过程。处理过程如下:

1)操作者选择考勤机,获得机器号(device_id)。

2)操作者在WEB服务器联动的数据库上保存对该机器所执行的指令的记录。

其记录中包含如下信息。

任务识别号(trans_id),

机器识别号(device_id),

指令识别号(cmd_code),

指令参数数据(cmd_param),

任务状态(trans_status),

任务状态最后更新时间(trans_status_update_time)

3)机器每隔一定时间向服务器询问有没有针对自己发送的指令,如果有就拿过来执行,并且将其结果上传到WEB服务器。

4)操作者每隔一定时间询问服务指令的执行状态。如果有已执行的标识,就处理该结果。

这里trans_id是任务识别号,即返回指令执行结果时用这个识别号来判断这个结果是对应哪一条指令的。

这个流程表示如图 2-1。

图2-1.指令处理过程中的通讯流程

机器上传指令结果时如果结果数据是较大(10KB以上)可能划分几次上传该结果。

这时候机器分割数据成几个块而传输,服务器按顺序接收块保存在临时缓冲器。

如果服务器接收最后的块(块序号是0)拼接以前接收的块造成完整的结果数据而保存在数据库。

这样的流程如图2-2。

图2-2. 如果结果数据大分割成几个块而一次传输一个块接收指令而执行的流程和这时提交的 HTTP请求和返回应答的格式大部分类似却按指令有所不同。

2.1 考勤机实现接收操作者指令所需的请求和应答

为了接收向自己发送的指令,考勤机每隔一定时间向WEB服务器发送HTTP request,并接收response,具体格式如下:

2.1.1 机器接收操作者指令的请求

为了接收向自己发送的指令,考勤机每隔一定时间向WEB服务器发送HTTP POST 请求。

这时HTTP头部(header)里放置如下字段。

上面一BOLD字体来标记的是该注意的字段。

HTTP body部分里放置在1.3描述的数据。

body部分放置的字符串的内容是如下。

{

“fk_name”:<1>,

“fk_time”:<2>,

“fk_info”:

{

"supported_enroll_data":<3.1>,

"fk_bin_data_lib":<3.2>,

"firmware":<3.3>,

"firmware_filename":<3.4>,

"fp_data_ver":<3.5>

}

}

fk_name 字段:机器的名字

fk_time 字段:机器提交HTTP请求的机器的时间。时间字符串的格式是 YYMMDDhhmmss。

fk_info 字段:机器的信息。

supported_enroll_data 字段:机器所使用的登记数据的类型。例如如果用指纹数据就标记 [“FP”]。

fk_bin_data_lib 字段:解释机器上传的二进制数据时使用的动态库的名字。

例如标记“FKDataHS001”就表示如要解释二进制数据得用名字FKDataHS001.dll的动态库。

firmware 字段:机器的固件版本。

firmware_filename字段:机器的固件文件的头部。这个信息将来更新机器固件的时候参考。如果要更新的新固件文件名的头部不一致这个字段的价就表示这个新的固件文件不是匹配机器。

fp_data_ver字段:机器采用的指纹数据版本。这个信息用于各种型号的机器的指纹数据之间的转换。

机器提交接收指令的HTTP请求时在 HTTP body部分不放置任何二进制数据。

2.1.2 服务器的应答对于接收指令的请求

如果服务器接收上述的请求就查询有没有对该机器发送的指令而如有的话下传应答。

应答的头(header)和体(body)里所包含的内容是如下。

应答的头(header) 里包含如下字段。

应答体( body)部分里放置的数据按指令不同。

2.2 机器上传指令执行结果所需的请求和答应

机器执行指令后,发送HTTP request,接收response,将其结果告诉WEB服务器,具体格式如下:

2.2.1 机器上传操作者指令执行结果所需的请求

机器上传到服务器如下的 HTTP POST请求。

此时请求的头部放置如下字段。

此请求的体(body)里放置的数据按指令不同。

2.2.2 服务器的应答对于机器上传结果的请求

服务器保存到数据库机器上传的指令执行结果而下传如下应答。

应答头部放置如下字段。

3. 按操作者指令具体设计请求和应答操作者发布的指令是如下。

3.1. 获得机器的登记数据(GET_ENROLL_DATA) 获得该机器里保存的各种登记数据。

3.2. 把数据库的登记数据写入到机器(SET_ENROLL_DATA) 把业务数据库的登记数据写入到机器。

3.3. 同步机器时间(SET_TIME) 调整机器的时间以服务器的时间。

3.4. 机器重新启动 (RESET_FK)

在由于某些原因要重启考勤机的时候发送这个指令。

例如某个指令的状态一直在{RUN}状态的情况下。

若果不能确定这个现象的原因就重启机器是最合适的方法。

重启以后机器将忽视以前执行的所有的指令而进入接收新指令的状态。

3.5. 删除人员 (DELETE_USER)

3.6. 修改姓名(SET_USER_NAME)

3.7. 修改用户权限 (SET_USER_PRIVILEGE)

短信接口文档

Web Service接入模式 Web Service 发送短信模式 Web Service 路径:https://www.doczj.com/doc/02383644.html,/WS/LinkWS.asmx 系统提供8个接口: 注册接口Reg、更改密码接口UpdPwd、修改注册信息UpdReg、 查询余额接口SelSum、发送信息接口Send、 群发短信接口 BatchSend 、短信报告接口 GetReportSMS、接收短信Get 注册接口Reg 输入参数: 参数说明类型 LoginName代理商账号String LoginPwd 代理商密码String CorpName 企业名称String LinkMan 联系人String Tel 联系电话String Mobile 联系人手机String Email 邮件String Memo 其他备注String CorpID 用户账号String Pass 用户密码String 输出参数: 输出返回值参数状态说明

OK 注册成功 错误文本失败 C# 实例: try { Dxt.LinkWS LinkWs=new dxt.LinkWS(); String ReS=LinkWs.Reg(LoginName, LoginPwd, CorpName, LinkMan, Tel, Mobile, Email, CorpID, Pass); if(ReS=="OK") { MessageBox.Show("注册成功" ); } else { MessageBox.Show("注册失败!" ); } } catch (https://www.doczj.com/doc/02383644.html,.WebException WebExcp) { MessageBox.Show("网络错误,无法连接到服务器!" ); } 更改密码UpPwd 输入参数 参数说明类型 CorpID 帐号String Pwd 密码String NewPwd 新密码String 输出参数: 输出返回值参数状态说明 0 密码修改成功 –1 账号未注册 –2 其他错误 –3 密码错误 C# 实例: try { Dxt.LinkWS LinkWs=new Dxt.LinkWS(); int

浩顺接口SDK

1.通讯协议共同利用的内容1.1 文档中所使用的术语 1.2 基于HTTP协议机器与服务器通讯。 机器向服务器发送的所有的请求用POST方式的HTTP 请求。 利用在POST方式上传二进制数据的方法机器到服务器传达数据。 对这个POST请求的HTTP 应答的body部分也包含二进制数据。 1.3 请求和应答中所使用的二进制数据的格式 HTTP请求和应答中所使用的二进制数据的格式是如下。 字符串数据放在最前边后续放置任意个数的二进制数据。

字符串数据是 JSON格式的字符串而且他的编码是 UTF-8。 其实使用JSON格式可以表达所有的数据格式。可是表达二进制数据时可能产生整个数据的大少问题还有通讯速度问题等较难接收的问题。在这个通讯协议中尽可能使用json格式却不可避免的情况下使用二进制数据来表达数据。 使用二进制数据时在前面的字符串数据里有标识对应后面的二进制数据是哪一个。 举个例子说如果某个字段的值的数据类型是二进制数据时用“BIN_n”的字符串来表示那个字段的值。 在此 n是后面的二进制数据的序号,从1开始。 实例 : {“log_array”:”BIN_1”} 这个JSON字符串说明记录数据是二进制数据而且放在字符串数据后面的第一个位置。 1.4 机器与服务器的通讯流程 与WEB服务器的通讯大概分两种。 一个是机器接收而执行操作者指令的流程,另一个是机器通知服务器某种事件(比如新记录的产生)的流程。

2. 操作者指令的大概处理过程 操作者指令处理,是用户登陆服务器选择需要管理的考勤机,向考勤机下发指令,接收指令执行结果的过程。处理过程如下: 1)操作者选择考勤机,获得机器号(device_id)。 2)操作者在WEB服务器联动的数据库上保存对该机器所执行的指令的记录。 其记录中包含如下信息。 任务识别号(trans_id), 机器识别号(device_id), 指令识别号(cmd_code), 指令参数数据(cmd_param), 任务状态(trans_status), 任务状态最后更新时间(trans_status_update_time) 3)机器每隔一定时间向服务器询问有没有针对自己发送的指令,如果有就拿过来执行,并且将其结果上传到WEB服务器。 4)操作者每隔一定时间询问服务指令的执行状态。如果有已执行的标识,就处理该结果。 这里trans_id是任务识别号,即返回指令执行结果时用这个识别号来判断这个结果是对应哪一条指令的。 这个流程表示如图 2-1。

SDK用户使用手册

海迅实时数据库HS-SDK 用户手册

目录 目录. (2) 1.引言 (4) 1.1.编写目的 (4) 1.2适用范围 (4) 2. 接口分类 (4) 3. 接口详细说明 (4) 3.1数据库服务连接、状态查询接口 (4) 3.1.1 数据库服务(HSServer类) (4) 3.1.2 名字服务集合(HSNameServers类) (5) 3.1.3 名字服务对象(HSNameServer类) (6) 3.2数据库测点提交、查询接口 (6) 3.2.1测点集合(HSPoints类) (6) 3.2.2测点对象(HSPoint类) (7) 3.2.3测点组集合(HSGroups类) (8) 3.2.4测点组对象(HSGroup类) (8) 3.2.5批量测点集合(HSPointList类) (8) 3.2.6 数据名称-值集合(HSNameValues类) (9) 3.2.7数据名称-值对象(HSNameValue类) (9) 3.3数据提交、查询接口 (9) 3.3.1数据值集合(HSData类) (9) 3.3.2测点数据值集合(HSValues类) (10) 3.3.3测点数据值对象(HSValue类) (11) 3.3.4批量测点数据值集合(HSListData类) (11) 3.3.5测点-值集合(HSPointValues类) (12) 3.3.6测点-值对象(HSPointValue类) (12) 3.4数据库用户、权限管理接口 (12) 3.4.1用户集合(HSUsers类) (12)

3.4.3角色集合(HSRoles类) (13) 3.4.4角色对象(HSRole类) (13) 3.5测点模糊查询对话框 (14) 3.5.1测点模糊查询窗体(HSDlgTestShow类) (14) 3.6枚举集接口 (18) 3.6.1枚举集集合(HSEnumrations类) (18) 3.6.2枚举集对象(HSEnumration类) (18)

短信接口(Http协议)

消息收发接口规范 (HTTP方式) 一开发前请阅读 (2) 1.1安全信息责任条款 (2) 二概述 (3) 三名词定义 (3) 四HTTP方法 (3) 4.1下行接口(z_mdsmssend) (3) 4.2上行接口 (3) 4.3查询余额接口(z_balance) (4) 五下行返回状态 (4) 六服务地址 (5) 七郑重声明 (5) 版本: V1.1 时间: 2011年12月15日

一开发前请阅读 1.1安全信息责任条款 本人/本公司在使用本软件过程中,将严格遵守国家相关法律、法规、保证本公司信息发布的安全,并切实做到: (1)建立健全本公司信息发布的内部保障制度、信息安全保密制度、用户信息安全管理制度,建立健全本公司信息安全责任制度和信息发布的审批制度,严 格审查本公司产品所发布信息。 (2)严格遵守《互联网信息服务管理办法》,对用户编辑的信息内容进行把关,保证信息内容的健康、合法。 (3)明确本企业的客户群和客户范围,所有通讯受众必须是自愿且明确同意接受企业服务。 (4)若发送未经用户允许的信息等所造成的影响、投诉等一切损失与本软件版权方无关、由本人/本公司承担全部责任;同时,本人/本公司也应承担若因此 给本软件版权方造成的全部损失。 (5)不利用本软件制作、复制、发布、传播含有下列内容的信息: ?反对宪法所确定的基本原则的; ?危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的; ?损坏国家荣誉和利益的; ?煽动民族仇恨、民族歧视,破坏民族团结的; ?破坏国家民族宗教政策,宣扬邪教和封建迷信的; ?散布谣言,扰乱社会秩序,破坏社会稳定的; ?散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; ?侮辱或者诽谤他人,侵害他人合法权益的; ?含有法律、行政法规禁止的其他内容的; (6)自信息发布六个月内不修改删除信息发送日志内容,日志记录的备份应至少保持6个月以上,在国家机关进行依法查询时,予以提供。 (7)若发现本公司所发布的信息明显属于上述第(5)款所列内容,保证立即停止传输,并向国家有关机关报告。

消费机SDK接口

目录 1概述 (2) 2 函数简述 (2) 2.1 Connect (2) 2.2 Disconnect (3) 2.3 DataQuery (3) 2.4 DataCount (4) 2.5 DataAppend (5) 2.6 DataUpdate (6) 2.7 DataDelete (6) 2.8 InfoQuery (7) 2.9 InfoUpdate (8) 2.10 GetRTLog (8) 3 表名附件 (9) 4 表结构附件 (10) 5 设备信息定义 (10)

Dataapi接口使用指南(简要) 1概述 dataapi接口是一组功能函数,使用类似于SQL语句方式访问考勤机中的数据表及设备信息。 相对原有通信接口,dataapi接口提供仅10个函数,使用简单、直观。 提供dataapi接口的commro.dll动态库,依然兼容原有的通信接口。 2 函数简述 以下为dataapi接口包含的函数,仅列出了函数名及功能叙述。参数描述和详细的调用方法,参考提供的demo例程。 2.1 Connect [函数] DLLIMPORT void * __stdcall Connect(const char *Parameters); [功能] 连接到设备,连接成功后返回连接的句柄。 [示例] VC: CString szPara ="protocol=HTTP,ipaddress=192.168.1.201,port=80,name=12345,passwd=12345 "; HANDLE h = Connect(szPara); VB: Private Declare Function Connect Lib "commpro.dll" (ByVal Parameters As String) As Long Dim h As Long '连接设备句柄 Dim ret As Long '函数返回 h = Connect("protocol=HTTP,ipaddress=192.168.1.213,port=80,name=12345,passwd=12345") MsgBox "Connect return =0x" + Hex(h) Java: commpro2java co = new commpro2java(); long h = co.Connect("protocol=HTTP,ipaddress=192.168.1.213,port=80,name=12345,passwd=12345 ");

基于JAVA的短信接口调用代码实例

基于JAVA的短信接口调用代码实例 代码描述:基于JA V A的短信接口调用代码实例 代码平台:聚合数据 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import https://www.doczj.com/doc/02383644.html,.HttpURLConnection; import https://www.doczj.com/doc/02383644.html,.URL; import https://www.doczj.com/doc/02383644.html,.URLEncoder; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** *短信API服务调用示例代码-聚合数据 *在线接口文档:https://www.doczj.com/doc/02383644.html,/docs/54 **/ public class JuheDemo { public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) Appl eWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; //配置您申请的KEY public static final String APPKEY ="*************************"; //1.屏蔽词检查测 public static void getRequest1(){ String result =null; String url ="https://www.doczj.com/doc/02383644.html,/sms/black";//请求接口地址 Map params = new HashMap();//请求参数 params.put("word","");//需要检测的短信内容,需要UTF8 URLENCODE

SDK接入之安卓端

一、如何生成一个新的渠道项目(在这篇文章中,我们都是以武圣的uc渠道 为例) 新建一个cocos2dx Lua项目,项目目录如下图: 其中的proj.android就是android可以跑在android上的项目,接下来我们生成我们需要的其他渠道的项目,步骤为: 1、右键>>新建文件夹>>命名为:proj.android-uc 2、拷贝proj.android下的所有内容到proj.android-uc如下图: 这个时候要将这个项目导入eclipse,会报项目已经存在,而不让导入。接下来我们修改项 目的名称,使项目得以导入到eclipse中。

3、将.project拖入Sublime中,或其他文本工具,修改name标签WSSG为WSSG-UC,如下图,接下来就可以导入进eclipse了。 4、项目导入eclipse过程: (1)在Package Explorer下,右键import (2)General下的Existing Projects into workspace>>next

(3)点击Browse >>选择你刚刚新创建的proj.android-uc >>去掉copy projects into workspace 前面的对号>>点击finish 导入成功。

二、android端,接入sdk 为了使之适用于所有的Lua游戏,我们将这部分单独拿出来,以依赖库的形式供项目使用。我们以统一命名方式命名项目的名称,方便后期的管理,以libBridge开头,如:uc的就叫做,libBridgeUC。所有sdk相关的东西,都放在,根目录下的plugin下。 1、plugin下右键新建文件夹,uc>>uc下新建文件夹proj.android 2、在eclipse中,右键new>>Android Application Project>>如下图

C#短信验证api调用代码实例

C#短信验证api调用代码实例 代码描述:基于C#的短信验证api调用代码实例 代码平台:聚合数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using https://www.doczj.com/doc/02383644.html,; using System.IO; using https://www.doczj.com/doc/02383644.html,; using System.Diagnostics; using System.Web; //---------------------------------- // 短信API服务调用示例代码-聚合数据 // 在线接口文档:https://www.doczj.com/doc/02383644.html,/docs/54 // 代码中JsonObject类下载地址:https://www.doczj.com/doc/02383644.html,/download/gcm32060 21155665/7458439 //---------------------------------- namespace ConsoleAPI { class Program { static void Main(string[] args) { string appkey = "*******************"; //配置您申请的appkey //1.屏蔽词检查测 string url1 = "https://www.doczj.com/doc/02383644.html,/sms/black"; var parameters1 = new Dictionary(); parameters1.Add("word", ""); //需要检测的短信内容,需要UTF8 U RLENCODE parameters1.Add("key", appkey);//你申请的key

SDK通用版接口调用说明

SDK通用版接口调用说明

目录 1请仔细阅读信息安全责任保证条款 (2) 1.1安全信息责任条款 (2) 1.2注意事项:................................................................................. 错误!未定义书签。 1 Webservice接口 (3) 1.1 webservice返回集合对照表 (3) 2、多线程webservice接口 (5) 2.1 mdgxsend 个性短信 (5) 3、多线程http接口 (8) 3.1 多线程群发普通短信 (8) 3.2 多线程群发个性短信 (9) 请仔细阅读信息安全责任保证条款 安全信息责任条款 本人/本公司在使用本软件过程中,将严格遵守国家相关法律、法规、保证本公司信息发布的安全,并切实做到: (1)建立健全本公司信息发布的内部保障制度、信息安全保密制度、用户信息安全管理制度,建立健全本公司信息安全责任制度和信息发布的审批制度,严 格审查本公司产品所发布信息。 (2)严格遵守《互联网信息服务管理办法》,对用户编辑的信息内容进行把关,保证信息内容的健康、合法。 (3)明确本企业的客户群和客户范围,所有通讯受众必须是自愿且明确同意接受企业服务。 (4)若发送未经用户允许的信息等所造成的影响、投诉等一切损失与本软件版权方无关、由本人/本公司承担全部责任;同时,本人/本公司也应承担若因此 给本软件版权方造成的全部损失。 (5)不利用本软件制作、复制、发布、传播含有下列内容的信息: 反对宪法所确定的基本原则的;

?危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的; ?损坏国家荣誉和利益的; ?煽动民族仇恨、民族歧视,破坏民族团结的; ?破坏国家民族宗教政策,宣扬邪教和封建迷信的; ?散布谣言,扰乱社会秩序,破坏社会稳定的; ?散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; ?侮辱或者诽谤他人,侵害他人合法权益的; ?含有法律、行政法规禁止的其他内容的; (6)自信息发布六个月内不修改删除信息发送日志内容,日志记录的备份应至少保持6个月以上,在国家机关进行依法查询时,予以提供。 (7)若发现本公司所发布的信息明显属于上述第(5)款所列内容,保证立即停止传输,并向国家有关机关报告。 (8)对本公司所发布的信息一时难以辨别是否属于以上所列内容之一的,应报相关主管部门审核同意后再发布。 (9)对客户的个人信息保密,未经客户同意不得向他人泄漏,但法律规定的除外。本人/本公司保证:在使用本软件进行信息发布活动中,服从监督和管理;若未做到上述一至八条,本人/本公司愿意承担由此引起的一切法律责任,并接受相应的处罚。 注意:发送之前,序列号一定需要先注册,序列号注册了才可以使用发送短信。 1 Webservice接口 1.1 webservice返回集合对照表

发送短信 稳定的短信API

发送短信稳定的短信API来啦 稳定的短信API,99%到达率,及时响应,请务必添加图片验证码等防恶意攻击的机制,以防短信轰炸。 !注意:同1个号码同1个签名的内容30秒内只能发1条,1分钟内只能发2条,30分钟内只能发3条,详细请参考:https://www.doczj.com/doc/02383644.html,/news/index/id/50 接口名称:短信api 接口平台:聚合数据 接口地址:https://www.doczj.com/doc/02383644.html,/sms/send 支持格式:json/xml 请求方式:http get 请求示例:https://www.doczj.com/doc/02383644.html,/sms/send?mobile=手机号码&tpl_id=短信模板ID&tpl_value=%23code%23%3D654654&key= 请求参数说明: 名称类型必填说明 mobile string 是接收短信的手机号码 tpl_id int 是短信模板ID,请参考个人中心短信模板设置 tpl_value string 是变量名和变量值对,如:#code#=431515,整串值需要urlencode。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行utf-8 urlencode编码后再传递 key string 是应用APPKEY(应用详细页查询) dtype string 否返回数据的格式,xml或json,默认json 返回参数说明: 名称类型说明 error_code int 返回码 reason string 返回说明 短信api调用JSON返回示例: /****失败示例**/ { "reason": "错误的短信模板ID,请通过后台确认!!!", "result": [], "error_code": 205402 } /****成功示例**/ { "reason": "短信发送成功",

iVMS-7200-SDK接口应用开发说明文档

iVMS-7200-SDK接口应用开发 说明文档 3,1,0,33171版

目录 第1章简要概述 (3) §1.1 面向的读者 (3) §1.2 本文宗旨 (3) §1.3 本文目的 (3) §1.4 适用范围 (3) 第2章SDK相关接口说明 (4) §2.1 初始化与注销SDK (4) §2.2 连接设备与断开设备 (4) §2.3 实时预览开启与关闭 (5) §2.4 订阅报警与取消订阅报警 (6) §2.5 订阅GPS与取消订阅GPS (7) §2.6 云台控制 (8) 第3章附录 (9)

第1章简要概述 §1.1 面向的读者 本文面向的读者是软件开发人员,工程人员及相关工作人员。 §1.2 本文宗旨 本文主要针对iVMS-7200-SDK接口参数作详细说明。旨在提供开发人员,工程人员以及相关工作人员对iVMS-7200-SDK接口有一个较为清晰的理解,以便日后工作的展开。 §1.3 本文目的 本文旨在帮助软件开发人员,工程人员及相关工作人员快速理解并利用iVMS-7200-SDK接口进行快速定制开发活动。本文档目前提供了大部分重要接口说明,更为详细说明将在日后陆续完善。 §1.4 适用范围 拥有一定开发经验的软件开发人员,工程人员及相关工作人员。

第2章 SDK相关接口说明 §2.1 初始化与注销SDK Int AlarmInitLib( void )、int PPVInitLib()、int InitRSMClientLib() 函数说明 Function: AlarmInitLib、PPVInitLib、InitRSMClientLib Description:初始化SDK(所有操作之前必须调用) Input: Output: Return: 0:成功;-1:失败 Int AlarmFiniLib( void )、int PPVFiniLib(void)、int FiniRSMClientLib(void) 函数说明: Function: AlarmFiniLib、PPVFiniLib、FiniRSMClientLib Description: 注销SDK(所有操作结束后记住调用) Input: Output: Return: 0:成功;-1:失败 §2.2 连接设备与断开设备 typedef void(__stdcall * pProgressNotifyCallBack)(unsigned int nUserData, unsigned int nReserved, const char *pDesc) 回调函数说明: Function: pProgressNotifyCallBack Description: 过程回调函数 void Int PPVConnectDeviceByACS( const char* pszDeviceID, ST_ACCESS_SERVER_INFO stPassbyServer, pProgressNotifyCallBack pfnProgressNotifyUser, unsigned int nUserDataForCallBack, EN_CONN_MODE* pConnMode ) 函数说明:

基于Python的聚合数据短信验证码接口调用示例

基于Python的聚合数据短信验证码接口调用示例 本代码示例是基于Python的聚合数据短信验证码接口请求的代码样例,使用前你需要: ①:通过https://www.doczj.com/doc/02383644.html,/docs/api/id/54 申请短信API服务 ②:在短信模板中心,添加一个模板,并通过审核 以下是完整的代码示例: #!/usr/bin/python #coding:utf-8 import urllib, json def main(): appkey ='***************'#您申请的短信服务appkey mobile ='1891351****'#短信接受者的手机号码 tpl_id ='441'#申请的短信模板ID,根据实际情况修改 tpl_value ='#code#=5678&#company#=JuheData'#短信模板变量,根据实际情况修改 sendsms(appkey, mobile, tpl_id, tpl_value) #请求发送短信 def sendsms(appkey, mobile, tpl_id, tpl_value): sendurl ='https://www.doczj.com/doc/02383644.html,/sms/send'#短信发送的URL,无需修改 params ='key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%\ (appkey, mobile, tpl_id, urllib.quote(tpl_value)) #组合参数 wp =urllib.urlopen(sendurl+"?"+params) content =wp.read() #获取接口返回内容 result =json.loads(content) if result: error_code =result['error_code'] if error_code ==0: #发送成功 smsid =result['result']['sid'] print"sendsms success,smsid: %s"%(smsid) else:

老黄历sdk接口实现及代码示例

老黄历sdk接口实现及代码示例 老黄历sdk提供老黄历查询,黄历每日吉凶宜忌查询。 接口名称:老黄历sdk 接口平台:聚合数据 接口地址:https://www.doczj.com/doc/02383644.html,/laohuangli/d 支持格式:JSON/XML 请求方式:HTTP GET/POST 请求示例:https://www.doczj.com/doc/02383644.html,/laohuangli/d?date=2014-09-11&key=您申请的KEY 老黄历日历sdk接口JSON返回示例: { "reason": "successed", "result": { "id": "1657", "yangli": "2014-09-11", "yinli": "甲午(马)年八月十八", "wuxing": "井泉水建执位", "chongsha": "冲兔(己卯)煞东", "baiji": "乙不栽植千株不长酉不宴客醉坐颠狂", "jishen": "官日六仪益後月德合除神玉堂鸣犬", "yi": "祭祀出行扫舍馀事勿取", "xiongshen": "月建小时土府月刑厌对招摇五离", "ji": "诸事不宜" }, "error_code": 0 }

老黄历时辰sdk接口JSON返回示例: { "reason": "successed", "result": [ { "yangli": "2014-09-11", "hours": "1-3", "des": " 修造安葬求财见贵嫁娶进人口移徙", "yi": "赴任出行", "ji": "冲猴煞北时冲甲申地兵三合长生司命" }, { "yangli": "2014-09-11", "hours": "3-5", "des": " 祈福求嗣订婚嫁娶出行求财开市交易安床作灶祭祀", "yi": "修造动土", "ji": "冲猪煞东时冲丁亥路空日禄明堂" }, { "yangli": "2014-09-11", "hours": "5-7", "des": " 赴任修造移徙出行词讼祈福求嗣", "yi": "求财见贵祭祀酬神", "ji": "冲狗煞南时冲丙戍日破" }, {

短信接口

中国移动通信 互联网短信网关接口协议 C h i n a M o b i l e P o i n t t o P o i n t 版本号:3.0.0

1通信方式 (3) 2消息定义 (4) 2.1 基本数据类型 (4) 2.2 消息结构 (4) 2.3 消息头格式(Message Header) (4) 2.4 集团用户(EC)与短信服务平台(SSP)间的消息定义 (4) 2.4.1 EC请求连接到SSP(SSP_CONNECT)操作 (4) 2.4.2 EC或SSP请求拆除连接(SSP_TERMINATE)操作 (6) 2.4.3 EC向SSP提交短信(SSP_SUBMIT)操作 (6) 2.4.4 SSP向EC提交短信(SSP_DELIVER)操作 (8) 2.4.5 SSP向EC提交账户余额(SSP_REMAIN_NOTIFY)操作 (9) 2.4.6 SSP向EC送交状态报告(SSP_REPORT )操作 (9) 2.4.7 链路检测(SSP_ACTIVE_TEST)操作 (11) 3 Command_Id定义 (11) 4API说明 (12)

1通信方式 通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。 参数C、T、N原则上应可配置,现阶段建议取值为:C=3分钟,T=60秒,N=3。 网关与EC之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。 消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建 议为16,即接收方在应答前一次收到的消息最多不超过16条。

微服务SDK开发规范

一、背景 目前公司大多数对内提供的微服务没有提供sdk,需要自行使用wafHttpClient的方式调用restful接口,有的提供了 sdk但过呀封装,目前存在以下问题 增加沟通成本,对接接口时,如果只有api文档,那么输入参数、url、输出都需要自行翻看文档,有时文档记录不全的或没有及时更新的更是需要与提供方沟通,如果能提供sdk,那么对于提供的能力直接可以通过代码工具提示就可以出来,对于输出、输入对象也不需要自行定义 接口升级依赖检查问题,当微服务的接口升级时,如果提供sdk的话,可以将新接口或修改的方法通过增加版本的号的方式提供新的sdk,依赖方通过引入新 sdk可以对之前使用的地方通过编译工具就可以检查出有没有不兼容的接口,但自行通过httpclient调用的是无法检查的。 有废弃的接口也可以通过@Deprecated标记二、目标 统一接口提供方式,标准化 减少沟通成本,方便查找组件提供的sdk及接口(输入、输出等) 三、规范 1. 项目结构 如上图所示,工程名称以业务名称命名+parent,在工程下至少应包含3个module,个别情况有多的需要自行多加module,名称统一后,便于查找相关服务提供的sdk interface: FeignCleint方式申明的远程接口, 给consumer使用, 引用model interface中类名应以RMI(Remote Method Invocation)结尾,以便让开发者快速识别到这是一个远程接口,避免当做本地方法调用,产生性能问题,例如:SchoolRMI model: 包括实体类、业务 vo、注解、常量等,这个model可以被service/interface层引用 service: 服务层,服务层引用model, 但不引用interface 可以将此项要求集成到sdp平台上的创建工程模板中 2. 并不是所有在service中提供的接口都需要在interface中提供,要有选择。需要对 外提供接口的才提供接口,避免乱用

第三方短信调用接口参数例子(精)

一、数据库实例 ZDQHCRM70= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP(HOST = 10.168.118.70(PORT = 1521 (CONNECT_DATA = (SERVICE_NAME = apexcrm1 二、数据库用户及密码 用户:FUTURES 密码:ABS 三、网络连接地址: 内网:10.168.118.70 四、存储过程名及其参数 CREATE OR REPLACE PROCEDURE PRO_DSFDXJK( o_ret_code OUT NUMBER , o_ret_note OUT VARCHAR2, i_HOSTNAME IN VARCHAR2, --主机 IP i_INFOTO IN VARCHAR2, --手机号 i_RECVUSERID IN VARCHAR2:='' , --短信接受人(资金号或者客户姓名i_CONTENT IN VARCHAR2--短信内容

IS v_SJ NUMBER ; v_count NUMBER :=0; /* 20110621 陈庆波第三方短信发送接口 userid=1598 营业部:中大期货有限公司 用户号:MESSAGE 姓名:第三方短信 */ BEGIN --1,判断短信手机的合法性 SELECT (CASE WHEN SUBSTR(i_INFOTO,1, 2='0-' THEN SUBSTR(i_INFOTO,3, 30 WHEN SUBSTR(i_INFOTO,1, 2='01' THEN SUBSTR(i_INFOTO,2, 30 ELSE REPLACE (i_INFOTO,'-' , '' END INTO v_SJ FROM DUAL; SELECT (CASE WHEN LENGTH(v_sj=11THEN 1ELSE 0END INTO v_count FROM DUAL ; --2,如果合法即发送短信 IF (v_count=1 THEN

SDK OCX接口开发文档V1.0

SDK COM接口方法定义 1 GetFingerPrintData 函数原型(Archetype) BSTR GetFingerPrintData(void); 函数功能(Description) 获取用户的指纹操作信息。用户进行指纹注册、修改、验证等录入指纹操作后,指纹数据包通过此方法返回。 函数变量(Parameter) NULL 返回值(Return Value) 如果函数GetFingerPrintData出错,则返回值为字符串格式的错误码。 -301:控件异常。 -302:持久化参数CtrlType设置有误,为了方便,设置错误的时候,直接出比对控件。 -303:持久化参数FingerInfo设置有误。 -304:持久化参数token设置有误。 -311:设备不存在。 -321:指纹特征还没有生成,就想取特征。 -322:指纹模板还没有生成,就想取模板值。 如果函数成功,则返回的数据就是用户操作后的指纹信息数据(注册指纹时,返回的是模板数据,比对时,则返回指纹特征数据)。 备注(Remarks) 获取用户操作后的指纹信息数据后,把本数据传递到服务器端,根据服务器端操作后的结果,就可以提示用户操作是否成功。此方法的返回值格式会受到SetFPV ersion、SetIBVersion、SetParameter和SetHexFlg设置参数的影响。这四个方法都设置参数为0时或者都不调用这四个方法。则返回指纹信息数据为标准版。 2 SetOperateParam 函数原型(Archetype) SHORT SetOperateParam(LPCTSTR operateInfo) 函数功能(Description) 设置注册手指状态,并使设置马上生效。 函数变量(Parameter) LPCTSTR operateInfo:可将已注册手指作为参数传入,代替FingerInfo属性设置。 如十个由0和1组成的字符串“1110011111”代表从左到右十个手指,0表示还没有注册,1表示已经注册。 返回值(Return Value) 保留返回值,不需要作处理

js短信验证码接口开发

注册使用的短信验证码接口 使用技术:node.js ; ajax ; Javascript 1.进入阿里云,搜索“短信服务” 2.选择第一条词条进入后,点击免费开通: 3.进入信息服务后悬停在右上角用户头像点击“AccessKey”,进入进行创建AccessKey。(这个AccessKey非常重要拥有阿里云所有权限不能泄露)

4.回到上图页面,点击左方任务栏的“应用开发”,点击“签名管理”添加签名,按照流程添加(个人使用签名尽可能使用真实姓名不然可能审核不通过)等待审核完成就可以了。 5.再次回到上图页面,点击“模版管理”,添加信息模版,同样按照流程添加就可以了。 6.进入代码模式,再次回到上图页面点击左方任务栏“接口调用”,直接看“短信发送API”(这里选择Node.js,根据个人编程需要);点击进入就可以自己看看了,主要的无非就是下图这个node代码,在这之前上面有个table进行下述代码的描述 (1)其中$ npm install @alicloud/sms-sdk --save(建议用cnpm装)就是引入阿里的短信数据模块 (2) 1. const accessKeyId ='yourAccessKeyId' 2. const secretAccessKey ='yourAccessKeySecret'

这个就是刚注册的AccessKey和Access Key Secret了,把这个放进去就o了。 (3) 1. PhoneNumbers:'1500000000', 2. SignName:'云通信产品', 3. TemplateCode:'SMS_000000', 4. TemplateParam:'{"code":"12345"}' 这个嘛,看一下就知道 PhoneNumbers:就是你要发送验证码的手机号码; SignName:这个是你添加的短信签名; TemplateCode:这个是刚添加的短信模版CODE,自己点进去看一下复制出来,不会我就跳楼了 TemplateParam:这个呢,注册短信模版时应该看见了吧就是一个JSON字符串传到阿里那边他会帮你把数据绑上去短信里(说白了后面的数字就是你的验证码,你可以选择在后端生成)也就是说格式可以固定或者你将这个写在前端ajax传过来也行,后边放上自己写的代码我是在前端传过来的,然后..然后就跑代码就好了。后端服务开启,前端放好事件触发,ajax把数据传过来就o啦。噢对了阿里信息服务是免费开通不是免费使用也就是说....还要交钱的,免费不存在!不过还好是按量收费,一条也就好像4分钱,充值2块钱就可以慢慢玩了,充值在哪?问我?天台见....肯定在最显眼的位置。接下来是代码演示一下 前端生成验证码是比较low但是我们要的是原理嘛,没关系。图中的yanzheng就是发送到手机的验证码, 不嫌弃的话就看看就是比较low var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; var yanzheng=''; for(var i = 0; i < 6; i++) { var randnum = parseInt(Math.random() * arr.length); yanzheng += arr[randnum]; }

基于PHP的聚合数据免费短信接口调用示例

基于PHP的聚合数据免费短信接口调用示例 本代码示例是基于PHP的聚合数据短信API服务请求的代码样例,使用前你需要: ①:通过https://www.doczj.com/doc/02383644.html,/docs/api/id/54 申请短信API服务 ②:在短信模板中心,添加一个模板,并通过审核 以下是完整的代码示例: '*****************', //您申请的APPKEY 'mobile'=> '1891351****', //接受短信的用户手机号码 'tpl_id'=> '111', //您申请的短信模板ID,根据实际情况修改 'tpl_value'=>'#code#=1234&#company#=聚合数据'//您设置的模板变量,根据实际情况修改 ); $content= juhecurl($sendUrl,$smsConf,1); //请求发送短信 if($content){ $result= json_decode($content,true); $error_code= $result['error_code']; if($error_code== 0){ //状态为0,说明短信发送成功 echo"短信发送成功,短信ID:".$result['result']['sid']; }else{ //状态非0,说明失败 $msg= $result['reason']; echo"短信发送失败(".$error_code."):".$msg; } }else{ //返回内容异常,以下可根据业务逻辑自行修改 echo"请求发送短信失败"; } /**

* 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ function juhecurl($url,$params=false,$ispost=0){ $httpInfo= array(); $ch= curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5. 1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/5 37.22'); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 30); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); if( $ispost) { curl_setopt( $ch, CURLOPT_POST , true ); curl_setopt( $ch, CURLOPT_POSTFIELDS , $params); curl_setopt( $ch, CURLOPT_URL , $url); } else { if($params){ curl_setopt( $ch, CURLOPT_URL , $url.'?'.$params); }else{ curl_setopt( $ch, CURLOPT_URL , $url); } } $response= curl_exec( $ch); if($response=== FALSE) { //echo "cURL Error: " . curl_error($ch); return false; } $httpCode= curl_getinfo( $ch, CURLINFO_HTTP_CODE ); $httpInfo= array_merge( $httpInfo, curl_getinfo( $ch) ); curl_close( $ch); return$response; }

相关主题
文本预览
相关文档 最新文档