Webhook é o serviço de notificação sistêmica, que permite a integração assíncrona entre sistemas, notificando o outro sistema através de um gatilho.
Ao configurar um webhook você poderá utilizar alguns modelos de autenticação, que garantem maior confiança na fonte que está se comunicando com o seu endpoint.
O webhook possui uma função de Retry, a qual irá realizar uma nova tentativa a cada 5 segundos por 3 dias (quando a requisição será abandonada). Durante o período, todas as requisições deste webhook que falharem ficarão em fila, sendo apenas uma tentativa (desta configuração de webhook) a cada 5 segundo. Uma vez que o serviço receba o Ok de seu endpoint, as requisições serão liberadas em sequência, ou seja, uma de cada vez.
Caso o parâmetro unit não seja passado, o callback será executado para todas as filiais da empresa.
Authorization
Para proteger as requisições de callback do webhook, é possível selecionar três opções: basic , secret ou apiKey. Cada uma das opções requer configurações diferentes as quais você pode encontrar mais abaixo.
Chave
Tipo
Descrição
kind*
string (options)
Tipo da autenticação que será realizada.
data*
object
Configuração do tipo de autenticação escolhido.
Opções de kind
basic, secret, apiKey
Authorization: data (basic)
Na opção basic, o callback será executado com um header Authorization: basic <credenciais>. As credenciais serão o usuário e senha concatenados por dois pontos (:) e codificados em base64.
Chave
Tipo
Descrição
username*
string
Nome do usuário.
password*
string
Senha do usuário.
Authorization: data (secret)
Chave
Tipo
Descrição
secret*
string
Chave que assinará a requisição.
ApiKey: data (apiKey)
Na opção apiKey, o callback será executado com um header Authorization: <prefix> <key>. Onde o prefix é um campo opcional e key a chave da apiKey. Prefix e key são separados por um espaço em branco.
Chave
Tipo
Descrição
key*
string
Chave da apiKey
prefix
string
Prefixo opcional que pode acompanhar o valor da apiKey.
Data
Neste ponto serão cadastrados o gatilho ou "trigger" do webhook (motivo pelo qual a chamada do webhook acontecerá), e a URL a qual receberá este aviso.
Chave
Tipo
Descrição
url*
string
URL para a execução do callback. Aceito apenas
endereços HTTPS.
events*
Lista de eventos que este webhook irá acompanhar
para executar o callback.
Eventos monitorados
Os eventos que poderão ser acompanhados pelos webhooks são:
position-created (uma posição foi criada na empresa/filial configurada);
position-applied (um candidato aplicou em uma posição na empresa/filial configurada);
position-completed (uma posição foi concluída pela análise do Acesso RH ou manualmente pelo DP da empresa/filial configurada);
position-archived (uma posição foi arquivada pelo DP da empresa/filial configurada);
position-declined (uma posição que foi declinada da vaga).
Na opção secret, a intenção é que o recebedor consiga se certificar de que o callback recebido foi realizado pelo Acesso RH. Por isso, o callback será executado com um header Acesso-Signature: <assinatura>, sendo a assinatura um hash criado para cada payload. O Acesso RH utiliza um HMAC em conjunto com uma chave sha256 e o secret configurado para calcular e gerar esta assinatura, codificando-a em base64. O mesmo procedimento deve ser realizado na aplicação que receberá esta requisição, comparando a chave gerada e a presente no header. alguns exemplos de como criar esta verificação.