Campos Customizados de Vaga

O que é Campo Customizado?

Campos Customizados são campos que a empresa pode criar para que sejam preenchidos na tela de Dados Internos da Vaga ou via API Pública.

Como consultar Campos Customizados via API Pública?

Os Campos Customizados são presentes na configuração da empresa, em vagas e em templates.

Para consultar os Campos Customizados é possível utilizar as seguintes rotas:

Como os Campos Customizados são apresentados na API Pública?

Nas rotas listadas anteriormente, é possível encontrar a seguinte estrutura de dados para os Campos Customizados:

  • id: identificador do campo
  • required: se o campo é obrigatório ou não
  • label: título do campo
  • type: tipo do campo
  • order: ordem do campo
  • value: resposta do campo (caso houver)
  • enum: possíveis respostas disponíveis

Unicamente na estrutura de Campos do tipo Condicional temos algumas chaves extras:

  • conditionalOptions: é um array que armazena informações associadas a resposta do campo condicional, possuindo as chaves abaixo:
    • conditionalOption: a resposta no qual está associada do campo condicional
    • conditionalQuestions: as perguntas associadas que poderão ser respondidas caso a opção condicional acima seja escolhida

Abaixo um exemplo da estrutura de dados de Campos Customizados.

[
   {
      "id":"57e848a6-8e76-4f70-b72b-8833896f5c8a",
      "required":false,
      "label":"Você possui aprovação para essa vaga?",
      "type":"boolean",
      "order":1
   },
   {
      "id":"771d9680-00cc-4485-81cc-2a2fc2fc0581",
      "required":true,
      "label":"Qual o período?",
      "type":"select",
      "order":2,
      "enum":[
         "Manhã",
         "Tarde",
         "Noite"
      ],
      "value":"Manhã"
   },
   {
      "id":"123d9680-00cc-4485-81cc-2a2fc2fc0581",
      "required":false,
      "label":"Essa vaga foi requisitada internamente?",
      "type":"conditional",
      "order":3,
      "value":"Não",
      "enum":[
         "Sim",
         "Não"
      ],
      "conditionalOptions":[
         {
            "conditionalOption":"Sim",
            "conditionalQuestions":[
               {
                  "id":"42223321-8419-4532-8443-9d40bccc4190",
                  "required":false,
                  "label":"Quem requisitou a vaga?",
                  "type":"string",
                  "order":1
               }
            ]
         }
      ]
   }
]

Como responder Campos Customizados via API Pública?

É possível responder Campos Customizados de vagas nas seguintes rotas:

Para responder um Campo Customizado, é necessário enviar um array de objetos, onde em cada objeto deverá existir duas propriedades.

  • id: o identificador do campo que será respondido
  • value: a resposta para o campo
{
   "customFields":[
      {
         "id":"identificador-do-campo",
         "value":"resposta do campo"
      }
   ]
}

Para que uma resposta seja apagada, deverá ser ser enviado o id com o value sendo null.

Campo Customizável do tipo Condicional

O que é um Campo Condicional?

Um campo tipo Condicional é um Campo Customizado que possibilita a definição prévia de possíveis respostas para o campo - como se fosse um campo do tipo seleção simples.

O diferencial deste campo para o de seleção simples, é que nele é possível criar e associar novos campos a uma resposta especifica, que possibilitará ser respondido de acordo com a resposta realizada.

Um exemplo de Campo Condicional poderia ser uma pergunta do tipo: A vaga requer CNH?. Como resposta para essa pergunta, o campo proporciona a possibilidade de definição prévia das possíveis respostas, como por exemplo: Sim e Não. Diferente do campo de seleção simples, o Campo Condicional de acordo com a resposta efetuada para a pergunta, possibilita responder outros campos, que foram associados a resposta escolhida. Na criação de um campo do tipo Condicional, o usuário pode criar e fazer a associação das novas perguntas com as respostas existentes. Continuando no exemplo, caso seja respondida a opção Sim, será possível responder outras duas perguntas, como por exemplo: Qual o tipo da CNH necessária para a vaga?. Já se a resposta fosse Não, não existiria mais nenhuma pergunta associada.

