到位API对接接口

概述

到位提供如下API接口:

  1. 获取上门服务分类列表
  2. 获取上门服务店铺列表
  3. 获取上门服务店铺详情
  4. 创建订单
  5. 查询订单状态

需合作方实现API接口:

1、订单取消通知接口cancel _order _notify _url

用户端须在到位平台有账户,并且预充值,创建订单时自动扣除充值金额。

到位测试环境的基准URL为: http://test.daoway.cn/daoway/rest/open/, 正式环境为http://api.daoway.cn/daoway/rest/open/, 下面API的url默认前缀为该url

测试环境的用户名/密码为: apitest/api123,为方便测试,测试环境用户账户已预充值.

获取上门服务分类列表

GET /categories
响应示例:

{
  "status" : "ok",
  "data" : [ {
    "id" : "20",  //分类Id
    "name" : "家政", //分类名称
    "iconUrl" : "http://img.daoway.cn/img/icon/home/jiazhen.png" //分类图标
  }, {
    "id" : "21",
    "name" : "外卖",
    "iconUrl" : "http://img.daoway.cn/img/icon/home/waimai.png" 
  }
 ]
}

获取上门服务店铺列表

GET /services
参数:

channel: 渠道号,必填
city: 城市,如"北京",可选,默认为客户端地区。
category: 分类id,分类id从分类列表中获取,可选
search: 搜索服务关键词,可选
lng: 经度,下单用户经度,采用百度坐标,可选。
lat: 维度,下单用户维度,采用百度坐标,可选
size: 最多返回多少条记录,默认为20
start: 和size一起用作分页,默认0,如果size为10,则获取第二页时start应为10

响应:

{
  "status" : "ok",
  "data" : [ {
    "categoryId" : "20", //分类id
    "categoryIconUrl" : "http://img.daoway.cn/img/icon/jiazheng3.png", //分类图标
    "serviceId" : "c8e42f7716124bd2ad23c95445002d88", //店铺id
    "title" : "云家政", //店铺名称
    "imgUrl" : "http://img.daoway.cn/img/2015/12/18/71cae631-df7e-40d2-abcb-e1dd4e98b61b.jpg", //图片
    "priceId" : "56611", //主要服务项目id
    "price" : 15.0, //主要服务项目价格
    "priceUnit" : "/小时", //主要服务项目价格单位
    "priceName" : "家庭保洁", //主要服务项目名称
    "tagIcons" : [ "http://www.daoway.cn/img/icon/youhui.png", "http://www.daoway.cn/img/icon/recommend.png" ]  //标签icon列表
  }, {
    "categoryId" : "20",
    "categoryIconUrl" : "http://img.daoway.cn/img/icon/jiazheng3.png",
    "serviceId" : "ab65512d16b745f1b420c915cbd399f2",
    "title" : "来人到家",
    "imgUrl" : "http://img.daoway.cn/img/2015/11/26/faf2fb0a-fdd3-4f01-8324-2273047ad70e.jpg",
    "priceId" : "105548",
    "price" : 99.0,
    "priceUnit" : "/次",
    "priceName" : "4小时家庭保洁",
    "tagIcons" : [ "http://www.daoway.cn/img/icon/youhui.png", "http://www.daoway.cn/img/icon/recommend.png" ]
  }
 ]
}  

获取上门服务店铺详情

GET /services/{serviceId}
参数:

channel: 渠道号,必填

示例响应

{
  "status" : "ok",
  "data" : {
    "categoryId" : "20", //分类id
    "categoryName" : "家政", //分类名称
    "categoryIconUrl" : "http://img.daoway.cn/img/icon/jiazheng3.png", //分类图标
    "id" : "ab65512d16b745f1b420c915cbd399f2", //服务店铺id
    "imgs" : [ "http://img.daoway.cn/img/2015/11/26/faf2fb0a-fdd3-4f01-8324-2273047ad70e.jpg" ], //图片列表
    "title" : "来人到家", //店铺名称
    "description" : "18年专注家政保洁 ....", //店铺描述
    "startTime" : "08:00", //起始营业时间
    "endTime" : "18:00", //结束营业时间
    "availableDays" : "0,1,2,3,4,5,6", //营业日子,逗号分隔0-6,0表示周一,6表示周日
    "aheadHours" : 24.0, //提前预约小时数
    "prices" : [{  //具体提供的服务价目表
      "id" : "105097",   //价目id
      "name" : "家庭保洁", //价目名称
      "description" : "家庭保洁服务内容:...", //价目描述
      "price" : 35.0, //价格
      "priceUnit" : "元/小时", //价目单位
      "imgUrl" : "http://img.daoway.cn/img/2015/10/13/34527045-8d38-41ed-a79d-fd47e0cc0e4e.jpg", //价目图片
      "minBuyNum" : 2 //起购数量
    } ],
    "fixFee" : 0.0, //上门费/配送费
    "noFixFeePrice" : 0.0, //如果订单金额满足该金额则免上门费/配送费
    "minBuyPrice" : 0.0, //起购金额
    "tagIcons" : [ "http://www.daoway.cn/img/icon/youhui.png", "http://www.daoway.cn/img/icon/recommend.png" ] //店铺标签icon列表
  }
}

创建订单

POST /orders?channel={channel}

格式 application/json 内容:

{
  "userName": "到位账号",
  "password": "密码",
  "serviceId": "订购店铺id",
  "items":[{ //订购项目列表
    "priceId":"服务价目id",
    "quantity": 订购数量,整数,如1
   }
  ]
  "city": "用户地址-城市",
  "street": "用户地址-小区街道",
  "house": "用户地址-楼号、楼层、门牌号",
  "contactPerson": "联系人",
  "phone": "联系电话",
  "appointTime": "预约时间,格式如2015-12-18 11:22:43"
  "note": "备注"
}

响应:

{
  "status" : "ok",
  "data" : {
    "orderId": "订单id",
    "consumedMoney": 本次订单消费金额,如23.4
    "remainingMoney": 账户剩余金额, 如4890.6
  }
}  

查询订单状态

GET /orders/{orderId}/status?channel={channel}

响应

{
  "status" : "ok",
  "data" : "status" //订单状态
}  
订单状态可能的值为:
PENDING_CONFIRM: 表示新订单,待商家确认
CONFIRMED: 商家已接单
COMPLETED: 订单已完成
CANCELLED: 订单已取消

订单取消通知接口(合作方实现)

POST
参数如下: channel:渠道号,例如huimin
orderId:订单号
consumedMoney:订单金额
contactPerson:订单中的联系人
phone:订单中的预留手机号
reason:订单取消的原因

响应

 
{ "result" : "0",操作结果状态,成功则是0 ,不成功则是其他字符。 "message" : 不成功的时候需要返回相应的原因 }