Paylocity 图标

Paylocity 数据 API:薪资、打卡与预支工资

Paylocity · 企业办公

Paylocity 是 Paylocity 人力资本管理平台的移动端,服务于美国的计时员工、主管与薪资管理员。员工打卡上下班、查看即将到来的班次、核对薪资历史,并在发薪日前预支已赚工资;薪资团队跟踪进行中的发薪批次及每批所需现金。它是该公司薪资、工时与排班系统的日常入口。

作为数据源,应用把这份劳动力记录开放为可调用数据:带签名 timestamp 与 geolocation 的打卡、覆盖 gross、net、deductions 与 taxes 的发薪汇总、含 accountNumberLastFour 与 totalEft 的按银行备付金额、带 position 与 costCenters 的已排班次、含 paymentFeeAmount 的预支打款,以及年累计退休缴款。openData Studio 将这一层转化为开放数据,供资金、劳动力管理与福利集成核验发薪资金、对账工时与排班,并为预支打款定价。

Paylocity 是美国人力资本管理平台 Paylocity 的员工与经理端:员工用它打卡上下班、查看班次、查阅薪资历史并申请预支薪资;薪资管理员则核对进行中的发薪批次及所需备付现金。这些界面背后是一套劳动力数据集:带签名时间戳与地理位置的打卡、含应发实发与税款拆分的发薪汇总、按银行的备付金额、排班班次与退休缴款。财务、劳动力与福利工具基于它核验发薪资金、对账打卡与排班,并为预支打款报价。

