Criando uma vaga padrão com gestor e/ou recrutador

Gerando 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
  • Company Users

Fluxo de Integração:

  1. Caso o cadastro dos usuários já tenha sido realizado, basta informar o e-mail de recrutador e gestor da vaga nos respectivos campos e realizar a requisição de para a API Create Job, conforme detalhamento abaixo:
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)
recruiterEmailE-mail do recrutador responsável pela vaga
managerEmailE-mail do gestor responsável pela vaga

Exemplo de requisição:

curl --request POST \
     --url https://api.gupy.io/api/v1/jobs \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "type": "vacancy_type_apprentice",
  "publicationType": "internal",
  "code": "1974",
  "name": "Desenvolvedor Backend",
  "numVacancies": 2,
  "roleId": 7872,
  "departmentId": 5962,
  "branchId": 2743,
  "recruiterEmail": "[email protected]",
  "managerEmail": "[email protected]"
}
'

  1. Se for necessário realizar o cadastro do usuário, faça uma requisição para a API Create User informando pelo menos o nome e e-mail que serão cadastrados. Caso você tenha um número interno desse usuário (ex: matrícula) e queira vincular ao cadastro na Gupy, você pode utilizar o campo code disponibilizado na API.

Exemplo de requisição:

curl --request POST \
     --url https://api.gupy.io/api/v1/users \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "name": "Joana Medeiros",
  "email": "[email protected]",
  "code": "53434"
}
'
  1. Caso deseje buscar se o usuário está cadastrado ou checar os dados de cadastro antes de realizar a criação da vaga, consulte a API GET Users passando o e-mail ou code na busca.

Exemplo de requisição:

curl --request GET \
     --url 'https://api.gupy.io/api/v1/users?email=joana.medeiros%40teste.com&perPage=10&page=1' \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx'

Exemplo de resposta:

{
  "results": [
    {
      "id": 482092,
      "name": "Joana Medeiros",
      "email": "[email protected]",
      "departmentId": 5964,
      "roleId": 40930,
      "profileTestEnabled": false,
      "createdAt": "2021-12-07T18:23:27.056Z",
      "updatedAt": "2023-06-20T20:59:51.540Z",
      "type": null,
      "code": 53434,
      "accessProfileId": 34679,
      "testStatus": "uninvited",
      "profileTestStatus": "not_selected",
      "taxpayerRegistry": null,
      "countryOfOrigin": null,
      "branchIds": []
    }
  ],
  "totalResults": 1,
  "page": 1,
  "totalPages": 1
}

❗️

Atenção

A API pode também retornar e-mails similares ao que você está buscando. Portanto se atente ao resultado da busca através do endpoint GET Users afim de verificar se o retorno é exatamente igual ao e-mail que será passado na request.

Possíveis erros

  1. Usuário não cadastrado. Ao passar um e-mail inválido a API retornará que esse usuário não está cadastrado na empresa.
{
  "title": "Validation Error",
  "detail": "The e-mail [email protected] is not from any user of this company.",
  "status": 400
}