媒体
导入或上传媒体
把文件(multipart)或 Sofia 抓取的 https URL 添加到门店媒体库。需要正式应用和有效订阅。
从 URL 导入
发送包含 establishmentId 和一个公开 https url 的 JSON。Sofia 会自己下载文件、检查并归入媒体库。
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"establishmentId":"'$ESTABLISHMENT_ID'","url":"https://images.example.com/tatin.jpg"}'上传文件
或者以 multipart/form-data 发送文件本身,带一个 file 字段。
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-F establishmentId=$ESTABLISHMENT_ID \
-F file=@tatin.jpg{
"id": "393d5aa4-16f1-430f-b1d8-1fb1473076ef",
"type": "image",
"url": "https://…/393d5aa4-16f1-430f-b1d8-1fb1473076ef.jpg?X-Amz-…"
}接受的内容
- 图片和视频,最大 200 MB。
- URL 必须是公开的 https:私有地址、超过 3 次重定向或下载超过 30 秒都会被拒绝。
- 返回的
url经过签名并会过期:请保存id,需要新的 URL 时,用GET /v1/media/{id}重新读取该媒体。
被拒绝的文件会返回 422 media_import_refused 或 media_upload_refused,原因在 details 中,处理办法在 message 中。
授权
Authorizationstringheader必填你的个人密钥或 OAuth 访问令牌,以
Bearer <token>发送。
标头
Idempotency-Keystring用相同请求体重放时返回相同响应,不会再导入一次。它覆盖表单字段,不包括文件字节。
请求体
establishmentIdstring必填接收媒体的媒体库所属的门店
urlstringJSON:媒体的
https地址,由 Sofia 自行抓取(不带文件)filestring<binary>multipart/form-data:文件(图片或视频),不带url
响应
已添加到媒体库的媒体。
idstring必填媒体的标识符,传给帖子的
media[].idtypestring必填媒体类型
允许的值:
imagevideourlstring必填带签名的地址,在当前时间窗口内有效
这个页面对你有帮助吗?