2.0info: 1.1.0 Portal de Talentos – Gestão das preferências do candidato description: Serviço que pertence ao novo Portal de Talentos responsável por armazenar as preferências do candidato (favoritar vagas e eventuais configurações da conta como: modos de notificação, alerta sobre aviso de vagas e afins). x-senior-domain: hcm x-senior-domain-path: hcm x-senior-service-path: careerspreferences 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: /careerspreferences/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 /careerspreferences/queries/getFavoriteVacancies: post: description: Busca lista de vagas favoritadas por um candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – candidateId properties: candidateId: type: string description: Identificador do candidato page: type: integer format: int64 description: Número da página minimum: 0 default: 0 size: type: integer format: int64 description: Tamanho da página minimum: 1 maximum: 200 default: 10 responses: 200: description: Ok schema: type: object required: – contents – totalPages – totalElements properties: contents: type: array items: type: object allOf: – #/definitions/favoritedVacancyDTO minimum: 1 description: Dados das vagas favoritadas totalPages: type: integer format: int64 description: Quantidade de páginas totalElements: type: integer format: int64 description: Quantidade de elementos 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca lista de vagas favoritadas por um candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: candidateId description: Identificador do candidato in: query required: true type: string – name: page description: Número da página in: query type: integer format: int64 – name: size description: Tamanho da página in: query type: integer format: int64 responses: 200: description: Ok schema: type: object required: – contents – totalPages – totalElements properties: contents: type: array items: type: object allOf: – #/definitions/favoritedVacancyDTO minimum: 1 description: Dados das vagas favoritadas totalPages: type: integer format: int64 description: Quantidade de páginas totalElements: type: integer format: int64 description: Quantidade de elementos 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/queries/isFavoriteVacancy: post: description: Retorna se uma vaga está favoritada por um usuário/candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – vacancyId – candidateId properties: vacancyId: type: string description: Identificador da vaga candidateId: type: string description: Identificador do candidato responses: 200: description: Ok schema: type: object required: – isFavorite properties: isFavorite: type: boolean description: Flag vaga favoritada 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Retorna se uma vaga está favoritada por um usuário/candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: vacancyId description: Identificador da vaga in: query required: true type: string – name: candidateId description: Identificador do candidato in: query required: true type: string responses: 200: description: Ok schema: type: object required: – isFavorite properties: isFavorite: type: boolean description: Flag vaga favoritada 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/queries/getProfile: post: description: Busca os dados de uma empresa tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – externalProfileId properties: externalProfileId: type: string description: Identificador do perfil responses: 200: description: Ok schema: type: object required: – profile properties: profile: type: object allOf: – #/definitions/profileDTO description: DTO do perfil da empresa 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca os dados de uma empresa tags: – Queries x-senior-visibility: PRIVATE parameters: – name: externalProfileId description: Identificador do perfil in: query required: true type: string responses: 200: description: Ok schema: type: object required: – profile properties: profile: type: object allOf: – #/definitions/profileDTO description: DTO do perfil da empresa 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/queries/getVacancy: post: description: Busca os dados de uma vaga tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – externalVacancyId properties: externalVacancyId: type: string description: Identificador da vaga responses: 200: description: Ok schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDTO description: DTO do perfil da empresa 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca os dados de uma vaga tags: – Queries x-senior-visibility: PRIVATE parameters: – name: externalVacancyId description: Identificador da vaga in: query required: true type: string responses: 200: description: Ok schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDTO description: DTO do perfil da empresa 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/queries/vacanciesSuggestionsByCandidate: post: description: Busca as sugestões de vaga para um candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – candidateId – maxNumberSuggestions properties: candidateId: type: string description: Id do candidato maxNumberSuggestions: type: integer format: int64 description: Número máximo de sugestões responses: 200: description: Ok schema: type: object required: – vacancy properties: vacancy: type: array items: type: object allOf: – #/definitions/vacancySuggestionDTO minimum: 1 description: Vagas sugeridas 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError get: description: Busca as sugestões de vaga para um candidato tags: – Queries x-senior-visibility: PRIVATE parameters: – name: candidateId description: Id do candidato in: query required: true type: string – name: maxNumberSuggestions description: Número máximo de sugestões in: query required: true type: integer format: int64 responses: 200: description: Ok schema: type: object required: – vacancy properties: vacancy: type: array items: type: object allOf: – #/definitions/vacancySuggestionDTO minimum: 1 description: Vagas sugeridas 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/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 /careerspreferences/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 /careerspreferences/actions/migrateSchema: post: description: Realiza a migração do schema do banco de dados tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/favoriteVacancy: post: description: Persiste uma vaga favoritada por um candidato tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – favoriteVacancy properties: favoriteVacancy: type: object allOf: – #/definitions/favoriteVacancyDTO description: Vaga a ser persistida responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/unfavoriteVacancy: post: description: Exclui uma vaga favoritada da base tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – vacancyId – candidateId properties: vacancyId: type: string description: Identificador da vaga no Elasticsearch, no formato UUID candidateId: type: string description: Identificador do candidato responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/saveProfile: post: description: Salva um perfil de empresa tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – profile properties: profile: type: object allOf: – #/definitions/profileDTO description: DTO do perfil da empresa responses: 200: description: Ok schema: type: object required: – profile properties: profile: type: object allOf: – #/definitions/profileDTO description: DTO do perfil da empresa 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/saveVacancy: post: description: Salva os dados de uma vaga tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDTO description: DTO da vaga responses: 200: description: Ok schema: type: object required: – vacancy properties: vacancy: type: object allOf: – #/definitions/vacancyDTO description: DTO da vaga 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/unfavoriteAllByCandidate: post: description: Remove todos os favoritos de um candidato tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – candidateId properties: candidateId: type: string description: Identificador do candidato responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/saveVacancySuggestions: post: description: salva sugestões de candidatos para uma vaga tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – vacancies – candidateId properties: vacancies: type: array items: type: object allOf: – #/definitions/vacancySuggestionDTO minimum: 1 description: Vagas sugeridas candidateId: type: string description: Candidato responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/disableAllVacancyByProfile: post: description: Desativa todas as vagas de um perfil de empresa tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – externalProfileId properties: externalProfileId: type: string description: Identificador do perfil responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericError /careerspreferences/actions/deleteVacancySuggestionsByCandidateId: post: description: Remove todas as sugestões de vagas de um candidato tags: – Actions x-senior-visibility: PRIVATE parameters: – name: input in: body required: true schema: type: object required: – candidateId properties: candidateId: type: string description: Identificador do candidato responses: 200: description: Ok schema: type: object 401: description: Invalid Credentials default: description: Error response schema: #/definitions/genericErrordefinitions: healthcheckDTO: type: string enum: – UP – DOWN description: Status do healthcheck: * `UP` – Saudável * `DOWN` – Ruim matcherSuggestion: type: string enum: – GOOD – GREAT – EXCELLENT – NONE description: Sugestão do matcher: * `GOOD` – Boa * `GREAT` – Ótima * `EXCELLENT` – Excelente * `NONE` – Nenhuma vacancyStatus: type: string enum: – IN_PROGRESS – CANCELED – CONCLUDED – SUSPENDED – DISABLED description: Status de publicação da vaga: * `IN_PROGRESS` – Em Progresso * `CANCELED` – Cancelado * `CONCLUDED` – Concluído * `SUSPENDED` – Suspenso * `DISABLED` – Desativado jobModel: type: string enum: – HYBRID – IN_PERSON – REMOTE description: Modo de trabalho: * `HYBRID` – HIBRIDO * `IN_PERSON` – PRESENCIAL * `REMOTE` – REMOTO userNotificationKind: type: string enum: – Operational – Management – News description: User notification kind.: * `Operational` – Operational * `Management` – Management * `News` – News userNotificationPriority: type: string enum: – Error – Alert – None description: User notification priority.: * `Error` – Error * `Alert` – Alert * `None` – None eventEmailFormat: type: string enum: – HTML – PLAIN_TEXT description: Format of the email: * `HTML` – Html * `PLAIN_TEXT` – 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 favoriteVacancyDTO: description: Vaga favoritada por usuário/candidato type: object required: – vacancyId – candidateId – userId properties: vacancyId: type: string description: Identificador da vaga candidateId: type: string description: Identificador do candidato userId: type: string description: Identificador do usuário profileDTO: description: Perfil da empresa type: object required: – externalProfileId – company – location – tenant properties: id: type: string description: Identificador do perfil, no formato UUID externalProfileId: type: string description: Identificador do perfil no Elasticsearch, no formato UUID company: type: string description: Nome da empresa location: type: string description: Localização da empresa picture: type: string description: Url da imagem do perfil tenant: type: string description: Tenant da empresa vacancyDTO: description: Informações de uma vaga type: object required: – externalVacancyId – jobCode – title – status properties: id: type: string description: Identificador da vaga, no formato UUID profileId: type: string description: Identificador do perfil externalVacancyId: type: string description: Identificador da vaga no Elasticsearch, no formato UUID jobCode: type: integer format: int64 description: Código da vaga type: string description: Título da vaga status: type: string allOf: – #/definitions/vacancyStatus description: Status da vaga publishedDate: type: string format: date description: Data de publicação da vaga jobModels: type: array items: type: string allOf: – #/definitions/jobModel description: Modelo de trabalho pcd: type: boolean description: Vaga para PCD default: false location: type: string description: Localização da vaga vacancyInfoDTO: description: Informações da vaga para exibição na busca de vagas favoritadas discriminator: _discriminator type: object required: – externalVacancyId – jobCode – title – status – profile – _discriminator properties: id: type: string description: Identificador da vaga, no formato UUID externalVacancyId: type: string description: Identificador da vaga no Elasticsearch, no formato UUID jobCode: type: integer format: int64 description: Código da vaga type: string description: Título da vaga status: type: string allOf: – #/definitions/vacancyStatus description: Status da vaga publishedDate: type: string format: date description: Data de publicação da vaga jobModels: type: array items: type: string allOf: – #/definitions/jobModel description: Modelo de trabalho location: type: string description: Localização da vaga profile: type: object allOf: – #/definitions/profileDTO description: Dados da empresa _discriminator: type: string description: suggestedVacancyDTO: description: DTO para vaga sugerida allOf: – #/definitions/vacancyInfoDTO – type: object properties: pcd: type: boolean description: Vaga para PCD default: false favoritedVacancyDTO: description: Informações de uma vaga favoritada type: object required: – id – candidateId – createdDate – vacancy properties: id: type: string description: Identificador do item na tabela favorite_vacancy candidateId: type: string description: identificador do candidato createdDate: type: string format: date description: Data em que a vaga foi favoritada vacancy: type: object allOf: – #/definitions/vacancyInfoDTO description: Informações da vaga vacancySuggestionDTO: description: Vaga sugerida para o candidato type: object required: – vacancy – correlation – status properties: vacancy: type: object allOf: – #/definitions/suggestedVacancyDTO description: Identificador da vaga correlation: type: integer format: int64 description: Porcentagem de aderência status: type: string allOf: – #/definitions/matcherSuggestion description: Status de aderência 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 enum: – BAD_REQUEST – UNAUTHORIZED – PAYMENT_REQUIRED – FORBIDDEN – OBJECT_NOT_FOUND – REQUEST_TIMEOUT – GONE – UNPROCESSABLE – INTERNAL_ERROR – NOT_IMPLEMENTED – SERVICE_UNAVAILABLE – INSUFFICIENT_STORAGE description: A symbolic code identifying the category of the reason of the error: * `BAD_REQUEST` – Bad Request * `UNAUTHORIZED` – Unauthorized * `PAYMENT_REQUIRED` – Payment Required * `OBJECT_NOT_FOUND` – Object Not Found * `REQUEST_TIMEOUT` – Request Timeout * `GONE` – Gone * `UNPROCESSABLE` – Unprocessable * `INTERNAL_ERROR` – Internal Error * `NOT_IMPLEMENTED` – Not Implemented * `SERVICE_UNAVAILABLE` – Service Unavailable * `INSUFFICIENT_STORAGE` – Insufficient Storage