Saltar al contenido principal

Referencia de Transactions

Registrar Wallet

Registra un wallet en un blockchain para que pueda firmar y enviar transactions. Haz esto una vez por wallet por blockchain antes de enviar cualquier transaction.

Solicitud

POST /api/v1/transactions/register-wallet

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad
  • Content-Type: application/json

Cuerpo

  • walletAddress (requerido) — La dirección del wallet a registrar
  • blockchain (requerido) — El ID del blockchain en el que registrar
  • passphrase (opcional) — Solo necesario si el wallet fue creado con una passphrase

Respuesta

Devuelve el resultado de la transaction del node en caso de éxito.

curl -X POST \
'https://your-tms-url/api/v1/transactions/register-wallet' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
}'

Crear Transaction

Envía una transaction a un blockchain. El wallet debe estar ya registrado en el blockchain de destino antes de llamar a este endpoint. El TMS elige un node disponible de los nodes permitidos por tu clave de acceso y reenvía la transaction.

Solicitud

POST /api/v1/transactions

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad
  • Content-Type: application/json

Cuerpo

  • blockchainId (requerido) — ID del blockchain de destino
  • to (requerido) — Dirección del wallet destinatario
  • walletAddress — Dirección del wallet firmante
  • from — Dirección del wallet remitente
  • payload — Los datos a almacenar
  • payloadTypetext o json
  • passphrase — Solo si el wallet fue creado con una
  • metadata — Pares clave-valor opcionales

Respuesta

Devuelve el objeto de transaction incluyendo transactionId en caso de éxito.

Ejemplo de respuesta

{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"status": "pending",
"payload": "hello blockchain",
"payloadType": "text",
"from": "54677be3...",
"to": "54677be3..."
}
curl -X POST \
'https://your-tms-url/api/v1/transactions' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"blockchainId": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"from": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"to": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"payload": "hello blockchain",
"payloadType": "text"
}'

Obtener Transaction

Recupera el payload y los metadatos de una transaction específica por su ID y blockchain. Útil para verificar que una transaction se registró correctamente.

Solicitud

GET /api/v1/transactions/{blockchainId}/{transactionId}

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad

Parámetros de ruta

  • blockchainId — El blockchain al que se envió la transaction
  • transactionId — El ID devuelto cuando se creó la transaction

Respuesta

Devuelve el objeto completo de la transaction incluyendo payload, estado, altura de bloque y marcas de tiempo.

Ejemplo de respuesta

{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"payload": "hello blockchain",
"payloadType": "text",
"status": "confirmed",
"blockHeight": 2301,
"from": "54677be3...",
"to": "54677be3...",
"timestamp": {
"exactTime": "2026-05-25T19:00:00Z"
}
}
curl -X GET \
'https://your-tms-url/api/v1/transactions/{blockchainId}/{transactionId}' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'

Crear Transaction JSON

Envía una transaction cuyo payload es un objeto JSON estructurado. El TMS serializa el objeto en el blockchain. Úsalo cuando quieras almacenar registros legibles por máquina en lugar de texto plano.

Solicitud

POST /api/v1/transactions/json

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad
  • Content-Type: application/json

Cuerpo

  • blockchainId (requerido) — ID del blockchain de destino
  • to (requerido) — Dirección del wallet destinatario
  • payload (requerido) — Un objeto JSON para almacenar en la cadena
  • walletAddress (opcional) — Wallet firmante (por defecto igual a from)
  • from (opcional) — Dirección del wallet remitente
  • passphrase (opcional) — Solo si el wallet fue creado con una
  • metadata (opcional) — Pares clave-valor de cadena

Respuesta

{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"status": "pending",
"payloadType": "json"
}
curl -X POST \
'https://your-tms-url/api/v1/transactions/json' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"blockchainId": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"to": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"payload": { "event": "invoice_paid", "amount": 1500, "currency": "USD" }
}'

Crear Transaction de Texto

