加载中…

创建订单 / 下单接口参数说明

[《前端接口文档》](https://api.it120.cc/doc.html) 接口地址以及参数说明,请移步至上述链接查看详细的接口文档说明 接口文档的使用方法,接口如何调用,请参阅下面的入门教程: [《如何调用接口?》](https://www.yuque.com/apifm/doc/mrwduw) 如果你是进行微信小程序开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口: [《微信小程序SDK》](https://github.com/gooking/apifm-wxapi) 如果你是进行头条/抖音小程序开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口: [《头条/抖音小程序SDK》](https://www.yuque.com/apifm/doc/an59b0) 如果你是进行web开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口: [《web开发SDK》](https://github.com/gooking/apifm-webapi) 如果你是进行flutter开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口: [《flutter开发SDK》](https://github.com/gooking/apifm-flutter) 本教程详细描述下本接口使用的参数,便于开发者快速检索: # 预下单 参数名: calculate 有的时候,我们并不希望立即下单,而是验证下是否可以下单,同时获取如果下单以后需要支付的金额、积分等等情况,比如可以用来实现订单确认页面,显示支付金额等信息让用户确认以后才正式下单 这个时候,你可以传该参数,calculate = true # 用户登陆凭证 参数名: token + 必填参数 + 传入下单用户的登陆token信息,系统根据传入的 token ,将订单保存到对应的用户名下 # 邀请人 参数名: orderInviterId 该参数传入用户id,系统将标记本订单的邀请人为该用户,同时这个字段也是作为三级分销抢客的依据,如果邀请人是分销商,并且了开启允许抢客,那么用户的所属分销商关系将会被变更 # 商品类型 参数名: goodsType 0 自营商品; 1 京东vop商品; 2 京东权益商品; 3 寄存商品取回 一般应用,直接传0即可 # 订单商品 参数名: goodsJsonStr 下单商品信息,格式如下: ```json [ { "goodsId": 11, "number": 2, "propertyChildIds": "", "days": [ "2019-07-26", "2019-07-27" ] }, { "goodsId": 8, "number": 3, "propertyChildIds": "2:9", "inviter_id": 1234, "days": [ "2019-07-26", "2019-07-27" ] } ] ``` 请注意,这个参数是字符串类型,所以你将可能需要通过下面的方法转为字符串以后再传给接口调用: ```javascript JSON.stringify(array) ``` 具体字段描述如下: + goodsId 商品ID,数字类型,请区分商品条码和商品ID,不要搞混淆**【如果是VOP商品,这里传商品列表或者详情接口返回的yyId字段】** + nativeGoodsId 商品ID,数字类型,请区分商品条码和商品ID,普通商品同`goodsId`,VOP商品的话,是和`goodsId` 不一样的 + number 购买数量 + propertyChildIds 规格尺寸的 SKU 信息,如果没有可不传,如: 2:9,3:8 这个例子中,2 代表颜色属性的ID,9代表红色的子属性的ID;3代表内存属性的ID,8代表256G的子属性的ID 有多少规格尺寸,就传几个,用英文逗号分隔开 + inviter_id 商品的分享用户编号,如果么有可不传 该字段主要实现商品的分享奖励 [《商品分享奖励教程》](https://www.yuque.com/apifm/doc/uzf2xp) 所以同一个订单,存在多个商品,可能出现A商品分享奖励给张三,B商品分享奖励给李四的情况 + days 可选参数,没有则不传 该参数的使用业务场景诸如酒店预定、购买门票之类的,同一个商品,不同的日期有固定的库存,下单的时候需要制定具体的日期; 比如商品是酒店客房,那么用户预订的时候,必须要选定是几月几号入住,可以同时选择多个日期,例如: ```json "days": [ "2019-07-26", "2019-07-27" ] ``` + goodsAdditionList 商品可选配件信息,可选参数,没有则不传 有的商品是可以设置可选配件的,例如麻辣烫,加青菜加多少钱,加鸡蛋加多少钱;例如搬家服务,可选楼层:3层以下不加钱,5层以下加多少钱,10层以下加多少钱;又例如奶茶商品,可分别选择冰度:多冰、少冰、去冰,甜度:3分、5分、7分,加料:珍珠、奶盖、奶昔等等 例如: ```json [ { "id": 869, "pid": 1699 }, { "id": 871, "pid": 1588 } ] ``` 该例子中是一个黄焖鸡米饭的商品下单的可选配件参数,1699 是口味的可选配件ID,869是中辣的配件选项ID;1588是配菜的可选配件ID,871 是鹌鹑蛋的配件选项ID + goodsTimesDay 和 goodsTimesItem 参数 这两个参数是同时出现,要么同时不出现,主要是为了适配预约类的业务场景,比如医生挂号、服务预约等等; 这个参数区别于上面的 days 参数的区别在于,酒店预定只需要选定日期即可,所以商品库存是跟着日期走的,但是医生挂号类的应用,库存是跟着时段走的,比如某一天 9:00-10:00 这个时段总共有几个号是固定的,被人预定了库存就没了。 如有此类业务需求,可考虑使用时段定价的功能 goodsTimesDay 传值如: 2021-06-12 goodsTimesItem 传值如:9:00-10:00 + wholesaleId 批发设置的记录ID # 收货地址 如果商品的运费模版选择了需要快递,那么下单的时候,必须传入用户的收货地址 信息,否则接口会提示对应的错误信息 详细的参数说明如下: ## provinceId 省份编码,可通过接口文档中获取省市区接口获得 ## cityId 城市编码,可通过接口文档中获取省市区接口获得 ## districtId 区县编码,可通过接口文档中获取省市区接口获得,该参数除vop业务外可不传 ## streetId 街道编码,可通过接口文档中获取省市区接口获得,该参数除vop业务外可不传 ## address 详细收货地址 ## menpai 门牌号 ## linkMan 收件人姓名 ## mobile 收件人手机号码 ## idcard 如果是国际件,一般为跨境电商业务,需要传收件人的身份证号码 ## code 邮政编码,可不传 ## lat 收货地址的地图定位纬度,一般配送类的订单,需要传这个参数,便于计算距离以及配送费 ## lng 收货地址的地图定位经度,一般配送类的订单,需要传这个参数,便于计算距离以及配送费 # 配送类型 参数名: peisongType + kd 代表本订单需要快递 + zq 代表本订单用户选择到店自提,无需发送快递 + keloop 本订单将自动接入快跑者系统,采用快跑者配送体系 + pszq 接入api工厂的配送模块,由商家自行配送 + meituan 美团配送 + shansong 闪送 # 收取配送费 参数名: peisongFeeId 可传入后台设置的配送费记录ID,系统将自动计算配送费用 # 自动接入工厂配送插件 参数名: autoPeisong 设置 autoPeisong = true 自动接入工厂配送模块,你可以配合后台的配送模块一起使用,搭建自己的配送团队 如果没传 `peisongFeeId`,传了该参数后,系统会自动决定使用哪个最合适的 `peisongFeeId` **前提条件:** 1. **lat 和 lng 参数必传,这样系统才能知道用户收货定位,用于计算距离** 2. **商品必须是有所属门店的,且门店的经纬度是有设置的,这样系统才能知道定位,用于计算距离** # 小费 参数名: trips 在海外比较流行给小费,用户购买商品以后,自愿的会给予一定的小费,可将小费金额传给该字段,系统会在订单一起结算 # 订单备注 参数名: remark 用户下载的时候,可以给商家留言,备注一些特殊要求 # 使用优惠券 参数名:couponId 使用的优惠券编号,多张优惠券请用英文的逗号分隔,如果不使用优惠券,无需传该参数 # 会员卡业务 参数名:cardId 如果用户名下有会员卡,可在下单的时候传入会员卡记录ID,系统将优先从会员卡结算,不够的再提示用户进行支付剩余金额 # 货到付款 参数名:payOnDelivery 如果该参数传如 1,那么本订单将会是货到付款订单,无需支付,订单准备即为待发货状态,在后台订单详情中,订单的支付状态为未支付,你可以货送达以后再自行和用户收款 # 选择自提门店 参数名: shopIdZt 和 shopNameZt 可以让用户选择自提门店,该参数传入门店ID 和 门店名称 # 提货点信息 参数名: pickPointId 该参数传入提货点ID,配合后台的提货点管理一起使用 # 达达配送 你可以轻松接入达达配送,具体操作可参阅教程: [《如何接入达达配送》](https://www.yuque.com/apifm/doc/gxk08t) 上述参数“收货地址”中的地图经纬度参数是必传,否则达达无法给骑手推送准备的配送地址 具体参数说明如下: ## dadaShopNo 达达商户ID,请自行前往达达商户后台查看 # 砍价业务 参数名: kjid 如果是购买某个砍价商品,需要传入该参数,是用户发起砍价记录Id,系统将会按照当前砍价进度的当前价格进行结算(如已砍到底价,就按底价介绍;如未砍到结算,就按当前砍到的价格进行结算) # 拼团业务 参数名: pingtuanOpenId 如果是团购订单,需要传入团号,订单支付以后,即可参团成功 # 核销码 参数名: isCanHx 如果该参数传入 isCanHx = true 那么,订单将会自动生成核销码,你可以显示成二维码,继而后续快速实现扫码核销订单的功能 # 卡密自动发货 参数名: autoDeliver 传入参数 autoDeliver = true 来实现订单卡密自动发货功能,可实现例如销售游戏点卡、优惠券、充值卡之类的业务。具体教程可参阅: [《卡密 / 优惠券自动发货插件》](https://www.yuque.com/apifm/doc/gr9bgz) # 积分抵扣 参数名: deductionScore 如果后台设置了积分抵扣规则,那么用户下单的时候,可选择使用一定的积分来抵扣订单金额 比如允许使用500积分抵扣10元,那么运来需要支付100元的订单,该参数传入数字 500 以后,订单的应付金额将变成90元,同时需要扣除用户可用积分500 彩蛋: 1. 传 0 ,自动抵扣,也就是系统会自动根据用户的剩余积分数量,最大化的进行抵扣; 2. 传负数,比如传 `-80`,系统会保留绝对值数值后进行智能自动抵扣,比如 `-80`,系统将用户可用积分减掉 `80`后,剩余部分进行最大化的抵扣; # 积分强制使用金额兑换 参数名: `scoreForceExchange` + 传true,不进行积分结算,所有的积分根据后台设置的每个积分多少金额全部用金额进行结算 # 积分不足使用金额兑换 参数名: `scoreExchangeClose` + 不传或者传false,用户的积分不足以扣除的时候,将按照后台设置的一个积分使用多少金额兑换,折算成资金结算 + 传true,折不做自动兑换 # 周期性订单 参数名: orderPeriod 常见的业务场景有:家政保洁的定期上门服务、定杂志报纸、定鲜奶等等业务 这些业务需要按照某个固定的周期,系统自动生成订单,并且从用户余额中扣除订单应付金额 参数例子: ```json { "unit": 1, // 0 天 1 月 2 年 "times": 3, // 订阅次数 "duration": 1, // 间隔 "dateStart": '2021-06-12', // 首次生成子订单的时间 "periodAddProperty": "attendanDay", // 生成子订单是试试,这里的属性需要加上周期 "autoPay": true // 是否自动支付订单,否则需要用户周期性的去支付系统生成的订单 } ``` 这个例子中,系统会每个月生成一个订单,如果用户可用余额充足,订单将会自动完成支付 dateStart 这个时间一定要注意,一定要设置下一个周期第一次自动生成订单的时间,如果改时间设置当前时间,系统会立即生成一个新订单,所以一般这个时间要计算好下一个周期的单子的时间 # 订单扩展属性 参数名: extJsonStr 可根据自己的实际需要,将自定义的信息内容提交,继而在后台订单详情页面,即可查看这些信息,例如: ```json { "学校": "浙江大学", "专业": "计算机", "班级": "401" } ``` 在订单详情,将可以看到这些信息 # 订单扩展类型 参数名: extType 可根据自己的实际需要,给订单标记类型,反应在订单列表和订单详情接口的字段对应的为 type2 # 服务技师 参数名 `attendantId` # 服务日期 attendanDay # 服务时间 attendanTime 预留字段: attendanTime2 # 优惠 + ignoreDiscountPrice 如果传,将忽略商品设置里面的优惠金额