curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-DataHoraEvento: <x-datahoraevento>' \
--header 'X-NomeEvento: <x-nomeevento>' \
--data '
{
"cpfCnpjSolCancelamento": "<string>",
"dtInicialRecorrencia": "<string>",
"idCancelamento": "<string>",
"idRecorrencia": "<string>",
"motivoCancelamento": 123,
"nrContrato": "<string>",
"pagador": {
"cpfCnpj": "<string>",
"ispb": "<string>",
"nrConta": "<string>",
"tpPessoa": 123,
"codMunIbge": 123,
"nrAgencia": "<string>"
},
"recebedor": {
"cnpj": "<string>",
"ispb": "<string>",
"nome": "<string>"
},
"stCancelamento": 123,
"tpFrequencia": 123,
"tpPessoaSol": 123,
"codigoErro": "<string>",
"descCodigoErro": "<string>",
"descContrato": "<string>",
"dtFinalRecorrencia": "<string>",
"dtHrCancelamento": "<string>",
"dtHrCriacaoRecorrencia": "<string>",
"valor": 123
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered"
payload = {
"cpfCnpjSolCancelamento": "<string>",
"dtInicialRecorrencia": "<string>",
"idCancelamento": "<string>",
"idRecorrencia": "<string>",
"motivoCancelamento": 123,
"nrContrato": "<string>",
"pagador": {
"cpfCnpj": "<string>",
"ispb": "<string>",
"nrConta": "<string>",
"tpPessoa": 123,
"codMunIbge": 123,
"nrAgencia": "<string>"
},
"recebedor": {
"cnpj": "<string>",
"ispb": "<string>",
"nome": "<string>"
},
"stCancelamento": 123,
"tpFrequencia": 123,
"tpPessoaSol": 123,
"codigoErro": "<string>",
"descCodigoErro": "<string>",
"descContrato": "<string>",
"dtFinalRecorrencia": "<string>",
"dtHrCancelamento": "<string>",
"dtHrCriacaoRecorrencia": "<string>",
"valor": 123
}
headers = {
"X-DataHoraEvento": "<x-datahoraevento>",
"X-NomeEvento": "<x-nomeevento>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-DataHoraEvento': '<x-datahoraevento>',
'X-NomeEvento': '<x-nomeevento>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cpfCnpjSolCancelamento: '<string>',
dtInicialRecorrencia: '<string>',
idCancelamento: '<string>',
idRecorrencia: '<string>',
motivoCancelamento: 123,
nrContrato: '<string>',
pagador: {
cpfCnpj: '<string>',
ispb: '<string>',
nrConta: '<string>',
tpPessoa: 123,
codMunIbge: 123,
nrAgencia: '<string>'
},
recebedor: {cnpj: '<string>', ispb: '<string>', nome: '<string>'},
stCancelamento: 123,
tpFrequencia: 123,
tpPessoaSol: 123,
codigoErro: '<string>',
descCodigoErro: '<string>',
descContrato: '<string>',
dtFinalRecorrencia: '<string>',
dtHrCancelamento: '<string>',
dtHrCriacaoRecorrencia: '<string>',
valor: 123
})
};
fetch('https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered', 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://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cpfCnpjSolCancelamento' => '<string>',
'dtInicialRecorrencia' => '<string>',
'idCancelamento' => '<string>',
'idRecorrencia' => '<string>',
'motivoCancelamento' => 123,
'nrContrato' => '<string>',
'pagador' => [
'cpfCnpj' => '<string>',
'ispb' => '<string>',
'nrConta' => '<string>',
'tpPessoa' => 123,
'codMunIbge' => 123,
'nrAgencia' => '<string>'
],
'recebedor' => [
'cnpj' => '<string>',
'ispb' => '<string>',
'nome' => '<string>'
],
'stCancelamento' => 123,
'tpFrequencia' => 123,
'tpPessoaSol' => 123,
'codigoErro' => '<string>',
'descCodigoErro' => '<string>',
'descContrato' => '<string>',
'dtFinalRecorrencia' => '<string>',
'dtHrCancelamento' => '<string>',
'dtHrCriacaoRecorrencia' => '<string>',
'valor' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-DataHoraEvento: <x-datahoraevento>",
"X-NomeEvento: <x-nomeevento>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered"
payload := strings.NewReader("{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-DataHoraEvento", "<x-datahoraevento>")
req.Header.Add("X-NomeEvento", "<x-nomeevento>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered")
.header("X-DataHoraEvento", "<x-datahoraevento>")
.header("X-NomeEvento", "<x-nomeevento>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-DataHoraEvento"] = '<x-datahoraevento>'
request["X-NomeEvento"] = '<x-nomeevento>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}Recibir un evento de registro de cancelación de autorización de Pix Automático
Recibe el evento push del upstream: una reentrega asíncrona del registro de cancelación. Reutiliza el caso de uso de registro entrante 5.2.5 (Aceito cancela + elimina de forma lógica; Rejeitado es solo acuse). Idempotente: una reentrega sobre un registro ya cancelado es sin efecto. Sin cuerpo de respuesta.
curl --request POST \
--url https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-DataHoraEvento: <x-datahoraevento>' \
--header 'X-NomeEvento: <x-nomeevento>' \
--data '
{
"cpfCnpjSolCancelamento": "<string>",
"dtInicialRecorrencia": "<string>",
"idCancelamento": "<string>",
"idRecorrencia": "<string>",
"motivoCancelamento": 123,
"nrContrato": "<string>",
"pagador": {
"cpfCnpj": "<string>",
"ispb": "<string>",
"nrConta": "<string>",
"tpPessoa": 123,
"codMunIbge": 123,
"nrAgencia": "<string>"
},
"recebedor": {
"cnpj": "<string>",
"ispb": "<string>",
"nome": "<string>"
},
"stCancelamento": 123,
"tpFrequencia": 123,
"tpPessoaSol": 123,
"codigoErro": "<string>",
"descCodigoErro": "<string>",
"descContrato": "<string>",
"dtFinalRecorrencia": "<string>",
"dtHrCancelamento": "<string>",
"dtHrCriacaoRecorrencia": "<string>",
"valor": 123
}
'import requests
url = "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered"
payload = {
"cpfCnpjSolCancelamento": "<string>",
"dtInicialRecorrencia": "<string>",
"idCancelamento": "<string>",
"idRecorrencia": "<string>",
"motivoCancelamento": 123,
"nrContrato": "<string>",
"pagador": {
"cpfCnpj": "<string>",
"ispb": "<string>",
"nrConta": "<string>",
"tpPessoa": 123,
"codMunIbge": 123,
"nrAgencia": "<string>"
},
"recebedor": {
"cnpj": "<string>",
"ispb": "<string>",
"nome": "<string>"
},
"stCancelamento": 123,
"tpFrequencia": 123,
"tpPessoaSol": 123,
"codigoErro": "<string>",
"descCodigoErro": "<string>",
"descContrato": "<string>",
"dtFinalRecorrencia": "<string>",
"dtHrCancelamento": "<string>",
"dtHrCriacaoRecorrencia": "<string>",
"valor": 123
}
headers = {
"X-DataHoraEvento": "<x-datahoraevento>",
"X-NomeEvento": "<x-nomeevento>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-DataHoraEvento': '<x-datahoraevento>',
'X-NomeEvento': '<x-nomeevento>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cpfCnpjSolCancelamento: '<string>',
dtInicialRecorrencia: '<string>',
idCancelamento: '<string>',
idRecorrencia: '<string>',
motivoCancelamento: 123,
nrContrato: '<string>',
pagador: {
cpfCnpj: '<string>',
ispb: '<string>',
nrConta: '<string>',
tpPessoa: 123,
codMunIbge: 123,
nrAgencia: '<string>'
},
recebedor: {cnpj: '<string>', ispb: '<string>', nome: '<string>'},
stCancelamento: 123,
tpFrequencia: 123,
tpPessoaSol: 123,
codigoErro: '<string>',
descCodigoErro: '<string>',
descContrato: '<string>',
dtFinalRecorrencia: '<string>',
dtHrCancelamento: '<string>',
dtHrCriacaoRecorrencia: '<string>',
valor: 123
})
};
fetch('https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered', 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://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'cpfCnpjSolCancelamento' => '<string>',
'dtInicialRecorrencia' => '<string>',
'idCancelamento' => '<string>',
'idRecorrencia' => '<string>',
'motivoCancelamento' => 123,
'nrContrato' => '<string>',
'pagador' => [
'cpfCnpj' => '<string>',
'ispb' => '<string>',
'nrConta' => '<string>',
'tpPessoa' => 123,
'codMunIbge' => 123,
'nrAgencia' => '<string>'
],
'recebedor' => [
'cnpj' => '<string>',
'ispb' => '<string>',
'nome' => '<string>'
],
'stCancelamento' => 123,
'tpFrequencia' => 123,
'tpPessoaSol' => 123,
'codigoErro' => '<string>',
'descCodigoErro' => '<string>',
'descContrato' => '<string>',
'dtFinalRecorrencia' => '<string>',
'dtHrCancelamento' => '<string>',
'dtHrCriacaoRecorrencia' => '<string>',
'valor' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-DataHoraEvento: <x-datahoraevento>",
"X-NomeEvento: <x-nomeevento>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered"
payload := strings.NewReader("{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-DataHoraEvento", "<x-datahoraevento>")
req.Header.Add("X-NomeEvento", "<x-nomeevento>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered")
.header("X-DataHoraEvento", "<x-datahoraevento>")
.header("X-NomeEvento", "<x-nomeevento>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/events/authorization-cancellation-registered")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-DataHoraEvento"] = '<x-datahoraevento>'
request["X-NomeEvento"] = '<x-nomeevento>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cpfCnpjSolCancelamento\": \"<string>\",\n \"dtInicialRecorrencia\": \"<string>\",\n \"idCancelamento\": \"<string>\",\n \"idRecorrencia\": \"<string>\",\n \"motivoCancelamento\": 123,\n \"nrContrato\": \"<string>\",\n \"pagador\": {\n \"cpfCnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nrConta\": \"<string>\",\n \"tpPessoa\": 123,\n \"codMunIbge\": 123,\n \"nrAgencia\": \"<string>\"\n },\n \"recebedor\": {\n \"cnpj\": \"<string>\",\n \"ispb\": \"<string>\",\n \"nome\": \"<string>\"\n },\n \"stCancelamento\": 123,\n \"tpFrequencia\": 123,\n \"tpPessoaSol\": 123,\n \"codigoErro\": \"<string>\",\n \"descCodigoErro\": \"<string>\",\n \"descContrato\": \"<string>\",\n \"dtFinalRecorrencia\": \"<string>\",\n \"dtHrCancelamento\": \"<string>\",\n \"dtHrCriacaoRecorrencia\": \"<string>\",\n \"valor\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}Autorizaciones
Autenticación con token JWT Bearer. Obtén el token desde el endpoint /v1/login/oauth/access_token
usando credenciales de cliente (clientId y clientSecret).
Incluye el token en el encabezado Authorization:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
El token expira después de 3600 segundos (1 hora).
Encabezados
Bearer access token (the financial-ingress gate; the handler fails closed with Pix-0082 when absent). Token de acceso Bearer (la puerta de ingreso financiero; el handler falla en modo cerrado con Pix-0082 cuando está ausente).
Event registration instant (UTC: aaaa-mm-ddTHH:mm:ss.sssZ). Mandatory per Instante de registro del evento (UTC: aaaa-mm-ddTHH:mm:ss.sssZ). Obligatorio.
Event name. Mandatory per; informational passthrough. Nombre del evento. Obligatorio; dato de paso informativo.
Cuerpo
CPF/CNPJ del solicitante (una cadena v5.5.0).
Fecha del primer pago (aaaa-mm-dd).
Id de cancelación único (29 caracteres, IC...).
Id de recurrencia único (29 caracteres, RR...).
Motivo de cancelación (0..10).
Identificador de contrato/orden (35 caracteres).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Estado de la cancelación (0=Aceito, 1=Rejeitado).
Periodicidad de la recurrencia (0..4).
Tipo de persona del solicitante (0=PF, 1=PJ).
Código de error del upstream (100 caracteres; en una cancelación rechazada).
Descripción del error del upstream (1000 caracteres).
Descripción de contrato de texto libre (35 caracteres).
Show child attributes
Show child attributes
Fecha del último pago (aaaa-mm-dd).
Marca de tiempo de la cancelación (UTC).
Marca de tiempo de creación de la recurrencia (UTC).
Monto fijo del pago en reales (un número JSON).
Respuesta
Sin contenido
¿Esta página le ayudó?

