Ir al contenido

↑↓ navegar ↵ abrir Ctrl↵ nueva pestaña esc cerrar

Adjunta un registro de evidencia a una transacción ya enviada a Rapid.

POST https://api.rapidchargeback.com/api/v1/evidence

Basic Auth con client_id:client_secret. Ver Autenticación.

Authorization: Basic base64(client_id:client_secret)
Content-Type: application/json
CampoTipoDescripciónObligatorio
transaction_idstring (UUID)ID de la transacción en Rapid, devuelto cuando la creasteSí, o transaction_ref
transaction_refobjetoAlternativa a transaction_id: apunta a la transacción por tu identificador. Ver abajoSí, o transaction_id
typestring (enum)Naturaleza del hecho registrado. Valores aceptados abajoSí
payloadobjetoLos datos del hecho. Formato libre, tope de 32 KBSí
captured_atstring (ISO 8601 con offset)Cuándo ocurrió el hecho en tu sistema, no cuándo lo envíasSí

Informa uno de los dos: transaction_id o transaction_ref. Si faltan los dos, la respuesta es 422.

CampoTipoDescripciónObligatorio
external_sourcestringEl mismo origen que usaste al crear la transacción (ej.: "shopify")Sí
external_idstringEl mismo ID de tu sistema que usaste al crear la transacciónSí
ValorCuándo usar
terms_acceptanceEl cliente aceptó términos, política o contrato
access_logEl cliente accedió al producto o al área con sesión iniciada
delivery_confirmationEntrega confirmada
usage_logUso efectivo del producto o servicio
communicationIntercambio con el cliente (e-mail, chat, ticket)
otherCualquier hecho que no encaje en los anteriores

Formato libre: tú decides las claves. La única regla es el tope de 32 KB en el JSON serializado: la evidencia es un registro, no un archivo.

Sugerencias por tipo, no obligatorias:

// terms_acceptance
{ "accepted_at": "2026-04-01T15:29:40Z", "terms_version": "v3.2", "ip": "203.0.113.10" }
// access_log
{ "first_access_at": "2026-04-01T16:02:11Z", "sessions": 3 }
// delivery_confirmation
{ "carrier": "correios", "tracking": "AA123456789BR", "delivered_at": "2026-04-03T11:20:00Z" }
ReglaRespuesta
Ni transaction_id ni transaction_ref422 VALIDATION_ERROR: transaction_id or transaction_ref is required
type fuera del enum422 VALIDATION_ERROR con la lista de valores aceptados
captured_at sin offset de zona horaria422 VALIDATION_ERROR: Invalid datetime
payload serializado de más de 32 KB422 VALIDATION_ERROR: payload exceeds 32KB: evidence is a record, not a file
La transacción no existe, o no es de tu empresa404 TRANSACTION_NOT_FOUND
Credencial ausente o inválida401 UNAUTHORIZED

La transacción siempre se resuelve dentro de tu empresa. Un ID de transacción de otra empresa responde 404, nunca 403: no confirmamos la existencia de datos ajenos.

Ventana de terminal
curl -X POST https://api.rapidchargeback.com/api/v1/evidence \
-H "Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "00000000-0000-0000-0000-000000000042",
"type": "terms_acceptance",
"payload": {
"accepted_at": "2026-04-01T15:29:40Z",
"terms_version": "v3.2",
"ip": "203.0.113.10"
},
"captured_at": "2026-04-01T15:29:41Z"
}'

Por tu propio identificador, sin guardar el UUID de Rapid:

Ventana de terminal
curl -X POST https://api.rapidchargeback.com/api/v1/evidence \
-H "Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=" \
-H "Content-Type: application/json" \
-d '{
"transaction_ref": { "external_source": "shopify", "external_id": "TXN-2026-001" },
"type": "access_log",
"payload": { "first_access_at": "2026-04-01T16:02:11Z", "sessions": 3 },
"captured_at": "2026-04-01T16:02:12Z"
}'
{
"data": {
"id": "00000000-0000-0000-0000-0000000000e1",
"transaction_id": "00000000-0000-0000-0000-000000000042",
"type": "terms_acceptance"
}
}

El id devuelto es el de la evidencia. Guárdalo solo si vas a referenciarla; para listar, la clave es la transacción.

Error: referencia de la transacción ausente (422)

Sección titulada «Error: referencia de la transacción ausente (422)»
{
"error": {
"code": "VALIDATION_ERROR",
"message": "transaction_id or transaction_ref is required"
}
}
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid enum value. Expected 'terms_acceptance' | 'access_log' | 'delivery_confirmation' | 'usage_log' | 'communication' | 'other', received 'nao_existe'"
}
}
{
"error": {
"code": "TRANSACTION_NOT_FOUND",
"message": "Transaction not found"
}
}
{
"error": {
"code": "VALIDATION_ERROR",
"message": "payload exceeds 32KB: evidence is a record, not a file"
}
}