curl --request POST \
--url https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook \
--header 'X-Api-Client-Token: <api-key>'import requests
url = "https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook"
headers = {"X-Api-Client-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Client-Token': '<api-key>'}};
fetch('https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook', 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://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Api-Client-Token: <api-key>"
],
]);
$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://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Api-Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook")
.header("X-Api-Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Reenvio do webhook solicitado.",
"data": {
"hash": "TPC4A2F1503K9Z",
"event": "transaction_updated",
"status": "authorized",
"subscription_code": "TS7QK4M2XJ9BVN5RLD3W",
"replay": true,
"requested_at": "2026-10-16T12:00:00-03:00"
}
}Reenviar webhook de uma fatura
Pede o reenvio do webhook transaction_updated de uma fatura (cobrança) da assinatura,
para quando a notificação original não foi recebida ou processada.
O webhook sai com o estado atual da cobrança, não com o histórico: previous_status
vem null e o envelope traz metadata.replay: true e
metadata.replay_reason: "manual_resend". A entrega é assíncrona e segue as regras
normais (endpoint configurado em client-settings, assinatura HMAC, retentativas).
Nada é alterado na cobrança nem na assinatura.
Exige que o cliente assine o evento transaction_updated e esteja com os webhooks
ativos; caso contrário devolve 422.
Limite: 2 reenvios por minuto por cobrança e 30 por minuto por produtor. Acima disso a resposta é 429. Para conciliar em lote, use a listagem de faturas e reenvie só as que faltam.
O token
Authorization: Bearerdeve ser do produtor do pedido.
curl --request POST \
--url https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook \
--header 'X-Api-Client-Token: <api-key>'import requests
url = "https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook"
headers = {"X-Api-Client-Token": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-Api-Client-Token': '<api-key>'}};
fetch('https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook', 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://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-Api-Client-Token: <api-key>"
],
]);
$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://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-Api-Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook")
.header("X-Api-Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://nexus.ticto.com.br/api/v1/financial/subscriptions/{subscription_code}/invoices/{transaction_hash}/resend-webhook")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Reenvio do webhook solicitado.",
"data": {
"hash": "TPC4A2F1503K9Z",
"event": "transaction_updated",
"status": "authorized",
"subscription_code": "TS7QK4M2XJ9BVN5RLD3W",
"replay": true,
"requested_at": "2026-10-16T12:00:00-03:00"
}
}Authorizations
Token de autenticação do cliente obtido via endpoint /auth
Path Parameters
Código da assinatura
Hash da cobrança (campo hash da fatura)
^[A-Za-z0-9]+$