Job&Talent 数据 API:即时工资、打卡与职位
Job&Talent: Get work today 是马德里起家的人力派遣公司 Job&Talent 的 Android 应用,把按小时与轮班工人匹配到仓储、物流、零售与酒店客户。邮箱或社交登录后,工人浏览职位卡并投递;入职后用二维码或地理围栏打卡、查看当周班次、申请休假,并在 Money 首页按已打卡工时领取 Early Pay 薪资预支与 Instant Wage 提现——开通钱包后还可使用 Job&Talent 银行账户。Play 上面向西班牙、德国、法国与墨西哥的工人,与 Randstad、Adecco、Indeed 及本地派遣应用并列,而不是只做综合招聘看板。
即时工资首页把 earlyPay 资格对象(minAmount、maxAmount、buffer、feeMatrix、maskedAccount、isInstantPayment)与 instantWage 钱包的 accountId、currencyCode 和可提现 maxAmount 放在一起。薪资预支请求带 amount 与已打卡工时的 clockingId;银行卡返回 bankAccountStatus、optInPreference 以及含 amount 与 currencyCode 的 balance。提现流水含 status、type、failureReason 与 maskedBankAccount。
地理围栏打卡携带 placementId、inGeofence、shiftId 以及含 lat/lng 与 accuracy 的 location。打卡状态返回 currentJob(companyId、companyName)、currentShift(startsAt、endsAt、role)和 latestClocking(clockingId、isLive、clockIn.time、atWorkplace)。班次窗口用 totalPlannedMinutes 对照 totalClockedMinutes,并给出每班 timeslot.startsAt。
空缺卡给出 title、specs.salary、payRate、location.city 与 hasAlreadyApplied;申请保留 recruitmentProcessId、interviewScheduled 与 offer。休假行含 ticket 及 period.localStartsOn / localEndsOn。薪资、放贷与派遣团队用这些字段对账已赚工资、证明出勤并补班;openData Studio 将其变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
创建邮箱会话
POST
/v1/staffing-worker/sessionopendata用 email、password、termsAccepted 与 marketingConsentAccepted 注册或登录工人,返回 idToken、refreshToken、emailVerificationToken 与可选 stepUpToken。
认证方式: 未认证的邮箱/密码或社交登录。响应中的 idToken 作为后续调用的 Bearer;refreshToken 用于轮换会话。
- password
- termsAccepted
- marketingConsentAccepted
- idToken
- refreshToken
- emailVerificationToken
- stepUpToken
POST /v1/staffing-worker/session HTTP/1.1 Content-Type: application/json { "email": "[email protected]", "password": "******", "termsAccepted": true, "marketingConsentAccepted": false }{ "idToken": "<id-token>", "refreshToken": "<refresh-token>", "emailVerificationToken": "<email-verification-token>", "stepUpToken": null }即时工资与提前发薪首页
GET
/v1/staffing-worker/money/homeopenfinance加载 Money 首页:earlyPay 资格(minAmount、maxAmount、buffer、feeMatrix、maskedAccount、isInstantPayment)以及 instantWage 钱包额度(accountId、currencyCode、maxAmount、minAmount)。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- earlyPay
- instantWage
- currencyCode
- minAmount
- maxAmount
- buffer
- maskedAccount
- feeMatrix
- userAgreementUrl
- userAgreementAcceptanceRequired
- learnMoreUrl
- isInstantPayment
- accountId
- lowestCurrencyDenomination
GET /v1/staffing-worker/money/home HTTP/1.1 Authorization: Bearer <idToken>{ "earlyPay": { "currencyCode": "EUR", "minAmount": 20, "maxAmount": 180, "buffer": 10.0, "maskedAccount": "****4321", "feeMatrix": [{"bucket": 50, "fee": 2.5}], "userAgreementUrl": "https://example.com/early-pay-terms", "userAgreementAcceptanceRequired": true, "learnMoreUrl": "https://example.com/early-pay", "requirements": [], "freeLegalAdvances": "1", "lowestCurrencyDenomination": 1, "limitByZeroBucket": false, "isInstantPayment": true }, "instantWage": { "accountId": "acc-88a1", "currencyCode": "EUR", "maxAmount": 95.5, "minAmount": 5.0, "lowestCurrencyDenomination": 0.01, "maskedAccount": "****4321" } }提前发薪资格
GET
/v1/staffing-worker/money/eligibilityopenfinance返回 Early Pay Eligible(或 NotEligible):currencyCode、minAmount、maxAmount、buffer、maskedAccount、feeMatrix 与 isInstantPayment,用于按已打卡工时预支薪资。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- currencyCode
- minAmount
- maxAmount
- buffer
- maskedAccount
- feeMatrix
- userAgreementUrl
- userAgreementAcceptanceRequired
- learnMoreUrl
- requirements
- freeLegalAdvances
- lowestCurrencyDenomination
- limitByZeroBucket
- isInstantPayment
GET /v1/staffing-worker/money/eligibility HTTP/1.1 Authorization: Bearer <idToken>{ "currencyCode": "EUR", "minAmount": 20, "maxAmount": 180, "buffer": 10.0, "maskedAccount": "****4321", "feeMatrix": [{"bucket": 50, "fee": 2.5}], "userAgreementUrl": "https://example.com/early-pay-terms", "userAgreementAcceptanceRequired": true, "learnMoreUrl": "https://example.com/early-pay", "requirements": [], "freeLegalAdvances": "1", "lowestCurrencyDenomination": 1, "limitByZeroBucket": false, "isInstantPayment": true }申请薪资预支
POST
/v1/staffing-worker/money/advancesopenfinance按已打卡工时的 clockingId 申请金额为 amount 的 Early Pay 预支。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- amount
- clockingId
POST /v1/staffing-worker/money/advances HTTP/1.1 Authorization: Bearer <idToken> Content-Type: application/json { "amount": 80, "clockingId": "clk-9f2a" }{ "ok": true }钱包与银行状态
GET
/v1/staffing-worker/money/bankingopenfinance读取 Job&Talent 钱包:bankingUrl、bankAccountStatus、optInPreference 以及 balance.amount / balance.currencyCode。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- bankingUrl
- bankAccountStatus
- optInPreference
- balance
- amount
- currencyCode
GET /v1/staffing-worker/money/banking HTTP/1.1 Authorization: Bearer <idToken>{ "bankingUrl": "https://example.com/open-banking", "bankAccountStatus": "ACTIVE", "optInPreference": "OPTED_IN", "balance": { "amount": 126.4, "currencyCode": "EUR" } }即时工资流水
GET
/v1/staffing-worker/money/withdrawalsopenfinance分页即时工资提现:date、dateLabel、status、type、amount、currencyId、maskedBankAccount 与 failureReason。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- date
- dateLabel
- status
- type
- failureReason
- amount
- currencyId
- maskedBankAccount
GET /v1/staffing-worker/money/withdrawals?page=1&per_page=20 HTTP/1.1 Authorization: Bearer <idToken>{ "data": [{ "date": "2026-09-28T18:12:00Z", "dateLabel": "28 Sep", "status": "COMPLETED", "type": "WITHDRAWAL", "failureReason": null, "amount": 40.0, "currencyId": "EUR", "maskedBankAccount": "****4321" }] }提取即时工资
POST
/v1/staffing-worker/money/cashoutopenfinance从 Instant Wage 钱包按 amount 提现到已开通的银行账户。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- amount
POST /v1/staffing-worker/money/cashout HTTP/1.1 Authorization: Bearer <idToken> Content-Type: application/json { "amount": 40.0 }{ "ok": true }提前发薪流水
GET
/v1/staffing-worker/money/advance-ledgeropenfinance分页 Early Pay 薪资预支:date、title、type、status、amount、feeAmount、currencyId 与 failureReason。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- date
- title
- type
- status
- failureReason
- amount
- feeAmount
- currencyId
GET /v1/staffing-worker/money/advance-ledger?page=1&per_page=20 HTTP/1.1 Authorization: Bearer <idToken>{ "data": [{ "date": "2026-09-27T09:00:00Z", "title": "Early Pay", "type": "ADVANCE", "status": "COMPLETED", "failureReason": null, "amount": 80, "feeAmount": 2.5, "currencyId": "EUR" }] }打卡状态
GET
/v1/staffing-worker/attendance/liveopendata返回当前出勤:currentJob(companyId、companyName)、currentShift(startsAt、endsAt、role)、latestClocking(clockingId、isLive、clockIn.time、atWorkplace)以及 workplaces。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- currentJob
- companyId
- companyName
- placementInactive
- currentShift
- id
- name
- role
- department
- startsAt
- endsAt
- workplaceId
- latestClocking
- clockingId
- placementId
- shiftId
- isLive
- clockIn
- time
- atWorkplace
- timeRounded
- updatedByCompany
- workplaces
GET /v1/staffing-worker/attendance/live HTTP/1.1 Authorization: Bearer <idToken>{ "currentJob": { "companyId": "co-441", "companyName": "LogiPark Madrid" }, "placementInactive": false, "currentShift": { "id": "sh-12", "name": "Morning inbound", "role": "Picker", "department": "Inbound", "startsAt": "2026-10-02T06:00:00+02:00", "endsAt": "2026-10-02T14:00:00+02:00", "workplaceId": "wp-7", "legacyPlacementId": "pl-legacy-9" }, "latestClocking": { "clockingId": "clk-9f2a", "placementId": "pl-77", "shiftId": "sh-12", "isLive": true, "companyId": "co-441", "workplaceId": "wp-7", "clockIn": { "time": "2026-10-02T06:02:11Z", "updatedByCompany": false, "atWorkplace": true, "timeRounded": "2026-10-02T06:00:00Z", "timeEarly": null } }, "workplaces": [] }上班打卡
POST
/v1/staffing-worker/attendance/punchesopendata用 placementId、inGeofence、shiftId 以及含 lat/lng、isPrecise、accuracy 的 location 完成上班打卡。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- placementId
- inGeofence
- shiftId
- clockingLogTypeId
- location
- coordinates
- lat
- lng
- isPrecise
- accuracy
- clockingId
- isLive
- clockIn
- time
- atWorkplace
- timeRounded
POST /v1/staffing-worker/attendance/punches HTTP/1.1 Authorization: Bearer <idToken> Content-Type: application/json { "placementId": "pl-77", "inGeofence": true, "shiftId": "sh-12", "clockingLogTypeId": "punch-in", "location": { "coordinates": {"lat": 40.4168, "lng": -3.7038}, "isPrecise": true, "accuracy": 12.4 } }{ "clockingId": "clk-9f2a", "placementId": "pl-77", "shiftId": "sh-12", "isLive": true, "clockIn": { "time": "2026-10-02T06:02:11Z", "updatedByCompany": false, "atWorkplace": true, "timeRounded": "2026-10-02T06:00:00Z" } }班次列表
POST
/v1/staffing-worker/roster/windowopendata按 from/to 列出班次(timeslot.startsAt/endsAt),并返回 shiftsStats.totalPlannedMinutes、totalClockedMinutes 与 absencePeriods。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- from
- to
- shifts
- id
- placementId
- name
- type
- status
- timeslot
- startsAt
- endsAt
- client
- shiftsStats
- totalPlannedMinutes
- totalClockedMinutes
- earnings
- absencePeriods
POST /v1/staffing-worker/roster/window HTTP/1.1 Authorization: Bearer <idToken> Content-Type: application/json { "from": "2026-10-01T00:00:00+02:00", "to": "2026-10-07T23:59:59+02:00" }{ "shifts": [{ "id": "sh-12", "placementId": "pl-77", "name": "Morning inbound", "type": "REGULAR", "status": "CONFIRMED", "timeslot": { "startsAt": "2026-10-02T06:00:00Z", "endsAt": "2026-10-02T14:00:00Z" }, "client": {"name": "LogiPark Madrid"} }], "shiftsStats": { "totalPlannedMinutes": 2400, "totalClockedMinutes": 2280, "earnings": null }, "absencePeriods": [] }工人账户总览
GET
/v1/staffing-worker/account/homeopendata加载工人首页:stats.rating、shiftResponseRate、shiftAttendanceRate 与 jobInfo.clientName / clientLogoUrl,以及 dashboard 快捷入口与 tenantInfo。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- stats
- title
- rating
- shiftResponseRate
- shiftAttendanceRate
- jobInfo
- clientName
- clientLogoUrl
- dashboard
- tenantInfo
GET /v1/staffing-worker/account/home HTTP/1.1 Authorization: Bearer <idToken>{ "stats": { "title": "Your stats", "rating": {"value": 4.8}, "shiftResponseRate": {"value": 0.96}, "shiftAttendanceRate": {"value": 0.99} }, "jobInfo": { "clientName": "LogiPark Madrid", "clientLogoUrl": "https://example.com/logo.png" }, "dashboard": { "shortcuts": [] }, "tenantInfo": null }职位空缺详情
GET
/v1/staffing-worker/openings/{openingId}opendata加载空缺:title、specs.salary / payRate、含 latitude/longitude 的 location.city、responsibilities、hasAlreadyApplied 与 applicationEndpoint。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- id
- title
- description
- specs
- companyName
- hideCompanyInfo
- salary
- startDate
- companyLogoUrl
- payRate
- name
- subtitle
- location
- rawLocation
- city
- latitude
- longitude
- responsibilities
- hasAlreadyApplied
- expired
- applicationEndpoint
GET /v1/staffing-worker/openings/vr-88021 HTTP/1.1 Authorization: Bearer <idToken>{ "id": "jo-88021", "title": "Warehouse picker", "description": "Inbound picking on morning shifts.", "specs": { "companyName": "LogiPark Madrid", "hideCompanyInfo": false, "salary": "€11.20 / hour", "startDate": "2026-10-06", "companyLogoUrl": "https://example.com/logo.png", "payRate": { "name": "Hourly", "subtitle": "€11.20", "payRateContent": [] } }, "location": { "rawLocation": "Av. de Andalucía, Madrid", "city": "Madrid", "latitude": 40.4168, "longitude": -3.7038 }, "responsibilities": ["Pick inbound cartons"], "hasAlreadyApplied": false, "expired": false, "applicationEndpoint": "/v1/staffing-worker/openings/jo-88021/apply" }求职申请
GET
/v1/staffing-worker/pipeline/applicationsopendata列出候选人流程:id、title、recruitmentProcessId、interviewScheduled、status、employer、offer 与 nextSteps。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- id
- title
- description
- createdAt
- leadId
- recruitmentProcessId
- interviewScheduled
- status
- employer
- offer
- application
- checkout
- jobOpening
- nextSteps
- action
GET /v1/staffing-worker/pipeline/applications HTTP/1.1 Authorization: Bearer <idToken>{ "data": [{ "id": "cp-331", "title": "Warehouse picker", "description": "Inbound picking", "createdAt": "2026-09-20T10:00:00Z", "leadId": "lead-12", "recruitmentProcessId": "rp-9", "interviewScheduled": false, "status": [{"label": "In review"}], "employer": {"name": "LogiPark Madrid"}, "offer": null }] }休假总览
GET
/v1/staffing-worker/time-off/overviewopendata列出休假工单:id、name、ticket 以及 period.localStartsOn / localEndsOn、duration 与 labels。
认证方式: 来自邮箱会话交换的 Bearer idToken;refreshToken 用于轮换会话。
- leaves
- id
- iconUrl
- name
- ticket
- period
- localStartsOn
- localEndsOn
- duration
- labels
GET /v1/staffing-worker/time-off/overview HTTP/1.1 Authorization: Bearer <idToken>{ "leaves": [{ "id": "lv-14", "iconUrl": "https://example.com/leave.png", "name": "Annual leave", "ticket": "T-1042", "period": { "localStartsOn": "2026-10-12", "localEndsOn": "2026-10-14", "duration": {"days": 3} }, "labels": [{"text": "Approved"}] }] }
数据类别
- 已赚工资
- 余额
- 交易
- 打卡
- 班次
- 职位
- 申请
- 休假
- 认证会话
数据使用场景与案例
已赚工资对账
放贷或薪资栈读取 Instant Wage 的 maxAmount 与 Early Pay 的 feeMatrix,再把每笔 amount 对到已打卡工时的 clockingId,避免预支超过实际出勤。
地理围栏出勤证明
劳动力平台保存每次打卡的 inGeofence、lat/lng accuracy 与 atWorkplace,并用 latestClocking.isLive 对照 currentShift.startsAt 标记未到岗。
计划工时对打卡工时
工时机器人拉取班次列表的 shiftsStats.totalPlannedMinutes、totalClockedMinutes 与 absencePeriods,在发薪截止前预填周工时。
派遣管道同步
ATS 复制空缺的 title、specs.salary 与 location.city,再按 recruitmentProcessId、interviewScheduled 与 offer 跟踪申请。
常见问题
Instant Wage 返回哪些工资字段?
Money 首页返回 earlyPay 资格(minAmount、maxAmount、buffer、feeMatrix、maskedAccount、isInstantPayment)以及 instantWage 钱包(accountId、currencyCode、maxAmount、minAmount)。提现提交 amount;流水增加 status、type、failureReason 与 maskedBankAccount。
如何证明一次打卡?
打卡发送 placementId、inGeofence、shiftId 与 location 坐标(lat、lng、isPrecise、accuracy)。状态再给出 latestClocking.clockingId、isLive、clockIn.time 与 atWorkplace,对照 currentShift 时间窗。
工人会话如何鉴权?
邮箱/密码或社交登录签发 idToken、refreshToken、emailVerificationToken 与可选 stepUpToken。后续调用带 Authorization: Bearer <idToken>;refreshToken 轮换会话。
ATS 能复制哪些空缺字段?
空缺含 title、specs.salary、payRate、带 latitude/longitude 的 location.city、responsibilities、hasAlreadyApplied 与 applicationEndpoint。申请列表含 recruitmentProcessId、interviewScheduled、status 与 offer。
与 Job&Talent: Get work today 相似的应用
- Randstad — Randstad 是总部位于荷兰迪门的人力资源咨询公司,在 39 个市场提供临时与弹性用工,并在西班牙站点发布职位。
- Adecco — Adecco Group 是总部位于苏黎世的临时派遣公司,在西班牙负责招聘与签订临时用工合同,覆盖工业、办公等岗位。
- Indeed Job Search — Indeed 是覆盖 60 多个国家和 28 种语言的招聘网站,汇总来自招聘看板、派遣公司与企业招聘页的职位。
- InfoJobs - Job Search — InfoJobs 是巴塞罗那的私营招聘看板,由 Adevinta 持有,西班牙求职者用它搜索职位并投递。
- JOB TODAY: Hire & Find Jobs — JOB TODAY 是面向西班牙、英国和美国的移动招聘应用,覆盖酒店餐饮、零售、仓储等附近计时岗位,候选人与雇主可在应用内直接聊天。
- Manpower — Manpower 是 ManpowerGroup 的派遣品牌,其西班牙站点帮助求职者在物流、制造、零售、酒店餐饮等行业找工作。
- OCC: Job Search — OCC 是 OCCMundial 面向墨西哥的求职应用,求职者可按关键词和地点搜索职位、制作简历并跟踪投递。
- LinkedIn: Community & Network — LinkedIn 是覆盖 200 多个国家和地区的职业社交网络,求职者发布简历,雇主发布职位。
相关主题
- jobandtalent api
- 即时工资
- 提前发薪
- 已赚工资
- 地理围栏打卡
- 班次列表
- 空缺申请
- 派遣工人 api
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业