Fórum

Ivan Wilhelm
Moderador
# 3 anos atrás

Olá Jeovanne,

Algumas dicas sobre a análise do erro

1) Quando você está fazendo requisições do tipo POST, significa que está criando um registro na base de dados e nestes casos, você não deve informar o campo ID, por exemplo, você está tentando incluir um registro usando a primitiva da entity CandidateAnnotation e nesta inclusão (POST) esta informando o ID e isto não é suportado.
2) Para utilizar o patch, ou seja, alterar um registro existente, você pode informar o ID no corpo da requisição, porém, deve incluir este ID na URL.
3) Você não pode usar uma primitiva do tipo POST para incluir informações em tabelas filhas, por exemplo, no body da tua chamada, você está tentando incluir um candidato por meio da propriedade candidate e também um colaborador por meio da propriedade reporter. Nestes casos você precisa incluir tanto o candidato quando o colaborador antes e na criação da anotação apenas informar seus IDS.

Nestes casos, você deveria ter feito as requisições da seguinte forma:

POST: https://platform.senior.com.br/hcm/vacancymanagement/entities/candidate
{
“externalId”: “222222222”,
“name”: “JESSICA BATISTA OLIVEIRA”,
“email”: “JESSICA@teste.com.br”,
“typeGender”: “FEMALE”,
“typeMaritalStatus”: “MARRIED”,
“numberOfChildren”: 0,
“birthday”: “2021-04-14”,
“cpf”: “11482678756”,
“travelPossibility”: true,
“realocationPossibility”: true,
“professionalSummary”: “string”,
“professionalGoal”: “string”,
“salaryExpectation”: 0,
“locale”: “PT_BR”,
“candidateType”: “EXTERNAL”
}

Pegue o ID do candidato que foi gerado no retorno desta chamada. Nao esqueça de informar o tipo do candidato e outros campos obrigatórios ou com valores padrão. Em todas as tabelas o campo externalId é utilizado para indicar a existência de uma integração daquele registro com outro sistema e neste caso, usamos este campo para guardar o identificador do candidato na base do HCM. No teu caso, não use este campo nas suas chamadas.

POST: https://platform.senior.com.br/hcm/vacancymanagement/entities/employee
{
“id”:”a0ce506d-406e-47fe-8cb8-58e50c9b5cb9″,
“externalId”: “222222222”,
“hiredate”: “2021-04-14”,
“dismissalDate”: “2021-04-14”
}

Pegue o ID do colaborador que foi gerado no retorno desta chamada.

POST: https://platform.senior.com.br/hcm/vacancymanagement/entities/candidateAnnotation
{
“candidate”: {
“id”: “ID-GERADO-NA-CHAMADA-DE-INCLUSAO-DO-CANDIDATO OU ID-EXISTENTE-DO-CANDIDATO”
},
“type”: “POSITIVE”,
“reporter”: {
“id”: “ID-GERADO-NA-CHAMADA-DE-INCLUSAO-DO-COLABORADOR OU ID-EXISTENTE-DO-COLABORADOR”
},
“annotation”: “UNICOS REGISTROS NA CTPS SERDEL ASG MAI/2013 SO TRABALHOU 1 DIA CONTA QUE FOI MUITO UCHADO E ENTAO SAIU ALEGA QUE NAO PRECISAVA DAQUILO – CHAMOU O SERVIÇO DE ESCRAVIDAO COMPLETA SOLLO BRASIL OP TELEMARKETING NOV/2011 A DEZ/2011 SAIU PARA TRABALHAR COM UM AMIGO DE SEU IRMA EM UMA EMPRESA DE MARMORE SAIU QUANDO ELE FECHOU CAPIXABA RECEPCIONISTA NOV/2009 A JUN/2010 SAIU COM O FECHAMENTO DA EMPRESA PENSOU NA VAGA DE REPOSITORA POSSUI DISPONIBILIDADE DE HORARIO ***COM 28 ANOS SO 3 REGISTROS SEM ESTABILIDADE NAO MOSTRA REAL INTERESSE”
}

Com estes ajustes você irá conseguir fazer a inclusão da anotação.

Outra dúvida, você trabalha para algum canal da Senior, se sim, poderias me passar informações de contato direto. Acredito que tenhamos alguns treinamentos de API que você poderia fazer para dirimir as dúvidas iniciais.

No mais, permaneço à disposição.