Envía una transaction cuyo payload es una cadena de texto plano. Idéntico aPOST /api/v1/transactions pero con tipo explícito — úsalo cuando quieras dejar claro en tu código que el payload es texto.

Solicitud

POST /api/v1/transactions/text

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad
  • Content-Type: application/json

Cuerpo

  • blockchainId (requerido) — ID del blockchain de destino
  • to (requerido) — Dirección del wallet destinatario
  • walletAddress (requerido) — Dirección del wallet firmante
  • from — Dirección del wallet remitente
  • payload — La cadena de texto a almacenar
  • payloadType — Debe ser "text"
  • passphrase (opcional) — Solo si el wallet fue creado con una
  • metadata (opcional) — Pares clave-valor de cadena

Respuesta

{
"transactionId": "a1b2c3d4e5f6...",
"blockchainId": "08c28f29...",
"status": "pending",
"payload": "hello blockchain",
"payloadType": "text"
}
curl -X POST \
'https://your-tms-url/api/v1/transactions/text' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"blockchainId": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"from": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"to": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"walletAddress": "54677be320b0bd704a99ee1f3d60c7309dfdee4810b1846d7b66ddbe0e84f585",
"payload": "hello blockchain",
"payloadType": "text"
}'

Obtener Historial de Transactions

Devuelve una lista paginada de transactions enviadas por tu entidad a través del TMS. Admite filtrado por estado, tipo de flujo, blockchain, remitente y destinatario.

Solicitud

GET /api/v1/transactions/history

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad

Parámetros de consulta

  • status (opcional) — Filtrar por estado, p. ej. pending, confirmed
  • flow_type (opcional) — Filtrar por tipo de flujo
  • blockchain_id (opcional) — Filtrar por blockchain específico
  • from (opcional) — Filtrar por dirección del wallet remitente
  • to (opcional) — Filtrar por dirección del wallet destinatario
  • page (opcional) — Número de página (por defecto: 0)
  • pageSize (opcional) — Resultados por página (por defecto: 20)

Respuesta

{
"items": [
{
"id": 1,
"transactionId": "a1b2c3...",
"blockchainId": "08c28f29...",
"status": "confirmed",
"payloadType": "text",
"from": "54677be3...",
"to": "54677be3...",
"createdAt": "2026-05-25T19:00:00Z"
}
],
"total": 1,
"page": 0,
"pageSize": 20
}
curl -X GET \
'https://your-tms-url/api/v1/transactions/history?status=confirmed&pageSize=10' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'

Obtener Entrada del Historial por ID

Recupera un único registro del historial de transactions por su ID interno del TMS (el campo id devuelto en la lista del historial). Es distinto deltransactionId en la cadena.

Solicitud

GET /api/v1/transactions/history/{id}

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad

Parámetros de ruta

  • id — El ID interno del registro de historial del TMS

Respuesta

{
"id": 42,
"transactionId": "a1b2c3...",
"blockchainId": "08c28f29...",
"status": "confirmed",
"payloadType": "text",
"from": "54677be3...",
"to": "54677be3...",
"createdAt": "2026-05-25T19:00:00Z"
}
curl -X GET \
'https://your-tms-url/api/v1/transactions/history/42' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'

Obtener Estado de Transaction en Cola

Verifica el estado de una transaction en la cola de envío para un blockchain dado. Usa esto para hacer polling cuando el TMS devuelve un ID de mensaje en lugar de un ID de transaction finalizado.

Solicitud

GET /api/v1/transactions/{blockchainId}/queue/{msgId}

Encabezados

  • X-AccessKey — Tu clave de acceso de entidad

Parámetros de ruta

  • blockchainId — El blockchain al que se envió la transaction
  • msgId — El ID del mensaje en cola devuelto durante el envío

Respuesta

{
"msgId": "msg-abc123",
"status": "pending",
"transactionId": "a1b2c3...",
"blockchainId": "08c28f29..."
}
curl -X GET \
'https://your-tms-url/api/v1/transactions/08c28f29.../queue/msg-abc123' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'