JOB TODAY: Hire & Find Jobs 图标

JOB TODAY 数据 API:职位、聊天与招聘点数

JOB TODAY S.A. · 招聘求职

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 请求头。以下接口面覆盖移动搜索、地图职位、投递、资料与简历、雇主收件箱、聊天、推荐候选人、面试与招聘点数账户。

应用截图

  • JOB TODAY: Hire & Find Jobs 应用截图 1
  • JOB TODAY: Hire & Find Jobs 应用截图 2
  • JOB TODAY: Hire & Find Jobs 应用截图 3
  • JOB TODAY: Hire & Find Jobs 应用截图 4
  • JOB TODAY: Hire & Find Jobs 应用截图 5
  • JOB TODAY: Hire & Find Jobs 应用截图 6
  • JOB TODAY: Hire & Find Jobs 应用截图 7

API 端点一览

  • 手机号登录会话

    POST /v1/auth/phone/session opendata

    在雇主手机号流程短信登录后签发所用的 X-Session-Token。

    认证方式: 无。返回后续调用用作 X-Session-Token 的 sessionToken。

    • sessionToken
    • id
    • firstName
    • email
    • 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/session opendata

    授权界面上与 SSO 和手机号流程并用的邮箱/密码登录。

    认证方式: 无。返回用作 X-Session-Token 的 sessionToken。

    • email
    • 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-feed opendata

    驱动求职者信息流:名称查询、地理半径与筛选(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/vacancies opendata

    为地图叠加层供数:返回 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/create opendata

    职位详情页的一键投递写入;创建雇主收件箱随后列出的投递记录。

    认证方式: 来自手机号或邮箱登录的 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/me osint

    加载求职者资料字段:姓名、照片、到岗时间、简历指针与 verificationStatus。

    认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。

    • id
    • firstName
    • lastName
    • fullName
    • email
    • 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/cv osint

    下载或定位简历导入与雇主候选人视图所用的求职者简历 PDF。

    认证方式: 来自手机号或邮箱登录的 X-Session-Token(sessionToken)。

    • url
    • cv
    • fullName
    • email
    • 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/threads opendata

    分页读取求职者消息会话;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/threads opendata

    加载雇主端的候选人会话;配套搜索与筛选调用应用 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/suggested opendata

    雇主端为在招职位推荐求职者的候选人列表。

    认证方式: 来自手机号或邮箱登录的 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/credits openfinance

    读取雇主招聘点数账户(剩余联系人/邀请数、当前套餐),该账户约束付费聊天解锁与发帖上限。

    认证方式: 来自手机号或邮箱登录的 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/slots opendata

    为面试列表与雇主排期组件列出即将进行与历史面试。

    认证方式: 来自手机号或邮箱登录的 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/register opendata

    登录后注册设备 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 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价