全能中间件 REST API 使用手册

全能中间件 REST API 使用手册

Ver:17.6.24 

技术支持QQ:64445322  

QQ群:339616649

 

   任何第三方应用或网站都可以通过使用开放API为用户提供实时优质的服务。 所有的API都是基于REST基础的接口规范,可兼容多种编程语言。

 

1、参数编码

所有的请求和响应数据编码皆为utf-8格式,url里的所有参数值请做URIEncode编码;

各个参数请进行URL 编码(UTF-8),编码时请遵守 RFC 1738。

 

2、HTTP MIME类型:Content-type: application/json; charset=utf-8

3、服务地址:http(s)://127.0.0.1:9981/rest

4、API 接口

4.1【用户登录】/user/login

1)、接口说明:登录中间件

2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

user_name

string

用户名

password

string

密码

version

string

版本号,可选值:2.0

 

4)、请求示例:

http://127.0.0.1:9981/rest/user/login?user_name=admin&password=c4ca4238a0b923820dcc509a6f75849b&version=2.0

 

 

 

5)、服务端应答

{

"status": 0,

"message": "ok",

"token": "DBF0FC1C3DD349329459248245AB02E3",

"expire_time": "2017-04-25T10:30:03.232",

"app_secret": "d122e06e41c7485ba27eb38c6afc5159"

}

 

4.2【调用存储过程】db/storedproc

1)、接口说明:调用存储过程、函数、可返回输出参数、返回值、数据集

2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

token

String

令牌,用户登录授权成功后,由服务器返回

data

String

为JSON格式 ①

sign_method

String

签名的摘要算法,可选值为:hmac,md5,②

sign

String

签名

timestamp

String

时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8,例如:2016-01-01 12:00:00

version

String

版本号,可选值:2.0

 

① data参数JSON数据

参数名称

参数类型

描述

是否必须

db_name

String

数据库连接名称

proc_name

String

存储过程名称

method

String

执行方法,可选值为:open_proc、exec_proc、exec_func

params

String

参数,JSON 数组[{"name":"参数名称","value":"参数值"}]

 

{

  "db_name": "DB_MSSQL", //数据库连接名称

  "proc_name": "sp_Test1", //存储过程名称

  "method": "open_proc", //open_proc、exec_proc、exec_func

  "params": [{           //输入参数,输出参数不用填

    "name": "@p1",

    "value": 10

  }, {

    "name": "@p2",

    "value": "abcdefg"

  }]

}

② 签名算法

http://open.taobao.com/doc2/detail.htm?articleId=101617&docType=1&treeId=1

 

4)、服务端应答数据格式:

{

  "status": 0,         //状态码

  "message": "OK",    //状态描述

  "rows_affected": 2,  //影响的行

  "params": [{       //输出参数

    "name": "@p3",

    "value": "110"

  }],

  "meta": [

    ["字段1", "ftGuid"],

    ["字段2", "ftString", 50],

    ["字段3", "ftString", 20],

    ["字段4", "ftBlob"]

  ],

  "data": [

    ["字段1数据", "字段2数据", "字段3数据", "字段4数据"],

["字段1数据", "字段2数据", "字段3数据", "字段4数据"]

  ]

}

4.3【查询数据】db/opensql

1)、接口说明:
2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

token

String

令牌,用户登录授权成功后,由服务器返回

data

String

为JSON格式 ①

sign_method

String

签名的摘要算法,可选值为:hmac,md5,②

sign

String

签名

timestamp

String

时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8,例如:2016-01-01 12:00:00

version

String

版本号,可选值:2.0

 

 

① data参数JSON数据

参数名称

参数类型

描述

是否必须

db_name

String

数据库连接名称

sql_command_id

String

sql 编号

page_size

int

每页数据条数

page_index

int

第 x 页

 

