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