Criar uma Subscrição a um Evento
Este endpoint é utilizado para criar uma subscrição a eventos emitidos no Motor de Eventos da Catalisa. Esta subscrição permite que um usuário se inscreva para receber notificações de um evento específico.
Assim que um evento for emitido, a Catalisa enviará uma requisição HTTP POST para a URL configurada na subscrição, contendo os dados do evento no corpo da requisição.
IMPORTANTE
Uma resposta HTTP 200 OK é esperada para cada evento recebido.
Requisição
POST https://api-sandbox.catalisa.com.br/webhooks/api/v1/subscriptions
Escopos JWT: webhooks-engine/manage:subscriptions webhooks-engine/create:subscriptions
Cabeçalhos
Nome | Valor |
---|---|
Authorization | Bearer <token> |
Content-Type | application/json |
Corpo da Requisição
{
"data": {
"type": "subscriptions",
"attributes": {
"event": "document.status.signed",
"context": "doc-signature",
"name": "MEU_WEBHOOK",
"targetUrl": "https://exemplo.com.br/meus/callbacks"
}
}
}
Descrição dos campos
Campo | Tipo | Descrição |
---|---|---|
data.type | string | Tipo do recurso. Sempre "subscriptions" |
data.attributes.event | string | Nome do evento que será assinado |
data.attributes.context | string | Contexto do evento que será assinado |
data.attributes.name | string | Nome da subscrição |
data.attributes.targetUrl | string | URL que receberá as notificações |
Respostas
Código | Descrição |
---|---|
201 | Subscrição criada com sucesso. Retorna os dados da subscrição criada |
401 | Não autorizado |
Exemplos de uso
- Javascript
- CURL
const headers = new Headers();
headers.append("Authorization", "Bearer <token>");
headers.append("Content-Type", "application/json");
const body = JSON.stringify({
data: {
type: "subscriptions",
attributes: {
event: "document.status.signed",
context: "doc-signature",
targetUrl: "https://exemplo.com.br/meus/callbacks",
name: "MEU_WEBHOOK",
},
},
});
const requestOptions = {
method: "POST",
headers: headers,
body: body,
};
const response = await fetch(
"https://api-sandbox.catalisa.com.br/webhooks/api/v1/subscriptions",
requestOptions
);
const data = await response.json();
console.log(data);
curl --location --request POST 'https://api-sandbox.catalisa.com.br/webhooks/api/v1/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
--data-raw '{
data: {
type: "subscriptions",
attributes: {
event: "document.status.signed",
context: "doc-signature",
targetUrl: "https://exemplo.com.br/meus/callbacks",
name: "MEU_WEBHOOK",
},
},
}'
Exemplo de Sucesso
{
"links": {
"self": "https://api-sandbox.catalisa.com.br/webhooks/api/v1/subscriptions/3a396c21-f644-4013-8e06-470d59f3f719"
},
"data": {
"type": "subscriptions",
"id": "3a396c21-f644-4013-8e06-470d59f3f719",
"attributes": {
"event": "document.status.signed",
"name": "safra-signed-documents-callback",
"context": "doc-signature",
"state": "active",
"targetUrl": "https://exemplo.com.br/meus/callbacks"
}
}
}