{

  "db_name": "DB_MSSQL", //数据库连接名称

  "sql": "SELECT * FROM my_table WHERE a=:a AND b=:b", 或者

  "sql_command_id": "SQL001", 

  "page_size": 10, //分页大小,为0,则不分页

   "page_index":0,

  "params": [{           //输入参数,输出参数不用填

    "name": "a",

    "value": “abc”

  }, {

    "name": "b",

    "value": "123456"

  }]

}

 

4)、服务端应答数据格式:

{

  "status": 0,

  "message": "ok",

  "count": 10,   //数据行数

  "total": 1000,  //数据总数

  "meta": [

    ["字段1", "ftGuid"],

    ["字段2", "ftString", 50],

    ["字段3", "ftString", 20],

    ["字段4", "ftBlob"]

  ],

  "data": [

      ["字段1数据", "字段2数据", "字段3数据", "字段4数据"],

  ["字段1数据", "字段2数据", "字段3数据", "字段4数据"]

  ]

}

 

4.4【查询数据】db/execsql

1)、接口说明:
2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

token

String

令牌,用户登录授权成功后,由服务器返回

data

String

为JSON格式 ①

sign_method

String

签名的摘要算法,可选值为:hmac,md5,②

sign

String

签名

timestamp

String

时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8,例如:2016-01-01 12:00:00

version

String

版本号,可选值:2.0

 

 

① data参数JSON数据

{

  "db_name": "DB_MSSQL", //数据库连接名称

  "sql": "UPDATE my_table SET a=:a WHERE b=:b", //or "DELETE FROM my_table WHERE a=:a AND b=:b"

  "sql_command_id": "SQL002", 

  "params": [{           //输入参数,输出参数不用填

    "name": "a",

    "value": “abc”

  }, {

    "name": "b",

    "value": "123456"

  }]

}

 

4)、服务端应答数据格式:

{"status":0,"message":"ok","rows_affected":1}

 

4.5【注销】user/logout

1)、接口说明:
2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

token

string

令牌,用户登录授权成功后,由服务器返回

version

string

版号码,可选值:2.0

 

4)、服务端应答:{"status":0,"message":"ok","rows_affected":1}

 

4.6【短信验证】alidayu/sendsms

1)、接口说明:
2)、HTTP请求方式:GET/POST

3)、输入参数说明:

参数名称

参数类型

描述

是否必须

num

string

手机号码

token

string

令牌,获取验证码后,由服务器返回

code

string

短信验证码

4)、请求验证码示例:

http://127.0.0.1:9981/rest/alidayu/sendsms?num=1888888888

5)、服务端应答:{"status":0,"message":"ok","token":"0F2752F4AA2E40AA931DE927756EB5D1"}

6)、提交验证码示例:

http://127.0.0.1:9981/rest/alidayu/sendsms?code=564732&token=0F2752F4AA2E40AA931DE927756EB5D1

7)、服务端应答:{"status":0,"message":"ok"}

 

5、REST 接口二次开发

1)、DLL Demo

 1 library HelloRest;
 2 
 3 uses
 4   System.SysUtils,
 5   Winapi.Windows,
 6   System.NetEncoding,
 7   rtcConn,
 8   rtcInfo,
 9   rtcHttpSrv,
