2.0info: 1.2.1 HCM – Careers Hub Processor description: Processador assincrono do Portal de Talentos x-senior-domain: hcm x-senior-domain-path: hcm x-senior-service-path: careershubprocessor contact: name: Senior X Platform url: https://dev.senior.com.br email: seniorx-dev@senior.com.brhost: platform.senior.com.br /t/senior.com.br/bridge/1.0/rest/hcmsecurityDefinitions: APIKeyHeader: type: apiKey in: header name: Authorizationsecurity: – APIKeyHeader: [] – application/json – application/jsonpaths: /careershubprocessor/queries/healthcheck: post: description: Verifica se o serviço está ativo tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthcheckDTO description: Status de retorno checks: type: object allOf: – #/definitions/checkDTO description: Checks executados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Verifica se o serviço está ativo tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – status – checks properties: status: type: string allOf: – #/definitions/healthcheckDTO description: Status de retorno checks: type: object allOf: – #/definitions/checkDTO description: Checks executados 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careershubprocessor/queries/getMetadata: post: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object properties: metadataFormat: type: string description: responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Default getMetadata query. Every service must handle this command and return metadata in the format requested. tags: – Queries x-senior-visibility: PRIVATE parameters: – name: metadataFormat description: in: query type: string responses: 200: description: Ok schema: type: object required: – metadata properties: metadata: type: string description: 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careershubprocessor/queries/getDependencies: post: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Returns a list with all dependencies from this service, along with their respective versions tags: – Queries x-senior-visibility: PRIVATE responses: 200: description: Ok schema: type: object required: – dependencies properties: dependencies: type: array items: type: object allOf: – #/definitions/dependency minimum: 1 description: List with this service dependencies 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareApplicationVacancy: post: description: Prepara de forma assincrona as informações para realizar a integração da candidatura tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – requestApplication properties: requestApplication: type: object allOf: – #/definitions/requestApplicationVacancyDTO description: Dados para a solicitação da integração da candidatura responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareAccountExclusion: post: description: Prepara e efeitva de forma assincrona a exclusão dos dados da conta do candidato tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – username properties: username: type: string description: responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/preparePublicationVacancy: post: description: Prepara e atualiza a descrição das vagas, removendo as imagens e as substituindo por urls tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/publishVacancyDTO description: Dados da vaga a ser publicada responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareVacancySuggestions: post: description: Processa sugestões de vagas do Matcher para o candidato tags: – Signals parameters: – name: input in: body required: true schema: type: object responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareProfileExclusion: post: description: Prepara e exclui o perfil da empresa tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – profileId – tenant properties: profileId: type: string description: ID do perfil da empresa tenant: type: string description: Tenant do perfil da empresa responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareAccountExclusionConfirmed: post: description: Sinal para processamento e emissão do evento de confirmação da exclusão da conta do candidato para os tenants,\nonde a informação do mesmo foi compartilhada tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – username – limitDateByExclusion properties: username: type: string description: Identificação do usuário limitDateByExclusion: type: string format: date-time description: Data limite para exclusão responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareSuspendedVacancy: post: description: Prepara a suspensão de uma lista de vagas tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – vacancies properties: vacancies: type: array items: type: object allOf: – #/definitions/vacancyDetailDTO minimum: 1 description: Lista das vagas a serem suspendidas responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareFinishedVacancy: post: description: Prepara a finalização das vagas tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – vacancies properties: vacancies: type: array items: type: object allOf: – #/definitions/vacancyDetailDTO minimum: 1 description: Lista das vagas a serem finalizadas responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/prepareCanceledVacancy: post: description: Prepara o cancelamento de uma lista de vagas tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – vacancies properties: vacancies: type: array items: type: object allOf: – #/definitions/vacancyDetailDTO minimum: 1 description: Lista das vagas a serem canceladas responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/signals/preparePublicationEmployerProfile: post: description: Prepara as informações necessárias para publicação de um perfil de empresa tags: – Signals parameters: – name: input in: body required: true schema: type: object required: – profileId properties: profileId: type: string description: ID do perfil da empresa responses: 202: description: Accepted default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/applicationVacancy: post: description: Evento emitido quando candidato se inscreve em vaga publicada x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – candidature properties: candidature: type: object allOf: – #/definitions/applicationDTO description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/exclusionAccountDone: post: description: Evento emitido ao término da realização do processo de exclusão da conta do candidato com sucesso x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – candidate properties: candidate: type: object allOf: – #/definitions/userDTO description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/publishedVacancy: post: description: Evento emitido quando vaga foi publicada no Portal de Talentos x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDetailDTO description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/exclusionProfileConfirmed: post: description: Evento emitido quando o perfil da empresa for excluido x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – profile – isMultipleCareerPage properties: profile: type: object allOf: – #/definitions/employerProfileDto description: isMultipleCareerPage: type: boolean description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/exclusionAccountConfirmed: post: description: Evento emitido quando um usuário confirma a exclusão de sua conta x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – candidate – limitDateByExclusion properties: candidate: type: object allOf: – #/definitions/userDTO description: Dados do usuário que será limitDateByExclusion: type: string format: date-time description: Data limite para exclusão responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/suspendVacancy: post: description: Evento emitido quando a vaga é suspensa x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDetailDTO description: Dados da vaga responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/finishedVacancy: post: description: Evento emitido quando a vaga é finalizada x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDetailDTO description: Dados da vaga responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/canceledVacancy: post: description: Evento emitido quando a vaga é cancelada x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDetailDTO description: Dados da vaga responses: 200: description: OK default: description: Error response schema: #/definitions/genericError /careershubprocessor/events/publishedEmployerProfile: post: description: Evento emitido quando um perfil de uma empresa é publicado x-senior-event: true tags: – Events parameters: – name: input in: body required: true schema: type: object required: – employerProfile properties: employerProfile: type: object allOf: – #/definitions/employerProfileDto description: responses: 200: description: OK default: description: Error response schema: #/definitions/genericErrordefinitions: healthcheckDTO: description: Status do healthcheck type: string enum: – UP – DOWN hiringRegimeTypeDTO: description: Modalidade de contratação type: string enum: – CLT – PJ – COOPERATED – TRAINEE jobModelTypeDTO: description: Modelo de trabalho type: string enum: – HYBRID – IN_PERSON – REMOTE experienceTypeDTO: description: Nível de experiência profissional type: string enum: – ENTRY_LEVEL – MID_LEVEL – SENIOR_LEVEL – LEARNER – TRAINEE – INTERNSHIP – SPECIALIST – COORDINATION – MANAGEMENT – DIRECTORSHIP userNotificationKind: description: User notification kind. type: string enum: – Operational – Management – News userNotificationPriority: description: User notification priority. type: string enum: – Error – Alert – None eventEmailFormat: description: Format of the email type: string enum: – HTML – PLAIN_TEXT checkDTO: description: Retorno status usados de retorno type: object required: – name – status properties: name: type: string description: Nome do status status: type: string allOf: – #/definitions/healthcheckDTO description: Status genericDTO: description: Estrutura para armazenar as informações genéricas de todos os registros discriminator: _discriminator type: object required: – id – _discriminator properties: id: type: string description: Identificador do registro _discriminator: type: string description: companyDTO: description: Informações básicas da empresa allOf: – #/definitions/genericDTO – type: object required: – name – identificationType – identificationNumber properties: name: type: string description: Nome da empresa identificationType: type: string description: Tipo de documento identificationNumber: type: string description: Número do documento city: type: string description: Cidade province: type: string description: Estado country: type: string description: País fileDataDTO: description: Armazena as informações relacionados aos anexos allOf: – #/definitions/genericDTO – type: object required: – name – contentType – extension – size – url properties: name: type: string description: Nome contentType: type: string description: Tipo do conteúdo extension: type: string description: Extensão size: type: integer format: int64 description: Tamanho url: type: string description: Link de acesso público ao arquivo vacancyDTO: description: Armazena as informações base da vaga allOf: – #/definitions/genericDTO – type: object required: – code properties: code: type: string description: Código de identificação da vaga idQuestionnaireAnswer: type: string description: ID do questionário vacancyDetailDTO: description: Armazena as informações detalhadas da vaga allOf: – #/definitions/vacancyDTO – type: object required: – title – positions – company properties: type: string description: Título positions: type: integer format: int64 description: Quantidade de vagas hiringRegime: type: string allOf: – #/definitions/hiringRegimeTypeDTO description: Regime de contratação jobModels: type: array items: type: string allOf: – #/definitions/jobModelTypeDTO description: Modelo de trabalho experienceLevel: type: array items: type: string allOf: – #/definitions/experienceTypeDTO description: Nível de experiência pcd: type: boolean description: Vaga destinada para portador de deficiência startDate: type: string format: date-time description: Data do início da publicação endDate: type: string format: date-time description: Data do fim da publicação startSalary: type: number format: double description: Faixa salarial inicial endSalary: type: number format: double description: Faixa salarial final about: type: string description: Descrição da vaga requirements: type: string description: Requisitos da vaga duties: type: string description: Obrigações da vaga city: type: string description: Cidade da vaga province: type: string description: Estado da vaga country: type: string description: País da vaga company: type: object allOf: – #/definitions/companyDTO description: Empresa anunciante fieldSettingsConfig: type: object allOf: – #/definitions/fieldSettingsConfigDto description: Configurações da candidatura publishVacancyDTO: description: allOf: – #/definitions/vacancyDetailDTO – type: object properties: aboutFile: type: object allOf: – #/definitions/fileDataDTO description: Dados do arquivo da descrição da vaga requirementsFile: type: object allOf: – #/definitions/fileDataDTO description: Dados do arquivo dos requisitos da vaga dutiesFile: type: object allOf: – #/definitions/fileDataDTO description: Dados do arquivo das Obrigações da vaga userDTO: description: Armazena as informações de um candidato que foi excluido allOf: – #/definitions/genericDTO – type: object required: – email – phoneNumber – documentType – documentNumber – username properties: email: type: string description: E-mail phoneNumber: type: string description: Telefone documentType: type: string description: Tipo do documento usado no cadastro documentNumber: type: string description: Número do documento username: type: string description: Username candidateDTO: description: Armazena as informações do candidato allOf: – #/definitions/genericDTO – type: object required: – typeName – firstName – lastName – documentType – documentNumber – birthDate – language properties: typeName: type: string description: Tipo de nome definido pelo candidato firstName: type: string description: Nome lastName: type: string description: Sobrenome photo: type: object allOf: – #/definitions/fileDataDTO description: Foto de perfil documentType: type: string description: Tipo de documento usado no cadastro documentNumber: type: string description: Número do documento email: type: string description: E-mail phoneNumber: type: string description: Telefone birthDate: type: string format: date description: Data de Nascimento resume: type: string format: byte description: Informações profissionais (Formato JSON) language: type: string description: Linguagem applicationDTO: description: Representação dos dados enviadas no evento de inscrição em vaga publicada type: object required: – id – vacancy – candidate – createdDate properties: id: type: string description: ID da candidatura source: type: object allOf: – #/definitions/candidatureSourceDTO description: Origem da candidatura vacancy: type: object allOf: – #/definitions/vacancyDTO description: Informações da vaga candidate: type: object allOf: – #/definitions/candidateDTO description: Candidato createdDate: type: string format: date description: Data da inscrição na vaga attachedResume: type: object allOf: – #/definitions/fileDataDTO description: Curriculo anexado no processo da candidatura requesterDTO: description: Armazena os dados básicos do solicitante da requisição allOf: – #/definitions/genericDTO – type: object required: – username properties: username: type: string description: Usuário que realizou a candidatura requestConfirmAccountExclusionDTO: description: allOf: – #/definitions/requesterDTO – type: object required: – limitDateByExclusion properties: limitDateByExclusion: type: string format: date-time description: Data limite para exclusão requestApplicationVacancyDTO: description: Representa as informações necessária para realizar a solicitação de processamento da candidatura allOf: – #/definitions/requesterDTO – type: object required: – tenant properties: tenant: type: string description: Tenant onde o candidato se aplicou amendResume: type: boolean description: Informações profissionais prestadas na candidatura devem ser salvas no curriculo default: false additionalResume: type: string format: byte description: Informações profissionais inseridas no processo de candidatura (Em formato JSON) profileFileDTO: type: object allOf: – #/definitions/profileDataDTO description: Informações da foto de perfil attachedResume: type: object allOf: – #/definitions/profileDataDTO description: Curriculo anexado no processo da candidatura profileDataDTO: description: type: object properties: targetObjectId: type: string description: Identificador do objeto contentType: type: string description: ContentType extension: type: string description: Extensão size: type: string description: Tamanho url: type: string description: URL do perfil fileName: type: string description: Nome do arquivo candidatureSourceDTO: description: Origem da candidatura type: object required: – selectedSource properties: selectedSource: type: string description: Origem da candidatura que o candidato selecionou na lista otherOptionDescription: type: string description: Descrição da origem quando o candidato informa Outros fieldSettingsConfigDto: description: type: object properties: groups: type: array items: type: object allOf: – #/definitions/fieldSettingsGroupDto description: Groups fieldSettingsGroupDto: description: type: object properties: id: type: string description: Identificador do registro enabled: type: boolean description: Enabled subgroups: type: array items: type: object allOf: – #/definitions/fieldSettingsSubGroupDto description: SubGroups fieldSettingsSubGroupDto: description: type: object properties: id: type: string description: Identificador do registro enabled: type: boolean description: Enabled fields: type: array items: type: object allOf: – #/definitions/fieldSettingsFieldDto description: Fields fieldSettingsFieldDto: description: type: object properties: id: type: string description: Identificador do registro enabled: type: boolean description: Enabled required: type: boolean description: Required employerProfileDto: description: Informações sobre o perfil da empresa para uso no payload de evento allOf: – #/definitions/genericDTO – type: object required: – company properties: company: type: object allOf: – #/definitions/companyDTO description: Informações da empresa profileAbout: type: object allOf: – #/definitions/employerProfileAboutDto description: Informações sobre o perfil da empresa employerProfileAboutDto: description: Informações sobre o perfil da empresa para uso no payload de evento allOf: – #/definitions/genericDTO – type: object required: – description properties: description: type: string description: Descrição sector: type: string description: Ramo de atividade da empresa website: type: string description: Link do site da empresa size: type: string description: Tamanho da empresa socialNetworks: type: array items: type: object allOf: – #/definitions/socialNetworkDto description: Redes sociais da empresa coverPicture: type: object allOf: – #/definitions/fileDataDTO description: Foto de capa da empresa profilePicture: type: object allOf: – #/definitions/fileDataDTO description: Foto de perfil da empresa socialNetworkDto: description: Informações de rede social da empresa type: object required: – name – link properties: name: type: string description: Rede social específica link: type: string description: Link da rede da empresa notifyUserEventPayload: description: Represents a regular user event notification payload discriminator: _discriminator type: object required: – notificationKind – notificationPriority – notificationSubject – notificationContent – sourceDomain – sourceService – destinationUser – _discriminator properties: notificationClass: type: string description: Class of notification notificationOrigin: type: string description: Origin of notification. Free text. Optional. notificationKind: type: string allOf: – #/definitions/userNotificationKind description: Notification kind. notificationPriority: type: string allOf: – #/definitions/userNotificationPriority description: Notification priority. notificationSubject: type: string description: Notification subject. notificationContent: type: string description: Notification content. sourceDomain: type: string description: Domain that generates the notification. sourceService: type: string description: Service that generates the notification. destinationUser: type: string description: Username of the destination user. link: type: string description: Notification link _discriminator: type: string description: emailNotifyUserEventPayload: description: Represents an email notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – from properties: from: type: string description: Email sender address sendTo: type: array items: type: string description: Additional recipients to send the email to format: type: string allOf: – #/definitions/eventEmailFormat description: Email format pushNotifyUserEventPayload: description: Represents a push notification payload allOf: – #/definitions/notifyUserEventPayload – type: object required: – applicationId properties: applicationId: type: string description: Apple/Google application id blobReference: description: Default blob reference type. Every service defines its own. type: object required: – targetObjectId properties: domainName: type: string description: The domain the blob belongs to. serviceName: type: string description: The service the blob belongs to. targetObjectId: type: string description: The basic id of the blob. targetCopyId: type: string description: The id of the blob copy. basicErrorPayload: description: Default error payload type. Every service defines its own. type: object properties: message: type: string description: The user-facing error message, if any. errorCode: type: string description: The program-accessible (and service-specific) error code. dependency: description: Represents a service dependency type: object required: – domain – service – version properties: domain: type: string description: Domain of the dependency service service: type: string description: Name of the dependency service type: string description: Version of the dependency service genericError: properties: message: type: string description: Messaging describing the error. reason: type: string description: A symbolic code identifying the category of the reason of the error. enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE