swagger-open api 手动编写规范
参考资料
coding | swagger3.0doc | 编辑器 |
---|---|---|
文档 | 链接 | Swagger Editor |
info
基本结构
所有关键字名称均区分大小写。
元数据
每个API定义都必须包括该定义基于的OpenAPI规范版本:
openapi: 3.0.0
OpenAPI版本定义了API定义的整体结构-您可以记录什么以及如何记录它。OpenAPI 3.0使用具有三部分版本号的语义版本控制。的可用版本是3.0.0,3.0.1,3.0.2,和3.0.3; 它们在功能上是相同的。
本info
节包含API信息:title
,description
(可选)version
、:
info:
title: Sample API
description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML.
version: 0.1.9
title是您的API名称。description是有关您的API的扩展信息。它可以是多行,并支持Markdown的CommonMark方言以表示富文本。在CommonMark提供的范围内支持HTML(请参阅CommonMark 0.27规范中的HTML块)。是一个任意字符串,用于指定API的版本(请勿将其与文件修订或版本混淆)。您可以使用诸如major.minor.patch之类的语义版本控制,或诸如1.0-beta或2017-07-25之类的任意字符串。 versionopenapiinfo 还支持其他关键字,用于联系信息,许可证,服务条款和其他详细信息。
伺服器
本servers
部分指定API服务器和基本URL。您可以定义一台或多台服务器,例如生产服务器和沙箱。
servers:
- url: http://api.example.com/v1
description: Optional server description, e.g. Main (production) server
- url: http://staging-api.example.com
description: Optional server description, e.g. Internal staging server for testing
所有API路径均相对于服务器URL。在上面的示例中,/users表示http://api.example.com/v1/users或http://staging-api.example.com/users,具体取决于所使用的服务器。有关更多信息,请参见API服务器和基本路径。
路径
本paths
部分定义了API中的各个端点(路径),以及这些端点支持的HTTP方法(操作)。例如,GET /users可以描述为:
paths:
/users:
get:
summary: Returns a list of users.
description: Optional extended description in CommonMark or HTML
responses:
'200':
description: A JSON array of user names
content:
application/json:
schema:
type: array
items:
type: string
操作定义包括参数,请求正文(如果有),可能的响应状态代码(例如200 OK或404未找到)和响应内容。有关更多信息,请参见路径和操作。
openapi: 3.0.0
info:
title: EDP Skip APP API
version: 1.0.0
description: |
公共的请求错误码对应描述如下:
- 401: 授权失败,当用户access_token失效;
- 404: 页面不存在;
- 500: 服务器错误
tags:
- name: security
description: 安全
- name: account
description: 账户å
- name: notification
description: 通知
- name: coupon
description: 优惠券
- name: notice
description: 告示
- name: booking
description: 预约
- name: order
description: 订单
- name: setting
description: 设置
- name: file
description: 文件
paths:
#Security Module
/password_sessions:
post:
tags:
- security
summary: 密码登陆
requestBody:
content:
application/json:
schema:
type: object
properties:
account:
type: string
description: "账户(email or mobile)"
password:
type: string
description: "密码"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户ID"
access_token:
type: string
description: "API调用凭证"
role_type:
type: integer
description: "角色类型:0位顾客;1为职员(用户角色为职员时access_token为空,需要在调用职员登录API)"
recycle_company_name:
type: string
description: "回收公司名称"
recycle_company_city_name:
type: string
description: "回收公司地区名称"
recycle_company_group_name:
type: string
description: "回收公司小组名称"
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
EMAIL_OR_MOBILE_EMPTY:
summary: "邮件/电话為空"
value:
error_code: "EMAIL_OR_MOBILE_EMPTY"
error_msg: "請輸入Email/電話"
PASSWORD_EMPTY:
summary: "密碼為空"
value:
error_code: "PASSWORD_EMPTY"
error_msg: "請輸入密碼"
ACCOUNT_IS_NOT_EXIST:
summary: "账户不存在"
value:
error_code: "ACCOUNT_IS_NOT_EXIST"
error_msg: "账户不存在"
ACCOUNT_PASSWORD_ERRPR:
summary: "帳號或密碼錯誤"
value:
error_code: "ACCOUNT_PASSWORD_ERRPR"
error_msg: "帳號或密碼錯誤"
/sms_sessions:
post:
tags:
- security
summary: 短信登陆
requestBody:
content:
application/json:
schema:
type: object
properties:
mobile:
type: string
description: "电话"
verify_code:
type: string
description: "验证码"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户ID"
access_token:
type: string
description: "API调用凭证"
role_type:
type: integer
description: "角色类型:0位顾客;1为职员"
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
MOBILE_EMPTY:
summary: "电话為空"
value:
error_code: "MOBILE_EMPTY"
error_msg: "請輸入電話"
VERIFY_CODE_EMPTY:
summary: "验证码為空"
value:
error_code: "VERIFY_CODE_EMPTY"
error_msg: "验证码為空"
ACCOUNT_IS_NOT_EXIST:
summary: "账户不存在"
value:
error_code: "ACCOUNT_IS_NOT_EXIST"
error_msg: "账户不存在"
VERIFY_CODE_ERRPR:
summary: "验证码错误"
value:
error_code: "VERIFY_CODE_ERRPR"
error_msg: "验证码错误"
/staff_sessions:
post:
tags:
- security
summary: 职员登陆
requestBody:
content:
application/json:
schema:
type: object
properties:
account:
type: string
description: "账户(email or mobile)"
password:
type: string
description: "密码"
staff_employee_no:
type: string
description: "职员编号"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户ID"
access_token:
type: string
description: "API调用凭证"
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
EMAIL_OR_MOBILE_EMPTY:
summary: "邮件/电话為空"
value:
error_code: "EMAIL_OR_MOBILE_EMPTY"
error_msg: "請輸入Email/電話"
PASSWORD_EMPTY:
summary: "密碼為空"
value:
error_code: "PASSWORD_EMPTY"
error_msg: "請輸入密碼"
ACCOUNT_IS_NOT_EXIST:
summary: "账户不存在"
value:
error_code: "ACCOUNT_IS_NOT_EXIST"
error_msg: "账户不存在"
ACCOUNT_PASSWORD_ERRPR:
summary: "帳號或密碼錯誤"
value:
error_code: "ACCOUNT_PASSWORD_ERRPR"
error_msg: "帳號或密碼錯誤"
/sessions/$session_id:
delete:
tags:
- security
summary: 登出
operationId: logout
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: path
name: session_id
required: true
schema:
type: integer
description: 用户id
responses:
'200':
description: ""
/verify_code:
get:
tags:
- security
summary: 发送短信验证码
parameters:
- in: query
name: mobile
required: true
schema:
type: integer
- in: query
name: zone
required: true
schema:
type: integer
description: "区号"
responses:
"200":
description: ""
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
MOBILE_EMPTY:
summary: "电话為空"
value:
error_code: "MOBILE_EMPTY"
error_msg: "請輸入電話"
ZONE_EMPTY:
summary: "区号為空"
value:
error_code: "ZONE_EMPTY"
error_msg: "請輸入区号"
/forget_password:
patch:
tags:
- security
summary: 忘记密码
requestBody:
content:
application/json:
schema:
type: object
properties:
mobile:
type: string
description: "电话"
verify_code:
type: string
description: "验证码"
new_password:
type: string
description: "新密码"
confirm_new_password:
type: string
description: "确认新密码"
responses:
"200":
description: ""
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
VERIFY_CODE_EMPTY:
summary: "验证码为空"
value:
error_code: "VERIFY_CODE_EMPTY"
error_msg: "請輸入验证码"
NEW_PASSWORD_EMPTY:
summary: "新电话为空"
value:
error_code: "NEW_PASSWORD_EMPTY"
error_msg: "請輸入電話"
CONFIRM_PASSWORD_EMPTY:
summary: "电话為空"
value:
error_code: "CONFIRM_PASSWORD_EMPTY"
error_msg: "請輸入确认新密码"
PASSWORD_INCONSISTENT:
summary: "密码不一致"
value:
error_code: "PASSWORD_INCONSISTENT"
error_msg: "密码不一致"
#Account Module
/customers:
post:
tags:
- account
summary: 注册顾客
requestBody:
content:
application/json:
schema:
type: object
properties:
title_type:
type: integer
description: "称谓类型;0位先生;1为小姐;2位女士"
username:
type: string
description: "用户名"
mobile:
type: string
description: "电话"
verify_code:
type: string
description: "验证码"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户id"
access_token :
type: string
description: "API调用凭证"
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
USERNAME_EMPTY:
summary: "名称為空"
value:
error_code: "USERNAME_EMPTY"
error_msg: "請輸入名稱 "
MOBILE_EMPTY:
summary: "电话為空"
value:
error_code: "MOBILE_EMPTY"
error_msg: "請輸入電話 "
MOBILE_EXIST:
summary: "电话已存在"
value:
error_code: "MOBILE_EXIST"
error_msg: "电话已存在"
VERIFY_CODE_ERROR:
summary: "验证码错误"
value:
error_code: "VERIFY_CODE_ERROR"
error_msg: "验证码错误"
/customer_profile:
get:
tags:
- account
summary: 获取顾客详情
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户id"
title_type:
type: integer
description: "称谓类型"
username:
type: string
description: "称谓类型;0位先生;1为小姐;2位女士"
email:
type: string
description: "电邮"
mobile:
type: string
description: "电话"
company_name:
type: string
description: "公司名称"
patch:
tags:
- account
summary: 修改顾客资料
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
title_type:
type: integer
description: "称谓类型;0位先生;1为小姐;2位女士"
username:
type: string
description: "名称"
company_name:
type: string
description: "公司名称"
email:
type: string
description: "电邮"
responses:
"200":
description: ""
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
EMAIL_FORMAT_ERROR:
summary: "邮件格式错误"
value:
error_code: "EMAIL_FORMAT_ERROR"
error_msg: "電郵格式不正確。"
/customer_password:
patch:
tags:
- account
summary: 修改顾客密码
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
old_password:
type: string
description: "旧密码"
new_password:
type: string
description: "新密码"
confirm_new_password:
type: string
description: "确认密码"
responses:
"200":
description: ""
"400":
description: 错误信息(含多种情况)
content:
application/json:
examples:
OLD_PASSWORD_ERROR:
summary: "旧密码错误"
value:
error_code: "OLD_PASSWORD_ERROR"
error_msg: "現有密碼不正確"
NEW_PASSWORD_EMPTY:
summary: "新密码为空"
value:
error_code: "NEW_PASSWORD_EMPTY"
error_msg: "新密码为空。"
CONFIRM_NEW_PASSWORD_EMPTY:
summary: "确认新密码为空"
value:
error_code: "CONFIRM_NEW_PASSWORD_EMPTY"
error_msg: "确认新密码为空。"
/customers/$customer_id/dislike_histories:
get:
tags:
- account
summary: 获取顾客差评记录
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
date:
type: string
description: "日期"
dislike_reason_name:
type: string
description: "差评原因"
collection_location_name:
type: number
description: "收集点名称"
/staff_profile:
get:
tags:
- account
summary: 获取职员详情
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "用户id"
name:
type: string
description: "职员名称"
employee_no:
type: string
description: "职员工号"
recycle_company_name:
type: string
description: "回收公司名称"
recycle_company_city_name:
type: string
description: "回收公司城市名称"
#Notification Module
/notifications:
get:
tags:
- notification
summary: 获取通知列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/pageParam'
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "通知id"
order_number:
type: string
description: "订单编号"
booking_collection_start_time:
type: string
description: "预约收集开始时间"
booking_collection_end_time:
type: string
description: "预约收集结束时间"
order_status:
type: integer
description: "订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment"
collection_locaiton_name:
type: string
description: "收集点名称"
decoration_address_name:
type: string
description: "装修地址全称"
create_at:
type: string
description: "发送时间"
#post 上传远程推送token
/remote_push_tokens:
post:
tags:
- notification
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
summary: 上传远程推送token
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
type: integer
description: "远程推送类型:0为android ; 1为ios"
token:
type: string
description: "远程推送token"
responses:
"200":
description: ""
#Coupon Module
/coupons:
get:
tags:
- coupon
summary: 获取优惠券列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: query
name: customer_id
required: false
schema:
type: integer
description: "顾客id(当前用户角色类型为司机时才需要传递)"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "顾客领取优惠券记录id"
coupon_id:
type: integer
description: "优惠券id"
recycle_company_id:
type: integer
description: "回收公司id"
recycle_company_name:
type: string
description: "回收公司名称"
recycle_company_city_name:
type: string
description: "回收公司地区名称"
each_like_to_change:
type: integer
description: "获取一张优惠券所需要的好评数量"
current_like_quantity:
type: integer
description: "顾客当前这个公司的好评数量"
unit_amount:
type: integer
description: "优惠券单价"
issued_quantity:
type: integer
description: "已发放优惠券数量"
start_weight:
type: integer
description: "起步吨数"
each_weight_to_use:
type: number
description: "允许使用1张优惠券的每吨重量数"
receive_at:
type: string
description: "优惠券领取时间"
/coupons/$coupon_id:
get:
tags:
- coupon
summary: 获取优惠券详情
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: path
name: coupon_id
required: true
schema:
type: integer
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "id"
recycle_company_name:
type: string
description: "回收公司名称"
recycle_company_city_name:
type: string
description: "回收公司地区名称"
start_weight:
type: integer
description: "起步吨数"
each_weight_to_use:
type: integer
description: "允许使用1张优惠券的每吨重量数"
each_like_to_change:
type: integer
description: "获取一张优惠券所需要的好评数量"
max_amount_limit:
type: integer
description: "优惠券最多发放金额限制"
unit_amount:
type: integer
description: "优惠券定额金额"
summary:
type: string
description: "摘要"
#Notice Module
/term_and_condition:
get:
tags:
- notice
summary: 获取条款及细则内容
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
text/html:
schema:
type: string
description: "富文本编辑内容"
example: "废物产生者 使用者守则"
/important_notice:
get:
tags:
- notice
summary: 获取重要告示内容
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
text/html:
schema:
type: string
description: "富文本编辑内容"
example: "无障碍网页设计声明"
/use_notice:
get:
tags:
- notice
summary: 获取使用须知
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
text/html:
schema:
type: string
description: "富文本编辑内容"
example: "使用须知"
#Booking Module
/booking_notice:
get:
tags:
- booking
summary: 获取预约公告内容
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
text/html:
schema:
type: string
description: "富文本编辑内容"
example: "手机建筑废物-下单通知"
/nearby_collection_locations:
get:
tags:
- booking
summary: 获取附近的收集点
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: query
name: longitude
required: true
schema:
type: number
description: "当前位置:经度"
- in: query
name: latitude
required: true
schema:
type: number
description: "当前位置:维度"
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/pageParam'
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
recycle_company_name:
type: string
description: "回收公司名称"
name:
type: string
description: "收集点名称"
about_distance:
type: number
description: "大约距离"
longitude:
type: number
description: "收集点-经度"
latitude:
type: number
description: "收集点-维度"
/collection_locations/$collection_location_id/service_calendars:
get:
tags:
- booking
summary: 获取收集点的营运日历
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: path
name: collection_location_id
required: true
schema:
type: integer
description: "收集点id"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
working_day:
type: string
description: "工作日"
times:
type: array
items:
type: string
description: "时间"
/collection_locations:
get:
tags:
- order
summary: 获取当前职员所有收集点
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "收集点名称"
/available_booking_times:
get:
tags:
- order
summary: 获取可预约的下单时间(服务器根据当前时间显示在这之后的时间)
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
start_time:
type: string
example: "14:00"
description: "开始时间"
end_time:
type: string
example: "14:30"
description: "结束时间"
booked_collection_loction_name:
type: string
example: "文咸东街100号"
#Order Module
/orders:
get:
tags:
- order
summary: 获取订单列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: query
name: book_date_gt
required: false
schema:
type: string
description: 预约开始日期
- in: query
name: booking_date_lt
required: false
schema:
type: string
description: 预约结束日期
- in: query
name: status
required: false
description: 订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment(不传递时,默认返回请求者的所有订单数据)
schema:
type: string
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/pageParam'
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "订单id"
order_number:
type: string
description: "订单编号"
decoration_location_name:
type: string
description: "装修位置名称"
collection_location_name:
type: number
description: "收集点名称"
collection_location_longitude:
type: number
description: "收集点经度"
collection_location_latitude:
type: integer
description: "收集点维度"
booking_collection_start_time:
type: string
description: "预约收集开始时间"
booking_collection_end_time:
type: string
description: "预约收集结束时间"
actual_cost:
type: number
description: "实付金额"
customer_name:
type: string
description: :"顾客名称"
customer_mobile:
type: string
description: :"顾客电话"
customer_non_inert_waste_quantity:
type: integer
description: :"顾客预计惰性废物数量(袋)"
customer_insert_waste_quantity:
type: integer
description: :"顾客预计惰性废物数量(袋)"
is_like:
type: boolean
description: :"是否好评;0为差评;1为好评"
dislike_reason_name:
type: string
description: :"差评原因名称"
post:
tags:
- order
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
summary: 生成订单
requestBody:
content:
application/json:
schema:
type: object
properties:
decoration_city_id:
type: integer
description: "装修城市id"
decoration_area_id:
type: integer
description: "装修区域id"
decoration_street:
type: string
description: "装修地址街道"
decoration_address:
type: string
description: "装修地址单位、大厦、座"
collection_location_id:
type: integer
description: "收集点id"
booking_collection_start_time:
type: string
description: "预约收集开始"
customer_non_inert_waste_quantity:
type: integer
description: "顾客预计非惰性废物数量(袋)"
customer_insert_waste_quantity:
type: integer
description: "顾客预计惰性废物数量(袋)"
order_images:
type: array
items:
properties:
path:
type: string
description: "图片绝对路径"
type:
type: integer
description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"
customer_voice_path:
type: integer
description: "顾客语音语音绝对文件路径"
customer_additional_info:
type: integer
description: "顾客补充资料"
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "订单id"
order_numebr:
type: string
description: "订单编号"
/orders/$order_id:
get:
tags:
- order
summary: 获取订单详情
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
- in: path
name: order_id
required: true
description: 订单id
schema:
type: string
responses:
"200":
description: ""
content:
application/json:
schema:
properties:
id:
type: integer
description: "订单id"
customer_name:
type: string
description: "顾客名称"
customer_mobile:
type: string
description: "顾客电话"
order_number:
type: string
description: "订单编号"
status:
type: integer
description: 订单状态:0 is pending ; 1 is no_collection ; 2 is completed ; 3 is cancel ; 4 is comment
is_like:
type: boolean
description: "是否好评;0为差评;1为好评"
dislike_reason_name:
type: string
description: "差评原因"
decoration_location_name:
type: integer
description: "装修地址名称"
collection_location_name:
type: number
description: "收集点名称"
collection_location_longitude:
type: number
description: "收集点经度"
collection_location_latitude:
type: integer
description: "收集点维度"
booking_collection_start_time:
type: string
description: "预约收集开始时间"
booking_collection_end_time:
type: string
description: "预约收集结束时间"
customer_non_inert_waste_quantity:
type: integer
description: "顾客预计惰性废物数量(袋)"
customer_insert_waste_quantity:
type: integer
description: "顾客预计惰性废物数量(袋)"
customer_voice_path:
type: string
description: "顾客语音语音绝对文件路径"
customer_additional_info:
type: string
description: "顾客补充资料"
predict_cost:
type: string
description: "预计收费"
order_images:
type: array
items:
properties:
path:
type: string
description: "上传图片绝对路径"
type:
type: integer
description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"
staff_non_inert_waste_quantity:
type: number
description: "职员预计惰性废物数量(袋)"
staff_insert_waste_quantity:
type: number
description: "职员预计惰性废物数量(袋)"
staff_voice_path:
type: string
description: "职员语音语音绝对文件路径"
staff_additional_info:
type: string
description: "职员补充资料"
origianl_cost:
type: number
description: "原价"
coupon_cost:
type: number
description: "优惠价格"
actual_cost:
type: number
description: "实付价格"
payment_type:
type: integer
description: "付款类型 :0为现金;1为百达通"
total_like:
type: integer
description: "好评总数"
total_dislike:
type: integer
description: "差评总数"
total_completed_order:
type: integer
description: "完成订单总数"
total_no_collection_order:
type: integer
description: "未完成订单总数"
total_cancel_order:
type: integer
description: "取消订单总数"
patch:
tags:
- order
summary: 修改订单
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
booking_collection_start_time:
type: string
description: "预约收集开始时间"
booking_collection_end_time:
type: string
description: "预约收集结束时间"
collection_locaiton_id:
type: integer
description: "收集点id"
responses:
"200":
description: ""
/score_order_requests:
post:
tags:
- order
summary: 订单评分
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
is_like:
type: boolean
description: "是否好评;0为差评;1为好评"
dislike_reason_id:
type: integer
description: "差评原因id"
order_images:
type: array
items:
properties:
path:
type: string
description: 差评图片绝对路径
type:
type: integer
description: 图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片
responses:
"200":
description: ""
/reject_order_requests:
post:
tags:
- order
summary: 拒绝订单
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
reject_reason_id:
type: integer
description: "拒绝原因id"
responses:
"200":
description: ""
/accept_order_requests:
post:
tags:
- order
summary: 接受订单
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
responses:
"200":
description: ""
/cancel_order_requests:
post:
tags:
- order
summary: 取消订单
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
cancel_reason_id:
type: integer
description: "取消原因id"
order_id:
type: integer
description: "订单id"
responses:
"200":
description: ""
/quotations:
post:
tags:
- order
summary: 订单报价
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
coupon_record_ids:
type: array
items:
type: integer
description: "优惠券id"
coupon_cost:
type : string
description: "优惠券抵扣金额"
staff_non_inert_waste_weight:
type: number
description: "职员非惰性废物重量(顿)"
staff_insert_waste_weight:
type: number
description: "职员惰性废物重量(顿)"
staff_voice_path:
type: string
description: "职员语音文件绝对路径"
staff_additional_info:
type: string
description: "职员补充资料"
payment_type:
type: integer
description: "付款类型 :0为现金;1为百达通"
order_images:
type: array
items:
properties:
path:
type: string
description: "图片绝对路径"
type:
type: integer
description: "图片类型:0为顾客上传的图片;1为司机上传的备注图片;2为司机上传的差评图片"
responses:
"200":
description: ""
/accept_quotations:
post:
tags:
- order
summary: 接收报价
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
/orders/$order_id/reject_quotations:
post:
tags:
- order
summary: 拒绝报价
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
responses:
"200":
description: ""
/complete_order_requests:
post:
tags:
- order
summary: 完成订单
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
requestBody:
content:
application/json:
schema:
type: object
properties:
order_id:
type: integer
description: "订单id"
plate_number:
type: string
description: "车牌号码"
skip_number:
type: string
description: "环保斗编号"
classification_field_number:
type: string
description: "分类场编号(分类场职员填写)"
responses:
"200":
description: ""
/order_cancel_reasons:
get:
tags:
- order
summary: 获取订单取消原因(后台根据请求者角色独立显示)
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "原因名称"
/order_reject_reasons:
get:
tags:
- order
summary: 获取订单拒绝原因
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "原因名称"
/order_dislike_reasons:
get:
tags:
- order
summary: 获取订单差评原因
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "原因名称"
#Setting Module
/cities:
get:
tags:
- setting
summary: 获取城市列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "城市名称"
/cities/$city_id/districts:
get:
tags:
- setting
summary: 获取城市对应区域列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: path
name: city_id
required: true
schema:
type: integer
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
name:
type: string
description: "区域名称"
/app_banners:
get:
tags:
- setting
summary: 获取APP横幅列表
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
- in: cookie
name: role_type
required: true
schema:
type: integer
description: "角色类型:0表示顾客;1表示司机"
responses:
"200":
description: ""
content:
application/json:
schema:
type: array
items:
properties:
id:
type: integer
description: "id"
title:
type: string
description: "标题"
image_path:
type: string
description: "横幅图片绝对地址"
url:
type: string
description: "跳转地址"
#File Module
"/files":
post:
tags:
- file
summary: 上传文件
parameters:
- in: cookie
name: access_token
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
key:
type : string
description: "file"
value:
type : string
description: "local file"
responses:
"200":
description: ""
content:
text/plain:
schema:
type: string
example: https://image.baidu.com/search/detail?ct=503316480
#定义实体对象
components:
parameters:
pageParam:
in: query
name: _page
required: true
description: 从第几页开始取
schema:
type: integer
limitParam:
in: query
name: _limit
required: true
description: 最多返回多少条
schema:
type: integer
#schemas:
schemas:
# iOS&Android 推送
RemoteNotificationExtraData:
type: object
description: 远程推送消息的额外数据,请放在远程推送消息的'data'属性下
properties:
notification_type:
type: number
description: >-
notification type,
0:订单状态改变;
1:司机报价;
extra_data:
type: string
description: >-
notification type,
0,1:Return order_id;