ADP Mobile Solutions 图标

ADP Mobile Solutions 数据 API:薪酬、工时与福利

ADP, INC. · 银行

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 服务在设置直接存款时读取银行路由信息。

应用截图

  • ADP Mobile Solutions 应用截图 1
  • ADP Mobile Solutions 应用截图 2
  • ADP Mobile Solutions 应用截图 3
  • ADP Mobile Solutions 应用截图 4
  • ADP Mobile Solutions 应用截图 5
  • ADP Mobile Solutions 应用截图 6
  • ADP Mobile Solutions 应用截图 7
  • ADP Mobile Solutions 应用截图 8

API 端点一览

  • OAuth 令牌签发(有作用域的访问令牌)

    POST /v1/auth/token opendata

    签发有作用域的 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/login osint

    登录后创建服务器会话,并返回员工的资料信封——用户 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/graphql opendata

    按角色读取已登录员工截至某日期的带薪休假余额——即应用 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/graphql opendata

    拉取员工在日期区间内的已排班次(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/graphql opendata

    提交员工的请假申请事件以供审核,并返回提交后的状态——即应用请假流程的写入侧。

    认证方式: 带 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-routing openbanking

    从拍摄的纸质支票中读取银行路由号,让员工无需手动输入即可设置或更改直接存款账户。

    认证方式: 来自移动会话的 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

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

获取报价