Pular para o conteúdo

Webhooks

Webhooks do projeto: avisos por HTTP quando algo acontece.

Classe Webhooks: 6 métodos (0 no @owbase/web, 6 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.

Listar webhooks

SDK: só @owbase/node

Obtém a lista de todos os webhooks do projeto. Use os parâmetros de consulta para filtrar os resultados.

Parâmetro Tipo Obrigatório Descrição
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: name, url, authUsername, tls, events, enabled, logs, attempts
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo webhooks.read.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.list({
queries: [], // opcional
total: false, // opcional
});

Criar webhook

SDK: só @owbase/node

Cria um webhook. Use este endpoint para configurar uma URL que recebe eventos do Owbase quando determinados eventos acontecem.

Parâmetro Tipo Obrigatório Descrição
webhookId string sim ID do webhook. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
url string sim URL do webhook.
name string sim Nome do webhook. Tamanho máximo: 128 caracteres.
events string[] sim Lista de eventos. No máximo 100 eventos.
enabled boolean não Liga ou desliga o webhook.
tls boolean não Verificação do certificado: false para desligar, true para ligar.
authUsername string não Usuário HTTP do webhook. Tamanho máximo: 256 caracteres.
authPassword string não Senha HTTP do webhook. Tamanho máximo: 256 caracteres.
secret string não Chave secreta do webhook. Se não for informada, uma chave nova é gerada automaticamente. A chave precisa ter de 8 a 256 caracteres.

Acesso: chave de API com o escopo webhooks.write.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.create({
webhookId: '<WEBHOOK_ID>',
url: 'https://example.com/webhook',
name: '<NAME>',
events: ['users.*.create'],
enabled: false, // opcional
tls: false, // opcional
authUsername: '<AUTH_USERNAME>', // opcional
authPassword: 'password', // opcional
secret: '<SECRET>', // opcional
});

Obter webhook

SDK: só @owbase/node

Obtém um webhook pelo ID. Este endpoint devolve os detalhes de um webhook configurado no projeto.

Parâmetro Tipo Obrigatório Descrição
webhookId string sim ID do webhook.

Acesso: chave de API com o escopo webhooks.read.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.get({
webhookId: '<WEBHOOK_ID>',
});

Atualizar webhook

SDK: só @owbase/node

Atualiza um webhook pelo ID. Use este endpoint para atualizar a URL, os eventos ou o status de um webhook existente.

Parâmetro Tipo Obrigatório Descrição
webhookId string sim ID do webhook.
name string sim Nome do webhook. Tamanho máximo: 128 caracteres.
url string sim URL do webhook.
events string[] sim Lista de eventos. No máximo 100 eventos.
enabled boolean não Liga ou desliga o webhook.
tls boolean não Verificação do certificado: false para desligar, true para ligar.
authUsername string não Usuário HTTP do webhook. Tamanho máximo: 256 caracteres.
authPassword string não Senha HTTP do webhook. Tamanho máximo: 256 caracteres. Omita para manter a senha atual; ela é apagada quando a URL muda ou a verificação TLS é desligada.

Acesso: chave de API com o escopo webhooks.write.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.update({
webhookId: '<WEBHOOK_ID>',
name: '<NAME>',
url: 'https://example.com/webhook',
events: ['users.*.create'],
enabled: false, // opcional
tls: false, // opcional
authUsername: '<AUTH_USERNAME>', // opcional
authPassword: 'password', // opcional
});

Excluir webhook

SDK: só @owbase/node

Exclui um webhook pelo ID. Depois de excluído, o webhook deixa de receber os eventos do projeto.

Parâmetro Tipo Obrigatório Descrição
webhookId string sim ID do webhook.

Acesso: chave de API com o escopo webhooks.write.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.delete({
webhookId: '<WEBHOOK_ID>',
});

Atualizar chave secreta do webhook

SDK: só @owbase/node

Atualiza a chave de assinatura do webhook. Este endpoint serve para gerar de novo a chave usada para assinar e validar as entregas de um webhook.

Parâmetro Tipo Obrigatório Descrição
webhookId string sim ID do webhook.
secret string não Chave secreta do webhook. Se não for informada, uma chave nova é gerada automaticamente. A chave precisa ter de 8 a 256 caracteres.

Acesso: chave de API com o escopo webhooks.write.

@owbase/node
import { Client, Webhooks } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const webhooks = new Webhooks(client);
const result = await webhooks.updateSecret({
webhookId: '<WEBHOOK_ID>',
secret: '<SECRET>', // opcional
});

As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.