8.1门店订单数据上传
说明
此接口用于上传营业订单数据
支持单条上传和批量上传
对于非点菜消费数据(如会员卡充值)的上传:
此类无消费的数据也可以通过此接口上传,此类数据中只需要有pay项目的内容,而item项目为空。
并且为了区分此单据类型,增加type属性来区分,目前有两种:do:点菜单据,mc:会员充值单据
针对非正常点菜信息的识别(如退单、赠送):
系统规则是当数量qty为负数则识别为退单,
当金额amt为零则识别为赠送。(注意赠送记录数量不能为零,价格最好传菜品的原价,以用于统计赠送菜品的金额)
识别后的退单、赠送菜品信息会统计到相应报表中
原则:
1.菜品单价*数量=金额
2.菜品金额合计=付款金额合计
请求地址http://api.dc78.cn/Api/du_put_bill
请求方式
POST
请求参数说明
参数 | 参数名称 | 必填 | 描述 | 范例 |
---|---|---|---|---|
date | 业务日期 | 是 | yyyyMMdd格式日期 | 20151228 |
time | 订单时间 | 是 | yyyyMMdd_HHmmss格式时间 | 20151229_010128 |
type | 类型 | 是 | do:消费单,mc:会员卡充值,ta:外卖单 | do |
table | 桌台 | 否 | 桌台名称 | 188 |
pscount | 人数 | 是 | 订单中的人数,用于统计 | 8 |
bzid | 唯一id | 是 | 必须保证本门店不重复 | 201512280008 |
thirdid | 第三方平台源订单号 | 否 | 第三方平台源订单号 | |
num | 订单流水号 | 否 | 每个平台每天从1开始 | |
item内容为订单中的菜品列表 | ||||
gdsid | 菜品id | 是 | 菜品唯一编码 | |
name | 菜品名称 | 是 | 菜品名称 | |
ctid | 菜品分类id | 是 | 菜品分类编码,用于统计分类销售对比 | |
ctname | 菜品分类名称 | 是 | 菜品分类的名称 | |
unit | 菜品单位 | 否 | ||
qty | 数量 | 是 | ||
price | 单价 | 是 | ||
amt | 金额 | 是 | 本菜品金额小计=qty*price | |
isfree | 是否赠送 | 否 | 1=赠送,-1=非赠送。默认为根据amt=0判断为赠送 | |
pay内容为订单中的支付列表 | ||||
code | 支付代码 | 是 | 支付科目编码,用于统计 | xj |
name | 支付名称 | 是 | ||
amt | 支付金额 | 是 | ||
discount | 是否折让 | 否 | 用于标示非实收科目 | 1 |
thirdpayid | 第三方平台支付单号 | 否 | 第三方平台支付单号 |
{
"status": 1,
"info": "保存成功;"
"success":"0001201601130006=45982,0001201601130008=49983",
"error":"0001201601130007=出错",
}
返回status非1为出错,info中返回错误信息。
success中返回提交成功的账单号和保存流水号
error中返回的为出错的账单号,需要重传
注意如果本次提交多条,而其中有出错的账号单,但返回status=1,如果本次账单全部失败,则返回status=0
INI格式返回:
[result]
status=1
info=上传成功
JSON格式样例
bill={
"date": "20151228",
"time": "20151229_010108",
"table": "88",
"type": "do",
"pscount": "3",
"bzid": "201512280008",
"item": [
{
"gdsid": "0001050",
"name": "红烧大排翅",
"qty": "1",
"price": "188",
"amt": "188",
"ctid": "01001",
"ctname": "燕鲍翅",
"unit": "例",
"isfree": "1"
}
],
"pay": [
{
"code": "xj",
"name": "现金",
"amt": "180"
},
{
"code": "zk",
"name": "折扣",
"amt": "8",
"discount": "1"
}
]
}
批量上传:可以使用list参数将一批账单一起上传。每条订单内容与上面bill参数中一样。一次最多不超过100条。
list=[{
"date": "20151228",
"time": "20151229_010108",
"table": "88",
"bzid": "201512280008",
.....
},
{
"date": "20151228",
"time": "20151229_010136",
"table": "99",
"bzid": "201512280009",
.....
},
]
INI格式样例
[action]
action=du_put_bill
[get]
[post]
bill={object}
[post_bill]
date=20151228
time=20151229_010108
table=188
pscount=3
bzid=201512280008
item=array:1
pay=array:2
[post_bill_item_0]
gdsid=0001050
name=红烧大排翅
ctid=01001
ctname=燕鲍翅
unit=例
qty=1
price=188
amt=188
[post_bill_pay_0]
code=xj
name=现金
amt=180
[post_bill_pay_1]
code=zk
name=折扣
amt=8
discount=1