Configurar webhooks
Configurar o webhook do integrador
PUT https://apifiscal.weesy.com.br/v1/webhook
Abrir na referência interativaSó para integradores (token de parceiro). Define um endereço único que recebe os avisos de todas as suas empresas. Uma empresa pode ter um endereço próprio, que vale no lugar deste.
Exemplo de chamada
cURL
curl --request PUT \
--url "https://apifiscal.weesy.com.br/v1/webhook" \
--header "Authorization: Bearer $WEESY_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada"
],
"ativo": true
}'Node.js
const resposta = await fetch("https://apifiscal.weesy.com.br/v1/webhook", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada"
],
"ativo": true
}),
});
console.log(resposta.status, await resposta.text());Python
import os
import requests
resposta = requests.put(
"https://apifiscal.weesy.com.br/v1/webhook",
headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
json={
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada",
],
"ativo": True,
},
timeout=30,
)
print(resposta.status_code, resposta.text)PHP
<?php
$corpo = <<<'JSON'
{
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada"
],
"ativo": true
}
JSON;
$contexto = stream_context_create(["http" => [
"method" => "PUT",
"header" => implode("\r\n", ["Authorization: Bearer " . getenv("WEESY_TOKEN"), "Content-Type: application/json"]),
"content" => $corpo,
"ignore_errors" => true, // lê o corpo também nas respostas de erro
]]);
$resposta = file_get_contents("https://apifiscal.weesy.com.br/v1/webhook", false, $contexto);
echo $http_response_header[0], PHP_EOL, $resposta, PHP_EOL;C#
using System.Net.Http.Headers;
using System.Text;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));
var corpo = """
{
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada"
],
"ativo": true
}
""";
using var resposta = await http.PutAsync(
"https://apifiscal.weesy.com.br/v1/webhook",
new StringContent(corpo, Encoding.UTF8, "application/json"));
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");Corpo da requisição
| Campo | Tipo | Descrição |
|---|---|---|
| url obrigatório | string (uri) | O endereço do seu sistema que vai receber os avisos. Precisa ser |
| eventos obrigatório | array de string | Quais avisos você quer receber. Vazio = todos. |
| ativo obrigatório | boolean | Indica se esta configuração está habilitada para entrega. |
Exemplo
{
"url": "https://meusistema.com.br/weesy/avisos",
"eventos": [
"nfse.autorizada",
"nfse.rejeitada",
"nfse.cancelada"
],
"ativo": true
}Respostas
- 200: Gravada.
- 400: Algum dado está errado ou faltando. A lista erros diz qual campo e o que corrigir (code = validacao). (formato de erro)
- 401: Token ausente, errado ou revogado (credencialinvalida). Confira o cabeçalho Authorization. (formato de erro)
- 403: Você não tem permissão para esta operação com este tipo de token (escopoinsuficiente). Exemplo: o token de API de uma empresa tentando mudar o webhook do integrador. Regra geral: 404 quando o registro não existe ou não é seu; 403 quando a operação existe, mas o seu tipo de token não pode usá-la. (formato de erro)
Campos da resposta 200
| Campo | Tipo | Descrição |
|---|---|---|
| url obrigatório | string (uri) | O endereço do seu sistema que vai receber os avisos. Precisa ser |
| eventos obrigatório | array de string | Quais avisos você quer receber. Vazio = todos. |
| ativo obrigatório | boolean | Indica se esta configuração está habilitada para entrega. |