Randstad App - Buscar trabajo 图标

Randstad 数据 API:职位、工资单与工时表

Randstad España S.L.U. · 招聘求职

Randstad App - Buscar trabajo 是荷兰人力资源集团 Randstad 在西班牙的运营公司 Randstad España S.L.U. 的官方 Android 应用。求职者可在西班牙各地搜索职位、保存职位提醒,并用保存在应用内的简历投递——简历包含个人信息、工作经历、学历、语言、驾照、NIF 照片及其他文件——随后跟进顾问发来的职位邀约(job calls)与进行中的招聘流程。入职之后,员工可以查看工资单(nóminas)与 IRPF 证明,填写含工时与缺勤的每日工时表(boletines),查询假期余额,并在 PlanDay 中查看已分配与开放的班次。培训同样放在这份个人资料里,包括 Quick Learning 学习路径和 Fundación Randstad 课程。它服务于西班牙的临时与长期岗位候选人,与 InfoJobs、Job&Talent、Adecco 和 Indeed 属于同一类,而不是泛全球的通用招聘平台。

派遣用工的工资单带有 payRollDate、nif、clientName 与可下载的 code,职位卡片则携带 offerId、salaryfrom、salaryto 与 isUserSubscribed。在岗员工还会补充按 kbTimesheetId、begHour 与 endHour 记录每日工时的工时表(boletines),PlanDay 已分配班次则列出 shiftId、startDateTime、departmentName 与 location。职位邀约卡片增加 jobName、consultantEmail 与 orderLineId;合同记录保存 nationalInsuranceNumber 与 IBAN 各部分(iban、bankId、accountnumber)。已保存的提醒保留 alertId、search 与 salaryMin;员工文件列出 docTypeId 与 shortName。

ATS 开发者把职位信息流并入西班牙招聘流程;薪酬运营团队把 nómina 行与已确认的工时表对账;人力管理工具同步 PlanDay 排班。openData Studio 把这些字段变成可调用的开放数据。

