数据对接API文档

1       接口规则

1.1 接入准备

通过对接人获取渠道编号channel_code和密钥key

1.2 协议规则

提交方式 采用POST方法提交
数据格式 请求和返回数据均为json格式
字符编码 统一采用UTF-8字符编码
签名算法 MD5

1.3 接入方式

第三方按照本接口协议,调用接口,往接口推送相关数据。

1.4 签名算法

生成签名有两个步骤。

  • 将请求参数(除签名以外)按参数名ASCII码从小到大排序并且以键值对(即key1=value1&key2=value2&key3=value3…)拼接方式拼接成原始字符串stringA。
  • 在stringA最后拼接上密钥key得到stringSignTemp字符串,并对stringSignTemp进行md5,并将得到的字符串转为大写,即可得到签名的值sign。

举例:

假设传送的参数如下:

request_number 10002304

timestamp 1501463464

channel_code XS0000000001

app_id   A223340002

device_info 10002

第一步按键值对拼接字符串,并且以ASCII码排序

stringA=”app_id=A223340002&channel_code=XS0000000001&device_info=10002& request_number=10002304& timestamp=1501463464”

第二步拼接密钥key,md5之后转大写

stringSignTemp=stringA+”&key=290987730b4c09247ec02edce67sc9d2″

sign=MD5(stringSignTemp).toUpperCase()=”DB09F317E6E76A7E7F2083BE9F446910″

2       API列表

2.1  上传门店信息

联调地址http://test.webapi.engine.sunmi.com/software/postStore

正式地址 http://webapi.engine.sunmi.com/software/postStore

接口名称 postStore

说明:将商米渠道下的店铺基础信息上传此接口(不同时间重复上传上传时会返回原来的门店编号),返回一个门店编号存储下来,将此门店编号跟软件商自己的门店进行绑定关联,上传交易数据时请求参数需带上门店编号。如果门店信息有修改可以带上门店编号上传此接口进行同步(也可不做)。

注意:门店只需上传一次,拿到门店编号即可,避免同时重复上传!

传入参数

字段名 变量名 是否必传 类型 描述
渠道编号 channel_code String(10) 标识第三方
请求流水号 request_number String(20) 用来匹配请求的 唯一
时间戳 timestamp UInt(10) 当前unix时间戳
签名 sign String(32) 请求签名用来验证请求的合法性
门店名称 store_name String(255)  
手机号 mobile String(11) 联系手机号
联系人 contactor String(50) 门店联系人姓名
所在省 province String(50) 例:浙江省
所在市 city String(50) 例:杭州市
门店地址 address String(255) 门店的详细地址
状态 status Uint 0 停用 1启用
扩展字段 ext_data JsonString 备用【非必须】
门店编号 store_code String(20) 商米的门店编号。某店铺首次上传无需传;第二次及后续上传需要带上此门店编号也就是走店铺信息修改

注:非必填字段为空时该字段不要传。

返回参数

字段名 变量名 类型 示例 描述
请求流水号 request_number String   请求参数传过来的流水号
状态码 code Int 0 公共错误码。0表示成功,其他值表示失败
状态码说明 message String 请求不合法 错误信息描述
门店编号 store_code String(20) 分配的店铺号,唯一标识