[关闭]
@lina 2018-02-05T06:38:18.000000Z 字数 10794 阅读 679

轻松宠物app端接口文档1.0

列表项

轻松宠物 1.0

1、项目约定

1.1 基本约定

1.1.1 API Base Url

1.1.2 鉴权字段(身份标识)

  • token : [string] 登录后获取的 token 信息,请将此字段至于请求头中,详见1.1.3

1.1.3 HTTP请求中字段要求

  • X-auth-token : [string] 登录后获取的 token 信息, 取window.token 请求头带此字段
  • X-location : [string] 坐标 lng-lat 请求头带此字段

1.1.4 图片裁图规则

1.2 通用接口

1.2.1 通用接口URL

1.2.2 上传图片

通用图片上传文件服务

请求URL

POST
/imgupload

请求参数

  • file : 文件

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. url: 'http://xxx'
  5. }
  6. }
  • url : [string] 文件的访问URL

1.2.3 验证码图片

注:请求图片时,需解析图片的cookie,不然无法认证

GET
/captcha/app

1.2.4 发送短信

POST
/verifycode

请求参数

  • captcha_code : [string] 图形验证码
  • phone : [string] 手机号

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

1.3 通用响应字段

1.3.1 状态字段

  • error_code: [int] 服务器状态码,0 为正常状态,异常状态待定。
  • error_message:[string] 错误信息,但 error_code 不为 0 时返回

1.3.2 数据字段

  • data: [object] 数据字段,所有响应数据都在此字段中
  • list: [array],当返回数据为列表时会将数据放在该字段

1.3.3 分页字段

  • page: [object] 分页信息,当返回数组数据时会携带该字段
    • current_page: [int] 当前页码,默认为1
    • total_page: [int] 总页数
    • page_size: [int] 每页数量:本项目常用page_size==10

示例

  1. {
  2. error_code: 0,
  3. data: {
  4. key: value,
  5. list: [{
  6. key: value
  7. }],
  8. page {
  9. }
  10. }
  11. }

2、数据结构

2.1 常用字段含义

2.1.1 banner跳转字段

jump_mode:[int]

0: 不跳转
1: 跳转至链接 href字段
2: 跳转至商户 jump_id表示商户id
3: 跳转至项目 jump_id表示项目id

2.2 核心结构

2.2.1 用户信息

  1. {
  2. id: 123,
  3. nickname: '王思聪',
  4. phone: '15500000000',
  5. avatars: 'http://img1.imgtn.bdimg.com/it/u=3904886406,695848811&fm=11&gp=0.jpg',
  6. score:0,
  7. token:'aaaaaaa',
  8. qq_nickname:'',
  9. wechat_nickname:'',
  10. }
  • id: [int] 用户ID
  • nickname: [string] 昵称
  • avatars: [string] 用户头像
  • phone: [string] 用户手机
  • score: [integer] 用户积分
  • token: [string] token,用户登录态,仅登陆接口下发
  • qq_nickname: [string] qq昵称
  • wechat_nickname: [string] 微信昵称

2.2.2 优惠券

  1. {
  2. id: 123,
  3. name: '100元优惠券',
  4. price: 50.99,
  5. par_value: 100.00,
  6. validity_time:30,
  7. }
  • id: [integer] ID
  • name: [string] 优惠券名称
  • price: [float] 售价
  • par_value: [float] 票面价
  • validity_time: [integer] 有效期 单位天

2.2.3 banner广告

  1. {
  2. id: 1,
  3. title: '活动',
  4. photo: 'http://oss-static-resource.oss-cn-beijing.aliyuncs.com/image/2017-03-09/35ca97afe5194f27eaf15a9cac6ef279.jpeg',
  5. jump_mode: 2
  6. jump_id: 1,
  7. href: '',
  8. }
  • id: [int] ID
  • title: [string] 广告titlee
  • photo: [string] 广告图片地址
  • jump_mode: [integer] 跳转类型,详见2.1
  • jump_id: 跳转的指向id,根据jump_mode含义跳转
  • href: [string] 根据jump_mode会有相应的值

