4.4 KiB
GET /api/v2/missions/my/
获取当前登录用户相关的任务列表。
Authentication
需要 JWT 登录。
Authorization: Bearer <access_token>
当前用户必须绑定 Employee:
request.user.employee 必须存在
Query Params
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
limit |
number | 否 | 800 | 分页条数,最大 1000 |
offset |
number | 否 | 0 | 分页偏移 |
created_by_me |
boolean | 否 | false | 是否只返回我创建的任务。false 表示不限定创建者,仍返回“我创建或我参与”的任务 |
is_completed |
boolean | 否 | 不限制 | 是否完成 |
is_cancelled |
boolean | 否 | 不限制 | 是否取消 |
is_urgent |
boolean | 否 | 不限制 | 是否紧急 |
created_at_from |
string | 否 | 不限制 | 创建时间开始,支持 YYYY-MM-DD 或日期时间 |
created_at_to |
string | 否 | 不限制 | 创建时间结束,支持 YYYY-MM-DD 或日期时间;传纯日期时包含整天 |
boolean 参数支持:
true 值:true / 1 / yes / y / on
false 值:false / 0 / no / n / off
Filter Logic
接口会根据当前 JWT 用户找到:
current_employee = request.user.employee current_merchant = current_employee.merchant
基础范围:
mission.merchant == current_merchant
默认返回“与我相关”的任务,即满足以下任一条件:
mission.creator == current_employee 或 mission.participants 包含 current_employee
当 created_by_me=true 时,只返回:
mission.creator == current_employee
状态筛选只有在显式传参时才生效:
is_completed=false => 只返回未完成任务
is_cancelled=false => 只返回未取消任务
is_urgent=true => 只返回紧急任务
Date Filter
created_at_from=2026-07-03 => created_at >= 2026-07-03 00:00:00
created_at_to=2026-07-03 => created_at < 2026-07-04 00:00:00
如果传日期时间,则按传入的具体时间筛选:
created_at_from=2026-07-03T08:30:00+08:00 => created_at >= 2026-07-03 08:30:00+08:00
created_at_to=2026-07-03T18:00:00+08:00 => created_at <= 2026-07-03 18:00:00+08:00
Common Examples
获取我相关的所有任务:
GET /api/v2/missions/my/
获取我相关的未完成、未取消任务:
GET /api/v2/missions/my/?is_completed=false&is_cancelled=false
获取我创建的未完成、未取消任务:
GET /api/v2/missions/my/?created_by_me=true&is_completed=false&is_cancelled=false
获取我相关的紧急任务:
GET /api/v2/missions/my/?is_urgent=true
获取我相关的某天创建的任务:
GET /api/v2/missions/my/?created_at_from=2026-07-03&created_at_to=2026-07-03
分页:
GET /api/v2/missions/my/?limit=20&offset=0
Response
{ "count": 1, "next": null, "previous": null, "results": [ { "id": 1, "merchant": 1, "description": "跟进客户问题", "category": 1, "category_name": "通用", "is_urgent": false, "is_completed": false, "is_cancelled": false, "notify_if_unreplied": false, "unreplied_notify_interval_minutes": null, "unreplied_notify_max_count": 5, "unreplied_notify_sent_count": 0, "unreplied_last_notified_at": null, "cancelled_at": null, "creator": { "id": 10, "name": "张三", "merchant_id": 1 }, "cancelled_by": null, "participants": [ { "id": 11, "name": "李四", "merchant_id": 1 } ], "content_type": 23, "content_type_label": "printing.printingorder", "content_id": 1001, "extra": { "source": "printing-order" }, "has_ending_reply": false, "can_reply": true, "created_at": "2026-07-03T15:40:00+08:00", "updated_at": "2026-07-03T15:40:00+08:00" } ] }
Empty Response
{ "count": 0, "next": null, "previous": null, "results": [] }
Error Responses
未登录
401 Unauthorized
当前用户未绑定 Employee
{ "non_field_errors": [ "当前用户未关联员工" ] }
boolean 参数格式错误
{ "is_completed": "必须是布尔值" }
或:
{ "is_cancelled": "必须是布尔值" }
或:
{ "is_urgent": "必须是布尔值" }
或:
{ "created_by_me": "必须是布尔值" }
created_at_from 格式错误
{ "created_at_from": "必须是日期或日期时间" }
created_at_to 格式错误
{ "created_at_to": "必须是日期或日期时间" }