身份验证
身份验证
每个请求都在 Authorization 请求头中携带一把密钥。除此之外没有别的入口,任何请求都不会通过会话 Cookie 完成身份验证。
密钥
密钥只在创建的那一刻显示一次。请把它放在服务器读得到、浏览器读不到的地方。
- pc_sk_live_…
- pc_sk_test_…
测试与正式环境彼此隔离
模式写在凭据本身,而不是作为参数传入,因此测试密钥既读不到也改不了正式数据。走错方向的请求会直接失败,而不会落到另一份目录上。测试护照会在护照本身最后一次修改 90 天后删除。
发送密钥
通过 HTTPS 使用 Bearer 身份验证。其他方式一律不接受;缺少该请求头的请求,在触及任何资源之前就会被拒绝。
请求
curl "https://passportcraft.com/api/v1/whoami" \
-H "Authorization: Bearer pc_sk_live_…"浏览器端凭据是刻意不予支持的。密钥属于服务器;出现在前端代码里的密钥,等同于已经公开的密钥。
作用域
密钥携带一组固定的作用域,在创建时选定。请求若缺少所调用端点要求的作用域即被拒绝,拒绝信息会指明缺少哪一项权限。
documents:write
passports:read
- get
/organizations/{organization}/capabilities说明该凭据可为此组织执行哪些操作。 - get
/organizations/{organization}/passports列出护照。 - get
/organizations/{organization}/passports/{id}获取单个护照。 - post
/organizations/{organization}/passports/{id}/validate按类别架构校验护照,但不保存。 - get
/organizations/{organization}/passports/{id}/links获取公开页面 URL 与 GS1 Digital Link。 - get
/organizations/{organization}/passports/{id}/affichage读取法国环境标注的当前状态。 - get
/organizations/{organization}/imports列出导入任务。 - get
/organizations/{organization}/imports/{id}获取单个导入任务及其进度。
passports:write
- post
/organizations/{organization}/passports创建护照。 - patch
/organizations/{organization}/passports/{id}对护照应用 JSON Merge Patch。 - post
/organizations/{organization}/passports/{id}/publish发布护照。 - post
/organizations/{organization}/passports/{id}/unpublish取消发布护照。 - post
/organizations/{organization}/passports/{id}/trash将护照移入回收站。 - post
/organizations/{organization}/passports/{id}/restore从回收站恢复护照。 - post
/organizations/{organization}/imports启动异步批量导入。
无需作用域
有效凭据即可。这些端点不会返回任何属于某一个组织的数据。