何时使用此流程
对于想要持久所有权、可编辑评论、注释转换、审核权或稍后返回并管理其发布内容的能力的人来说,这是最佳流程。用户可以在登录前从密码或 QR 令牌开始,但是一旦他们进行了身份验证,他们就不需要在每次写入时重新发送访问代码。
第 1 步:解决找到的项目
简短的网站入口路径始终是/trackable/{code}。 API客户端也可以直接解析令牌。
POST https://www.locationnotes.com/api/trackables/lookup
Content-Type: application/json
{
"code": "LN4C8R2Z"
}
{
"found": true,
"trackableId": "f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31",
"isPublicCodeMatch": false,
"usesSecretAccess": true,
"redirectUrl": "/en-US/trackables/active/f3a8f841-20db-4f1e-a3f8-9f14bc0b3c31"
}
如果 usesSecretAccess 为 true,则浏览器现在具有该可跟踪的活动的秘密支持会话。该会话与登录分开,并且专门存在,因此用户可以首先继续完成可跟踪的工作流程。
步骤 2:读取活动会话着陆有效负载
GET https://www.locationnotes.com/api/trackables/active/{trackableId}
这会告诉客户端是否仍需要激活、该项目是否属于某个组以及登录后哪些激活上下文可用。
第 3 步:登录并在需要时激活
如果该项目仍未激活,请以个人所有者或团队身份登录并激活它。
POST https://www.locationnotes.com/api/trackables/{trackableId}/activate
Authorization: Bearer <access token>
Content-Type: application/json
{
"name": "",
"description": "",
"statusMessage": "",
"useGroupDefaultTitle": true,
"useGroupDefaultDescription": true,
"useGroupDefaultStatusMessage": true,
"teamId": null,
"externalLinkUrl": "",
"externalLinkDescription": "",
"useGroupDefaultExternalLink": true,
"initialJourneyStopLatitude": 47.6205,
"initialJourneyStopLongitude": -122.3493
}
如果该物品来自一个组,则激活也是确认最终物品级别身份的地方。客户端可以发送显式名称、描述和 statusMessage 值,也可以在使用 useGroupDefaultTitle、useGroupDefaultDescription 和 useGroupDefaultStatusMessage 时将其留空,以保留激活项目的组当前默认值。
当激活还应立即创建第一个跟踪位置时,客户端可以选择包含 <code>initialJourneyStopLatitude</code> 加上 <code>initialJourneyStopLongitude</code>。
步骤 4:在简单和丰富的日志记录路径之间进行选择
经过身份验证后,客户端仍然可以使用轻量级直接报告路径或更丰富的注释路径。这两条道路是互补的,而不是相互排斥的。
- 简单路径:使用 POST /api/trackables/{trackableId}/journey-stops. 创建直接旅程站点
-
丰富路径:先创建一条注释,然后通过以下方式将可跟踪附加到该注释上
POST /api/public/notes/{noteId}/trackables. - 仅网站转换路径:登录用户可以稍后将自己的直接仅位置停靠点转换为注释,而无需复制路线段。
步骤 5A:保存直达行程站点
POST https://www.locationnotes.com/api/trackables/{trackableId}/journey-stops
Authorization: Bearer <access token>
Content-Type: application/json
{
"latitude": 41.8819,
"longitude": -87.6278
}
保存的停靠点是不可变的物流快照。如果链接的注释稍后发生移动,旅程将保留原始捕捉的坐标,因此路线历史记录不会默默更改。
步骤 5B:创建注释并附加可追踪信息
POST https://www.locationnotes.com/api/notes/mine
Authorization: Bearer <access token>
Content-Type: application/json
{
"categoryId": "4de6bb76-f25d-4c73-b8e3-81b9ca3bf08f",
"title": "North lobby handoff",
"body": "Visible as a note and as a trackable stop.",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": "Private"
}
POST https://www.locationnotes.com/api/public/notes/{noteId}/trackables
Authorization: Bearer <access token>
Content-Type: application/json
{
"trackableSecretCodes": "LN4C8R2Z"
}
在保存笔记时附加可追踪设备还会记录当时的旅程停止快照。如果注释自己的地图点稍后发生变化,则注释支持的停止点可以保护可追踪路径。
注释附件还向该可跟踪对象授予注释所需的访问范围。停靠点会保留地点历史记录,但注释访问仍由注释自身的可见性和范围规则强制执行。
第 6 步:以经过身份验证的用户身份发表评论
POST https://www.locationnotes.com/api/trackables/{trackableId}/comments
Authorization: Bearer <access token>
Content-Type: application/json
{
"body": "Picked up and moving again."
}
登录的可跟踪评论只能由登录的评论作者编辑。所有者和当前团队管理员可以删除评论或旅程停靠点,但他们仍然无法重写其他人的话。
第7步:阅读完整路线和评论
GET https://www.locationnotes.com/api/trackables/{trackableId}/journey
GET https://www.locationnotes.com/api/trackables/{trackableId}/comments
旅程有效负载已按时间顺序排序并预加载以用于地图渲染。如果停靠点来自查看者无法打开的私人笔记,API 仍然可以公开位置点,同时忽略受保护的笔记内容。
旅程读取显示已保存的停靠站加上 currentNotesAtCoordinate。该集合是当今同一坐标的可见纸币读取模型,而不是该站点永久拥有一张纸币的证明。
操作注意事项
- 如果登录用户想要简单的覆盖地图流程,请让他们使用它。身份验证应该消除摩擦,而不是强制使用不同的 UI。
- 用户和团队导出现在包括可跟踪的旅程停靠点、注释支持的停靠点历史记录和可跟踪的评论。
- 如果其他人或团队仍然依赖其历史记录,则删除一个帐户不会自动删除整个可追踪的内容。