Webhooks
Criação e listagem de webhooks
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.
Create webhook
POST
https://api.acessorh.com.br/v1/integrations/webhook
Cria uma integração via webhook que é disparado para a api cadastrada quando determinados eventos relacionados a posição ocorrerem.
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Descrição do body JSON da request
account*
string
UID da empresa desejada.
unit
string
UID da filial desejada.
authorization
object
Método de autenticação a ser realizado.
data*
object
Configuração do callback que será realizado.
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
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)
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. Aqui alguns exemplos de como criar esta verificação.
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.
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).
Exemplos de requisição
Calcular assinatura do payload
Abaixo, seguem alguns exemplos de códigos para calcular a assinatura do payload quando a opção secret for configurada nos webhooks:
C#
Go
Java
Python 3
Exemplo de callback
Headers
Header
Descrição
Acesso-Delivery-Id
UID do callback
Acesso-Signature
Caso a opção Secret tenha sido selecionada em
Authorization, armazena a assinatura do body da requisição
Authorization
Caso a opção Basic ou ApiKey tenha sido selecionada em Authorization. Para Basic esse header armazena o usuário e senha concatenados e
codificados em base64, enquanto para ApiKey será a própria key pura com o prefixo caso tenha sido cadastrado.
Content-Type
Identifica o tipo do body da requisição
Body
Update webhook
PUT
https://api.acessorh.com.br/v1/integrations/webhook
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Descrição do body JSON da request
Chave
Tipo
Descrição
id*
string
UID do webhook a ser atualizado.
account*
string
UID da empresa do webhook a ser atualizado.
unit*
string
UID da filial a ser atualizado no webhook.
authorization*
object
Método de autenticação a ser atualizado.
data*
object
Configurações do webhook que serão atualizados.
Para atualização, pelo menos um dos campos unit
, authorization
edata
deverão ser preenchidos.
Qualquer um dos campos unit
, authorization
e data
, caso não preenchidos, manterão as informações anteriores.
List webhooks
GET
https://api.acessorh.com.br/v1/integrations/webhooks
Query Parameters
account*
string
UID da empresa onde os webhooks serão listados.
skip
integer
Indica a quantidade de webhooks que serão pulados (paginação).
limit
integer
Limite de webhooks que serão listados (paginação).
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Caso não seja inserido os parâmetros limit
e skip
, os valores padrões serão, respectivamente, 100 e 0.
O parâmetro limit
tem o seu valor máximo como 100.
Delete webhook
DELETE
https://api.acessorh.com.br/v1/integrations/webhook
Query Parameters
uid*
string
UID do webhook a ser removido.
account*
string
UID da empresa onde o webhook será removido.
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Ping webhook
POST
https://api.acessorh.com.br/v1/integrations/webhook/ping
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Descrição do body JSON da request
Chave
Tipo
Descrição
id*
string
UID do webhook que será testado.
account*
string
UID da empresa do webhook que será testado.
Exemplo de requisição
List webhook deliveries
GET
https://api.acessorh.com.br/v1/integrations/webhook/deliveries
Query Parameters
uid*
string
UID do webhook onde as entregas serão listadas.
account**
string
UID da empresa na qual o webhook pertence.
skip
string
Indica a quantidade de entregas que serão puladas (paginação)
limit
string
Limite de entregas que serão listadas (paginação)
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Get webhook delivery
GET
https://api.acessorh.com.br/v1/integrations/webhook/delivery
Query Parameters
uid*
string
UID da entrega a ser exibida.
account*
string
UID da empresa do webhook do qual a entrega solicitada pertence.
Headers
Authorization*
string
Token de acesso adquirido pela plataforma Identity (bearer).
Atualizado
Isto foi útil?