应用截图

  • Randstad App - Buscar trabajo 应用截图 1
  • Randstad App - Buscar trabajo 应用截图 2
  • Randstad App - Buscar trabajo 应用截图 3
  • Randstad App - Buscar trabajo 应用截图 4
  • Randstad App - Buscar trabajo 应用截图 5
  • Randstad App - Buscar trabajo 应用截图 6
  • Randstad App - Buscar trabajo 应用截图 7
  • Randstad App - Buscar trabajo 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 候选人账号登录

    POST /v1/session/candidate-login osint

    用 email、pass、con 与 timestamp 认证候选人,返回后续 myprofile 调用所用的 accessToken、refreshToken、candidateId、accountId 与 jwt。

    认证方式: 未认证,请求体为邮箱/密码。响应中的 accessToken 作为后续候选人调用的 Bearer。

    • email
    • pass
    • con
    • timestamp
    • accessToken
    • tokenType
    • refreshToken
    • candidateId
    • accountId
    • name
    • expiresIn
    • jwt
    • privacyPolicyDate
    POST /v1/session/candidate-login HTTP/1.1
    Content-Type: application/json
    ApplicationName: AppCandidate
    device_info_app: 5.10.4
    
    {
      "email": "[email protected]",
      "pass": "******",
      "con": "es",
      "timestamp": 1728048000
    }
    {
      "accessToken": "<access-token>",
      "tokenType": "Bearer",
      "refreshToken": "<refresh-token>",
      "candidateId": 8845123,
      "accountId": 552190,
      "email": "[email protected]",
      "name": "Ana García",
      "expiresIn": 3600,
      "jwt": "<jwt>",
      "privacyPolicyDate": "2026-03-01T00:00:00"
    }
  • 搜索职位

    GET /v1/vacancies opendata

    分页返回 OfferSearchDto 职位卡片(offerId、title、company、薪资区间、city/province、订阅标志),供搜索结果界面使用。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • pagination
    • page
    • totalCount
    • isHasNext
    • result
    • offerId
    • title
    • company
    • date
    • minSalary
    • maxSalary
    • salaryTypeName
    • city
    • province
    • numSubscribers
    • isUserSubscribed
    • isUserFavorite
    • isNewOffer
    GET /v1/vacancies?page=1 HTTP/1.1
    Authorization: Bearer <access-token>
    ApplicationName: AppCandidate
    device_info_app: 5.10.4
    {
      "pagination": {
        "page": 1,
        "elements": 20,
        "totalCount": 1284,
        "pageCount": 20,
        "totalPages": 65,
        "isHasNext": true,
        "isHasPrev": false
      },
      "result": [
        {
          "offerId": 901234,
          "title": "Operario de almacén",
          "company": "Logística Norte S.A.",
          "date": "2026-09-20T10:15:00",
          "description": "Picking and packing on two shifts.",
          "isUserSubscribed": false,
          "isUserFavorite": false,
          "minSalary": 18500.0,
          "maxSalary": 21000.0,
          "salaryTypeId": 1,
          "salaryTypeName": "Bruto/año",
          "city": {"id": 28079, "name": "Madrid"},
          "province": {"id": 28, "name": "Madrid"},
          "numSubscribers": 42,
          "experienceYears": 1,
          "isNewOffer": true
        }
      ]
    }
  • 获取职位详情

    GET /v1/vacancies/{offerId} opendata

    返回职位界面使用的完整 OfferDetailDto:salaryfrom/salaryto、requirements、日期、订阅标志与 workModality。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • offerId
    • title
    • description
    • introduction
    • companydept
    • requirements
    • conditions
    • statusId
    • begDate
    • endDate
    • jobNumber
    • salaryfrom
    • salaryto
    • yearsExperience
    • views
    • inscribed
    • hasScreeningQuestions
    • isIsUserFavorite
    • isIsUserSubscribed
    • company
    • city
    • workModality
    • journalType
    GET /v1/vacancies/901234 HTTP/1.1
    Authorization: Bearer <access-token>
    ApplicationName: AppCandidate
    {
      "offerId": 901234,
      "title": "Operario de almacén",
      "description": "Picking and packing on two shifts.",
      "introduction": "Join the inbound team in Coslada.",
      "companydept": "Logística",
      "requirements": "Carretilla elevadora preferred.",
      "conditions": "Contrato temporal, jornada completa.",
      "statusId": "PUB",
      "begDate": "2026-10-01",
      "endDate": "2026-12-31",
      "jobNumber": 3,
      "salaryfrom": 18500.0,
      "salaryto": 21000.0,
      "yearsExperience": 1,
      "views": 318,
      "inscribed": 42,
      "hasScreeningQuestions": true,
      "isIsUserFavorite": false,
      "isIsUserSubscribed": false,
      "company": {"id": 4401, "name": "Logística Norte S.A."},
      "city": {"id": 28079, "name": "Madrid"},
      "province": {"id": 28, "name": "Madrid"},
      "workModality": {"id": 1, "name": "Presencial"},
      "journalType": {"id": 1, "name": "Completa"}
    }
  • 投递职位

    POST /v1/vacancies/{offerId}/subscribe opendata

    把 OfferSubscriptionDto.workerId 提交到该职位,使候选人完成报名(subscribeOffer / 投递路径)。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • workerId
    • offerId
    POST /v1/vacancies/901234/subscribe HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "workerId": 8845123
    }
    {
      "status": 204
    }
  • 我的投递列表

    GET /v1/candidates/{candidateId}/applications opendata

    分页返回 MyOffersDto 投递记录,含 registrationStatusId、cvRead、titleOffer 以及候选人投递时对应的薪资区间。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • pagination
    • result
    • candidateId
    • webOfferId
    • registrationStatusId
    • registrationDate
    • cvRead
    • titleOffer
    • offerStatusId
    • isUserSubscribed
    • minSalary
    • maxSalary
    • salarayTypeName
    GET /v1/candidates/8845123/applications?page=1 HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "pagination": {
        "page": 1,
        "elements": 10,
        "totalCount": 4,
        "totalPages": 1,
        "isHasNext": false,
        "isHasPrev": false
      },
      "result": [
        {
          "candidateId": 8845123,
          "webAccountId": 552190,
          "webOfferId": 901234,
          "registrationStatusId": 2,
          "registrationDate": "2026-09-21T09:00:00",
          "cvRead": 1,
          "titleOffer": "Operario de almacén",
          "offerPublicationDateNoFormat": "2026-09-20T10:15:00",
          "offerStatusId": "PUB",
          "isUserSubscribed": true,
          "isUserFavorite": false,
          "minSalary": 18500.0,
          "maxSalary": 21000.0,
          "salaryTypeId": 1,
          "salarayTypeName": "Bruto/año"
        }
      ]
    }
  • 读取候选人基础资料

    GET /v1/candidates/{candidateId}/profile osint

    为资料首页加载 CandidateBaseDto 中的身份信息、NIF、社保号(Seguridad Social)、IBAN 各部分与员工状态。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • candidateid
    • name
    • surname1
    • surname2
    • email
    • nif
    • nationalInsuranceNumber
    • birthday
    • mobilePhone
    • iban
    • bankid
    • accountnumber
    • workerStateId
    • workerStatusId
    • addressStreet
    • addressCity
    • zipcode
    • pictureUrl
    • curriculumVitaeUrl
    • cvCount
    • profileSummary
    • jobtype
    GET /v1/candidates/8845123/profile HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "candidateid": 8845123,
      "name": "Ana",
      "surname1": "García",
      "surname2": "López",
      "email": "[email protected]",
      "nif": "12345678Z",
      "nationalInsuranceNumber": "281234567890",
      "birthday": "1992-04-12",
      "mobilePhone": "612345678",
      "mobilePrefix": "+34",
      "iban": "ES7620770024003102575766",
      "bankid": "2077",
      "sucursalid": "0024",
      "accountnumber": "3102575766",
      "workerStateId": "ACT",
      "workerStatusId": "DISP",
      "addressStreet": "Calle Mayor",
      "addressCity": "Madrid",
      "addressProvince": "Madrid",
      "zipcode": "28013",
      "pictureUrl": "https://cdn.example.com/p.jpg",
      "curriculumVitaeUrl": "https://cdn.example.com/cv.pdf",
      "cvCount": 2,
      "hasVideo": false,
      "profileSummary": "Warehouse operator, 4 years.",
      "jobtype": "STAF"
    }
  • 已保存职位提醒列表

    GET /v1/candidates/watches opendata

    返回已保存的 AlertDto / SearchHistoryDto 关注项(alertId、search、salaryMin/salaryMax、periocityId、offersCount),供提醒向导使用。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • alertId
    • name
    • periocityId
    • creationDate
    • lastSearchDate
    • search
    • jobType
    • provinceId
    • cityId
    • salaryMin
    • salaryMax
    • salaryTypeId
    • offersCount
    • workModalityId
    • isMagnet
    GET /v1/candidates/watches HTTP/1.1
    Authorization: Bearer <access-token>
    ApplicationName: AppCandidate
    [
      {
        "alertId": 44120,
        "name": "Almacén Madrid",
        "periocityId": 1,
        "creationDate": "2026-08-12T09:00:00",
        "lastSearchDate": "2026-10-04T07:15:00",
        "search": "operario almacén",
        "jobType": "STAF",
        "provinceId": "28",
        "cityId": "28079",
        "salaryMin": 18000,
        "salaryMax": 22000,
        "salaryTypeId": 1,
        "offersCount": 18,
        "workModalityId": 1,
        "isMagnet": false
      }
    ]
  • 工资单列表

    GET /v1/candidates/{candidateId}/payslips openfinance

    分页返回 PayrollPagedDto 工资单(nómina)行(payRollDate、nif、clientName、code),供员工工资单界面使用。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • pagination
    • result
    • startDate
    • endDate
    • clientName
    • payRollDate
    • incidence
    • generatedDate
    • nif
    • affiliationTypeId
    • code
    GET /v1/candidates/8845123/payslips HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "pagination": {
        "page": 1,
        "elements": 12,
        "totalCount": 12,
        "totalPages": 1,
        "isHasNext": false,
        "isHasPrev": false
      },
      "result": [
        {
          "startDate": "2026-09-01T00:00:00",
          "endDate": "2026-09-30T00:00:00",
          "clientName": "Logística Norte S.A.",
          "payRollDate": "2026-09-30T00:00:00",
          "incidence": false,
          "generatedDate": "2026-10-02T08:00:00",
          "nif": "12345678Z",
          "affiliationTypeId": 1,
          "code": "NOM-2026-09-8845123"
        }
      ]
    }
  • 下载工资单文件

    GET /v1/candidates/{candidateId}/payslips/{payrollCode} openfinance

    通过 getPayrollFile 按 PayrollDto.code 下载工资单(nómina)PDF。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • payrollCode
    • contentType
    • filename
    GET /v1/candidates/8845123/payslips/NOM-2026-09-8845123 HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/pdf
    {
      "contentType": "application/pdf",
      "payrollCode": "NOM-2026-09-8845123",
      "filename": "nomina-2026-09.pdf"
    }
  • IRPF 证明列表

    GET /v1/candidates/{candidateId}/tax-certs openfinance

    列出 IRPF 界面展示的 IrpfCertificateDto / IrpfResultDto 税务证明(id、generatedDate、nif、model)。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • pagination
    • result
    • id
    • generatedDate
    • nif
    • model
    GET /v1/candidates/8845123/tax-certs HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "pagination": {
        "page": 1,
        "elements": 2,
        "totalCount": 2,
        "totalPages": 1,
        "isHasNext": false,
        "isHasPrev": false
      },
      "result": [
        {
          "id": 2025.0,
          "generatedDate": "2026-01-20T00:00:00",
          "nif": "12345678Z",
          "model": 145
        }
      ]
    }
  • 员工文件列表

    GET /v1/candidates/{candidateId}/files osint

    分页返回 DocumentsPagedDto / DocumentDto 行(docTypeId、shortName、contractId、url),对应 NIF 照片及其他员工文件。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • pagination
    • result
    • begDate
    • endDate
    • docTypeId
    • contractId
    • archiveTypeId
    • shortName
    • templateId
    • barcodeId
    • url
    GET /v1/candidates/8845123/files HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "pagination": {
        "page": 1,
        "elements": 8,
        "totalCount": 8,
        "totalPages": 1,
        "isHasNext": false,
        "isHasPrev": false
      },
      "result": [
        {
          "begDate": "2026-09-01",
          "endDate": "2026-12-31",
          "docTypeId": "NIF",
          "contractId": 33120,
          "archiveTypeId": "ID",
          "shortName": "DNI anverso",
          "templateId": 12,
          "barcodeId": 0,
          "url": "https://cdn.example.com/nif-front.jpg"
        }
      ]
    }
  • 月度工时表列表

    GET /v1/workers/{workerId}/hoursheets opendata

    返回 NewsletterResultDto 月度工时表(boletines)(kbTimesheetId、statusId、每日 begHour/endHour),供工时表日历使用。

    认证方式: Authorization: bearer {newsLetterAccessToken},在候选人会话建立后签发。

    • totalRows
    • results
    • begDate
    • endDate
    • kbTimesheetId
    • timesheetId
    • timesheetTypeId
    • statusId
    • processType
    • proposeHours
    • costCenterDescription01
    • partesDetallesDiarios
    • dateline
    • begHour
    • endHour
    • breakHour
    • isHolidayChk
    • isAbsenceChk
    GET /v1/workers/8845123/hoursheets?year=2026&month=9 HTTP/1.1
    Authorization: bearer <newsletter-token>
    {
      "totalRows": 1,
      "results": [
        {
          "begDate": "2026-09-01",
          "endDate": "2026-09-30",
          "kbTimesheetId": 778001,
          "timesheetId": 778001,
          "timesheetTypeId": "STD",
          "statusId": 2,
          "processType": "MONTH",
          "proposeHours": "160",
          "costCenterDescription01": "Almacén Coslada",
          "partesDetallesDiarios": [
            {
              "dateline": "2026-09-15",
              "begHour": "0800",
              "endHour": "1600",
              "breakHour": "0030",
              "isHolidayChk": false,
              "isAbsenceChk": false,
              "comments": ""
            }
          ]
        }
      ]
    }
  • 确认工时表状态

    PUT /v1/workers/{workerId}/hoursheets/{timesheetId}/state/{statusId} opendata

    员工确认当月工时后,设置 Killbol 工时表的 statusId(confirmMonthHours / 状态路径)。

    认证方式: Authorization: bearer {newsLetterAccessToken},在候选人会话建立后签发。

    • workerId
    • timesheetId
    • statusId
    PUT /v1/workers/8845123/hoursheets/778001/state/3 HTTP/1.1
    Authorization: bearer <newsletter-token>
    {
      "workerId": 8845123,
      "timesheetId": 778001,
      "statusId": 3
    }
  • 合同公共假期列表

    GET /v1/contracts/{contractId}/public-holidays opendata

    返回 NewsletterHolidaysDto 公共假期行(holidaysDate、holidaysDesc、autonomy),供员工合同日历使用。

    认证方式: Authorization: bearer {newsLetterAccessToken},在候选人会话建立后签发。

    • holidaysDate
    • holidaysDesc
    • autonomy
    GET /v1/contracts/33120/public-holidays HTTP/1.1
    Authorization: bearer <newsletter-token>
    [
      {
        "holidaysDate": "2026-10-12",
        "holidaysDesc": "Fiesta Nacional de España",
        "autonomy": "Nacional"
      },
      {
        "holidaysDate": "2026-11-09",
        "holidaysDesc": "Almudena",
        "autonomy": "Madrid"
      }
    ]
  • PlanDay 已分配班次列表

    GET /v1/roster/{userId}/shifts/mine opendata

    列出 ShiftDto 已分配班次(shiftId、startDateTime、departmentName、location、position、status),供 PlanDay 日历使用。

    认证方式: PlanDay 的 client_id 与 client_secret 请求头,加上取自候选人会话 JWT 的 authToken。

    • shiftId
    • departmentName
    • clientName
    • employeeGroupName
    • startDateTime
    • endDateTime
    • location
    • position
    • status
    • openType
    • sectionName
    • multiShiftId
    • comment
    GET /v1/roster/8845123/shifts/mine?from=2026-10-01&to=2026-10-31 HTTP/1.1
    client_id: <planday-client-id>
    authToken: <jwt>
    [
      {
        "shiftId": 55001,
        "departmentName": "Inbound",
        "clientName": "Logística Norte S.A.",
        "employeeGroupName": "Almacén",
        "startDateTime": "2026-10-06T08:00:00",
        "endDateTime": "2026-10-06T16:00:00",
        "location": "Coslada",
        "position": "Operario",
        "status": "ASSIGNED",
        "openType": null,
        "sectionName": "Picking",
        "multiShiftId": 0,
        "comment": ""
      }
    ]
  • PlanDay 开放班次列表

    GET /v1/roster/{userId}/shifts/available opendata

    列出 ShiftDto 开放班次(shiftId、openType、startDateTime、location、position),员工可在 PlanDay 中响应。

    认证方式: PlanDay 的 client_id 与 client_secret 请求头,加上取自候选人会话 JWT 的 authToken。

    • shiftId
    • departmentName
    • clientName
    • employeeGroupName
    • startDateTime
    • endDateTime
    • location
    • position
    • status
    • openType
    • sectionName
    • multiShiftId
    • comment
    GET /v1/roster/8845123/shifts/available?from=2026-10-01&to=2026-10-31 HTTP/1.1
    client_id: <planday-client-id>
    authToken: <jwt>
    [
      {
        "shiftId": 55088,
        "departmentName": "Outbound",
        "clientName": "Logística Norte S.A.",
        "employeeGroupName": "Almacén",
        "startDateTime": "2026-10-08T16:00:00",
        "endDateTime": "2026-10-09T00:00:00",
        "location": "Coslada",
        "position": "Operario",
        "status": "OPEN",
        "openType": "VOLUNTARY",
        "sectionName": "Packing",
        "multiShiftId": 0,
        "comment": "Extra night cover"
      }
    ]
  • PlanDay 可用时段列表

    GET /v1/roster/{userId}/windows opendata

    返回员工在 PlanDay 中标记的 AvailabilityDto 时段(availabilityType、startDateTime、endDateTime)。

    认证方式: PlanDay 的 client_id 与 client_secret 请求头,加上取自候选人会话 JWT 的 authToken。

    • availabilityType
    • startDateTime
    • endDateTime
    • portalParams
    GET /v1/roster/8845123/windows?from=2026-10-01&to=2026-10-31 HTTP/1.1
    client_id: <planday-client-id>
    authToken: <jwt>
    [
      {
        "availabilityType": "AVAILABLE",
        "startDateTime": "2026-10-06T08:00:00",
        "endDateTime": "2026-10-06T16:00:00",
        "portalParams": []
      }
    ]
  • 顾问职位邀约列表

    GET /v1/candidates/{candidateId}/job-calls opendata

    列出员工可接受或拒绝的 JobCallDetailDto 顾问邀约(jobName、state、salary、schedule、orderLineId)。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • id
    • state
    • jobName
    • companyId
    • companyName
    • clientName
    • startDate
    • endDate
    • expirationDate
    • salary
    • address
    • schedule
    • consultantEmail
    • mobilePhone
    • orderLineId
    • workerType
    GET /v1/candidates/8845123/job-calls HTTP/1.1
    Authorization: Bearer <access-token>
    [
      {
        "id": 12044,
        "state": "PENDING",
        "jobName": "Operario de almacén",
        "companyId": 4401,
        "companyName": "Randstad España",
        "clientName": "Logística Norte S.A.",
        "startDate": "2026-10-06T08:00:00",
        "endDate": "2026-12-31T18:00:00",
        "expirationDate": "2026-10-05T18:00:00",
        "salary": "1.450 €/mes",
        "address": "Coslada, Madrid",
        "schedule": "08:00-16:00",
        "consultantEmail": "[email protected]",
        "mobilePhone": "612000111",
        "orderLineId": 99021,
        "workerType": "TEMP"
      }
    ]
  • 读取合同与银行信息

    GET /v1/candidates/{candidateId}/contract-bank openfinance

    返回合同数据界面使用的 ContractInfoDto / bankAccountNumber(iban、bankId、accountNumber)与 nationalInsuranceNumber。

    认证方式: 来自 POST /v1/session/candidate-login 的 Bearer accessToken(tokenType 为 Bearer),同时发送 ApplicationName=AppCandidate 与 device_info_app=5.10.4。

    • name
    • surname1
    • surname2
    • sexid
    • nationalInsuranceNumber
    • address
    • bankAccountNumber
    • iban
    • bankId
    • sucursalId
    • accountNumber
    • controlDigit
    GET /v1/candidates/8845123/contract-bank HTTP/1.1
    Authorization: Bearer <access-token>
    {
      "name": "Ana",
      "surname1": "García",
      "surname2": "López",
      "sexid": "F",
      "nationalInsuranceNumber": "281234567890",
      "address": {
        "street": "Calle Mayor",
        "city": "Madrid",
        "zipcode": "28013"
      },
      "bankAccountNumber": {
        "iban": "ES7620770024003102575766",
        "bankId": "2077",
        "sucursalId": "0024",
        "accountNumber": "3102575766",
        "controlDigit": "31"
      }
    }

