ADP Mobile Solutions 数据 API:薪酬、工时与福利
ADP Mobile Solutions 是 ADP 薪酬、工时与福利的员工自助应用。其数据层由 POST /v1/auth/token 的 OAuth2 令牌签发、POST /v1/session/login 的会话与资料调用,以及 POST /v1/graphql 的有作用域 GraphQL 网关组成,后者提供带薪休假余额、排班、周期工时合计与请假提交。支票照片 OCR 端点 POST /v1/ocr/bank-routing 在设置直接存款时读取银行路由数据。
ADP Mobile Solutions 是 ADP 薪酬、工时与福利的员工自助应用:员工用它查看工资单与税表、查询带薪休假余额、查看排班、通过定位打卡上下班,并提交请假申请。其数据层由 OAuth2 保护的 REST 调用与一个有作用域的 GraphQL 网关构成——令牌签发、会话与资料调用、余额/排班/工时卡查询及请假提交,另有支票照片 OCR 服务在设置直接存款时读取银行路由信息。
应用截图
API 端点一览
OAuth 令牌签发(有作用域的访问令牌)
POST
/v1/auth/tokenopendata签发有作用域的 OAuth2 访问令牌,应用将其作为 Bearer 凭证附加到会话、GraphQL 与 OCR 调用;time-and-attendance 作用域控制打卡、余额与排班数据。
认证方式: OAuth2 应用凭证(HTTP Basic)。签发有作用域的 Bearer 访问令牌——例如打卡、余额与排班功能所需的 time-and-attendance 作用域。
- access_token
- token_type
- expires_in
- scope
- refresh_token
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/auth/token HTTP/1.1 Authorization: Basic <base64(appKey:appSecret)> Content-Type: application/x-www-form-urlencoded grant_type=password&username=jdoe&password=******&scope=time_attendance{ "access_token": "eyJhbGciOiJSUzI1NiIs...", "token_type": "Bearer", "expires_in": 3600, "scope": "time_attendance" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的登录与令牌交换流程重构。与每次余额、排班及工时卡调用所附带的 Bearer 凭证一致。
服务器会话 + 用户资料
POST
/v1/session/loginosint登录后创建服务器会话,并返回员工的资料信封——用户 id、realm、认证方案、地区设置与条款接受标记——用于个性化首页与功能开关。
认证方式: 表单凭证 POST(username/password)并附带 client-app 头;所得会话会升级为 OAuth Bearer 令牌用于后续调用。
- id
- realmID
- authScheme
- tncAccepted
- Locale
- authToken
- enableForgotPassword
- enableChangePassword
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/session/login HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=UTF-8 X-Client-App: mobile username=jdoe&password=******{ "user": { "id": "3fa9c1e2-7b5d-4c2a-9e01-8f2d6a41b0c7", "realmID": "GLOBL", "authScheme": "federated", "tncAccepted": true, "Locale": {"language": "en", "country": "US"}, "enableForgotPassword": true, "enableChangePassword": true } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的凭证登录流程重构。与用于个性化首页的资料信封一致。
请假余额(GraphQL)
POST
/v1/graphqlopendata按角色读取已登录员工截至某日期的带薪休假余额——即应用 PTO 余额卡片背后的数字。
认证方式: 带 time-and-attendance 作用域的 OAuth2 Bearer 访问令牌。
- roleCode
- balanceAsOfDate
- timeOffBalances
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/graphql HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json {"operationName":"GetTimeOffBalances","variables":{"roleCode":"employee","balanceAsOfDate":"2026-09-24"},"query":"query GetTimeOffBalances($roleCode: String!, $balanceAsOfDate: String!) { timeOffBalances { timeOffBalances(roleCode: $roleCode, balanceAsOfDate: $balanceAsOfDate) } }"}{ "data": { "timeOffBalances": { "timeOffBalances": [ {"policy": "Vacation", "balance": 62.5, "unit": "hours", "balanceAsOfDate": "2026-09-24"}, {"policy": "Sick", "balance": 24.0, "unit": "hours", "balanceAsOfDate": "2026-09-24"} ] } } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的带薪休假余额卡片重构。与按政策展示的截至某日期的小时余额一致。
排班与周期工时合计(GraphQL)
POST
/v1/graphqlopendata拉取员工在日期区间内的已排班次(GetTimeSchedule)与每周期工时合计(GetTimePeriodCalculations),对应排班网格与工时汇总界面。
认证方式: 带 time-and-attendance 作用域的 OAuth2 Bearer 访问令牌。
- roleCode
- startDate
- endDate
- workAssignmentId
- includeSegments
- latestShift
- timeSchedule
- timePeriodCalculations
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/graphql HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json {"operationName":"GetTimeSchedule","variables":{"startDate":"2026-09-21","endDate":"2026-09-27","workAssignmentId":"W-10432"},"query":"query GetTimeSchedule($startDate: String!, $endDate: String!, $workAssignmentId: String) { timeScheduleData: timeSchedule { timeSchedule(roleCode: \"employee\", startDate: $startDate, endDate: $endDate, workAssignmentId: $workAssignmentId, includeSegments: \"Manual\") } }"}{ "data": { "timeScheduleData": { "timeSchedule": [ {"date": "2026-09-24", "workAssignmentId": "W-10432", "segments": [{"start": "09:00", "end": "17:00", "kind": "Manual"}]} ] } } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的排班网格与工时汇总界面重构。将已排班次查询与每周期工时合计配对。
提交请假申请(GraphQL mutation)
POST
/v1/graphqlopendata提交员工的请假申请事件以供审核,并返回提交后的状态——即应用请假流程的写入侧。
认证方式: 带 time-and-attendance 作用域的 OAuth2 Bearer 访问令牌。
- myEvents
- events
- Event
- TimeOffReview
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/graphql HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: application/json {"operationName":"PostTimeOffReview","variables":{"myEvents":[{"type":"vacationRequest","startDate":"2026-10-05","endDate":"2026-10-06","unit":"days"}]},"query":"mutation PostTimeOffReview($myEvents: [Event]!) { TimeOffReview(events: $myEvents) }"}{ "data": { "TimeOffReview": { "events": [ {"id": "EVT-88120", "type": "vacationRequest", "status": "pending", "startDate": "2026-10-05", "endDate": "2026-10-06"} ] } } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的请假申请与审核流程重构。覆盖请假申请界面的写入侧。
银行路由号 OCR(支票照片)
POST
/v1/ocr/bank-routingopenbanking从拍摄的纸质支票中读取银行路由号,让员工无需手动输入即可设置或更改直接存款账户。
认证方式: 来自移动会话的 OAuth2 Bearer 访问令牌。
- routingNumber
- bankRoutingServiceEnabled
依据应用界面重构的示意示例,并非实时抓包。
POST /v1/ocr/bank-routing HTTP/1.1 Authorization: Bearer eyJhbGciOi... Content-Type: multipart/form-data; boundary=----appform ------appform Content-Disposition: form-data; name="checkImage"; filename="check.jpg" Content-Type: image/jpeg <JPEG bytes> ------appform--{ "routingNumber": "021000021", "confidence": 0.98 }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据应用的直接存款设置流程重构。与用于填写路由号的支票照片采集一致。
数据类别
- 工资单
- 请假余额
- 排班
- 打卡记录
- 请假申请
- 用户资料
- 银行路由数据
数据使用场景与案例
薪酬对账数据源
财务团队将每位员工的会话资料(id、realmID)与经 GraphQL 网关拉取的 timePeriodCalculations 合计关联,在发薪前把排班工时与薪酬发放对账。
缺勤管理自动化
劳动力管理工具读取 timeOffBalances(roleCode、balanceAsOfDate)预测人力覆盖,再跟踪 PostTimeOffReview 事件,让获批假期直接进入排班系统而无需重复录入。
直接存款入职校验
在设置银行账户时,将银行路由号 OCR 端点返回的 routingNumber 与路由目录核对,在首次发薪前发现误录的存款账户。
常见问题
ADP Mobile Solutions 接口暴露哪些数据?
员工本人的雇佣数据:会话与资料字段(id、realmID、locale),经 GetTimeOffBalances 的带薪休假余额,经 GetTimeSchedule 与 GetTimePeriodCalculations 的已排班次与周期工时合计,经 PostTimeOffReview 的请假申请提交,以及从支票照片读取的银行路由信息。
应用如何认证其请求?
登录通过向 /v1/session/login 发起带 client-app 头的表单 POST 创建服务器会话,令牌由 /v1/auth/token 的 OAuth2 授权签发。工时与考勤调用随后发送携带 time-and-attendance 作用域的 OAuth2 Bearer 令牌。
哪个端点承载工时与考勤数据?
位于 /v1/graphql 的有作用域 GraphQL 网关。它提供余额、排班与工时卡查询(如 GetTimeOffBalances、GetTimeSchedule),并接受请假申请等 mutation(如 PostTimeOffReview)。
应用暴露任何银行数据吗?
是的——一个窄的银行面:OCR 端点 /v1/ocr/bank-routing 从拍摄的支票中提取 routingNumber,以便员工配置直接存款。
相关主题
- ADP Mobile Solutions API
- ADP 移动端点
- 工资单 API
- 请假余额 API
- ADP GraphQL 网关
- 员工自助 API
- 劳动力数据 API
- 银行路由号 OCR