Criando uma vaga padrão com código de posição

Gerando o token

Para utilizar este fluxo, é necessário utilizar o Bearer Token gerado nas configurações avançadas da plataforma. Acesse nossa seção de autenticação para saber como gerar o o token de autenticação.

No momento de gerar o token habilite os seguintes endpoints da V1:

  • Company Branches
  • Company Departments
  • Jobs
  • Job Roles

Também é necessário entrar em contato com o time de suporte da Gupy através do e-mail [email protected] para solicitar a ativação da feature flag de vacancyCode em sua plataforma. Após habilitado será possível visualizar o campo para inserir o código de posição conforme mostra a imagem abaixo:

Fluxo de Integração

1. Fazendo a requisição e criando a vaga

Faça a requisição para o endpoint POST Jobs, passando os campos que deseja, estamos utilizando a vaga padrão como exemplo:

ParâmetroDescrição
codeRefere-se ao código interno da vaga atribuído pelo sistema terceiro
nameTítulo dado para a vaga
typeModo de contratação
publicationTypeSe a vaga será interna ou externa
numVacanciesNúmero de pessoas que serão contratadas para uma mesma vaga.
departmentIdCódigo da área gerado automaticamente pela Gupy (campo Id) que a vaga está atrelada.
roleIdCódigo do cargo gerado automaticamente pela Gupy (campo Id) que a vaga está atrelada.
branchIdCódigo da filial gerado automaticamente pela Gupy (campo Id)

Exemplo de requisição:

curl --request POST \
     --url https://api.gupy.io/api/v1/jobs \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "type": "vacancy_type_effective",
  "publicationType": "external",
  "name": "Desenvolvedor Backend",
  "numVacancies": 2,
  "departmentId": 5962,
  "roleId": 7872,
  "branchId": 2743,  
  "code": "1974"
}
'

Exemplo de resposta:

{
  "id": 7168372,
  "code": "1974",
  "name": "Desenvolvedor Backend",
  "status": "draft",
  "type": "vacancy_type_effective",
  "publicationType": "external",
  "numVacancies": 2,
  "departmentId": 5962,
  "departmentName": "Administrativo (ML)",
  "roleId": 7872,
  "roleName": "Analista Teste Z",
  "subsidiaryId": 2743,
  "subsidiaryName": "DEMO > MATRIZ",
  "createdAt": "2024-05-15T01:55:29.088Z",
  "updatedAt": "2024-05-15T01:55:29.211Z",
  "hiringDeadline": null,
  "description": null,
  "responsibilities": null,
  "prerequisites": null,
  "additionalInformation": null,
  "notes": null,
  "disabilities": false,
  "addressStreet": null,
  "addressNumber": null,
  "addressCity": null,
  "addressState": null,
  "addressStateShortName": null,
  "addressCountry": null,
  "addressCountryShortName": null,
  "addressComplements": null,
  "addressDistrict": null,
  "addressZipCode": null,
  "addressLatitude": null,
  "addressLongitude": null,
  "remoteWorking": false,
  "workplaceType": "on-site",
  "reason": null,
  "image": null,
  "socialMediaImage": null,
  "applicationDeadline": null,
  "careerPageId": null,
  "careerPageName": null,
  "vacancyCodes": [],
  "managerId": null,
  "managerName": null,
  "managerEmail": null,
  "recruiterId": null,
  "recruiterName": null,
  "recruiterEmail": null,
  "salary": {
    "currency": null,
    "startsAt": null,
    "endsAt": null
  }, 
  "jobRatingCriterias": [],
  "cancelReason": null,
  "cancelReasonNotes": null,
  "canceledByEmail": null,
  "cancelAt": null,
  "publishedAt": null,
  "closedAt": null,
  "approvedAt": null,
  "disapprovedAt": null,
  "lastFreezeDate": null,
  "lastUnfreezeDate": null,
  "creatorId": 22011,
  "creatorName": "Public API",
  "creatorEmail": "[email protected]",
  "videoUrl": null,
  "approvers": null,
  "workflowRequestMethod": null,
  "branchId": 2743,
  "branchName": "DEMO > MATRIZ"
}

Salve o id para utilizar no passo 2

2. Criando um código de posição

Faça a requisição para o endpoint Creating a vacancy code informando todos os campos conforme detalhamento abaixo:

ParâmetroDescrição
jobIdCódigo da vaga gerado automaticamente pela Gupy (id retornado na resposta da criação da vaga)
codeCódigo que será atribuído à posição
statusStatus da posição (valid ou waiting)

Exemplo de requisição:

curl --request POST \
     --url https://api.gupy.io/api/v1/jobs/7168372/vacancies \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "valid",
  "code": "4564"
}
'

Exemplo de resposta:

{
  "id": 1273363,
  "jobId": 7168372,
  "code": "4564",
  "status": "valid",
  "errorMessage": null,
  "createdAt": "2024-05-11T02:02:47.519Z",
  "updatedAt": "2024-05-11T02:02:47.519Z"
}

Dúvidas frequentes

  1. A vaga possui 5 posições abertas, para preencher todas com o código de posição é necessário chamar a API cinco vezes ou posso passar um array?

Resposta: Será necessário chamar 5 vezes para cadastrar todos os códigos de posição.

  1. O que acontece ao chamar a API passando mais códigos de posição do que o número de posições abertas?

Resposta: A API criará mais uma posição e associará ao número passado na requisição