数据类别

  • 职位
  • 投递
  • 职位提醒
  • 候选人资料
  • 工资单
  • 税务证明
  • 员工文件
  • 工时表
  • 假期
  • 班次
  • 职位邀约
  • 合同

数据使用场景与案例

  • 西班牙 ATS 职位导入

    招聘流程拉取 Randstad 职位卡片(offerId、title、company、salaryfrom/salaryto、city、province、isUserSubscribed),再用 requirements、workModality 与 hasScreeningQuestions 补全职位详情页,然后用 workerId 提交投递。

  • 工资单与工时对账

    薪酬运营团队把工资单行(code、payRollDate、nif、clientName、startDate、endDate)与已确认的工时表(kbTimesheetId、timesheetId、begHour、endHour、statusId)关联,使 Killbol 中已签认的工时与按 payrollCode 下载的 nómina PDF 一致。

  • WFM 中的 PlanDay 班次日历

    人力管理工具把已分配与开放班次(shiftId、startDateTime、endDateTime、departmentName、location、position、status、openType)及员工可用时段(availabilityType、startDateTime、endDateTime)同步到现场排班表。

  • 在岗员工身份核验(薪酬 KYC)

    入职核验读取 candidateid、nif、nationalInsuranceNumber、iban/bankId/accountnumber 与 contractInfo,确保投递职位的员工与工资单上收款的是同一人。

