Waapi 工资单、人脸打卡与年假数据
Waapi 是 Senior Sistemas 为在 Senior X 平台上运行 Gestão de Pessoas | HCM 的企业员工推出的安卓应用。登录后,首页卡片可打开工资单(holerite)、职业档案与劳动合同、同事搜索、年假(férias)申请、同事反馈、生日与司龄纪念日、Happiness Index 心情打卡,以及带 GPS 与人脸的考勤打卡(ponto);HR 还可开通 Club Wiipo 工资代扣商城。Senior Sistemas 总部位于圣卡塔琳娜州布卢梅瑙,是巴西最大的管理软件厂商之一;Play 上为免费 Business 应用、以巴西雷亚尔标价,评分 4.8,约 10.7 万条评价、超 100 万次下载,最近更新于 2026 年 10 月 8 日,引导文案有葡语、西语和英语,与 Workday、ADP Mobile Solutions、greytHR 同属员工自助 HCM 前端。
按计薪期(competence)取出的 holerite 返回已鉴权 reportUrl 以及该工号 registerNumber 的 BRL netPay。人脸打卡回执带 date、time、timeZone、cpf、cnpj、pis 与 identification,GPS geolocation 越界时打上 outsideFence;当天 marcações 汇总为 Hours / Espelho 上的 hoursWorked。劳动合同补充 hireDate、jobPosition、department、costCenter 与 workShift;个人行带 birthday 与 nis。未休年假窗口给出 vacationDays、scheduledStartDate 与 status。Happiness Index 提交保存 mood 与 reasons,alreadyAnswered 为真时拒绝第二次提交;同事便条把 fromEmployeeId 与 toEmployeeId 成对。
薪资机器人把每个计薪期的 reportUrl 对上银行入账再关账;考勤台账用人脸回执重建面向 eSocial 的 cartão-ponto;排班把已排 férias 叠到团队日历;人员分析把每日 mood 接到 jobPosition。openData Studio 把这些记录变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
租户登录设置
POST
/v1/tenancy/login-optionsosint把输入的租户域解析成登录页在用户名密码之前展示的登录方式列表。
认证方式: 无需事先登录。请求体为 tenantDomain(用户名 @ 之后的租户域)。响应给出租户名及其允许的登录方式。
- tenantDomain
- scope
- tenantName
- cookieDomain
- authenticationTypes
- idpActive
- loginProviders
- changePasswordSettings
- rememberMeSettings
POST /v1/tenancy/login-options HTTP/1.1 Content-Type: application/json Accept: application/json { "tenantDomain": "acme.hcm", "scope": "mobile" }{ "tenantName": "acme", "tenantDomain": "acme.hcm", "cookieDomain": ".acme.hcm", "authenticationTypes": ["USER_PASSWORD", "SAML"], "idpActive": false, "loginProviders": { "saml": false, "seniorIdentity": false, "legacy": true }, "changePasswordSettings": { "allowed": true }, "rememberMeSettings": { "allowed": true } }平台登录
POST
/v1/identity/worker-sessionosint用含租户域名的用户名和密码换取后续 HCM 请求使用的 jsonToken;开启 MFA 的租户改返回 mfaInfo.temporaryToken。
认证方式: 无需事先登录。请求体为 username(user@租户域名)、password 与 scope=mobile,并带 Accept-Language(pt-BR / en-US / es-ES)。后续请求使用 jsonToken.access_token 作为 Authorization: Bearer。
- username
- password
- scope
- jsonToken
- access_token
- refresh_token
- expires_in
- token_type
- fullName
- tenantName
- mfaInfo
- temporaryToken
- mfaStatus
- resetPasswordInfo
POST /v1/identity/worker-session HTTP/1.1 Content-Type: application/json Accept: application/json Accept-Language: pt-BR { "username": "[email protected]", "password": "******", "scope": "mobile" }{ "jsonToken": "{\"token_type\":\"Bearer\",\"access_token\":\"<access_token>\",\"refresh_token\":\"<refresh_token>\",\"expires_in\":3600,\"username\":\"[email protected]\",\"fullName\":\"Ana Silva\",\"tenantName\":\"acme\",\"email\":\"[email protected]\",\"locale\":\"pt-BR\"}", "mfaInfo": null, "resetPasswordInfo": null, "emailAddress": null }应用密钥登录
POST
/v1/collectors/bind-deviceosint用扫描到的应用密钥与密文换取租户 jsonToken,把手机绑定为 Senior ponto 采集器。
认证方式: 无需事先登录。请求体为设备扫描二维码得到的 accessKey、secret、tenantName 与 scope=mobile,返回该租户 ponto 同步用的 jsonToken。
- accessKey
- secret
- tenantName
- scope
- jsonToken
- access_token
- refresh_token
- expires_in
POST /v1/collectors/bind-device HTTP/1.1 Content-Type: application/json Accept: application/json { "accessKey": "<access-key>", "secret": "******", "tenantName": "acme", "scope": "mobile" }{ "jsonToken": "{\"token_type\":\"Bearer\",\"access_token\":\"<access_token>\",\"refresh_token\":\"<refresh_token>\",\"expires_in\":3600,\"tenantName\":\"acme\"}" }MFA 登录
POST
/v1/identity/mfa-completeosint在 login 返回 mfaInfo.temporaryToken 之后完成 MFA,签发后续 HCM 调用使用的 jsonToken。
认证方式: 除 X-Tenant 外无需事先登录。请求体为 mfaInfo 中的 temporaryToken 与 validationCode,成功后返回 jsonToken。
- temporaryToken
- validationCode
- jsonToken
- access_token
- refresh_token
- expires_in
POST /v1/identity/mfa-complete HTTP/1.1 Content-Type: application/json X-Tenant: acme Accept: application/json { "temporaryToken": "mfa-tmp-77a1", "validationCode": "847291" }{ "jsonToken": "{\"token_type\":\"Bearer\",\"access_token\":\"<access_token>\",\"refresh_token\":\"<refresh_token>\",\"expires_in\":3600,\"username\":\"[email protected]\"}" }平台用户
GET
/v1/identity/meosint加载「我的档案」背后的 Senior X 用户——姓名、邮箱、租户、头像,以及是否已登记人脸生物识别。
认证方式: jsonToken 中的 Bearer access_token。可选查询参数 includePhoto 与 username。
- id
- username
- fullName
- tenantDomain
- tenantName
- tenantLocale
- blocked
- admin
- changePassword
- allowedToChangePassword
- activeBiometry
- photoUrl
- authenticationType
- includePhoto
GET /v1/identity/me?includePhoto=true&username=ana.silva%40acme.hcm HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "id": "u-44102", "username": "[email protected]", "fullName": "Ana Silva", "email": "[email protected]", "tenantDomain": "acme.hcm", "tenantName": "acme", "tenantLocale": "pt-BR", "locale": "pt-BR", "blocked": false, "admin": false, "changePassword": false, "allowedToChangePassword": true, "activeBiometry": true, "photoUrl": "/media/people/u-44102.jpg", "authenticationType": "USER_PASSWORD" }员工合同(jornada)
GET
/v1/workforce/contractsopendata加载登录员工的劳动合同卡片——入职日、工号、职位、部门、成本中心、班次与雇主 CNPJ;同一过滤也驱动同事搜索。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- id
- contractType
- hireDate
- dismissalDate
- registerNumber
- jobPosition
- department
- costCenter
- workShift
- employer
- cnpj
- person
- fullName
- cpf
GET /v1/workforce/contracts?filter=person.cpf eq '12345678900'&size=20&offset=0 HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "contents": [ { "id": "e-44102", "contractType": "EMPLOYEE", "hireDate": "2019-03-11", "dismissalDate": null, "registerNumber": 10432, "jobPosition": {"id": "jp-88", "name": "Analista de DP", "codcar": "ANL-DP"}, "department": {"id": "dept-folha", "code": "010", "name": "Departamento Pessoal"}, "costCenter": {"id": "cc-12", "name": "Administrativo", "codccu": "ADM"}, "workShift": {"id": "ws-1", "name": "Comercial", "workload": 8800}, "employer": {"id": "co-1001", "numemp": 1, "tradingName": "Acme", "companyName": "Acme Indústria Ltda", "cnpj": "12345678000190"}, "person": {"id": "p-44102", "nickname": "Ana", "fullName": "Ana Silva", "cpf": "12345678900"} } ] }人员档案
GET
/v1/workforce/peopleosint返回「我的档案」背后的个人记录——姓名、生日、CPF、PIS/NIS、邮箱与电话,并用 birthday 填充首页生日卡片。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- id
- firstname
- lastname
- fullName
- nickname
- birthday
- gender
- cpf
- nis
- emails
- phoneContact
GET /v1/workforce/people?filter=cpf eq '12345678900'&size=20&offset=0 HTTP/1.1 Authorization: Bearer <access_token> Accept: application/json{ "contents": [ { "id": "p-44102", "firstname": "Ana", "middlename": "", "lastname": "Silva", "fullName": "Ana Silva", "nickname": "Ana", "birthday": "1992-10-14", "gender": "FEMALE", "cpf": "12345678900", "nis": [{"id": "nis-1", "number": "12345678901", "registrationDate": "2011-02-01"}], "emails": [{"id": "em-1", "email": "[email protected]", "emailType": "CORPORATE"}], "phoneContact": [{"countryCode": "55", "localCode": "47", "number": "999990000", "phoneContactType": "MOBILE"}] } ] }按计薪期取 holerite
POST
/v1/payroll/competence-stubopenfinance返回登录员工某一计薪期 holerite(工资单)的已鉴权 URL,即 Financial Data 卡片打开的对象。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- employeeId
- competence
- registerNumber
- reportUrl
- netPay
- currency
POST /v1/payroll/competence-stub HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "employeeId": "e-44102", "competence": "2026-09" }{ "competence": "2026-09", "employeeId": "e-44102", "registerNumber": 10432, "reportUrl": "/files/payroll/2026-09/e-44102.pdf", "netPay": 4820.15, "currency": "BRL" }年假期间
POST
/v1/leave/accrual-windowsopendata列出该员工未休与已付年假期间,以及 Vacation 卡片可申请的已排期区间。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- employeeId
- periods
- id
- status
- startDate
- endDate
- vacationDays
- scheduledStartDate
- scheduledDays
POST /v1/leave/accrual-windows HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "employeeId": "e-44102" }{ "periods": [ { "id": "per-2025", "status": "OPEN", "startDate": "2025-03-11", "endDate": "2026-03-10", "vacationDays": 30, "scheduledStartDate": "2026-12-21", "scheduledDays": 20 } ] }人脸 ponto 打卡
POST
/v1/timeclock/face-markopendata记录一次长按人脸 ponto 打卡(含 GPS),并返回采集后展示的打卡回执。
认证方式: 员工会话或采集器绑定所得 jsonToken 中的 Bearer access_token。
- employeeId
- geolocation
- online
- appVersion
- platform
- identification
- date
- time
- timeZone
- employeeName
- cpf
- companyName
- cnpj
- pis
- outsideFence
POST /v1/timeclock/face-mark HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "employeeId": "e-44102", "geolocation": {"latitude": -26.9194, "longitude": -49.0661}, "online": true, "appVersion": "5.2.2", "platform": "ANDROID" }{ "identification": "clk-77a1", "date": "2026-10-11", "time": "12:01:03", "timeZone": "America/Sao_Paulo", "employeeName": "Ana Silva", "cpf": "123.456.789-00", "companyName": "Acme Indústria Ltda", "cnpj": "12.345.678/0001-90", "pis": "123.45678.90-1", "outsideFence": false }当日打卡
POST
/v1/timeclock/day-ledgeropendata分页返回当天打卡与工时合计,填充打卡后的 Hours / Espelho 页,含待联网同步的记录。
认证方式: 员工会话或采集器绑定所得 jsonToken 中的 Bearer access_token。
- employeeId
- date
- hoursWorked
- events
- identification
- time
- timeZone
POST /v1/timeclock/day-ledger HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "employeeId": "e-44102", "date": "2026-10-11" }{ "hoursWorked": "07:58", "events": [ { "identification": "clk-77a0", "date": "2026-10-11", "time": "08:02:11", "timeZone": "America/Sao_Paulo" }, { "identification": "clk-77a1", "date": "2026-10-11", "time": "12:01:03", "timeZone": "America/Sao_Paulo" } ] }Happiness Index 心情
POST
/v1/pulse/daily-moodopendata为登录员工写入当天 Happiness Index 心情;同一天再次提交会被拒绝。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- mood
- language
- notes
- reasons
- accepted
- alreadyAnswered
POST /v1/pulse/daily-mood HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "mood": "HAPPY", "language": "pt-BR", "notes": "Sprint delivered", "reasons": ["TEAM", "WORKLOAD"] }{ "accepted": true, "alreadyAnswered": false }同事反馈
POST
/v1/recognition/notesopendata向同事发送或请求一条反馈,对应首页 Feedback 卡片提交的对象。
认证方式: 员工会话 jsonToken 中的 Bearer access_token。
- fromEmployeeId
- toEmployeeId
- message
- requestOnly
- feedbackId
- createdAt
POST /v1/recognition/notes HTTP/1.1 Authorization: Bearer <access_token> Content-Type: application/json { "fromEmployeeId": "e-44102", "toEmployeeId": "e-44188", "message": "Ótimo suporte no fechamento da folha.", "requestOnly": false }{ "feedbackId": "fb-19c2", "fromEmployeeId": "e-44102", "toEmployeeId": "e-44188", "message": "Ótimo suporte no fechamento da folha.", "createdAt": "2026-10-11T12:15:00Z" }
数据类别
- 身份认证
- 租户设置
- 员工档案
- 劳动合同
- 工资单 / holerite
- 同事名录
- 考勤打卡
- 年假
- 幸福感指数
- 同事反馈
- 生日与司龄
数据使用场景与案例
Holerite 关账对账
薪资机器人拉取每个计薪期的 reportUrl 与 BRL 实发 netPay,把工资单对上员工银行入账后再关账。
面向 eSocial 的 ponto 台账
考勤系统摄入带 date、time、timeZone、cpf、cnpj、pis 与 identification 的人脸打卡,重建巴西 cartão-ponto,并标出 outsideFence 打卡。
年假日历叠加
排班系统读取未休期间(status、vacationDays、scheduledStartDate),对照合同卡片上的 hireDate 与 registerNumber,在团队日历上避让冲突。
人员分析的心情叠加
HR 分析把每日 mood、reasons 与合同卡片上的 jobPosition、hireDate 拼接,按团队画出 Happiness Index 趋势,无需打开应用。
常见问题
Waapi HCM API 暴露哪些员工数据?
依据应用功能重建:租户登录(jsonToken、tenantName、authenticationTypes)、应用密钥绑定(accessKey、secret)、平台用户(fullName、photoUrl、activeBiometry)、合同卡片(hireDate、registerNumber、jobPosition)、个人记录(cpf、birthday、nis)、holerite 链接(reportUrl、competence)、人脸 ponto 打卡(date、cpf、identification)、年假期间(vacationDays)、Happiness Index 心情打卡,以及同事反馈。
Waapi 如何认证员工?
登录流先解析租户域,再提交含租户域名的 username、password 与 scope=mobile。响应 jsonToken 携带 access_token 与 refresh_token;后续 HCM 请求带 Authorization: Bearer。开启 MFA 的租户先返回 mfaInfo.temporaryToken,再用 validationCode 完成。Ponto 采集器也可扫描应用密钥二维码(accessKey 与 secret),在不输入员工密码的情况下换取同一 jsonToken。
除档案外能否读取打卡和工资单?
可以。人脸打卡返回 date、time、timeZone、cpf、cnpj、pis、identification 与 outsideFence;当日台账另有 hoursWorked。holerite 调用返回该计薪期工资单的 reportUrl 与 netPay,对应 Marcação de ponto 与 Financial Data 界面。
这套员工 API 面向哪个国家?
巴西。Senior HCM 是巴西薪资与考勤栈(CPF、CNPJ、PIS、férias、eSocial 风格打卡回执)。Play 以巴西雷亚尔标价,下载量超 100 万。
与 Waapi - HCM Senior 相似的应用
- TOTVS Meu RH — TOTVS Meu RH 是 TOTVS 的员工自助应用,原生对接 Protheus、RM 与 Datasul 人事系统,可定位打卡、下载工资单并申请年假。
- ADP Mobile Solutions — ADP Mobile Solutions 是 ADP 面向 Workforce Now 等产品客户的员工自助应用,可查看工资与 W-2、申请休假并打卡上下班。
- Workday — Workday 手机应用是员工端 HCM 客户端,可上下班打卡、查看工资单、申请休假并提交工时表。
- greytHR — greytHR 是面向使用 greytHR 平台企业的员工自助应用,可申请请假、人脸考勤并下载工资单。
- My Ahgora — My Ahgora 是 Ahgora 为使用其考勤系统的企业员工提供的应用,可查看打卡与工时银行余额,并申请调整工时表。
- Gen.te Mobile — Gen.te Mobile 是 LG lugar de gente 的人事自助应用,可查看工资单、安排年假、打卡(ponto)并查阅登记信息。
- Darwinbox — Darwinbox 是员工端 HCM 应用,可查看并下载工资单、申请请假、报销费用,并在通讯录中查找同事。
- UKG Pro — UKG Pro 手机应用让员工打卡上下班、管理休假申请,并查看个人人事与薪酬信息。
相关主题
- Waapi API
- HCM Senior API
- Senior Sistemas 员工 API
- holerite API
- marcação de ponto API
- férias API
- 巴西薪资 API
- happiness index API
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业