Job Hai 职位、资料与投递数据 API
Job Hai - Search Job, Vacancy 是 Info Edge 为 JobHai 推出的 Android 求职客户端。JobHai 是该集团旗下面向印度蓝领与灰领劳动力的超本地化招聘平台(Info Edge 同时运营 Naukri)。求职者用手机号 OTP 或 Truecaller 登录后,进入按城市和街区筛选的附近职位信息流,可再按关键词、类别、职位名称、距离、公交/地铁以及情境筛选条件缩小范围,其中还有 Fatafat 快速录用分组和视频职位介绍短片。每张职位卡片显示岗位、薪资区间、居家办公 / 兼职 / 全职 / 合同标记、班次、招聘名额、到场面试(walk-in)标签和招聘公司;点进去可看到完整职位描述、面试地址、招聘人员、所需技能和资格问卷,点击 Apply 或 Call HR 即可联系招聘负责人。「Responses」标签页记录每一次投递,投递后还会推荐相似职位;个人资料包含姓名、手机号、所在街区、学历、工作经验、技能、语言、上传的简历和系统生成的 CV;Seekho 与 HireMeter 则是应用内的学习与就业准备附加功能。它覆盖印度 420 多个城市,主要与 apna、WorkIndia、Shine 和 Naukri Fast 竞争,而不是 LinkedIn 式的白领人脉社交,Google Play 上有 164,975 条评价,评分 4.43。
超本地化的职位卡片以 jobTitle 为主键,附带 minSalary/maxSalary、isWfh、locality 与 callAllowed;此外还有 Fatafat 快速录用分组(jsAction、isTopJob、bucketId)和视频职位介绍(hasVideoJD、videoUrl)。
手机号 OTP 会话返回 token 与 refreshToken,并带有 isFresher / isSoftProfileCompleted;投递与通话投递会解锁 jobContact 和 requisitionId;Responses 标签页列出 applicationType 与 canCall;个人资料提供 profileCompletionPercentage、highestQualification 以及生成 CV 的 url;HireMeter 则按基础/活跃度/资料三部分给出 hireMeterPercentage,并附带每个任务的 probabilityGain。街区招聘地图可以统计公开的印度卢比薪资区间,ATS 工具可以对账通话投递流程,就绪度看板可以把 HireMeter 任务关联到候选人记录上——openData Studio 把这些字段变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
发送求职者 OTP
POST
/v1/seeker/otp/dispatchosint在验证 OTP 接口签发 token 与 refreshToken 之前,向求职者的手机号发送登录 OTP。
认证方式: 未认证。手机号 OTP 登录;Truecaller 是另一种登录方式。
- phone
- status
- code
- message
- data
POST /v1/seeker/otp/dispatch HTTP/1.1 Content-Type: application/json Accept: application/json { "phone": "9876543210" }{ "status": true, "code": 200, "message": "OTP sent", "data": { "phone": "9876543210" } }验证 OTP 登录
POST
/v1/seeker/otp/confirmosint验证短信 OTP,并返回作为求职者会话使用的 token、refreshToken、userId、isFresher、isReturningUser 与 isSoftProfileCompleted。
认证方式: 未认证。响应中的 data.token 在后续调用中以 Authorization: Bearer <token> 发送;data.refreshToken 保存下来,供 POST /v1/seeker/token/rotate 使用。
- phone
- otp
- token
- refreshToken
- userId
- name
- gender
- isFresher
- isReturningUser
- isSoftProfileCompleted
- mLandingScreen
- currentSalary
- qualification
- highestQualificationId
- highestQualification
- vernacHighestQualification
- schoolMedium
- schoolSubject
- status
- code
- message
POST /v1/seeker/otp/confirm HTTP/1.1 Content-Type: application/json Accept: application/json { "phone": "9876543210", "otp": "482193" }{ "status": true, "code": 200, "message": "ok", "data": { "token": "<access-token>", "refreshToken": "<refresh-token>", "userId": 4412891, "name": "Priya Sharma", "gender": "female", "isFresher": false, "isReturningUser": true, "isSoftProfileCompleted": true, "mLandingScreen": "home", "currentSalary": 18000, "qualification": { "highestQualificationId": 4, "highestQualification": "12th Pass", "vernacHighestQualification": "12वीं पास", "schoolMedium": "Hindi", "schoolSubject": "Arts" } } }刷新认证令牌
POST
/v1/seeker/token/rotateosint用保存的 refreshToken 配对(token、refreshToken)轮换求职者的 Bearer 令牌。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。轮换 token 与 refreshToken。
- token
- refreshToken
- status
- code
- message
- data
POST /v1/seeker/token/rotate HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "token": "<new-access-token>", "refreshToken": "<new-refresh-token>" } }职位信息流
POST
/v1/openings/neighbourhood-feedopendata返回首页 Jobs 标签页使用的分页城市/街区职位信息流:jobTitle、minSalary/maxSalary、isWfh、callAllowed、company 与 recruiter。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- job_type
- page
- size
- keyword
- category
- city
- locality
- topMatchJobsOnly
- has_reset_filters
- source
- page_url
- filter
- title_filters
- distance_filters
- contextual_filters
- bus_metro_filters
- passed_filters
- jobCount
- starMatchJobCount
- srpTitle
- isTopMatch
- showCallApplyUpfront
- totalVideoJdCount
- jobs
- id
- jobTitle
- jobType
- salary
- minSalary
- maxSalary
- salaryIncentiveText
- incentives
- incentivesValue
- expText
- noOfOpenings
- postedOn
- jobAddress
- distance
- isWfh
- isPartTime
- isFullTime
- isContract
- walkin
- isVerified
- isNew
- highDemand
- applied
- application_status
- callAllowed
- showApplyButton
- hasVideoJD
- videoUrl
- company
- recruiter
- jobShift
- roleCategory
- categoryId
- applications
- filters
- titleFilters
- localityFilters
- distanceFilters
- sortOptions
POST /v1/openings/neighbourhood-feed HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "job_type": "recommended", "page": 1, "size": 20, "keyword": "delivery", "category": 42, "city": "Bengaluru", "locality": "Whitefield", "topMatchJobsOnly": false, "has_reset_filters": false, "source": "home", "page_url": "/jobs", "filter": [], "title_filters": [], "distance_filters": [], "contextual_filters": [], "bus_metro_filters": [], "passed_filters": {} }{ "status": true, "code": 200, "message": "ok", "data": { "jobCount": 1284, "starMatchJobCount": 36, "srpTitle": "Jobs in Whitefield, Bengaluru", "isTopMatch": false, "showCallApplyUpfront": true, "totalVideoJdCount": 18, "companyLogoVariant": true, "jobs": [{ "id": "JH-86750", "jobTitle": "Delivery Executive", "jobType": "full_time", "jobTypeSrp": "Full Time", "salary": "₹15,000 - ₹22,000", "minSalary": 15000, "maxSalary": 22000, "salaryIncentiveText": "Incentives extra", "incentives": true, "incentivesValue": 3000, "expText": "0-1 yrs", "noOfOpenings": "12", "openings": "12", "postedOn": "2 days ago", "locality": "Whitefield", "jobAddress": "ITPL Main Road, Whitefield, Bengaluru", "shortJobAddress": "Whitefield, Bengaluru", "distance": "3.2 km", "isWfh": false, "isPartTime": false, "isFullTime": true, "isContract": false, "walkin": false, "isVerified": true, "isNew": true, "highDemand": true, "applied": false, "application_status": null, "callAllowed": true, "showApplyButton": true, "hasVideoJD": true, "videoUrl": "https://cdn.example.com/jd/86750.mp4", "videoThumbnailUrl": "https://cdn.example.com/jd/86750.jpg", "company": {"id": "comp-4412", "name": "Example Logistics"}, "recruiter": {"id": "hr-882", "name": "Asha K"}, "jobShift": "Day", "roleCategory": "Delivery", "categoryId": 42, "applications": 86 }], "filters": [], "titleFilters": [], "localityFilters": [], "distanceFilters": [], "sortOptions": [] } }职位详情
GET
/v1/openings/{openingId}/vacancy-cardopendata加载单个职位:职位详情页使用的 jobDescription、interviewAddress、jobHighlights(education/skills/timings)、recruiter 与 callAllowed。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- id
- jobTitle
- jobDescription
- enhancedJobDescription
- requirements
- salary
- salaryHtml
- minSalary
- maxSalary
- jobShift
- jobAddress
- interviewAddress
- interviewAddressLat
- interviewAddressLng
- interviewMessage
- locality
- isWfh
- isVerified
- walkin
- screeningEnabled
- showQuestionnaire
- callAllowed
- showApplyButton
- applied
- application_status
- applicationStatusMessage
- depositDetail
- noOfOpenings
- applications
- shareMessage
- company
- recruiter
- jobHighlights
- education
- gender
- skills
- timings
- companyPerks
- asset
- jobSkills
- hasVideoJD
- videoUrl
- videoJDThumbnail
GET /v1/openings/JH-86750/vacancy-card HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "id": "JH-86750", "jobTitle": "Delivery Executive", "jobDescription": "Deliver packages across Whitefield. Two-wheeler required.", "enhancedJobDescription": "Route-based delivery with daily incentives.", "requirements": "Own two-wheeler, Android phone, 10th pass", "salary": "₹15,000 - ₹22,000", "salaryHtml": "<b>₹15,000 - ₹22,000</b>", "minSalary": 15000, "maxSalary": 22000, "jobShift": "Day 9am-6pm", "jobAddress": "ITPL Main Road, Whitefield, Bengaluru", "interviewAddress": "Gate 2, ITPL, Whitefield", "interviewAddressLat": "12.9698", "interviewAddressLng": "77.7499", "interviewMessage": "Walk in Mon-Sat 10am-4pm", "locality": "Whitefield", "isWfh": false, "isVerified": true, "walkin": true, "screeningEnabled": true, "showQuestionnaire": true, "callAllowed": true, "showApplyButton": true, "applied": false, "application_status": null, "applicationStatusMessage": null, "depositDetail": null, "noOfOpenings": "12", "applications": 86, "shareMessage": "Delivery Executive in Whitefield — apply on Job Hai", "company": {"id": "comp-4412", "name": "Example Logistics"}, "recruiter": {"id": "hr-882", "name": "Asha K"}, "jobHighlights": { "education": {"label": "10th Pass", "isSelected": true}, "gender": {"label": "Any", "isSelected": true}, "skills": {"label": "Driving", "isSelected": true}, "timings": {"label": "Day shift", "isSelected": true}, "companyPerks": {"label": "PF", "isSelected": true}, "asset": {"label": "Two-wheeler", "isSelected": true} }, "jobSkills": [{"label": "Driving"}], "hasVideoJD": true, "videoUrl": "https://cdn.example.com/jd/86750.mp4", "videoJDThumbnail": "https://cdn.example.com/jd/86750.jpg" } }投递职位
POST
/v1/openings/tap-applyopendata让已登录的求职者投递某个职位,并返回投递后 Call HR 面板使用的 callAllowed、jobContact 与 requisitionId。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- jobId
- source
- callAllowed
- callAllowedMessage
- jobContact
- jobApplyCount
- requisitionId
- showFraudEducation
- showGuide
- showReferralBanner
- showLcsScreening
- isAudioUploadAllowed
- salary
- lcsUrl
- questions
- callFeedbackOptions
POST /v1/openings/tap-apply HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "jobId": "JH-86750", "source": "job_detail" }{ "status": true, "code": 200, "message": "applied", "data": { "callAllowed": true, "callAllowedMessage": "You can call the recruiter now", "jobContact": "+9198XXXXXX21", "jobApplyCount": 1, "requisitionId": "req-4412", "showFraudEducation": false, "showGuide": true, "showReferralBanner": false, "showLcsScreening": false, "isAudioUploadAllowed": false, "salary": true, "lcsUrl": null, "questions": [], "callFeedbackOptions": [] } }通话联系招聘方投递
POST
/v1/openings/hr-dialopendata通话投递:当 callAllowed 为 true 时解锁 jobContact,并返回通话后面板使用的 callFeedbackOptions。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- jobId
- source
- callAllowed
- callAllowedMessage
- jobContact
- jobApplyCount
- requisitionId
- showFraudEducation
- showGuide
- showLcsScreening
- isAudioUploadAllowed
- questions
- callFeedbackOptions
POST /v1/openings/hr-dial HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "jobId": "JH-86750", "source": "job_detail" }{ "status": true, "code": 200, "message": "ok", "data": { "callAllowed": true, "callAllowedMessage": "Connecting you to HR", "jobContact": "+9198XXXXXX21", "jobApplyCount": 1, "requisitionId": "req-4412", "showFraudEducation": true, "showGuide": true, "showLcsScreening": false, "isAudioUploadAllowed": true, "questions": [], "callFeedbackOptions": [{"id": "connected", "label": "Call connected"}] } }相似职位
POST
/v1/openings/nearby-matchesopendata在投递后返回相似职位,附带相似职位页使用的 count、moveToSimilarPage 以及 okCallCount/greatCallCount。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- job_id
- job_type
- page
- size
- city
- locality
- topMatchJobsOnly
- source
- filter
- title_filters
- distance_filters
- count
- showCallApplyUpfront
- moveToSimilarPage
- okCallCount
- greatCallCount
- jobs
- id
- jobTitle
- minSalary
- maxSalary
- isWfh
- callAllowed
- applied
- company
POST /v1/openings/nearby-matches HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "job_id": "JH-86750", "job_type": "similar", "page": 1, "size": 10, "city": "Bengaluru", "locality": "Whitefield", "topMatchJobsOnly": false, "source": "post_apply", "filter": [], "title_filters": [], "distance_filters": [], "contextual_filters": [], "bus_metro_filters": [] }{ "status": true, "code": 200, "message": "ok", "data": { "count": 8, "showCallApplyUpfront": true, "moveToSimilarPage": true, "okCallCount": 12, "greatCallCount": 4, "jobs": [{ "id": "JH-86761", "jobTitle": "Warehouse Associate", "minSalary": 14000, "maxSalary": 18000, "locality": "Mahadevapura", "isWfh": false, "callAllowed": true, "applied": false, "company": {"id": "comp-4490", "name": "Example Retail"} }] } }视频职位短片
POST
/v1/openings/video-reelsopendata分页返回视频职位介绍短片(hasVideoJD、videoUrl、videoThumbnailUrl、totalVideoJdCount),供视频搜索结果页使用。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- job_type
- page
- size
- city
- locality
- source
- totalCount
- totalVideoJdCount
- jobs
- id
- jobTitle
- hasVideoJD
- videoUrl
- videoThumbnailUrl
- videoJDThumbnail
- minSalary
- maxSalary
- isVideoSeen
- company
POST /v1/openings/video-reels HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "job_type": "video", "page": 1, "size": 10, "city": "Bengaluru", "locality": "Whitefield", "source": "video_srp" }{ "status": true, "code": 200, "message": "ok", "data": { "page": 1, "size": 10, "totalCount": 48, "totalVideoJdCount": 48, "jobs": [{ "id": "JH-87001", "jobTitle": "Retail Cashier", "hasVideoJD": true, "videoUrl": "https://cdn.example.com/jd/87001.mp4", "videoThumbnailUrl": "https://cdn.example.com/jd/87001.jpg", "videoJDThumbnail": "https://cdn.example.com/jd/87001.jpg", "minSalary": 16000, "maxSalary": 20000, "locality": "Indiranagar", "isVideoSeen": false, "company": {"id": "comp-120", "name": "Example Mart"} }] } }投递列表
POST
/v1/seeker/application-ledgeropendata列出求职者的投递记录,含 status、applicationType、canCall、cName/rName 以及 Responses 标签页使用的 notGoingReasons。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- page
- size
- title
- filter
- notGoingReasons
- jobs
- jobId
- cName
- rName
- addr
- distance
- salaryHTML
- status
- applicationType
- canCall
- isExpired
- isFatafatJob
- showSimilarJobs
- showSimilarJobsCta
- cta
- incentives
- incentivesValue
- salaryIncentiveText
- categoryTitle
- filterId
- feedbackGiven
POST /v1/seeker/application-ledger HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "page": 1, "size": 20 }{ "status": true, "code": 200, "message": "ok", "data": { "title": "My applications", "filter": [{"id": "applied", "label": "Applied"}], "notGoingReasons": [{"id": "far", "label": "Too far"}], "jobs": [{ "jobId": "JH-86750", "title": "Delivery Executive", "cName": "Example Logistics", "rName": "Asha K", "addr": "Whitefield, Bengaluru", "distance": "3.2 km", "salaryHTML": "₹15,000 - ₹22,000", "status": "applied", "applicationType": "call", "canCall": true, "isExpired": false, "isFatafatJob": false, "showSimilarJobs": true, "showSimilarJobsCta": true, "cta": "Call HR", "incentives": true, "incentivesValue": 3000, "salaryIncentiveText": "Incentives extra", "categoryTitle": "Delivery", "filterId": "applied", "feedbackGiven": false }] } }完整求职者资料
GET
/v1/seeker/full-cardosint返回已登录求职者的资料:phone、locality、qualification、workExp、skills、resume 与 profileCompletionPercentage。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- userId
- name
- firstName
- lastName
- phone
- altPhone
- verifiedEmail
- gender
- age
- isFresher
- currentSalary
- profilePhoto
- profileCompletionPercentage
- address
- otherCity
- isWhatsappEnabled
- isSMSEnabled
- hireMeterEligible
- showLearnTab
- isFatafatEligible
- skills
- locality
- localityId
- label
- cityId
- cityLabel
- stateLabel
- latitude
- longitude
- isCityLive
- vernacLabel
- qualification
- highestQualification
- highestQualificationId
- schoolMedium
- resume
- fileName
- workExp
- categoryId
- categoryLabel
- formattedExperience
- jobRoles
- languagesKnown
GET /v1/seeker/full-card HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "userId": 4412891, "name": "Priya Sharma", "firstName": "Priya", "lastName": "Sharma", "phone": "9876543210", "altPhone": "9123456780", "email": "[email protected]", "verifiedEmail": "[email protected]", "gender": "female", "age": 24, "isFresher": false, "currentSalary": 18000, "profilePhoto": "https://cdn.example.com/u/4412891.jpg", "profileCompletionPercentage": 82.0, "address": "Whitefield, Bengaluru", "otherCity": null, "isWhatsappEnabled": true, "isSMSEnabled": true, "hireMeterEligible": true, "showLearnTab": true, "isFatafatEligible": true, "skills": ["Driving", "Customer service"], "locality": { "localityId": "loc-whitefield", "label": "Whitefield", "cityId": "city-blr", "cityLabel": "Bengaluru", "stateLabel": "Karnataka", "latitude": 12.9698, "longitude": 77.7499, "isCityLive": true, "vernacLabel": "व्हाइटफील्ड", "vernacCityLabel": "बेंगलुरु" }, "qualification": { "highestQualificationId": 4, "highestQualification": "12th Pass", "vernacHighestQualification": "12वीं पास", "schoolMedium": "Hindi", "schoolSubject": "Arts" }, "resume": { "resume": "https://cdn.example.com/cv/4412891.pdf", "fileName": "priya-sharma.pdf" }, "workExp": [{ "categoryId": 42, "categoryLabel": "Delivery", "timeline": 12, "categoryExperience": 12, "formattedExperience": "1 yr", "isSelected": true }], "jobRoles": [{"id": 42, "title": "Delivery"}], "languagesKnown": [{"label": "Hindi"}, {"label": "English"}] } }生成 CV
GET
/v1/seeker/generated-cvosint根据资料中的简历生成(或获取)求职者 CV 的下载链接。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- url
- status
- code
- message
- data
GET /v1/seeker/generated-cv HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "url": "https://cdn.example.com/cv/4412891-generated.pdf" } }街区联想
POST
/v1/geo/locality-typeaheadopendata印度城市街区的联想搜索:返回位置选择器使用的 localityId、localityLabel、cityId 与 cityLabel。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- query
- limit
- filters
- cityIds
- totalCount
- queryTimeMs
- suggestions
- localityId
- localityLabel
- cityId
- cityLabel
POST /v1/geo/locality-typeahead HTTP/1.1 Authorization: Bearer <token> Content-Type: application/json Accept: application/json { "query": "Whitefield", "limit": 10, "filters": { "cityIds": ["city-blr"] } }{ "status": true, "code": 200, "message": "ok", "data": { "totalCount": 3, "queryTimeMs": 12, "suggestions": [{ "localityId": "loc-whitefield", "localityLabel": "Whitefield", "cityId": "city-blr", "cityLabel": "Bengaluru" }] } }首页职位板块
GET
/v1/home/section-mapopendata首页板块映射:附近、按类别、Fatafat、视频搜索结果与立即投递等板块,由 jobsAvailableInCity 控制是否显示。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- jobsAvailableInCity
- NEAR_BY_JOB_SECTION
- CATEGORY_WISE_SECTION
- JOBS_FOR_ALL_NEEDS_SECTION
- VIDEO_SRP_JOBS_SECTION
- APPLY_JOB_SECTION
- EASY_TO_REACH_SECTION
- FATAFAT_SECTION
- NEAR_BY_JOB_SECTION_CITIES
GET /v1/home/section-map HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": [{ "jobsAvailableInCity": true, "NEAR_BY_JOB_SECTION": {"title": "Jobs near you"}, "CATEGORY_WISE_SECTION": {"title": "Jobs by category"}, "JOBS_FOR_ALL_NEEDS_SECTION": {"title": "Jobs for all needs"}, "VIDEO_SRP_JOBS_SECTION": {"title": "Video jobs"}, "APPLY_JOB_SECTION": {"title": "Apply now"}, "EASY_TO_REACH_SECTION": {"title": "Easy to reach"}, "FATAFAT_SECTION": {"title": "Fatafat jobs"}, "NEAR_BY_JOB_SECTION_CITIES": {"title": "Nearby cities"} }] }Fatafat 职位分组
GET
/v1/openings/same-day-bucketopendata返回 Fatafat 快速录用分组:jsAction、recAction、isTopJob、bucketId 以及嵌套的职位卡片,供当日招聘职位栏使用。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- jobs
- jsAction
- recAction
- date
- jobId
- isTopJob
- bucketId
- job
- id
- jobTitle
- minSalary
- maxSalary
- locality
- isWfh
- callAllowed
- company
GET /v1/openings/same-day-bucket HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "jobs": [{ "jsAction": "apply", "recAction": "shortlist", "date": 1727827200000, "jobId": 86750, "isTopJob": true, "bucketId": "ff-blr-whitefield", "job": { "id": "JH-86750", "jobTitle": "Delivery Executive", "minSalary": 15000, "maxSalary": 22000, "locality": "Whitefield", "isWfh": false, "callAllowed": true, "company": {"id": "comp-4412", "name": "Example Logistics"} } }] } }HireMeter 任务
GET
/v1/seeker/hire-readinessopendata返回 HireMeter 就绪度:hireMeterPercentage(base/activity/profile/total),以及带 probabilityGain、currentProgress 与 isCompleted 的 hireMeterTasks。
认证方式: 使用来自 POST /v1/seeker/otp/confirm 的 Authorization: Bearer <token>。
- userId
- totalTasks
- hireMeterPercentage
- base
- activity
- profile
- total
- hireMeterTasks
- task
- taskType
- probabilityGain
- currentProgress
- totalRequired
- isCompleted
- source
GET /v1/seeker/hire-readiness HTTP/1.1 Authorization: Bearer <token> Accept: application/json{ "status": true, "code": 200, "message": "ok", "data": { "userId": 4412891, "totalTasks": 6, "hireMeterPercentage": { "base": 40.0, "activity": 18.0, "profile": 22.5, "total": 80.5 }, "hireMeterTasks": [{ "task": "Add work experience", "taskType": "profile", "probabilityGain": 8.0, "currentProgress": 1.0, "totalRequired": 1.0, "isCompleted": true, "source": "profile" }, { "task": "Apply to 5 jobs", "taskType": "activity", "probabilityGain": 12.0, "currentProgress": 2.0, "totalRequired": 5.0, "isCompleted": false, "source": "home" }] } }
数据类别
- 职位
- 投递
- 求职者资料
- 简历
- 街区
- Fatafat 快速录用职位
- 求职就绪度
数据使用场景与案例
超本地化职位普查
劳动力市场看板可以分页读取城市/街区职位信息流,保存 jobTitle、minSalary、maxSalary、isWfh、locality、company.name 与 callAllowed,形成覆盖印度各街区的 JobHai 实时职位目录。
投递流程对账
ATS 机器人可以对某个职位执行投递或通话投递,再读取投递列表,把 jobId、status、applicationType、canCall、cName、rName 与 jobContact 对应到面试阶段看板上。
候选人 CRM 补全
HRIS 工具可以在 OTP 登录后拉取已登录用户的资料,把 userId、phone、locality.label、highestQualification、currentSalary、profileCompletionPercentage、workExp.categoryLabel 与 resume.fileName 附加到已有的候选人记录上。
街区级位置图谱
地理索引可以调用街区联想接口,并把 localityId、localityLabel、cityId、cityLabel 与职位信息流的城市/街区筛选条件关联起来,维护一张街区粒度的招聘地图。
快速录用与就绪度评分
人力外包团队可以读取 Fatafat 分组(jsAction、isTopJob、bucketId)作为当日招聘职位,再叠加 HireMeter 的 hireMeterPercentage 与各任务的 probabilityGain,为优先推进哪些候选人排序。
常见问题
Job Hai 如何认证求职者?
先发送手机号 OTP,再进行验证。验证调用返回 token、refreshToken、userId、isFresher、isReturningUser 与 isSoftProfileCompleted。之后的调用都发送 Authorization: Bearer <token>。Truecaller 是另一种登录方式,另有一个 token 轮换调用用来刷新这一对令牌。
Job Hai 职位卡片上有哪些字段?
信息流返回 jobCount 与 jobs[],其中含 id、jobTitle、minSalary、maxSalary、isWfh、isPartTime、isFullTime、isContract、walkin、locality、distance、callAllowed、showApplyButton、company.id/name 以及 recruiter.id/name。职位详情还会加上 jobDescription、interviewAddress、jobHighlights 与 videoUrl。
Call HR / 投递在数据里如何体现?
投递与通话投递会返回 callAllowed、jobContact、requisitionId 与 callFeedbackOptions。投递列表随后给出 jobId、status、applicationType、canCall、cName、rName 与 showSimilarJobs。
CRM 能拉取哪些资料字段?
完整资料记录包含 userId、phone、altPhone、locality(localityId、label、cityLabel、latitude、longitude)、qualification.highestQualification、currentSalary、workExp、skills、languagesKnown、resume.fileName 与 profileCompletionPercentage。另有一个单独的调用返回生成 CV 的 url。
Fatafat 职位与 HireMeter 分数有什么区别?
Fatafat 分组返回 FFJob 行组成的 jobs[],带有 jsAction、recAction、isTopJob、bucketId、date 以及嵌套的职位卡片。HireMeter 返回 userId、hireMeterPercentage(base、activity、profile、total)、totalTasks 与 hireMeterTasks,其中含 task、taskType、probabilityGain、currentProgress、totalRequired 与 isCompleted。
与 Job Hai - Search Job, Vacancy 相似的应用
- apna - Search Job, Vacancy App — apna 是面向印度蓝领、入门岗和二三线城市招聘的手机优先求职应用,提供筛选、提醒和聊天式投递。
- WorkIndia — WorkIndia 是面向配送、零售、销售、司机和后台岗位的免费印度求职应用,求职者可直接投递并致电 HR。
- Naukri: Job Search App — Naukri 是 Info Edge 面向印度白领与 IT 招聘的职位板,支持按资料搜索、订阅提醒并联系招聘方。
- Shine.com Job Search App — Shine.com 是 HT Media 的印度招聘门户,覆盖应届和中层职位,可按城市筛选并由招聘方发布职位。
- Indeed Job Search — Indeed 把公司官网和其他招聘板上的印度职位汇总到同一搜索里,并提供 Easy Apply 与已保存简历。
- foundit — foundit(原 Monster India)面向印度及其他亚太、中东市场的应届与有经验岗位,提供求职搜索与投递。
- LinkedIn: Community & Network — LinkedIn 职位在印度主要用于职业社交、内推和公司白领岗位,而不是超本地的一线招聘。
- Internshala — Internshala 是面向实习和应届岗位的印度求职应用,带筛选、面向 ATS 的简历工具,以及居家办公与到岗职位。
相关主题
- job hai 职位 api
- jobhai
- infoedge
- 印度招聘
- jobTitle
- minSalary
- isWfh
- callAllowed
- jobContact
- profileCompletionPercentage
- jsAction
- hireMeterPercentage
- probabilityGain
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业