常见问题

Randstad App 的职位搜索返回哪些字段?

每个 OfferDto 含 offerId、title、company、minSalary、maxSalary、salaryTypeName、city、province、numSubscribers、isUserSubscribed 与 isUserFavorite。详情调用另加 salaryfrom、salaryto、requirements、conditions、workModality、hasScreeningQuestions、begDate 与 endDate。

应用如何对后续调用鉴权?

邮箱/密码登录返回 accessToken、tokenType、refreshToken、candidateId 与 jwt。后续候选人调用发送 Authorization: Bearer,并带上 ApplicationName=AppCandidate 与 device_info_app。工时表(boletín)调用使用单独的 newsLetterAccessToken;PlanDay 排班调用发送 client_id、client_secret 以及取自会话 JWT 的 authToken。

除了招聘广告,还能读取工资单和已签认的工时吗?

可以。工资单列表分页返回 PayrollDto 行(payRollDate、nif、clientName、code),按 payrollCode 下载可得到 PDF。工时表返回 kbTimesheetId、begHour、endHour 与 statusId,IRPF 证明则列出 id、generatedDate、nif 与 model。

这是公开的开发者 API 吗?

不是。这些是已登录候选人应用自用的端点,此处作为各界面背后的数据面加以说明,并非面向合作伙伴的开放计划。

