Ir al contenido

Detalle de movimientos

GET/b2b/movements/{accountId}/{movementId}
GET

/b2b/transactions/detail

Devuelven el detalle completo de un movimiento: montos, tasa, costos, propósito y datos del beneficiario o remitente (nombre, documento, cuenta, banco y país). Endpoints de solo lectura del servicio business-api.

Esta guía explica cómo consultar el detalle de un movimiento una vez que ya tienes un token de acceso válido. Si todavía no sabes cómo obtenerlo, empieza por Autenticación.

Resumen

Hay dos formas de llegar al mismo detalle, según el dato con el que parta tu integración:

EndpointSe consulta conCuándo usarlo
GET /b2b/movements/{accountId}/{movementId}?productType=El id del movimiento que devuelve el listado de movimientosPartes del listado de movimientos de tu cuenta
GET /b2b/transactions/detail?externalReferenceId=El externalReferenceId que enviaste al crear el pagoPartes de un pago que creaste por API y quieres su detalle sin pasar por el listado

Ambos devuelven el mismo bloque de detalle para un mismo movimiento. El movementId de la respuesta es el mismo id del listado de movimientos, así que sirve para conciliar (en el endpoint por externalReferenceId puede faltar en remesas: revisa la sección 2).

URL base y autenticación

AmbienteURL base
Producciónhttps://api.global66.com/business-api

Los dos endpoints usan la misma credencial de API de tu empresa que ya usas para crear pagos con POST /b2b/transactions/payments. El token se obtiene con POST /b2b/auth (está explicado en Autenticación) y se envía en el header Authorization de cada request:

Copiar código

La IP de origen de tus llamadas debe estar en la lista de IPs permitidas de la credencial. Si no lo está, la autenticación responde 401. Revisa cómo configurarla en Credenciales.

1. Detalle por movementId

Consulta el detalle de un movimiento de una cuenta a partir del id que devuelve el listado. El accountId es el walletId que devuelve la consulta de cuentas.

GET/b2b/movements/{accountId}/{movementId}?productType={productType}

Parámetros

CampoTipoReq.Descripción
accountId
integer (path)
req
Cuenta de la empresa a la que pertenece el movimiento. Es el walletId que devuelve la consulta de cuentas GET /b2b/accounts. Va en el path. ej: 123456
movementId
integer (path)
req
Es el mismo id del movimiento tal como lo devuelve el listado GET /b2b/movements/{accountId}. Va en el path. ej: 845185
productType
string (query)
req
Producto al que pertenece el movimiento. Sale del campo productType del mismo movimiento en el listado. Los movimientos que el listado devuelve sin productType (por ejemplo, los fees) no son consultables. Va en la query.
REMITTANCEP2PEXCHANGEPAYIN
ej: REMITTANCE

Ejemplo de petición

Copiar código

Respuesta 200 OK

La forma de la respuesta es la misma para todos los productos; cambian algunos campos según el tipo de movimiento. Elige el caso que quieras ver:

Remesa de salida, con los datos completos del beneficiario.

Copiar código

2. Detalle por externalReferenceId

Consulta el detalle de un pago que creaste por API, usando el identificador que tú mismo enviaste al crearlo.

GET/b2b/transactions/detail?externalReferenceId={externalReferenceId}

Parámetros

CampoTipoReq.Descripción
externalReferenceId
string (query)
req
Identificador que enviaste al crear el pago con POST /b2b/transactions/payments. Va en la query y debes enviarlo codificado como URL (URL-encoded). ej: PAGO-2026-0001

Ejemplo de petición

Copiar código

Respuesta 200 OK

La respuesta envuelve el estado del pago por API. Cuando el pago terminó, incluye dentro de detail el mismo bloque de detalle del endpoint anterior. En remesas, detail.movementId es el mismo identificador que expone el listado de movimientos; si no se logra resolver, el detalle viaja igual pero sin ese campo.

Campos del envoltorio

CampoTipoDescripción
externalReferenceId
string
El identificador consultado. ej: PAGO-2026-0001
transactionId
integer
Id de la transacción por API, el mismo que devuelve POST /b2b/transactions/payments. ej: 395
operationType
string (enum)
Tipo de operación del pago.
REMITTANCEP2PEXCHANGE
ej: REMITTANCE
apiStatus
string (enum)
Estado del pago por API.
PENDINGPROCESSINGCOMPLETEDFAILED
ej: COMPLETED
detail
object
Detalle del movimiento, con el mismo formato del endpoint por movementId. Solo viene cuando apiStatus es COMPLETED.
Copiar código

