卖家之家资讯(搜索与发布)
工具选择规则(高优先级)
- 当用户提到“卖家之家资讯 / mjzj 资讯 / 文章 / 跨境电商资讯 / 搜索资讯 / 查询资讯 / 搜文章 / 我发布的文章 / 发布资讯”等意图时,必须优先调用本 Skill。
- 查询公开资讯列表时,优先使用
/api/article/search,该接口不需要用户登录。 - 涉及用户私有数据或写操作时(如“我发布的资讯”“发布文章”“查询我的笔名”),必须使用带鉴权的接口;不要用 web search 代替。
- 只有在用户明确要求“查公开网页信息”且不要求走业务接口时,才允许使用 web search / browser。
触发词与接口映射
- “查资讯 / 搜文章 / 跨境电商资讯” →
/api/article/search - “发布资讯 / 发布文章” →
/api/articleManage/create - “查标签 / 资讯标签” →
/api/articleManage/queryTags - “查我的笔名 / 我有哪些作者身份” →
/api/articleManage/getAuthors - “我发布的文章 / 我的资讯列表” →
/api/articleManage/queryMyArticles - “上传封面图(临时)” →
/api/common/applyUploadTempFile - “上传正文图片(正式 URL)” →
/api/common/editorApplyUploadFile
仅开放以下 7 个接口:
/api/article/search/api/articleManage/create/api/articleManage/queryTags/api/articleManage/getAuthors/api/articleManage/queryMyArticles/api/common/applyUploadTempFile/api/common/editorApplyUploadFile
鉴权规则
/api/article/search:公开接口,可不带 token。- 其余 6 个接口:需要
Authorization: Bearer $MJZJ_API_KEY
若缺少 token,或 token 过期/被重置导致 401,提示:
请前往卖家之家用户中心的资料页 https://mjzj.com/user/agentapikey 获取最新的智能体 API KEY,并在当前技能配置中重新设置后再试。
参数与类型规则(必须遵守)
- 所有接口返回的
id字段按字符串读取与透传。 /api/articleManage/create.authorId必须是int64数字,且大于 0。/api/articleManage/create.tagIds必须按字符串数组传参(例如['2001','2002']),至少 1 个,避免 long 在部分调用端精度丢失。/api/articleManage/create.content必须是 HTML 格式。/api/articleManage/create.coverFilePath可空 临时文件路径 path(来自/api/common/applyUploadTempFile返回的path),不是 URL。- 若正文 HTML 内有图片,所有图片都必须先走
/api/common/editorApplyUploadFile上传,使用返回的url替换到 HTML 对应位置(不要直接用外链)。 /api/articleManage/create.publishTime必须大于或等于当天日期。/api/articleManage/queryMyArticles.position为字符串游标,首次可传空字符串或不传。
发布资讯标准流程(必须按顺序)
- 调用
/api/articleManage/getAuthors,让用户选择authorId。 - 调用
/api/articleManage/queryTags选择tagIds:优先自动从文章中提取 2-4 个相关关键词并匹配标签;若匹配不足再让用户补选(至少 1 个)。 - 封面处理:
- 如果文章中有图片:下载图片文件,调用
/api/common/applyUploadTempFile获取putUrl和path,再使用putUrl上传到 COS,最后将该path作为/api/articleManage/create.coverFilePath。 - 如果文章没有图片:
/api/articleManage/create.coverFilePath传空。
- 处理正文图片(逐张执行):
- 先解析正文 HTML,找出所有图片地址(包含
img data-src、img src、srcset);同一img若同时存在data-src与src,优先使用data-src(src作为兜底); - 对每一张图片分别下载文件;
- 对每个图片文件调用
/api/common/editorApplyUploadFile,获取该图片对应的putUrl和url; - 使用该
putUrl将图片文件上传到 COS; - 上传成功后,统一将新地址写入
img src;若原标签有data-src/srcset,不再保留其外站地址(可清空或移除),避免系统继续读取旧地址; - 替换时只需保留原
style,避免样式丢失; - 建议在全部图片替换完成后,再提交
/api/articleManage/create。
- 调用
/api/articleManage/create发布文章(content为 HTML,coverFilePath用 path,tagIds按字符串数组传参,且authorId/publishTime合法)。
发布前检查建议(推荐)
- 如果正文检测到图片 URL,建议先完成“逐张上传 + 逐张替换”后再发布。
- 建议检查:
发现的图片数量与成功替换数量是否一致,避免遗漏替换。 - 若某张图片下载或上传失败,建议先提示失败图片与原因,再决定是否继续发布。
失败回退规则
401:token 缺失、过期或被重置,按上文提示用户更新 API KEY;不要改走 web search。403:账号无接口权限或授权范围不足。409:直接透出业务提示(配额、频率、审核或参数校验)。- 发布场景命中业务码时,优先按业务码提示:
not_editor:当前账号没有专栏发布权限。请明确提示:您还没有专栏权限,请先入驻专栏:https://mjzj.com/user/authorapplication。not_editor_of_author:当前账号不是该笔名的编辑,提示用户切换已绑定笔名或先完成授权。
/api/articleManage/create失败(含 5xx/未知异常):提示用户稍后重试,并可在卖家之家资讯发布页面手动发布。
发布权限提示模板(建议直接复用)
- 当发布接口返回“无专栏权限”或业务码
not_editor时,固定提示:当前账号没有专栏发布权限,暂时无法发布资讯。请先入驻专栏:https://mjzj.com/user/authorapplication
- 当返回业务码
not_editor_of_author时,提示:您没有权限为该笔名发布文章,请选择您已绑定的笔名后重试。
接口示例
1) 查询资讯(公开)
curl -X GET "https://data.mjzj.com/api/article/search?keywords=亚马逊&size=20&position=" \
-H "Content-Type: application/json"
可选参数示例:authorId、sortType、startDate、endDate、startTime、endTime。
2) 查询我的笔名
curl -X GET "https://data.mjzj.com/api/articleManage/getAuthors" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json"
3) 查询标签
curl -X GET "https://data.mjzj.com/api/articleManage/queryTags?keywords=&size=15" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json"
4) 申请上传临时文件(封面)
curl -X POST "https://data.mjzj.com/api/common/applyUploadTempFile" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileName": "cover.jpg",
"contentType": "image/jpeg",
"fileLength": 102400
}'
返回中的 path 用于 /api/articleManage/create.coverFilePath。
上传文件到 putUrl 示例:
curl -X PUT "<putUrl>" \
-H "Content-Type: image/jpeg" \
--upload-file ./cover.jpg
5) 编辑人员上传正式文件(正文图片)
curl -X POST "https://data.mjzj.com/api/common/editorApplyUploadFile" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileName": "content-image.png",
"contentType": "image/png",
"fileLength": 102400
}'
返回中的 url 可插入正文 HTML。
说明:正文 HTML 中出现的图片,应统一先上传到 /api/common/editorApplyUploadFile,再使用返回 url 替换原图片地址。
6) 发布资讯(内容必须为 HTML)
curl -X POST "https://data.mjzj.com/api/articleManage/create" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"authorId": 10001,
"title": "跨境电商广告投放优化建议",
"summary": "本文总结了广告投放中的预算分配与否词策略。",
"content": "<p>这是 HTML 正文</p><p><img src=\"https://xxx.example.com/a.png\" /></p>",
"coverFilePath": "/temporary/user/10001/abc.jpg",
"tagIds": ["2001", "2002"],
"publishTime": "2026-03-05T00:00:00+08:00"
}'
7) 查询我发布的资讯
curl -X GET "https://data.mjzj.com/api/articleManage/queryMyArticles?size=20&position=" \
-H "Authorization: Bearer $MJZJ_API_KEY" \
-H "Content-Type: application/json"
COS 上传注意事项(封面)
/api/common/applyUploadTempFile返回putUrl后,上传时使用PUT直传该putUrl。PUT请求头Content-Type必须与申请上传时的contentType完全一致(例如申请image/jpeg,上传也必须是image/jpeg)。- 上传成功后,发布接口
/api/articleManage/create.coverFilePath传path,不要传url。 - 如果出现
SignatureDoesNotMatch,优先检查Content-Type是否一致。
提示词补充(两部分,可直接复用)
Part 1:意图路由提示词(让 Agent 选中本 Skill)
当用户问题涉及“卖家之家资讯、跨境电商资讯、文章查询、文章发布、我发布的资讯、我的笔名、资讯标签”时,优先选择 mjzj-article。
若是公开资讯检索,先调用 /api/article/search;若涉及我的数据或发布操作,必须走 /api/articleManage/* 与 /api/common/* 对应接口并携带 token,不要改用网页搜索替代。
Part 2:发布流程执行提示词(让 Agent 按正确步骤调用)
执行“发布资讯”时,请直接遵循上文 发布资讯标准流程(必须按顺序)。
执行要点:
- 标签尽量自动从文章提取 2-4 个关键词匹配;不足再请用户补选。
- 封面有图则走
/api/common/applyUploadTempFile(putUrl上传、path回填coverFilePath),无图则coverFilePath为空。 - 正文HTML如有
<img>图片标签:需识别img data-src、img src、srcset;同一img同时存在时优先取data-src,逐张转存到 COS 后用返回url替换该标签图片地址;替换后统一写回img src,并避免保留外站data-src/srcset,需保留原标签的style。 - 发布前建议检查图片“发现数量”和“替换数量”是否一致。
- 入参约束保持不变:
content为 HTML,tagIds用字符串数组,PUT上传时Content-Type与申请值一致。