No diagrama abaixo é possível observar uma ilustração do cenário explicado.

461

Cenário de campo condicional em uma vaga

Como um campo do tipo Condicional é apresentado na API Pública?

O diagrama acima possui a seguinte estrutura de dados:

{
   "id":"123d9680-00cc-4485-81cc-2a2fc2fc0581",
   "required":false,
   "label":"Essa vaga requer CNH?",
   "type":"conditional",
   "order":1,
   "value":"Sim",
   "enum":[
      "Sim",
      "Não"
   ],
   "conditionalOptions":[
      {
         "conditionalOption":"Sim",
         "conditionalQuestions":[
            {
               "id":"42223321-8419-4532-8443-9d40bccc4190",
               "required":false,
               "label":"Qual o tipo da CNH necessária?",
               "type":"select",
               "order":1,
               "value":"B",
               "enum":[
                  "A",
                  "B",
                  "C",
                  "D",
                  "E"
               ]
            }
         ]
      },
      {
         "conditionalOption":"Não",
         "conditionalQuestions":[
            
         ]
      }
   ]
}

Como responder um Campo Condicional na API Pública?

Como apresentado anteriormente, o mesmo padrão vale para perguntas do tipo Condicional, devendo seguir a mesma estrutura do customFields, passando o identificador (id) do Campo Condicional e a resposta para o campo (value).
Para os campos associados é o mesmo cenário, deverá responder o id e o value, porém, é preciso que opção correspondente do campo condicional para os campos associados esteja já preenchida, ou seja enviada em conjunto. Caso a resposta do campo condicional não for preenchida ou se responder um campo associado à outra resposta do campo condicional, a resposta não será considerada.

{
   "customFields":[
      {
         "id":"identificador-do-campo-condicional", // Essa vaga requer CNH?
         "value":"Sim"
      },
      {
         "id":"identificador-do-campo-associado", // Qual o tipo da CNH necessária?
         "value":"B"
      }
   ]
}

Para que uma resposta seja apagada, deverá ser ser enviado o id com o value sendo null. Caso a resposta campo condicional seja apagada, ou seu valor alterado para outra opção, as respostas dos campos associados à antiga opção também serão apagadas.

Integrações com campos condicionais

Conforme apresentado anteriormente, temos a seguinte estrutura exemplo de campos customizados condicionais:

{
   "id":"123d9680-00cc-4485-81cc-2a2fc2fc0581",
   "required":false,
   "label":"Essa vaga requer CNH?",
   "type":"conditional",
   "order":1,
   "value":"Sim",
   "enum":[
      "Sim",
      "Não"
   ],
   "conditionalOptions":[
      {
         "conditionalOption":"Sim",
         "conditionalQuestions":[
            {
               "id":"42223321-8419-4532-8443-9d40bccc4190",
               "required":false,
               "label":"Qual o tipo da CNH necessária?",
               "type":"select",
               "order":1,
               "value":"B",
               "enum":[
                  "A",
                  "B",
                  "C",
                  "D",
                  "E"
               ]
            }
         ]
      },
      {
         "conditionalOption":"Não",
         "conditionalQuestions":[
            
         ]
      }
   ]
}

Onde o "id":"123d9680-00cc-4485-81cc-2a2fc2fc0581" se refere ao id do campo principal e suas respectivas opções de seleção localizadas dentro do array enum [] e o id":"42223321-8419-4532-8443-9d40bccc4190" se refere ao campo criado a partir de uma das opções de seleção no caso a opção "Sim"

Exemplo prático:

No exemplo abaixo o campo Contrato de trabalho possui o id principal e os campos Escala de trabalho padrão, Escala de trabalho - flex e Escala de trabalho possuem cada qual seu id específico e assim ocorrerá para cada novo campo que possa ser criado a partir de uma opção de seleção.

Considere esse fator no mapeamento de campos da sua integração, pois no envio do webhook irá apenas o id correspondente ao campo que foi selecionado como resposta, mas como as respostas variam entre as vagas você poderá receber diferentes ids a cada integração.

Para conhecer todos os ids de todos os campos customizados que estão criados na plataforma consulte o endpoint listing custom fields of a company for job creation