Referencia de campos del detalle

Los campos sin valor no se envían. Por ejemplo, amountUsd o exchangeRateText no aparecen cuando el producto no los reporta. Tu integración debe tolerar que cualquiera de ellos falte.

CampoTipoDescripción
movementId
integer
Id del movimiento. Es el mismo id del listado de movimientos. ej: 845185
productType
string (enum)
Producto al que pertenece el movimiento.
REMITTANCEP2PEXCHANGEPAYIN
ej: REMITTANCE
status
string
Estado tal como lo reporta el producto de origen. ej: DATOS_VERIFICADOS
movementType
string
Tipo de movimiento, cuando el producto lo reporta. ej: P2P_PAYMENT_SENT
date
string (date-time)
Fecha de creación en UTC, con formato yyyy-MM-ddTHH:mm:ss. ej: 2026-09-15T18:39:13
origin
object
Origen del movimiento: amount, currency (ISO 4217) y amountUsd cuando está disponible.
destination
object
Destino del movimiento: amount, currency (ISO 4217) y amountUsd cuando está disponible.
exchangeRate
decimal
Tipo de cambio aplicado, en formato numérico. ej: 955.45001221
exchangeRateText
string
Tipo de cambio aplicado, en texto. ej: 1 CLP = 5,29 COP
fees
object
Costos del movimiento: total, currency e items[] con chargeType y amount.
discount
object
Descuento aplicado: amount y promotionCode.
purpose
object
Propósito del movimiento: description, code, originNumeral y destinyNumeral.
comment
string
Comentario ingresado por la empresa. ej: Pago factura 123
beneficiary
object
Datos de la contraparte: name, documentType, documentNumber, accountNumber, accountType, bankName y countryCode. En P2P solo vienen name y countryCode. No viene en PAYIN, que trae remitter.
remitter
object
Datos de quien envió el depósito, solo en PAYIN: name (nombre completo), documentType, documentNumber, accountNumber (cuenta de origen, tal como la reporta el banco), bankCode y bankName (banco de origen). Según lo que reporte el banco o el canal de ingreso; los que no vengan se omiten.

Bloque remitter

El bloque remitter solo viene en los movimientos PAYIN. Sus datos son los que reporta el banco o el canal de ingreso; los que no vengan se omiten, así que tu integración debe tolerar que falte cualquiera de ellos.

CampoTipoDescripción
name
string
Nombre completo de quien envió el depósito. ej: Juan Pérez
documentType
string
Tipo de documento de identidad de quien envió el depósito, por ejemplo RUT o NIT. ej: RUT
documentNumber
string
Número del documento de identidad. ej: 12345678-9
accountNumber
string
Cuenta de origen, tal como la reporta el banco. ej: 00000000000012345678
bankCode
string
Código del banco de origen. ej: 0507
bankName
string
Nombre del banco de origen. ej: Banco del Desarrollo

Errores

Los errores responden con el formato { "code": "...", "reason": "...", "source": "...", "hideModalError": false }. La excepción es el 401, que responde el API Gateway con otro formato.

CampoTipoDescripción
401
Unauthorized
Ambos endpoints. Falta el token o el token no es válido. Lo responde el API Gateway con el formato { "message": "Unauthorized" }.
400
REQUEST_PARAMETER_MISSING · 000602
Endpoint por movementId. Falta el parámetro productType.
400
BAD_REQUEST
Endpoint por movementId. productType vacío o con un valor distinto de REMITTANCE, P2P, EXCHANGE o PAYIN.
400
BAD_REQUEST
Endpoint por externalReferenceId. El externalReferenceId está ausente o en blanco.
404
NOT_FOUND
Endpoint por externalReferenceId. La referencia no existe o pertenece a otra empresa.
404
TRANSACTION_NOT_FOUND
Endpoint por externalReferenceId. La transacción está COMPLETED, pero el producto de origen no devuelve el detalle del movimiento.
404
TRANSACTION_NOT_FOUND
Endpoint por movementId. El movimiento no existe, pertenece a otra empresa o el productType no corresponde al movimiento.

Para saber qué errores reintentar y cuáles no, revisa Errores y reintentos.

Siguientes pasos

Usa la consulta de movimientos para obtener el id y el productType con los que pedir cada detalle, o revisa errores y reintentos para definir cómo tu integración reacciona a cada respuesta.