2.2.4 商户信息

  1. {
  2. id: 123,
  3. name: '100元优惠券',
  4. addr: '北京市巴拉巴',
  5. lng: 127.222222,
  6. lat: 39.123412,
  7. type:1,
  8. default_score: 4.5,
  9. car_service:1,
  10. door_to_door_service:1,
  11. all_times_service:1,
  12. logo: 'http://imgurl',
  13. photo: ['http://imgurl'],
  14. tel: '010-888888888',
  15. open: '8:00',
  16. close: '18:30',
  17. car_open: '8:00',
  18. car_close: '18:30',
  19. abstracts: '首单五折',
  20. is_collection: 0,
  21. collection_count: 0,
  22. distance: 2222.222,
  23. category_ids:"1,2",
  24. status:1,
  25. }
  • id: [integer] ID
  • name: [string] 商户名称
  • addr: [string] 地址
  • type: [integer] 1自营 2第三方店铺 3第三方公益
  • default_score: [float] 评分
  • car_service: [integer] 是否提供专车服务 0不提供 1提供
  • door_to_door_service: [integer] 是否提供上门服务 0不提供 1提供
  • all_times_service: [integer] 是否24小时营业 0不提供 1提供
  • logo: [string] logo图,列表使用
  • photo: [array] banner大图
  • tel: [string] 联系电话
  • open: [string] 每日营业开始时间
  • close: [string] 每日营业截止时间
  • car_open: [string] 专车每日营业开始时间
  • car_close: [string] 专车每日营业截止时间
  • abstracts: [string] 简介
  • is_collection: [integer] 是否收藏 0未收藏 1已收藏
  • collection_count: [integer] 收藏总数 详情页下发
  • distance: [float] 距离 单位米
  • category_ids: [string] 类目id
  • status: [integer] 商户状态 0禁用 1正常启用 2仅展示 3歇业

2.2.5 项目信息

  1. {
  2. id: 123,
  3. name: '100元优惠券',
  4. category_id: 5,
  5. price_type:1,
  6. price: 199.00,
  7. original_price:300.00,
  8. service_price: 20.00,
  9. logo: 'http://imgurl',
  10. photo: ['http://imgurl'],
  11. describe: '<div>详情</div>',
  12. notice: '<div>使用须知</div>',
  13. only_display: 1,
  14. freetime:@空闲时间,
  15. business_info:@商户信息
  16. recommend_coupon: @优惠券信息
  17. car_rest:[{
  18. "date": "2018-01-22",
  19. "rest_car": 10
  20. },
  21. {
  22. "date": "2018-01-22",
  23. "rest_car": 10
  24. },
  25. ]
  26. }
  • id: [integer] ID
  • name: [string] 项目名称
  • category_id: [integer] 类目id
  • price_type: [integer] 1固定价格 2免费 3面议
  • price: [float] 售价
  • original_price: [float] 原价
  • service_price: [float] 上门服务价格
  • logo: [string] logo表图
  • photo: [array] 商品描述图
  • describe: [string] 商品描述
  • notice: [string] 使用须知
  • only_display: [integer] 是否仅展示
  • freetime:[object] 空闲时间
  • business_info:[object] 商户信息 详情接口下发
  • recommend_coupon:[object] 优惠券信息 详情接口下发,部分商品无此字段,没有表示没有推荐的
  • car_rest: [object] 专车时间