应用截图

  • Paylocity 应用截图 1
  • Paylocity 应用截图 2
  • Paylocity 应用截图 3
  • Paylocity 应用截图 4
  • Paylocity 应用截图 5
  • Paylocity 应用截图 6
  • Paylocity 应用截图 7
  • Paylocity 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 公司登录(jwt 与网关令牌)

    POST /v1/auth/login osint

    将员工或薪资管理员登录到一家公司,返回 jwt、gatewayToken、refreshToken、sessionId 以及后续薪资、打卡与排班调用所绑定的 company 与 user 信封。

    认证方式: 公司代码加 userName/password,或带 codeChallenge、codeChallengeMethod 与 codeChallengeVerifier 的 PKCE code。无需事先 Bearer。返回的 jwt 作为 Authorization: Bearer 用于后续调用;gatewayToken 保存在会话中。

    • jwt
    • gatewayToken
    • refreshToken
    • sessionId
    • accessTokenExpiration
    • company
    • user
    • companyCode
    • employeeId
    • email
    • identityKey
    POST /v1/auth/login HTTP/1.1
    Content-Type: application/json
    
    {
      "mode": "password",
      "company": "B1234",
      "userName": "jdoe",
      "password": "******"
    }
    {
      "data": {
        "jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
        "gatewayToken": "gwt-8f21c4a0",
        "refreshToken": "rt-c91e2b77",
        "sessionId": "sess-10432",
        "accessTokenExpiration": "2026-09-29T18:40:00Z",
        "company": {"companyCode": "B1234", "companyName": "Acme Manufacturing", "doingBusinessAs": "Acme", "companySet": "prod-us"},
        "user": {"email": "[email protected]", "employeeId": "E-10432", "firstName": "Jane", "lastName": "Doe", "userName": "jdoe", "isSupervisor": false, "identityKey": "idk-77a1"}
      },
      "errors": []
    }
    • 依据应用的登录与公司选择流程重构
    • 与每次薪资、打卡及排班调用所绑定的会话信封一致
  • 刷新登录令牌

    POST /v1/auth/token/refresh opendata

    轮换 jwt、gatewayToken 与 refreshToken,使已登录会话在 accessTokenExpiration 窗口内无需再次输入密码。

    认证方式: 请求体携带 POST /v1/auth/login 返回的 refreshToken。用于在不再输入密码的情况下替换过期 jwt。

    • jwt
    • gatewayToken
    • refreshToken
    • sessionId
    • accessTokenExpiration
    POST /v1/auth/token/refresh HTTP/1.1
    Content-Type: application/json
    
    {
      "refreshToken": "rt-c91e2b77",
      "company": "B1234"
    }
    {
      "data": {
        "jwt": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
        "gatewayToken": "gwt-8f21c4a0",
        "refreshToken": "rt-d02f3c88",
        "sessionId": "sess-10432",
        "accessTokenExpiration": "2026-09-29T22:40:00Z"
      },
      "errors": []
    }
    • 依据应用的静默会话续期流程重构
  • 用户与公司上下文

    GET /v1/accounts/{companyId}/context osint

    重新加载已登录的公司与用户信封——companyCode、employeeId、主管与离职标记、功能开关——用于在令牌刷新后控制薪资、打卡与预支薪资界面。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。companyId 为登录信封中的 companyCode。

    • company
    • user
    • toggles
    • myPaylocity
    • companyCode
    • employeeId
    • isSupervisor
    • isTerminated
    • payType
    • personId
    GET /v1/accounts/B1234/context HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "data": {
        "company": {"companyCode": "B1234", "companyName": "Acme Manufacturing", "doingBusinessAs": "Acme", "companySet": "prod-us"},
        "user": {"email": "[email protected]", "employeeId": "E-10432", "firstName": "Jane", "lastName": "Doe", "userName": "jdoe", "isSupervisor": false, "isTerminated": false, "payType": "hourly", "personId": "P-88120"},
        "toggles": [{"name": "earnedWageAccess", "enabled": true}],
        "myPaylocity": {"enabled": true}
      }
    }
    • 依据登录与令牌刷新后运行的账户初始化流程重构
  • 首页仪表盘

    GET /v1/accounts/{companyId}/dashboard opendata

    返回已登录首页:快捷操作芯片、最近打卡状态、待办、请假、W-2 申报、退休与团队组件。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。

    • quickActions
    • punch
    • tasks
    • timeOff
    • w2TaxFiling
    • retirement
    • socialCarousel
    • calendar
    • myTeam
    GET /v1/accounts/B1234/dashboard HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "data": {
        "quickActions": {"chips": ["punch", "payHistory", "timeOff"]},
        "punch": {"latestPunchType": "in", "canPunch": true},
        "tasks": {"count": 2},
        "timeOff": {"upcoming": []},
        "w2TaxFiling": {"available": true},
        "retirement": {"hasProfile": true},
        "socialCarousel": {"items": []}
      }
    }
    • 依据首页的组件信息流重构
  • 进行中的发薪批次

    GET /v1/accounts/{companyId}/payroll-runs openfinance

    列出公司进行中的发薪批次——发薪日、周期起止、非周期标记、发薪日程——对应薪资首页翻页列表。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。companyId 为已登录的 companyCode。

    • id
    • checkDate
    • periodBegin
    • periodEnd
    • isOffCycle
    • payScheduleId
    • payFrequency
    GET /v1/accounts/B1234/payroll-runs HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "items": [
        {
          "id": "PR-2026-09-25",
          "checkDate": "2026-09-25",
          "periodBegin": "2026-09-08",
          "periodEnd": "2026-09-21",
          "isOffCycle": false,
          "payScheduleId": "PS-WEEKLY",
          "payFrequency": "weekly"
        }
      ]
    }
    • 依据薪资首页的批次列表重构
  • 发薪批次汇总

    GET /v1/accounts/{companyId}/payroll-runs/{payrollId}/totals openfinance

    返回一次发薪的汇总:批次与员工数、工时、纸质支票与直接存款支票数,以及现金金额(gross、net、earnings、deductions、taxes)。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。

    • payrollId
    • batchCount
    • employeeCount
    • hours
    • checkCounts
    • directDeposit
    • live
    • cashAmounts
    • gross
    • net
    • earnings
    • deductions
    • taxes
    GET /v1/accounts/B1234/payroll-runs/PR-2026-09-25/totals HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "payrollId": "PR-2026-09-25",
      "batchCount": 3,
      "employeeCount": 412,
      "hours": 16480.50,
      "checkCounts": {"directDeposit": 390, "live": 22},
      "cashAmounts": {"gross": 1854320.11, "net": 1422100.44, "earnings": 1854320.11, "deductions": 210400.20, "taxes": 221819.47}
    }
    • 依据发薪批次详情页的汇总头部重构
  • 发薪现金需求

    GET /v1/accounts/{companyId}/payroll-runs/{payrollId}/funding openbanking

    展示公司为一次发薪需备付的现金:按银行的 EFT 与支票合计(账号后四位),以及直接存款、税款、机构和薪资本身的负债分桶。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。需薪资管理员会话。

    • bankingSummary
    • accountNumberLastFour
    • totalEft
    • totalChecks
    • liabilities
    • directDeposit
    • tax
    • agency
    • payroll
    GET /v1/accounts/B1234/payroll-runs/PR-2026-09-25/funding HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "bankingSummary": [
        {
          "name": "Operating - Wells Fargo",
          "accountNumberLastFour": "4421",
          "totalEft": 1385400.12,
          "totalChecks": 36700.32
        }
      ],
      "liabilities": {
        "directDeposit": {"amount": 1385400.12},
        "tax": {"amount": 221819.47},
        "agency": {"amount": 18400.00},
        "payroll": {"amount": 36700.32}
      }
    }
    • 依据管理员在放行发薪前查看的资金核对界面重构
  • 提交打卡

    POST /v1/accounts/{companyId}/employees/{employeeId}/clock-events opendata

    为已登录员工记录一次上班或下班打卡,含签名时间戳、打卡类型、可选备注、地理位置与成本中心 id——即打卡按钮的写入侧。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。employeeId 为已登录员工。

    • timestamp
    • type
    • note
    • isManual
    • source
    • geolocation
    • costCenterIds
    • punchId
    POST /v1/accounts/B1234/employees/E-10432/clock-events HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Content-Type: application/json
    
    {
      "timestamp": {"value": "2026-09-29T12:01:04Z", "signature": "sig-aa12"},
      "type": "in",
      "note": "",
      "isManual": false,
      "source": "mobile",
      "geolocation": {"latitude": 41.8781, "longitude": -87.6298},
      "costCenterIds": ["CC-OPS"]
    }
    {
      "punchId": "PCH-99120",
      "timestamp": "2026-09-29T12:01:04Z",
      "type": "in",
      "isManual": false,
      "source": "mobile"
    }
    • 依据移动端打卡按钮的写入流程重构
  • 员工发薪周期

    GET /v1/accounts/{companyId}/employees/{employeeId}/work-periods opendata

    列出员工的发薪周期窗口(startDate、endDate),工时表与打卡历史按此翻页。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。

    • startDate
    • endDate
    GET /v1/accounts/B1234/employees/E-10432/work-periods HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "items": [
        {"startDate": "2026-09-08T00:00:00Z", "endDate": "2026-09-21T23:59:59Z"},
        {"startDate": "2026-09-22T00:00:00Z", "endDate": "2026-10-05T23:59:59Z"}
      ]
    }
    • 依据工时表与打卡历史的翻页逻辑重构
  • 我的排班班次

    GET /v1/accounts/{companyId}/employees/{employeeId}/roster opendata

    返回已登录员工的已排班次——id、类型、时长、日期区间、职位与成本中心——对应「我的排班」界面。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。

    • items
    • id
    • type
    • duration
    • date
    • position
    • costCenters
    • status
    GET /v1/accounts/B1234/employees/E-10432/roster HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "items": [
        {
          "id": "SH-44120",
          "type": "shift",
          "duration": {"hours": 8, "minutes": 0},
          "date": {"start": "2026-09-29T13:00:00Z", "end": "2026-09-29T21:00:00Z"},
          "position": {"name": "Line Operator"},
          "costCenters": [{"id": "CC-OPS", "name": "Operations"}],
          "status": "scheduled"
        }
      ]
    }
    • 依据「我的排班」界面重构
  • 预支薪资付款

    GET /v1/accounts/{companyId}/employees/{employeeId}/wage-advances openfinance

    列出员工本期已发生的预支薪资转账——金额、手续费、状态、到账时间以及将从工资中扣除的发薪日。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。受账户上下文上 earnedWageAccess 开关控制。

    • paymentId
    • paymentDateTimeUtc
    • paymentStatus
    • paymentAmount
    • transferFeeAmount
    • payrollDeductionDate
    • transferredDateTimeUtc
    GET /v1/accounts/B1234/employees/E-10432/wage-advances HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "items": [
        {
          "paymentId": "EWA-70012",
          "paymentDateTimeUtc": "2026-09-24T16:12:00Z",
          "paymentStatus": "completed",
          "paymentAmount": 150.00,
          "transferFeeAmount": 2.99,
          "payrollDeductionDate": "2026-09-25T00:00:00Z",
          "transferredDateTimeUtc": "2026-09-24T16:40:00Z"
        }
      ]
    }
    • 依据预支薪资历史列表重构
  • 预支薪资付款预览

    POST /v1/accounts/{companyId}/employees/{employeeId}/wage-advance-quotes openfinance

    按金额、到账速度与已保存的收款方式报价预支薪资的手续费与合计,供员工确认打款前查看。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。

    • paymentMethodId
    • paymentTransferSpeed
    • paymentAmount
    • paymentPreviewId
    • paymentFeeAmount
    • totalPaymentAmount
    • transferByDate
    • paymentOption
    POST /v1/accounts/B1234/employees/E-10432/wage-advance-quotes HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    Content-Type: application/json
    
    {
      "paymentMethodId": 4412,
      "paymentTransferSpeed": "instant",
      "paymentAmount": 125.00
    }
    {
      "paymentPreviewId": 88021,
      "paymentAmount": 125.00,
      "paymentFeeAmount": 2.99,
      "totalPaymentAmount": 127.99,
      "transferByDate": "2026-09-29T18:00:00Z",
      "paymentOption": {"code": "instant"}
    }
    • 依据预支薪资确认页的手续费报价步骤重构
  • 退休缴款资料

    GET /v1/accounts/{companyId}/assignments/{assignmentId}/retirement-summary openfinance

    从薪资历史读取员工的退休缴款资料——税前与 Roth 计划以及年累计员工与雇主缴款——对应退休卡片。

    认证方式: Authorization: Bearer <jwt>,来自 POST /v1/auth/login。assignmentId 为该员工的薪资任职记录。

    • companyId
    • assignmentId
    • currency
    • preTax
    • roth
    • yearToDateContributions
    GET /v1/accounts/B1234/assignments/AS-10432/retirement-summary HTTP/1.1
    Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
    {
      "companyId": "B1234",
      "assignmentId": "AS-10432",
      "currency": "USD",
      "preTax": [{"planName": "401(k)", "percent": 6.0}],
      "roth": [{"planName": "Roth 401(k)", "percent": 2.0}],
      "yearToDateContributions": {"employee": 4200.00, "employer": 2100.00}
    }
    • 依据薪资历史中的退休卡片重构

