接口方式

1.我们提供两种接口方式API方式和DLL动态库,两种对接方式都可以完成对接

2.API接口方式使用http协议,GET或POST方式提交和接收数据,数据交换格式为JSON

3.DLL接口方式使用DLL动态库调用,支持JSON,INI,XML三种文件格式进件数据交换

4.DLL接口优点:

a.接入的难度DLL方式低于API方式,

b.DLL调用方式也能实现全部的接口协议,

c.DLL接口方式不需要自己处理签名、不需要自己进行http提交和接收数据

建议使用DLL接口方式进行对接。

请一定要注意协议内容扩展的兼容性!!

接口协议会随着业务不断更新扩展,一般不会直接改变协议内容,但会增加协议中的某些属性。所以一定请注意确保,接口代码中能正确处理新增的数据属性,不会导致接口出错。 


  接口业务数据交互模式


接口主要有两种交互模式:

1.由线下方主动发起接口调用,比如2.6扫码支付、2.7支付查询、3.1上传菜品基础数据、5.1会员卡查询、等等,都是由线下接口方主动发起,并等待平台处理完成后返回结果。


2.平台产生的数据或状态变化推送给线下:

比如:扫码点菜,订单产生后平台需要将订单信息推送给线下程序进行处理。推送方式采用MQTT,API和DLL对接方式需要不同的实现方式。请参考文档6.0章节。


  接口调用基本流程

1.接口初始化,API接口调用0.2协议进行初始化,DLL接口采用apiInit()函数进行初始化。初始化只需要一次,如果程序退出,需要重新初始化。

2.主动接口调用,由线下业务发生时调用接口。如:扫码支付接口(协议2.6)

3.平台消息推送,API模式需要用MQTT客户端来接收推送,具体参见6.3;DLL接口中已经封装好MQTT,不需要额处理。(注意:DLL工作在网关模式才能接收推送)



  UTF8编码问题

后台处理数据的格式是UTF8,所以要求接口端发送和接收数据的时候注意进行编码转换。

Delphi下,要使用AnsiToUtf8函数对内容进行编码转换。如果提交的是URL参数,还要注意最终生成URL串时使用UrlEncode进行URL编码,防止中文字符提交出错。

行业资讯