2.2.6 订单信息

  1. {
  2. id: 123,
  3. booking_time: '2017-11-11 11:11:11',
  4. use_time: '2017-11-11 11:11:11',
  5. amount: 199.00,
  6. comment_score:4.5,
  7. comment: '服务号',
  8. comment_photo: ['http://imgurl'],
  9. comment_time: '2017-11-11 11:11:11',
  10. number_of_days:3,
  11. remark: '备注',
  12. number: 1,
  13. status: 1,
  14. addr: '北京市xxxx'
  15. lng: '126.222222',
  16. lat: '39.100000',
  17. sn: '1111111',
  18. prepay_id: "wx20171130151158e06586fb15",
  19. business_info: @商户信息,
  20. goods_info: @项目信息,
  21. user_info: @用户信息,
  22. coupon_info: @优惠券,
  23. car_service: @专车信息
  24. }
  • id: [integer] ID
  • booking_time: [string] 预约时间
  • use_time: [string] 使用时间
  • amount: [float] 实付金额
  • comment_score: [float] 评分
  • comment: [string] 评论内容
  • comment_photo: [array] 评论图
  • comment_time: [string] 评论时间
  • number_of_days: [integer] 天数,仅当商品类目为寄养类目时才有意义
  • remark: [string] 备注
  • number: [integer] 订单数量
  • status: [integer] 状态 0待支付,1支付完成待使用 2 已使用 3申请退款 4退款中 5已退款 6交易已关闭 7交易完成确认
  • addr: [integer] 地址
  • lng: [string] 经度
  • lat: [string] 纬度
  • sn: [string] 流水号
  • prepay_id: [string] 微信支付的prepay id
  • business_info: [object] 商户信息
  • goods_info: [object] 商品信息
  • user_info: [object] 用户信息
  • coupon_info: [object] 使用的优惠券信息 详情页下发
  • car_service: [integer] 是否有专车服务 详情页下发

2.2.7 用户优惠券

  1. {
  2. id: 123,
  3. sn: 'xxxx',
  4. status: 1,
  5. expire: '2017-10-10',
  6. coupon: @优惠券,
  7. is_expire: 1,
  8. }
  • id: [integer] ID
  • sn: [string] 订单sn号
  • status: [integer] 状态 0未使用 1已使用 2已使用订单取消
  • expire: [string] 到期日
  • coupon: [object] 优惠券信息
  • is_expire: [integer] 是否过期 0未过期 1已过期

2.2.8 空闲时间

  1. {
  2. "date": "2017-01-01",
  3. "timelist": [
  4. 1,
  5. 1,
  6. 1,
  7. 1,
  8. 1,
  9. 1,
  10. 1,
  11. 1,
  12. 1,
  13. 1,
  14. 1,
  15. 1,
  16. 1,
  17. 1,
  18. 1,
  19. 1,
  20. 1,
  21. 1,
  22. 1,
  23. 1,
  24. 1,
  25. 1,
  26. 1,
  27. 1
  28. ]
  29. }

以日期为key的map结构,值为长度为24的数组,代表24个小时是否空闲,1空闲 0不空闲

2.2.9 专车信息

  1. {
  2. id: 123,
  3. type: 1,
  4. addr: '北京市xxxx'
  5. lng: '126.222222',
  6. lat: '39.100000',
  7. }
  • id: [integer] ID
  • type: [integet] 类型 1单程 2往返
  • addr: [integer] 地址
  • lng: [string] 经度
  • lat: [string] 纬度

3、接口列表

3.1 用户类接口

3.1.1 发送短信

POST
/verifycode

请求参数

  • phone : [string] 手机号
  • captcha_code : [string] 图形验证码 非必填 如果返回error_code=10000 则要求此手机号出验证码

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

3.1.2 登陆注册接口

请求URL

POST
/login

请求参数

  • phone: [string] 用户名 【必填】
  • verify_code: [string] 验证码 【必填】
  • device_id: 设备 ID【非必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.1.3 修改用户信息接口

请求URL

POST
/user

请求参数

  • nickname: [string] 用户名 【非必填】
  • avatar: [string] 验证码 【非必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.1.4 获取用户信息接口

请求URL

GET
/user

请求参数

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.1.5 我的优惠券

请求URL

get
/user/coupon

请求参数

  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @用户优惠券
  6. ],
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.1.5 我的订单

请求URL

get
/order

请求参数

  • type: 类型【非必填】默认时全部订单 1待使用 2已使用, 待评价
  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @订单信息
  6. ],
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.1.6 订单详情

请求URL

get
/order/{id}

请求参数

  • id: 订单id 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @订单信息
  5. }
  6. }

3.1.7 修改订单预约时间

请求URL

post
/order/{id}

请求参数

  • id: 订单id 【必填】
  • booking_time: 预约时间 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @订单信息
  5. }
  6. }

3.1.8 评论订单

请求URL

post
/order/{id}/comment

请求参数

  • id: 订单id 【必填】
  • comment_score: 订单评分 【必填】
  • comment: 订单内容 【必填】
  • comment_photo: 图片,数组 【非必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @订单信息
  5. }
  6. }