数据类别

  • 登录会话
  • 用户资料
  • 公司上下文
  • 首页仪表盘
  • 发薪批次
  • 发薪现金需求
  • 打卡记录
  • 发薪周期
  • 工作排班
  • 预支薪资
  • 退休缴款

数据使用场景与案例

  • 发薪备付现金核对

    资金机器人以薪资管理员身份登录,在 GET /v1/accounts/{companyId}/payroll-runs 列出进行中的批次,再读取 GET /v1/accounts/{companyId}/payroll-runs/{payrollId}/funding 中的 accountNumberLastFour、totalEft 与税款负债,然后才放行 ACH 文件。

  • 打卡与排班对账

    劳动力系统把打卡提交到 POST /v1/accounts/{companyId}/employees/{employeeId}/clock-events,并与 GET /v1/accounts/{companyId}/employees/{employeeId}/roster(duration、position、costCenters)对照,周期窗口来自 GET /v1/accounts/{companyId}/employees/{employeeId}/work-periods。

  • 预支薪资打款报价

    员工确认提前支取前,客户端把 paymentAmount 与 paymentTransferSpeed POST 到 /v1/accounts/{companyId}/employees/{employeeId}/wage-advance-quotes,展示 paymentFeeAmount 与 totalPaymentAmount;历史转账来自 GET .../wage-advances。

  • 退休年累计卡片

    福利界面调用 GET /v1/accounts/{companyId}/assignments/{assignmentId}/retirement-summary 读取 preTax、roth 与 yearToDateContributions,并与 GET /v1/accounts/{companyId}/dashboard 的退休组件并排展示。

