Fluxo de Atualização de Status de Vagas

Esse fluxo contempla a integração entre o sistema de requisição de vaga da empresa com o produto Gupy R&S.

A função de Update a Job tem como objetivo alterar diversas características de uma vaga passando por todo seu ciclo de vida. Existem parâmetros obrigatórios para cada ciclo e determinadas regras para algumas mudanças.

🚧

Regras de alteração de status

As mudanças de estado de uma vaga na Gupy seguem um fluxo de regra de negócio que você deve consultar clicando aqui

Habilitando endpoints

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 token de autenticação.

Abaixo encontra-se uma sugestão dos endpoints que devem ser habilitados obrigatoriamente para o funcionamento perfeito deste fluxo.

Atualizando o status de uma vaga na Gupy

Esse fluxo contempla a mudança de status de uma vaga na Gupy. O objetivo é deixar a informação da Gupy em conformidade com o sistema de requisição, ou seja, se a vaga foi encerrada/cancelada o mesmo deve ocorrer na Gupy.

Para atualizar uma vaga de status "rascunho" para "em aprovação"

Para atualizar uma vaga de status "rascunho" para "aprovada"

Para atualizar uma vaga de status "em aprovação" para "aprovada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Verifique se o parâmetro numVacancies tem o valor maior que zero.
  4. Verifique se o parâmetro description não está nulo.
  5. Insira o valor "waiting_approval", para "em aprovação", ou o valor "approved", para "aprovada", no campo status.

Exemplos de requisição (para aprovada):

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6298382 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "waiting_approval",
  "numVacancies": 3,
  "description": "descricao"
}
'
curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6298382 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "approved",
  "numVacancies": 3,
  "description": "descricao"
}
'

Para atualizar uma vaga de status "rascunho" para "reprovada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Verifique se o parâmetro numVacancies tem o valor maior que zero.
  4. Verificar se parâmetro description não está nulo.
  5. Insira o valor "disapproved" no campo status.

Exemplo de requisição:

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6338670 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "disapproved"
}
'

Para atualizar uma vaga de status "aprovada" para "publicada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Verifique se o parâmetro careerPageId não está nulo.
  4. Verifique se o parâmetro hiringDeadline não está nulo.
  5. Verifique se no parâmetro customFields a propriedade id não está nulo.
  6. Insira o valor "published" no campo status.

Exemplo de requisição:

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6298382 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "published",
  "description": "descricao",
  "careerPageId": 260,
  "hiringDeadline": "2023-12-27",
  "customFields": [
    {
      "id": "abc"
    }
  ]
}
'

Para atualizar uma vaga de status "publicada" para "congelada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Insira o valor "frozen" no campo status.

Exemplo de requisição:

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6298378 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "frozen",
  "code": "6298378"
}
'

Para atualizar uma vaga de status "publicada" para "cancelada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Verifique se o parâmetro cancelReason não está nulo.
  4. Insira o valor "closed" no campo status.

Exemplo de requisição:

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6338670 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "canceled",
  "cancelReason": "cancellation_requested_by_manager"
}
'

🚧

Observação importante:

Não podem existir pessoas contratadas para vagas que serão canceladas.

Para atualizar uma vaga de status "congelada" para "cancelada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Verifique se o parâmetro cancelReason não está nulo.
  4. Insira o valor "canceled", para "cancelada"

Exemplo de requisição:

curl --request PATCH \
     --url https://api.gupy.io/api/v1/jobs/6298378 \
     --header 'accept: application/json' \
     --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "status": "canceled",
  "code": "6298378",
  "cancelReason": "cancellation_requested_by_manager"
}
'

🚧

Observação importante:

O encerramento de uma vaga só ocorre se o status atual da vaga for Publicada ou Congelada.
Após o encerramento não é possível reabrir essa vaga através da API Pública.

Para atualizar uma vaga de status "congelada" ou "publicada" para "encerrada"

  1. Acesse o endpoint Updating a job
  2. Passe o parâmetro de jobId (retornado após a criação da vaga e que também pode ser consultado utilizando o endpoint Listing Jobs passando o code ou name da vaga como filtro.
  3. Insira o valor "closed" no campo status.

ENVIO DO FEEDBACK (OPCIONAL)

Recomendamos que seja enviado um e-mail de feedback para as pessoas candidatas que não foram contratadas no processo seletivo, para tal ação é necessário seguir o procedimento:

  1. Criar um template de e-mail na plataforma com a devolutiva (o id desse template será utilizado no envio do e-mail através da integração, por isso o mesmo não poderá ser deletado, pois comprometeria o envio através da API).
  2. Após o encerramento da vaga, buscar pelas pessoas candidatas que não foram contratadas utilizando o endpoint: https://developers.gupy.io/reference/findapplications utilizando os parâmetros:
  • jobId: código da vaga que foi encerrada
  • status: “in_process”

Exemplo de requisição:

curl --request GET  
     --url '<https://api.gupy.io/api/v1/jobs/123456/applications?status=in_process&order=id%20asc&perPage=10&page=1'>  
     --header 'accept: application/json'  
     --header 'authorization: Bearer XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

Salvar todos os results.id para utilizar no passo 3:

  1. Enviar o e-mail de feedback através do endpoint create message utilizando os parâmetros abaixo:
  • jobId: código da vaga que foi encerrada
  • applicationId: (recuperado acima)
  • templateId: (Id do template que foi definido na plataforma).
  • allowReply: false - caso a pessoa não possa responder ao e-mail ("noreply")

Exemplo de requisição:

curl --request POST  
     --url <https://api.gupy.io/api/v1/jobs/123456/applications/3456783/messages>  
     --header 'accept: application/json'  
     --header 'authorization: Bearer XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'  
     --header 'content-type: application/json'  
     --data '  
{  
  "allowReply": false,  
  "templateId": 34562  
}'