与 Randstad App - Buscar trabajo 相似的应用

  • InfoJobs - Job Search — InfoJobs 是总部位于巴塞罗那、由 Adevinta 持有的私营招聘看板,面向西班牙、意大利和巴西市场,求职者可在上面搜索职位并投递。
  • Adecco — Adecco España 是苏黎世 Adecco Group 在西班牙的分支,从事临时用工招聘与签约,并向求职者发布西班牙本地职位。
  • Job&Talent: Get work today — Job&Talent 是创立于马德里的数字化用工平台,通过候选人应用把工人匹配到西班牙的物流、工业和零售轮班岗位。
  • Indeed Job Search — Indeed 是覆盖 60 多个国家和 28 种语言的招聘网站,汇总来自招聘看板、派遣公司与企业招聘页的职位。
  • Manpower — Manpower 是 ManpowerGroup 在西班牙的派遣品牌,求职者可按物流、制造、零售、酒店餐饮等行业搜索临时与长期岗位。
  • LinkedIn: Community & Network — LinkedIn 是职业社交网络,求职者发布简历、雇主发布职位,并可通过职位页浏览、收藏和投递。
  • JOB TODAY: Hire & Find Jobs — JOB TODAY 是在西班牙等地运营的移动招聘应用,求职者与雇主通过应用内聊天对接附近的计时岗位。

相关主题

  • randstad 职位 api
  • randstad empleo
  • randstad 工资单 nómina
  • randstad 工时表 boletines
  • 西班牙职位 api
  • randstad planday 班次
  • 候选人工资单 api
  • randstad offerId

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价