cURL
curl --request GET 'https://gyra-core.gyramais.com.br/v1/webhook/events' \
--header 'Authorization: Bearer <token>'const resposta = await fetch("https://gyra-core.gyramais.com.br/v1/webhook/events", {
method: "GET",
headers: { Authorization: `Bearer ${token}` },
});
const dados = await resposta.json();
import requests
resposta = requests.get(
"https://gyra-core.gyramais.com.br/v1/webhook/events",
headers={"Authorization": f"Bearer {token}"},
)
dados = resposta.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gyra-core.gyramais.com.br/v1/webhook/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://gyra-core.gyramais.com.br/v1/webhook/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gyra-core.gyramais.com.br/v1/webhook/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gyra-core.gyramais.com.br/v1/webhook/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"groups": [
{
"title": "Relatórios e crédito",
"events": [
"report.section.updated",
"report.finished",
"report.status.changed",
"report.exported",
"committee.finished",
"credit-policy.evaluated",
"operation.updated",
"optin.updated"
]
},
{
"title": "Documento",
"events": [
"registry.document.received",
"registry.document.progress",
"registry.document.assessed",
"registry.document.failed",
"registry.document.reprocessed",
"registry.document.decided"
]
},
{
"title": "Cadastro",
"events": [
"registry.updated",
"registry.financial.extracted"
]
},
{
"title": "Solicitação",
"events": [
"collection.created",
"collection.sent",
"collection.canceled",
"collection.completed",
"collection.expired"
]
},
{
"title": "Mensagens",
"events": [
"collection.message.sent",
"collection.message.reminded",
"collection.recipient.opened",
"collection.message.failed"
]
}
],
"events": [
"report.section.updated",
"report.finished",
"report.status.changed",
"report.exported",
"committee.finished",
"credit-policy.evaluated",
"operation.updated",
"optin.updated",
"registry.document.received",
"registry.document.assessed",
"collection.completed",
"collection.message.failed"
],
"eventLabels": {
"report.section.updated": "Seção do relatório atualizada",
"report.finished": "Relatório concluído",
"report.status.changed": "Relatório aprovado ou negado",
"report.exported": "PDF do relatório pronto",
"committee.finished": "Comitê de crédito concluiu a deliberação",
"credit-policy.evaluated": "Política de crédito avaliada",
"operation.updated": "Operação atualizada",
"optin.updated": "Opt-in atualizado"
}
}{
"code": 401,
"message": "Token de acesso inválido."
}{
"code": 403,
"message": "Você não tem permissão para acessar este recurso."
}{
"code": 500,
"message": "Internal server error"
}Webhook
Catálogo de Eventos
Para montar a sua tela de configuração sem fixar a lista de eventos no código.
GET
/
v1
/
webhook
/
events
cURL
curl --request GET 'https://gyra-core.gyramais.com.br/v1/webhook/events' \
--header 'Authorization: Bearer <token>'const resposta = await fetch("https://gyra-core.gyramais.com.br/v1/webhook/events", {
method: "GET",
headers: { Authorization: `Bearer ${token}` },
});
const dados = await resposta.json();
import requests
resposta = requests.get(
"https://gyra-core.gyramais.com.br/v1/webhook/events",
headers={"Authorization": f"Bearer {token}"},
)
dados = resposta.json()
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gyra-core.gyramais.com.br/v1/webhook/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://gyra-core.gyramais.com.br/v1/webhook/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gyra-core.gyramais.com.br/v1/webhook/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gyra-core.gyramais.com.br/v1/webhook/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"groups": [
{
"title": "Relatórios e crédito",
"events": [
"report.section.updated",
"report.finished",
"report.status.changed",
"report.exported",
"committee.finished",
"credit-policy.evaluated",
"operation.updated",
"optin.updated"
]
},
{
"title": "Documento",
"events": [
"registry.document.received",
"registry.document.progress",
"registry.document.assessed",
"registry.document.failed",
"registry.document.reprocessed",
"registry.document.decided"
]
},
{
"title": "Cadastro",
"events": [
"registry.updated",
"registry.financial.extracted"
]
},
{
"title": "Solicitação",
"events": [
"collection.created",
"collection.sent",
"collection.canceled",
"collection.completed",
"collection.expired"
]
},
{
"title": "Mensagens",
"events": [
"collection.message.sent",
"collection.message.reminded",
"collection.recipient.opened",
"collection.message.failed"
]
}
],
"events": [
"report.section.updated",
"report.finished",
"report.status.changed",
"report.exported",
"committee.finished",
"credit-policy.evaluated",
"operation.updated",
"optin.updated",
"registry.document.received",
"registry.document.assessed",
"collection.completed",
"collection.message.failed"
],
"eventLabels": {
"report.section.updated": "Seção do relatório atualizada",
"report.finished": "Relatório concluído",
"report.status.changed": "Relatório aprovado ou negado",
"report.exported": "PDF do relatório pronto",
"committee.finished": "Comitê de crédito concluiu a deliberação",
"credit-policy.evaluated": "Política de crédito avaliada",
"operation.updated": "Operação atualizada",
"optin.updated": "Opt-in atualizado"
}
}{
"code": 401,
"message": "Token de acesso inválido."
}{
"code": 403,
"message": "Você não tem permissão para acessar este recurso."
}{
"code": 500,
"message": "Internal server error"
}Quando usar
Para montar a sua tela de configuração sem fixar a lista de eventos no código. Evento novo aparece aqui no mesmo deploy em que passa a existir. A lista completa, com payload, está em Eventos de webhook.Contexto e vocabulário em Eventos de webhook. Autenticação, versionamento e capacidades em Visão geral da API.
Authorizations
Enter JWT token
Response
Grupos com titulo e a lista de nomes de evento, mais a lista plana.
Todos os nomes, em lista plana. Os de relatorio e credito vem primeiro.

