全部 Skill/Moka 招聘与人事

Moka 招聘与人事 Skill

覆盖两套互不通用的接口:招聘 ATS(组织与账号同步、职位与招聘需求、候选人与申请、面试、Offer、入职)和 People 人事(部门、员工任职数据、新增与离职员工、待入职)。重点讲清两套鉴权的区别、People 的 MD5withRSA 签名、各接口不统一的成功码与分页方式,以及两种 Webhook 的验签与重试。

文档版 · 未实测mokaapi.mokahr.comBasic Auth + RSA 签名人力资源更新 2026-09-11
8份 reference
6个易错点
7条无凭证探测
2026-09-11文档抓取
INSTALL · 安装

安装

选你用的 Agent,复制命令。

npx -y skills add fxp/skillify --skill moka --agent claude-code --yes

装到项目的 .claude/skills/;加 -g 装到全局。装完需要你手动执行 /reload-plugins,这一步 Agent 代劳不了。

或者让 Agent 自己装

读 https://github.com/fxp/skillify/blob/main/skills/moka/prompt.md 并照它执行

装对了的标志:references/ 下有 8 份文档,里面 grep '<!-- Gap:' 能搜到 1 处。

TRY ASKING · 装好后可以这样问

装好后,可以这样问你的 Agent

这份 Skill 覆盖的典型任务。点一下复制。

CAPABILITIES · 能力清单

8 类能力

每类能力对应一份 reference,Agent 按任务只打开需要的那份。

鉴权与环境

两套 API 的区别、域名、ATS Basic 与 OAuth2、People MD5withRSA 签名、鉴权失败的样子

references/auth.mdPOST /v1/auth/oauth2/getToken · People sign

组织与账号同步

部门全量 / 增量 / 更新 / 合并删除,用户账号同步与读取

references/ats-org-users.mdPUT /v2/departments · POST /v2/departments/sync/incremental · POST /v2/users/syncInfo

职位与招聘需求

职位查询、创建、更新、发布下架,招聘官网职位列表,招聘需求 HC

references/jobs.mdPOST /v1/jobs/getJobs · POST /v1/jobs · GET /v1/jobs/{orgId} · POST /v1/headcount

候选人与申请

申请增量拉取、批量详情、条件查询、官网投递与上传简历、移动阶段、归档、附件

references/candidates.mdGET /v1/data/applications · POST /v3/data/getApplictaions · POST /v3/candidate/uploadResume · PUT /v1/applications/move_application_stage

面试、Offer 与入职

创建与查询面试,Offer 创建、审批、发送、接受拒绝回写,标记入职离职

references/interviews-offers.mdPOST /v1/interview/create · POST /v1/create-offer · POST /v1/sendOffer · PUT /v1/applications/{applicationId}/hired

People 人事

部门读写、员工任职数据增量、新增更新离职员工、待入职、职位职务

references/people-hr.mdPOST /v1/batch/data · POST /v1/org/department/batchData · POST /v2/core/rosters/addEmployees · POST /v1/basic/ob/employee/batchCreate

推送 Webhooks

ATS 推送的 HMAC 验签与 AES 解密、People 推送的校验、回复格式、重试与幂等

references/webhooks.mdATS POST callback?sign= · People GET/POST callback?apiCode&pwd

错误码与限流

响应结构一览、ATS 错误码号段、People 全局错误码与 HTTP 600 限流、分页与时间格式

references/errors-and-limits.mdATS error codes · People global error codes
FACTS · 当前事实

当前事实

整理自官方文档(抓取于 2026-09-11),还没有用真实凭证验证。

ATS Base URLhttps://api.mokahr.com/api-platform/v1(部分在 /v2/v3/open-api/ats/v3
ATS 鉴权Authorization: Basic base64("KEY:"),或 OAuth2 换 2 小时 accessTokenBearer
People 鉴权Basic query entCodeapiCodenoncetimestampsign(MD5withRSA)
鉴权失败ATS 为 HTTP 500 code:-1;People 为 HTTP 403(无凭证探测)
最易选错People 每个接口一个 apiCode;ATS 成功码按接口不同:success / code:0 / code:200
GOTCHAS · 易错点

照通用经验写容易错的 6 件事

来自官方文档,还没有用真实凭证验证。

  1. 招聘和人事是两套 API。People 每个请求都要 RSA 签名,并为每个能力单独建接口拿 apiCode;同一个 /v1/batch/data 返回什么由 apiCode 决定。
  2. ATS 没有统一的成功判定。有的回 success,有的 code:0code:200;鉴权失败是 HTTP 500,别当临时故障重试。
  3. 分页至少五种。fromTime 起步再只带 next、body 游标每页 ≤ 20、limit/offsetpageNum/pageSizenextCursor/hasMore
  4. 参数位置与拼写反直觉。移动阶段是 PUT 加 query 参数;申请详情路径是文档拼写 getApplictaions,拼对的 getApplications 返回 404。
  5. PUT /v2/departments 是全量同步。没传的部门会被标记删除;新增用 /sync/incremental,更新用 POST。
  6. Webhook 验签对原始 body 做。Python 默认 json.dumps 带空格会让签名对不上;文档 AES 解密示例编码写反;People 推送只带 ID。
STATUS · 验证状态

验证状态

文档版:整理自官方文档(抓取于 2026-09-11),还没有用真实凭证调用验证。页面和 Skill 里标「文档原文,未实测」的报错与行为都来自文档本身。

无凭证探测

  • ATS 不带鉴权或伪造 API Key:HTTP 500,{"code":-1,"success":false,"msg":"无法识别的认证信息"}
  • ATS OAuth2 换 token 用伪造 clientID:HTTP 200,code:110020 unauthorized_client
  • ATS 路由先于鉴权:未知路径返回 404;文档拼写 /v3/data/getApplictaions 存在,getApplications 返回 404。
  • People 一切未授权请求(含不存在路径):HTTP 403,{"success":false,"msg":"无法识别的认证信息"},文档写的是 401 / 100001。
  • http://api.mokahr.com 不会跳转到 https,直接返回鉴权错误。
  • 招聘官网职位列表 GET /v1/jobs/{orgId} 不带鉴权时返回参数错误 招聘模式 必填,而非鉴权错误。
  • 国际版域名 hire-r1-api.mokahr.com 与测试域名 api-staging-3.mokahr.com 在线,鉴权失败格式与正式域名一致。
有这个平台的沙箱或 API Key?联系我们——补测并做完装与不装的对照测试后,它会升级为「已实测」。