常见问题

Paylocity 如何鉴权 API 调用?

POST /v1/auth/login 接受 company、userName 与 password(或 PKCE code),返回 jwt、gatewayToken、refreshToken 与 sessionId。后续调用发送 Authorization: Bearer <jwt>。POST /v1/auth/token/refresh 轮换令牌;GET /v1/accounts/{companyId}/context 重新加载公司、用户与功能开关。

能看到哪些薪资金额?

GET /v1/accounts/{companyId}/payroll-runs 列出进行中的批次(checkDate、periodBegin、periodEnd)。GET .../payroll-runs/{payrollId}/totals 返回 gross、net、earnings、deductions、taxes 以及纸质支票与直接存款支票数。GET /v1/accounts/{companyId}/payroll-runs/{payrollId}/funding 补充每家银行的 totalEft、totalChecks、accountNumberLastFour 以及税款与直接存款负债。

员工能打卡并查看排班吗?

可以。POST /v1/accounts/{companyId}/employees/{employeeId}/clock-events 用签名时间戳、类型与地理位置记录打卡。发薪周期来自 GET /v1/accounts/{companyId}/employees/{employeeId}/work-periods。已排班次是 GET /v1/accounts/{companyId}/employees/{employeeId}/roster。

与 Paylocity 相似的应用

  • ADP Mobile Solutions — ADP 的员工端应用,配套其 Workforce Now 人力资本管理套件,覆盖薪资、HR、工时与人才管理,面向中型企业,在跨州税务与合规能力上与 Paylocity 直接竞争。
  • Workday — Workday 是面向大型企业的套件,把人力、薪资与财务数据整合在同一系统中,通常适用于千人以上规模的组织。
  • UKG Pro — UKG 是围绕排班与劳动合规打造的薪资与人力平台,主要面向医疗、零售、酒店餐饮与制造等行业的中型企业。
  • Paychex Flex — Paychex Flex 为美国小企业打包提供薪资、HR 与福利服务,公开定价为每月 39 美元起、每位员工另加 5 美元。
  • Gusto — Gusto 是面向美国小企业的薪资平台,价格公开且不限发薪次数,适合约 2 至 200 人的公司。
  • Paycom — Paycom 是面向中大型企业的单数据库 HCM 平台,其 Beti 功能让员工在发薪前自行核对工资单。
  • Rippling — Rippling 把 HR、IT 与薪资整合到同一系统,面向注重自动化的科技公司,可自动完成新员工应用账号开通等流程。

相关主题

  • paylocity api
  • 薪资接口
  • 打卡
  • 预支薪资
  • 发薪现金需求
  • 员工排班

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

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

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价