JOB TODAY 数据 API:职位、聊天与招聘点数
JOB TODAY 是面向酒店餐饮、零售与本地服务的当日招聘应用。手机号或邮箱登录签发 X-Session-Token 后,客户端通过第一方 JSON API 加载职位、投递、聊天与雇主招聘点数钱包。
职位主干是 GET /v1/jobs/nearby-feed(jobTitle、salary、immediateStart),地图图钉叠加层由 GET /v1/geo/vacancies 提供。求职者调用 POST /v1/applications/create 并读取 GET /v1/applications/status/{id};雇主分页读取 GET /v1/hiring/threads 与 GET /v1/candidates/suggested。聊天位于 GET /v1/messages/threads,面试位于 GET /v1/schedule/slots,付费联系人钱包位于 GET /v1/wallet/credits。
JOB TODAY: Hire & Find Jobs(包名 com.jobtoday.app,版本 2.117.0)是 JOB TODAY S.A. 面向酒店餐饮、零售与本地服务当日招聘的 Android 客户端。求职者在地图信息流中浏览职位、一键投递并与雇主聊天;雇主搜索候选人、解锁付费聊天,并从应用内账户支出招聘点数。登录后的调用会附带手机号或邮箱登录签发的 X-Session-Token 请求头。以下接口面覆盖移动搜索、地图职位、投递、资料与简历、雇主收件箱、聊天、推荐候选人、面试与招聘点数账户。
应用截图
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据雇主手机号登录界面重建会话载荷携带 sessionToken、userExperience、firstName 与 email
邮箱密码登录
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据邮箱登录界面重建sessionToken 结构与手机号登录响应一致
通用移动搜索
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 }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据通用信息流与搜索标签页重建信息流卡片暴露 salary、shift、immediateStart 与 isUrgent
地图职位
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 }] }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据地图搜索界面重建图钉载荷携带 geoPoint、salary 与 distance
提交职位投递
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据求职者投递操作重建响应携带 applicationStatus 与 createdAt
投递状态
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据“我的工作”投递状态列表重建预约面试后载荷包含 hasInterview 与 interviewId
求职者资料
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据求职者资料与资料编辑界面重建资料载荷包含 availability、cv 与 verificationStatus
资料简历 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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据简历导入界面重建响应定位 PDF 及 fullName 与联系方式字段
聊天收件箱
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 }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据聊天收件箱与消息界面重建会话卡片携带 unreadCount、lastMessage 与 jobTitle
雇主收件箱
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" }] }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据雇主收件箱、搜索与筛选界面重建会话条目包含 applicationStatus、unreadCount 与 hasInterview
推荐候选人
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" }] }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据雇主推荐候选人界面重建卡片暴露 availability、immediateStart 与 verificationStatus
招聘点数账户状态
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"]} } }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据雇主招聘点数账户界面重建钱包载荷嵌套 bank.balance.subscription 与 packages.subscriptions
面试列表
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" }] }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据面试列表与雇主排期界面重建每个时段携带 interviewDate 与 interviewStatus
注册设备
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" }依据应用界面推导;端点细节为示意说明,并非实际抓包。
依据登录后的设备注册重建请求体携带 guid、model、appVersion、pushToken 与 fcmToken
数据类别
- 职位列表
- 投递
- 候选人资料
- 简历
- 雇主收件箱
- 聊天
- 招聘点数
- 面试
数据使用场景与案例
含薪资与到岗标志的本地职位信息流
人力仪表盘可轮询 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 API
- 当日招聘端点
- X-Session-Token
- 职位搜索 API
- 雇主收件箱
- 招聘点数
- 职位投递 API
- 酒店餐饮职位 API
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业