Files
patbond-doc/docs/api/index.md
T
lixi 511617be55
CI / docs-build (push) Successful in 36s
docs(api): M2 契约冻结 v1.2.0——pets 域 12 路径合入
openapi.yaml 1.1.0 → 1.2.0:宠物 CRUD、品种/疫苗目录、体重、疫苗、健康事件、
照护提醒、档案聚合摘要共 12 路径 / 18 操作 / 30 schema 合入正典,按 iteration-2
报告 13/16/17/18 定型表修正草案(响应主键裸 id、vaccineName、40904/42202 新码、
42200 不引入、PATCH 不支持清空回 null、cursor 分页正典、PetSummary 四聚合口径
逐字收录、tz 参数缺省 UTC、防枚举 40401/40402 语义定型)。错误码表 +8:
40300/40401/40402/40902/40903/40904/42201/42202。docs/api/index.md 端点清单同步。
冻结后任何字段变更须显著上报、两端同步。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-08 10:10:37 +08:00

19 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# API 契约
正式契约见 [openapi.yaml](openapi.yaml)OpenAPI 3v1.2.0),当前 18 路径 / 24 操作:
- 认证域(第一迭代冻结):注册、登录、刷新、退出、当前用户 5 个端点,统一错误信封 `{code, message, data}` 与错误码表,以及会话轮换与登录锁定策略说明。
- 埋点域(M2 第一波补录):`POST /api/v1/events` 批量上报产品事件——单批 1–50 条、202 逐条结果(accepted/duplicate/rejected)、`eventId` 幂等去重、唯一允许匿名的写端点(携带 Bearer 则完整校验)。
- 宠物健康档案域(M2 第二波冻结,12 路径;冻结报告为 iteration-2 的 19 号报告,波末入档):
- 宠物 CRUD`GET/POST /api/v1/pets``GET/PATCH /api/v1/pets/{petId}`(乐观锁、防枚举 404/40401、MANAGE 仅 owner
- 只读字典:`GET /api/v1/breeds``GET /api/v1/vaccine-catalog``?species=` 过滤)
- 体重记录:`GET/POST /api/v1/pets/{petId}/weights`cursor 分页正典 `{items, nextCursor, hasMore}`
- 疫苗记录:`GET/POST /api/v1/pets/{petId}/vaccinations``PATCH /api/v1/vaccinations/{vaccinationId}`(状态机 422/42201、剂次唯一 409/40904
- 健康事件:`GET/POST /api/v1/pets/{petId}/health-events``PATCH /api/v1/health-events/{eventId}`cursor 分页、金额整数分)
- 照护提醒:`GET/POST /api/v1/pets/{petId}/care-reminders``PATCH /api/v1/care-reminders/{reminderId}``?status=` 过滤、流转 422/42202
- 档案聚合:`GET /api/v1/pets/{petId}/summary`(最新体重、疫苗进度、下次接种、当月花费;`?tz=` 缺省 UTC
权限三档 READ/WRITE/MANAGEADR-015 三角色)、创建返回 201、PATCH 不支持清空回 null、四个记录类 POST 支持可选 `Idempotency-Key`;错误码新增 40300/40401/40402/40902/40903/40904/42201/42202。
约定:契约变更须先改本文件目录下的 OpenAPI,再改实现(契约先行);错误码只增不改义;**pets 域已冻结(1.2.0)——冻结后任何字段变更须显著上报、两端同步**。