3.1.9 我的收藏

请求URL

get
/user/collection

请求参数

  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @商户信息
  6. ],
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.1.10 取消订单

请求URL

get
/order/{id}/cancel

请求参数

  • id: 订单id 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

3.1.11 订单支付

未支付订单继续支付
请求URL

get
/order/{id}/pay

请求参数

  • id: 订单id 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "id": 31,//订单号
  5. "prepay_id": "wx20171130151158e06586fb150634219878",
  6. "sn": "171130692651"//流水号,用于支付状态轮训
  7. }
  8. }

3.1.12 删除用户【测试环境使用】

请求URL

delete
/user/{id}

请求参数

  • id: 用户id 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

3.1.13 订单完成确认

请求URL

get
/order/{id}/done

请求参数

  • id: 订单id 【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @订单信息
  5. }
  6. }

3.2 其它接口

3.2.1 首页banner

get
/banner

请求参数

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @banner广告
  6. ]
  7. }
  8. }

3.2.2 首页自营活动推广位

get
/banner/activity
type=2 为左侧广告位 type=3为右上广告位 type=4为右下广告位 type=5 为下侧广告位 type=6为个人中心广告

请求参数

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @banner广告
  6. ]
  7. }
  8. }

3.2.3 配置信息接口

get
/config

请求参数

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "category_config":[
  5. 类目配置信息
  6. ]
  7. }
  8. }

3.3 商户项目类接口

3.3.1 首页附近商家接口

get
/business/index

请求参数

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @商户信息
  6. ]
  7. }
  8. }

3.3.2 商家列表接口

get
/business

请求参数

  • keyword: 搜索关键字【非必填】
  • sort: 排序规则【非必填】默认距离 [distance|score]
  • category_id: 类目【非必填】类目过滤
  • car_service: 是否有专车服务 【非必填】[0|1]
  • door_to_door_service: 是否上门服务【非必填】[0|1]
  • is_open: 当前是否营业时间【非必填】[0|1]
  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @商户信息
  6. ],
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.3.3 商家详情接口

get
/business/{id}

请求参数

  • id: 商户ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @商户信息
  5. }
  6. }

3.3.4 商家项目(商品)列表

get
/business/{id}/goods

请求参数

  • id: 商户ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. '1':[@项目信息], #1为类目idvalue为项目信息的数组
  5. '2':[@项目信息]
  6. }
  7. }

3.3.5 项目(商品)详情

get
/goods/{id}

请求参数

  • id: 项目(商品)ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @项目信息
  5. }
  6. }

3.3.6 其它小伙伴也喜欢项目(商品)列表

无分页,取五条数据

get
/recommend/goods/{id}

请求参数

  • id: 项目(商品)ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @项目信息
  6. ]
  7. }
  8. }

3.3.7 项目(商品)下单接口

注:当error_code=0,如返回prepay_id,则唤起支付,否则按购买成功逻辑处理

POST
/order/goods/{id}

请求参数

  • id: 项目(商品)ID
  • booking_time: 预约时间【非必填】
  • number: 数量【必填】
  • user_coupon_id: 用户优惠券id【非必填】
  • door_to_door_service: 上门服务【非必填】 0不买 1买
  • user_score: 使用积分【非必填】
  • car_service: 专车服务【非必填】0无 1有
  • car_service_type: 专车服务类型【非必填】1单程 2往返 当car_service=1必填
  • addr: 专车接送地址【非必填】 当car_service=1 or door_to_door_servide=1必填
  • lng: 经度【非必填】 当car_service=1 or door_to_door_servide=1必填
  • lat: 纬度【非必填】 当car_service=1 or door_to_door_servide=1必填
  • passenger: 乘客姓名【非必填】 当car_service=1 or door_to_door_servide=1必填
  • passenger_phone: 乘客电话【非必填】 当car_service=1 or door_to_door_servide=1必填
  • remark: 客户备注【非必填】
  • number_of_days: 寄养天数,当商品的类目为寄养类目时,必填【非必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "id": 31,//订单号
  5. "prepay_id": "wx20171130151158e06586fb150634219878", //
  6. "sn": "171130692651"//流水号,用于支付状态轮训
  7. }
  8. }

