JOB TODAY 数据 API:职位、聊天与招聘点数
JOB TODAY: Hire & Find Jobs 是 JOB TODAY S.A. 推出的当日招聘应用,主攻西班牙和美国酒店餐饮、零售与本地服务类的计时岗位。求职者可用手机号、邮箱或 SSO 登录,在通用信息流里按职位名称和距离半径搜索,并按“即刻到岗”和兼职/全职筛选;也可切换到地图查看附近职位,在职位详情页一键投递,在“我的工作”里跟进每份投递从已投递、入围到面试的进度,并维护带照片、可上岗时间、导入简历与认证状态的个人资料。雇主发布职位,在可按入围、面试和在线状态筛选的应聘者收件箱里处理投递、与候选人聊天,为在招职位调取推荐求职者,并用内置排期工具安排面试;招聘点数账户与订阅套餐决定雇主每月能联系多少候选人、能发布多少职位。在西班牙酒店餐饮招聘上,它与 InfoJobs、Turijobs 竞争;在美国计时工作市场,则与 Snagajob、Indeed 竞争。
即刻到岗标志、班次与薪资都写在每条职位记录上:职位卡片带有 jobTitle 及其 normalizedTitle、companyName、city、salary 与 currency、employmentType、shift、immediateStart、isUrgent、jobStatus 和 applicantsCount,地图图钉另附 geoPoint 与 distance。投递记录以 jobId 和 candidateId 为键,其 applicationStatus 从入围一路推进到面试,由 hasInterview、interviewDate 与 interviewStatus 记录。
账户按 userExperience 分为求职者与雇主两侧。候选人资料保存 availability、verificationStatus、photoUrl 以及指向 PDF 简历的 cv;求职者消息会话带 lastMessage、unreadCount 和 isBlocked 标志,雇主收件箱会话则把每个 candidateId 与其 applicationStatus 关联起来;雇主的招聘点数账户报告 balance、subscription、plan 以及可购买的 packages。
人力仪表盘可借薪资与到岗标志把当日酒店餐饮职位叠加到城市地图上;HR 工具可把投递与面试字段做成流水线日历;招聘团队可将收件箱与推荐候选人的认证状态和可上岗时间合并成寻访清单;财务机器人可在雇主触及月度聊天解锁上限前核对招聘点数余额。openData Studio 让这些记录成为可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
手机号登录会话
POST
/v1/auth/phone/sessionopendata在雇主手机号流程短信登录后签发所用的 X-Session-Token。
认证方式: 无。返回后续调用用作 X-Session-Token 的 sessionToken。
- sessionToken
- id
- firstName
- userExperience
- phoneNumber
- code
POST /v1/auth/phone/session HTTP/1.1 Content-Type: application/json Accept: application/json { "phoneNumber": "+34600111222", "code": "482913", "userExperience": "employer" }{ "sessionToken": "st_7f3a9c2e1b", "id": "usr_4412", "firstName": "Elena", "email": "[email protected]", "userExperience": "employer", "phoneNumber": "+34600111222" }邮箱密码登录
POST
/v1/auth/email/sessionopendata授权界面上与 SSO 和手机号流程并用的邮箱/密码登录。
认证方式: 无。返回用作 X-Session-Token 的 sessionToken。
- password
- userExperience
- sessionToken
- id
- firstName
POST /v1/auth/email/session HTTP/1.1 Content-Type: application/json Accept: application/json { "email": "[email protected]", "password": "********", "userExperience": "jobseeker" }{ "sessionToken": "st_9c1d4e77", "id": "usr_8801", "firstName": "Alex", "email": "[email protected]", "userExperience": "jobseeker" }通用移动搜索
GET
/v1/jobs/nearby-feedopendata驱动求职者信息流:名称查询、地理半径与筛选(immediateStart、employmentTypes)返回带薪资、班次与紧急程度的职位卡片。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- jobs
- id
- uuid
- jobTitle
- normalizedTitle
- companyName
- companyId
- city
- latitude
- longitude
- salary
- currency
- employmentType
- shift
- immediateStart
- isUrgent
- jobStatus
- applicantsCount
- cursor
- pageSize
GET /v1/jobs/nearby-feed?name=waiter&lat=41.3874&lng=2.1686&radius=12&filters.immediateStart=true&filters.employmentTypes=PART_TIME HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/json{ "jobs": [{ "id": "job_55102", "uuid": "8c2e1b44-7a11-4d90-9f3a-21b0c8e44aa1", "jobTitle": "Waiter / Waitress", "normalizedTitle": "waiter", "companyName": "Cafe Example", "companyId": "co_118", "city": "Barcelona", "latitude": 41.3874, "longitude": 2.1686, "salary": "12 EUR/hour", "currency": "EUR", "employmentType": "PART_TIME", "shift": "evening", "immediateStart": true, "isUrgent": true, "jobStatus": "open", "applicantsCount": 14 }], "cursor": "eyJvIjoxOH0", "pageSize": 20 }地图职位
GET
/v1/geo/vacanciesopendata为地图叠加层供数:返回 lat/lng 附近带 geoPoint 与 distance 的职位。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- jobs
- id
- jobTitle
- companyName
- latitude
- longitude
- geoPoint
- lat
- lng
- salary
- currency
- isUrgent
- distance
GET /v1/geo/vacancies?lat=40.7580&lng=-73.9855&radius=8&zoom=14 HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/json{ "jobs": [{ "id": "job_77021", "jobTitle": "Barista", "companyName": "Example Roasters", "latitude": 40.7589, "longitude": -73.9851, "geoPoint": {"lat": 40.7589, "lng": -73.9851}, "salary": "18 USD/hour", "currency": "USD", "isUrgent": false, "distance": 0.4 }] }提交职位投递
POST
/v1/applications/createopendata职位详情页的一键投递写入;创建雇主收件箱随后列出的投递记录。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- id
- uuid
- jobId
- candidateId
- applicationStatus
- status
- createdAt
- withJobApplicationsInfo
POST /v1/applications/create HTTP/1.1 X-Session-Token: st_9c1d4e77 Content-Type: application/json { "jobId": "job_55102", "candidateId": "usr_8801", "withJobApplicationsInfo": true }{ "id": "app_90112", "uuid": "b7e1f4f1-7144-4e9e-264f-346cd8e17e8a", "jobId": "job_55102", "candidateId": "usr_8801", "applicationStatus": "applied", "status": "applied", "createdAt": "2026-09-28T10:14:00Z" }投递状态
GET
/v1/applications/status/{id}opendata为求职者“我的工作”列表读取每条投递的流水线状态(applied / shortlisted / interviewed)。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- uuid
- jobId
- jobTitle
- companyName
- applicationStatus
- status
- hasInterview
- interviewId
- createdAt
GET /v1/applications/status/b7e1f4f1-7144-4e9e-264f-346cd8e17e8a HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/json{ "uuid": "b7e1f4f1-7144-4e9e-264f-346cd8e17e8a", "jobId": "job_55102", "jobTitle": "Waiter / Waitress", "companyName": "Cafe Example", "applicationStatus": "shortlisted", "status": "shortlisted", "hasInterview": true, "interviewId": "int_332", "createdAt": "2026-09-28T10:14:00Z" }求职者资料
GET
/v1/seekers/meosint加载求职者资料字段:姓名、照片、到岗时间、简历指针与 verificationStatus。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- id
- firstName
- lastName
- fullName
- phoneNumber
- photoUrl
- city
- availability
- immediateStart
- cv
- url
- verificationStatus
- userExperience
GET /v1/seekers/me HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/json{ "id": "usr_8801", "firstName": "Alex", "lastName": "Garcia", "fullName": "Alex Garcia", "email": "[email protected]", "phoneNumber": "+13475550100", "photoUrl": "https://cdn.example.com/u/8801.jpg", "city": "New York", "availability": "immediate", "immediateStart": true, "cv": {"url": "https://cdn.example.com/cv/8801.pdf"}, "verificationStatus": "verified", "userExperience": "jobseeker" }资料简历 PDF
GET
/v1/documents/cvosint下载或定位简历导入与雇主候选人视图所用的求职者简历 PDF。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- url
- cv
- fullName
- phoneNumber
GET /v1/documents/cv HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/pdf{ "url": "https://cdn.example.com/cv/8801.pdf", "cv": "8801.pdf", "fullName": "Alex Garcia", "email": "[email protected]", "phoneNumber": "+13475550100" }聊天收件箱
GET
/v1/messages/threadsopendata分页读取求职者消息会话;query 参数筛选列表。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- conversations
- conversationId
- recipientId
- displayName
- lastMessage
- messageText
- unreadCount
- isBlocked
- jobTitle
- jobId
- unreadMessages
GET /v1/messages/threads?query= HTTP/1.1 X-Session-Token: st_9c1d4e77 Accept: application/json{ "conversations": [{ "conversationId": "chat_441", "recipientId": "usr_8801", "displayName": "Alex Garcia", "lastMessage": "I can start Monday", "messageText": "I can start Monday", "unreadCount": 2, "isBlocked": false, "jobTitle": "Waiter / Waitress", "jobId": "job_55102" }], "unreadMessages": 6 }雇主收件箱
GET
/v1/hiring/threadsopendata加载雇主端的候选人会话;配套搜索与筛选调用应用 shortlisted / interview / online 等筛选面。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- items
- conversationId
- candidateId
- fullName
- jobId
- jobTitle
- applicationStatus
- unreadCount
- hasInterview
- photoUrl
GET /v1/hiring/threads HTTP/1.1 X-Session-Token: st_7f3a9c2e1b Accept: application/json{ "items": [{ "conversationId": "chat_441", "candidateId": "usr_8801", "fullName": "Alex Garcia", "jobId": "job_55102", "jobTitle": "Waiter / Waitress", "applicationStatus": "applied", "unreadCount": 1, "hasInterview": false, "photoUrl": "https://cdn.example.com/u/8801.jpg" }] }推荐候选人
GET
/v1/candidates/suggestedopendata雇主端为在招职位推荐求职者的候选人列表。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- candidates
- candidateId
- fullName
- photoUrl
- city
- availability
- immediateStart
- verificationStatus
- jobId
GET /v1/candidates/suggested?jobId=job_55102 HTTP/1.1 X-Session-Token: st_7f3a9c2e1b Accept: application/json{ "candidates": [{ "candidateId": "usr_8801", "fullName": "Alex Garcia", "photoUrl": "https://cdn.example.com/u/8801.jpg", "city": "Barcelona", "availability": "immediate", "immediateStart": true, "verificationStatus": "verified", "jobId": "job_55102" }] }招聘点数账户状态
GET
/v1/wallet/creditsopenfinance读取雇主招聘点数账户(剩余联系人/邀请数、当前套餐),该账户约束付费聊天解锁与发帖上限。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- meta
- bank
- balance
- subscription
- paid
- packages
- subscriptions
- plan
- productId
- currency
- specialOffers
- menu
- features
GET /v1/wallet/credits?include=menu,bank HTTP/1.1 X-Session-Token: st_7f3a9c2e1b Accept: application/json{ "meta": { "bank": { "balance": { "subscription": 12, "paid": true }, "packages": { "subscriptions": [{ "plan": "FAST", "productId": "emp.paid-chat.profile-widget.plan.weekly.v2", "currency": "EUR" }] }, "specialOffers": [] }, "menu": {"features": ["paid-chat", "boost"]} } }面试列表
GET
/v1/schedule/slotsopendata为面试列表与雇主排期组件列出即将进行与历史面试。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- interviews
- interviewId
- jobId
- jobTitle
- candidateId
- fullName
- interviewDate
- interviewStatus
- status
GET /v1/schedule/slots HTTP/1.1 X-Session-Token: st_7f3a9c2e1b Accept: application/json{ "interviews": [{ "interviewId": "int_332", "jobId": "job_55102", "jobTitle": "Waiter / Waitress", "candidateId": "usr_8801", "fullName": "Alex Garcia", "interviewDate": "2026-09-30T16:00:00Z", "interviewStatus": "confirmed", "status": "confirmed" }] }注册设备
POST
/v1/devices/registeropendata登录后注册设备 guid、model、appVersion 与 FCM 推送令牌。
认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。
- guid
- type
- model
- systemVersion
- appVersion
- language
- isSandboxToken
- pushToken
- fcmToken
- status
POST /v1/devices/register HTTP/1.1 X-Session-Token: st_9c1d4e77 Content-Type: application/json { "guid": "a1b2c3d4-e5f6-7890", "type": 2, "model": "Pixel 8", "systemVersion": "15", "appVersion": "2.117.0", "language": "en", "isSandboxToken": false, "pushToken": "fcm-token", "fcmToken": "fcm-token" }{ "guid": "a1b2c3d4-e5f6-7890", "type": 2, "appVersion": "2.117.0", "status": "ok" }
数据类别
- 职位列表
- 投递
- 候选人资料
- 简历
- 雇主收件箱
- 聊天
- 招聘点数
- 面试
数据使用场景与案例
含薪资与到岗标志的本地职位信息流
人力仪表盘可轮询 GET /v1/jobs/nearby-feed 与 GET /v1/geo/vacancies,读取 jobTitle、salary、employmentType、immediateStart 与 geoPoint,再把当日酒店餐饮职位叠加到城市地图上。
投递流水线与面试日历
HR 工具可调用 POST /v1/applications/create 发起投递,再监听 GET /v1/applications/status/{id} 与 GET /v1/schedule/slots 中的 applicationStatus、hasInterview、interviewDate 与 interviewStatus。
雇主收件箱与推荐候选人
招聘团队可分页读取 GET /v1/hiring/threads(candidateId、unreadCount、applicationStatus),并用 GET /v1/candidates/suggested 补充 verificationStatus 与 availability。
招聘点数账户对账
财务机器人可调用 GET /v1/wallet/credits 读取 bank.balance.subscription 与 packages.subscriptions,在雇主触及月度聊天解锁上限前完成核对。
常见问题
JOB TODAY 如何对 API 调用鉴权?
手机号登录 POST /v1/auth/phone/session 或邮箱登录 POST /v1/auth/email/session 返回 sessionToken,后续调用以 X-Session-Token 请求头发送。响应可能携带数据中心位置提示,客户端据此把后续调用固定到最近区域。
哪些端点返回职位列表?
GET /v1/jobs/nearby-feed 是移动端信息流(name、lat/lng、radius、immediateStart 与 employmentTypes 筛选)。GET /v1/geo/vacancies 以地图图钉形式返回同一批职位,附带 geoPoint 与 distance。
招聘点数与聊天解锁在哪里?
GET /v1/wallet/credits 返回 bank.balance.subscription 与 packages.subscriptions。达到当前套餐的月度联系人上限后,雇主解锁聊天会消耗这些点数。
可以读取候选人简历与资料吗?
可以。GET /v1/seekers/me 返回 firstName、photoUrl、availability、cv 与 verificationStatus。GET /v1/documents/cv 定位简历导入与雇主候选人界面使用的 PDF。
与 JOB TODAY: Hire & Find Jobs 相似的应用
- Indeed Job Search — Indeed 是免费的职位搜索应用,汇总数千个网站上的招聘信息,覆盖 60 多个国家和地区、28 种语言。
- InfoJobs - Job Search — InfoJobs 是总部位于巴塞罗那、面向西班牙和意大利的招聘站,求职者可在应用里搜索、投递并跟踪申请进度。
- LinkedIn: Community & Network — LinkedIn 是职业社交网络,提供职位搜索、个性化提醒,以及用个人资料一键投递。
- Snagajob — Snagajob 是面向美国时薪工作的市场,并有一款针对轮班时薪岗位的应用。
- Turijobs — Turijobs 是西班牙专注于旅游与酒店餐饮岗位的招聘门户。
- ZipRecruiter — ZipRecruiter 是美国的招聘市场,把求职者与雇主匹配起来。
- Jobandtalent — Jobandtalent 是数字化用工平台,企业可通过其人工智能匹配服务招聘员工。
相关主题
- JOB TODAY API
- 当日招聘端点
- X-Session-Token
- 职位搜索 API
- 雇主收件箱
- 招聘点数
- 职位投递 API
- 酒店餐饮职位 API
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业