cURL
curl --request GET \
--url https://api.cakto.com.br/public_api/webhook/event_history/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/webhook/event_history/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/webhook/event_history/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/webhook/event_history/",
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;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/webhook/event_history/")
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_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/webhook/event_history/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/webhook/event_history/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": 28127,
"app": {
"id": 925,
"status": "active",
"name": "Webhook App",
"url": "https://webhook.site/1b2a8cb1-74a8-4c92-9943-4d8558b1119c",
"products": [
"f947c21c-d8f0-41a1-a0a6-fede9f27b3ab",
"e1f68a26-24be-4e2a-9f2e-a3fa9cb2abe6"
],
"events": [
1,
2,
3
],
"fields": {
"secret": "8402b43f-c839-4090-bbd1-186725d185cd"
}
},
"url": "https://webhook.site/1b2a8cb1-74a8-4c92-9943-4d8558b1119c",
"payload": {
"data": {
"id": "b3df956e-1998-4322-b091-ac0c54f7b4ba",
"fbc": null,
"fbp": null,
"sck": null,
"card": {
"brand": null,
"holderName": "Teste Automatizado",
"lastDigits": "4242"
},
"fees": 6.62,
"offer": {
"id": "a8BcHrY",
"name": "Produto Farm",
"image": null,
"price": 5,
"currency": "BRL"
},
"refId": "4852F91",
"amount": 5,
"paidAt": "2025-11-06T16:01:55.741948-03:00",
"reason": null,
"status": "paid",
"address": {
"city": "Monte Carmelo",
"state": "MG",
"number": "123",
"street": "Rua A",
"country": "BR",
"zipcode": "38500000",
"complement": "",
"neighborhood": "Centro"
},
"product": {
"id": "cd287b31-d4b7-4e94-858a-96e05ce2f4a2",
"name": "Produto Farm",
"type": "unique",
"short_id": "42bruPi",
"supportEmail": "teste@teste.com",
"invoiceDescription": "213"
},
"checkout": 84183,
"customer": {
"id": 481920,
"name": "Teste Automatizado",
"email": "customer2@example.com",
"phone": "5534999999999",
"docType": "cpf",
"birthDate": null,
"docNumber": 9908807766
},
"discount": "0.00",
"due_date": null,
"shipping": null,
"utm_term": null,
"affiliate": "",
"createdAt": "2025-11-06T16:01:53.935243-03:00",
"baseAmount": 5,
"canceledAt": null,
"couponCode": null,
"offer_type": "main",
"refundedAt": null,
"utm_medium": null,
"utm_source": null,
"checkoutUrl": "https://pay.cakto.com.br/a8BcHrY",
"commissions": [
{
"type": "producer",
"user": "producer@example.com",
"percentage": 100,
"totalAmount": 2.36
}
],
"utm_content": null,
"installments": 1,
"parent_order": "",
"subscription": null,
"utm_campaign": null,
"chargedbackAt": null,
"paymentMethod": "credit_card",
"refund_reason": null,
"paymentMethodName": "Cartão de Crédito",
"subscription_period": null,
"charged_fees": "0.00",
"interest": null,
"additionalInstallmentInterest": "0.00"
},
"event": "purchase_approved",
"secret": "8402b43f-c839-4090-bbd1-186725d185cd"
},
"response": {
"error": {
"id": "",
"message": "Token \"1b2a8cb1-74a8-4c92-9943-4d8558b1119c\" not found"
},
"success": false
},
"event_id": "purchase_approved",
"event_name": "Compra aprovada",
"event_status": 404,
"scheduledAt": "2025-11-06T16:01:57.458330-03:00",
"dispatchedAt": "2025-11-06T16:01:58.458330-03:00",
"sentAt": "2025-11-06T16:01:57.458330-03:00"
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}Webhooks
Histórico de Eventos do Webhook
Lista o histórico de eventos dos webhooks associados ao usuário autenticado com suporte a filtros, busca e paginação
GET
/
public_api
/
webhook
/
event_history
/
cURL
curl --request GET \
--url https://api.cakto.com.br/public_api/webhook/event_history/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cakto.com.br/public_api/webhook/event_history/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cakto.com.br/public_api/webhook/event_history/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cakto.com.br/public_api/webhook/event_history/",
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;
}require 'uri'
require 'net/http'
url = URI("https://api.cakto.com.br/public_api/webhook/event_history/")
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_bodyHttpResponse<String> response = Unirest.get("https://api.cakto.com.br/public_api/webhook/event_history/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.cakto.com.br/public_api/webhook/event_history/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": 28127,
"app": {
"id": 925,
"status": "active",
"name": "Webhook App",
"url": "https://webhook.site/1b2a8cb1-74a8-4c92-9943-4d8558b1119c",
"products": [
"f947c21c-d8f0-41a1-a0a6-fede9f27b3ab",
"e1f68a26-24be-4e2a-9f2e-a3fa9cb2abe6"
],
"events": [
1,
2,
3
],
"fields": {
"secret": "8402b43f-c839-4090-bbd1-186725d185cd"
}
},
"url": "https://webhook.site/1b2a8cb1-74a8-4c92-9943-4d8558b1119c",
"payload": {
"data": {
"id": "b3df956e-1998-4322-b091-ac0c54f7b4ba",
"fbc": null,
"fbp": null,
"sck": null,
"card": {
"brand": null,
"holderName": "Teste Automatizado",
"lastDigits": "4242"
},
"fees": 6.62,
"offer": {
"id": "a8BcHrY",
"name": "Produto Farm",
"image": null,
"price": 5,
"currency": "BRL"
},
"refId": "4852F91",
"amount": 5,
"paidAt": "2025-11-06T16:01:55.741948-03:00",
"reason": null,
"status": "paid",
"address": {
"city": "Monte Carmelo",
"state": "MG",
"number": "123",
"street": "Rua A",
"country": "BR",
"zipcode": "38500000",
"complement": "",
"neighborhood": "Centro"
},
"product": {
"id": "cd287b31-d4b7-4e94-858a-96e05ce2f4a2",
"name": "Produto Farm",
"type": "unique",
"short_id": "42bruPi",
"supportEmail": "teste@teste.com",
"invoiceDescription": "213"
},
"checkout": 84183,
"customer": {
"id": 481920,
"name": "Teste Automatizado",
"email": "customer2@example.com",
"phone": "5534999999999",
"docType": "cpf",
"birthDate": null,
"docNumber": 9908807766
},
"discount": "0.00",
"due_date": null,
"shipping": null,
"utm_term": null,
"affiliate": "",
"createdAt": "2025-11-06T16:01:53.935243-03:00",
"baseAmount": 5,
"canceledAt": null,
"couponCode": null,
"offer_type": "main",
"refundedAt": null,
"utm_medium": null,
"utm_source": null,
"checkoutUrl": "https://pay.cakto.com.br/a8BcHrY",
"commissions": [
{
"type": "producer",
"user": "producer@example.com",
"percentage": 100,
"totalAmount": 2.36
}
],
"utm_content": null,
"installments": 1,
"parent_order": "",
"subscription": null,
"utm_campaign": null,
"chargedbackAt": null,
"paymentMethod": "credit_card",
"refund_reason": null,
"paymentMethodName": "Cartão de Crédito",
"subscription_period": null,
"charged_fees": "0.00",
"interest": null,
"additionalInstallmentInterest": "0.00"
},
"event": "purchase_approved",
"secret": "8402b43f-c839-4090-bbd1-186725d185cd"
},
"response": {
"error": {
"id": "",
"message": "Token \"1b2a8cb1-74a8-4c92-9943-4d8558b1119c\" not found"
},
"success": false
},
"event_id": "purchase_approved",
"event_name": "Compra aprovada",
"event_status": 404,
"scheduledAt": "2025-11-06T16:01:57.458330-03:00",
"dispatchedAt": "2025-11-06T16:01:58.458330-03:00",
"sentAt": "2025-11-06T16:01:57.458330-03:00"
}
]
}{
"detail": "As credenciais de autenticação não foram fornecidas."
}Escopo
read webhooks
Filtros Disponíveis
Filtros podem ser combinados para refinar ainda mais os resultados.Exemplo:
?event_id=purchase_approved&event_status=200 - Filtra eventos de compra aprovada que foram enviados com sucesso (status 200).Filtros por Identificação
Filtros por Identificação
id- Id do histórico do eventoapp_id- Id do app webhook
Suporte a múltiplos valores separados por vírgula.
?id=123,456 - Filtra históricos com Id 123 ou 456Filtros por Evento
Filtros por Evento
event_id-custom_iddo evento enviado
Suporte a múltiplos valores separados por vírgula.
?event_id=purchase_approved,subscription_created - Filtra eventos de compra aprovada e assinatura criadaFiltros por Status
Filtros por Status
event_status- Código de status HTTP da resposta do webhook
Suporte a operadores de comparação (
__gt, __gte, __lt, __lte)Status 200-299 indicam sucesso, 400-499 erros do cliente, 500-599 erros do servidor.
?event_status=200- Filtra eventos com status 200?event_status__gte=400- Filtra eventos com erros (status >= 400)
Filtros por Data de Envio
Filtros por Data de Envio
dispatchedAt- Data e hora em que o evento foi enviado
Suporte a operadores de comparação (
__gt, __gte, __lt, __lte)Formato de data:
YYYY-MM-DD ou ISO 8601 YYYY-MM-DDTHH:MM:SS±hh:mm?dispatchedAt__gte=2024-01-01&dispatchedAt__lt=2024-02-01 - Filtra eventos enviados em janeiro de 2024Busca
O endpoint suporta busca textual pelo parâmetrosearch nos seguintes campos:
app.name- Nome do webhookurl- URL de destino do webhookerrors- Mensagens de erro do evento
?search=timeout - Busca pelo texto “timeout” nos campos de busca.
Qualquer histórico de evento onde um dos campos contenha o texto timeout será retornado.
Ordenação
Você pode ordenar os resultados usando o parâmetroordering.
Campos suportados: event_id, dispatchedAt, scheduledAt, sentAt
Use o prefixo
- para ordenação decrescente.?ordering=-dispatchedAt - Ordena por data de envio (mais recentes primeiro)Authorizations
Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.
Query Parameters
Número de resultados a serem retornados por página.
Número da página a ser retornada.
Was this page helpful?