3.3.8 订单查询接口

请求URL

GET
/order/query/{sn}

请求参数

  • sn: 订单流水号

响应

  1. {
  2. "error_code": 0,
  3. "data":{
  4. "result": 1, //0未支付(请继续轮训) 1支付成功 2支付失败
  5. },
  6. "error_message": ""
  7. }

3.3.9 收藏商家接口

get
/business/{id}/collection

请求参数

  • id: 商户ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

3.3.10 项目(商品)评论

get
/goods/{id}/comment

请求参数

  • id: 项目(商品)ID
  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @评论信息
  6. ],
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.3.11 取消收藏商家接口

get
/business/{id}/uncollection

请求参数

  • id: 商户ID

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. }
  5. }

3.4 优惠券类接口

3.4.1 优惠券列表接口

get
/coupon

请求参数

  • current_page: 页码【非必填】默认1
  • page_size: 页长【非必填】 默认10

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. "list":[
  5. @优惠券信息
  6. ]
  7. "page":{
  8. @分页字段
  9. }
  10. }
  11. }

3.4.2 优惠券详情接口

get
/coupon/{id}

请求参数

  • id: 优惠券id【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @优惠券信息
  5. }
  6. }

3.4.3 优惠券下单接口

注:当error_code=0,如返回prepay_id,则唤起支付,否则按购买成功逻辑处理

post
/order/coupon/{id}

请求参数

  • id: 优惠券id【必填】
  • number: 数量【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. 返回支付配置信息
  5. }
  6. }

3.5 微信和QQ登陆

3.5.1 微信登陆 [app废弃]

注:此接口需要判断返回值,如果返回值是unique_key,请走绑定手机号流程,详见3.5.3,如果返回用户信息,则登陆成功

get
/oauth/callback/weixin

请求参数

  • code: sdk获取的code【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息 or unique_key
  5. }
  6. }

3.5.2 QQ登陆

注:此接口需要判断返回值,如果返回值是unique_key,请走绑定手机号流程,详见3.5.3,如果返回用户信息,则登陆成功

post
/sync/qq

请求参数

  • openid: qq用户的openid【必填】
  • nickname: 昵称【必填】
  • avatar: 头像【必填】
  • gender: 性别【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息 or unique_key
  5. }
  6. }

3.5.3 微信登陆

注:此接口需要判断返回值,如果返回值是unique_key,请走绑定手机号流程,详见3.5.3,如果返回用户信息,则登陆成功

post
/sync/wechat

请求参数

  • openid: openid【必填】
  • nickname: nickname【必填】
  • headimgurl: headimgurl【必填】
  • sex: sex【必填】
  • country: country【必填】
  • province: province【必填】
  • city: city【必填】
  • unionid: unionid【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息 or unique_key
  5. }
  6. }

3.5.4 绑定用户

post
/bindUser

请求参数

  • unique_key: 上一步获得的key【必填】
  • type: 类型【必填】 wechat,qq
  • phone: 电话【必填】
  • verify_code: 验证码【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.5.2 绑定QQ

post
/bind/qq

请求参数

  • openid: qq用户的openid【必填】
  • nickname: 昵称【必填】
  • avatar: 头像【必填】
  • gender: 性别【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.5.6 绑定微信

post
/bind/wechat

请求参数

  • openid: openid【必填】
  • nickname: nickname【必填】
  • headimgurl: headimgurl【必填】
  • sex: sex【必填】
  • country: country【必填】
  • province: province【必填】
  • city: city【必填】
  • unionid: unionid【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. @用户信息
  5. }
  6. }

3.6 APP相关

3.6.1 APP更新(android)

get
/apk/update

请求参数

  • version: app的version_code【必填】

响应

  1. {
  2. error_code: 0,
  3. data: {
  4. version_name: '1.0.1',//版本号
  5. version_code: '100001',//版本号
  6. url: 'apk',//apk下载地址
  7. description: '修复bug',//升级描述信息
  8. force_update: 1,//是否强制升级 1:强制 0:非强制
  9. }
  10. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注