10   rtcMW.Server.Consts in '..\..\rtcMW.Server.Consts.pas',
11   rtcMW.REST.Plugin in '..\..\REST\rtcMW.REST.Plugin.pas',
12   rtcMW.REST.Types in '..\..\REST\rtcMW.REST.Types.pas' ,
13   rtcMW.Server.LogWriter in '..\..\rtcMW.Server.LogWriter.pas',
14   rtcMW.Server.Settings in '..\..\rtcMW.Server.Settings.pas',
15   rtcMW.Server.SharedMemory in '..\..\rtcMW.Server.SharedMemory.pas';
16 
17 {$R *.res}
18 
19 type
20   THelloPlugin = class(TPlugin)
21   private
22     constructor Create; override;
23     function GetPluginInfo: TPluginInfo; override;
24     procedure ProcessRequest(Sender: TRtcConnection); override;
25     function CheckRequest(Sender: TRtcConnection): Boolean; override;
26   end;
27 
28   { THelloPlugin }
29 
30 constructor THelloPlugin.Create;
31 begin
32 end;
33 
34 function THelloPlugin.CheckRequest(Sender: TRtcConnection): Boolean;
35 begin
36   inherited;
37   //这里可用来检查客户端请求参数是否合法
38   Result := True;
39 end;
40 
41 function THelloPlugin.GetPluginInfo: TPluginInfo;
42 begin
43   Result.Category := '演示';
44   Result.Name := '哈喽';
45   Result.Method := 'GET';
46   Result.FileName := '/test';
47   Result.Params := 'say';
48   Result.Description := '这是一个 DLL 插件演示';
49   Result.Example := 'http://localhost:8081/test?say=你好';
50 end;
51 
52 procedure THelloPlugin.ProcessRequest(Sender: TRtcConnection);
53 var
54   Param: string;
55   JsonObj: TRtcRecord;
56 begin
57 
58   inherited;
59 
60   with TRtcHttpServer(Sender) do
61   begin
62     Param := TURLEncoding.URL.Decode(Request.Query.Value['say']);
63     JsonObj := TRtcRecord.Create;
64     try
65       JsonObj.asInteger['status']:=STATUS_OK;
66       JsonObj.asText['message']:= '这是一个 DLL REST 插件演示:参数 say = ' + Param;
67       Write(JsonObj.ToJSON);
68     finally
69       FreeAndNil(JsonObj);
70     end;
71 
72   end;
73 
74 end;
75 
76 
77 function RegisterPlugin: IPlugin; stdcall;
78 begin
79   Result := THelloPlugin.Create;
80 end;
81 
82 exports
83   RegisterPlugin;
84 begin
85 
86 end.
87 
88  

 

转载于:https://www.cnblogs.com/rtcmw/p/7232399.html

短信服务业万能中间件产品简介: 短信服务业万能中间件是一款专业的短信猫底层控制软件。通过本软件,您无需了解复杂的通讯协议,就可以在自己的程序中轻而易举驾驭短信猫。本软件采用文本文件方式输入输出(详见短信服务业万能中间件使用说明),方便在任何编程语言中实现快速对接。相对于同类软件,本系统具有以下无可比拟的卓越性能: 本软件采用最底层API函数调用短信猫最底层AT指令,完全不依赖于任何第三方控件从而彻底摆脱技术瓶颈,真正属于最底层最基础的绿色软件,无需安装,直接拷贝到自己的系统中即可运行。软件工作时可自动隐藏界面,用户看上去俨然没有她的存在。 本软件采用多线程异步方式工作,消耗极少的系统资源,有条不紊的统筹控制任意数量的端口,从而实现极高的效能。不会像其他系统那样,没几台设备就经常死机、紊乱,无法应用于重要场合。 完美支持CDMA和GSM协议。大家应该知道,迄今为止,除了本系统之外,目前市面上还没有能够支持CDMA的开发包。 完美支持语音命令。打接电话、通话过程中按键、等待、空号检测,都易如反掌! 支持长短信收发。使用本系统收发长短信,操作上与普通短信毫无区别,俨然没有长短信这个概念存在。 支持短信送达通知。当用户接收到您所发出的短信后,系统中能够产生一个发送报告事件。这是许多其他软件所不能做到的。 支持短信有效期设置。假如您发送短信的时候用户手机关机,在他开机后仍能收到您的信息。 本软件将保持持续发展。我们将根据用户反馈的意见,随时对软件进行升级。在升级的过程中,我们将确保向下兼容,用户无需担心现在开发的系统今后不能用了。如果您在使用过程中发现本软件存在某方面的缺陷或不足,欢迎发邮件至:admin@talksms.cn,对于可行的建议,我们承诺在一周以内给出解决方案并对软件进行免费升级。本公司不会像其他开发商那样,软件做出来就扔一边不管,从而给用户留下永远也无法解决的难题,最终不得不更换别的开发包、重新写程序,然后再周而复始……使用本开发包,您完全可以一条道走到黑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值