0.2对接说明

优质
小牛编辑
136浏览
2023-12-01

基本概念

1.接口访问需要用到商户门店编号(商家后台~门店列表中的门店编号)

2.接口访问需要用到商家ApiKey(商家后台~商家设置~接口信息)

3.接口加密需要用到开发商开发密钥(开发商后台-》开发管理-》APP应用管理)

4.接口分为上行接口(门店系统主动向平台发起请求)和下行接口(平台主动向门店系统推送信息)

接口方式

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

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

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

4.DLL接口优点:

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

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

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

d.API方式需要自己处理MQTT推送客户端来接收下行消息,DLL中已封装不需要开发。

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

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

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

接口业务数据交互模式

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

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

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

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

下行接口一个门店只能有一个接收客户端,如有多个门店系统登录同一个门店,会发生接收异常。

JSON数据解析

平台采用的数据交换格式为JSON,注意在相应开发平台下使用相应的JSON解析控件或源码,避免自己进行拼写或解析,JSON数据格式虽然简单,如果自己处理需要考虑编码转换、特殊字符处理等等特殊情况。我们强烈建议不要自行处理,之前已经有不少工程师自行处理碰到了很多的问题。如果开发采用的是DELPHI ,推荐使用SuperObject(我们的DEMO程序中已经包含的JSON控件包及使用例程)。其它开发工具,C#推荐使用Newtonsoft.Json.dll,LitJson.dllLitJson.dll进行处理。

UTF8编码问题

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

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