curl -X POST https://consola.mouvlatam.com/api/transfers/quote \
-H "Authorization: Bearer mvk_..." \
-H "Content-Type: application/json" \
-d '{ "amount": 100000, "keyType": "PHONE", "keyValue": "3115551234" }'
const quote = await fetch('https://consola.mouvlatam.com/api/transfers/quote', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MOUV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ amount: 100000, keyValue: '3115551234' }),
}).then(r => r.json());
if (!quote.canAfford) {
throw new Error(`Saldo insuficiente: ${quote.message}`);
}
console.log(`Total a debitar: ${quote.totalCost / 100} COP`);
{
"amount": 100000,
"currentBalance": 5000000,
"feeBreakdown": {
"fixedFee": 1100,
"variableFee": 0,
"subtotalFee": 1100,
"ivaApplicable": true,
"ivaAmount": 209,
"totalCharged": 1309
},
"totalCost": 101309,
"canAfford": true,
"message": null
}
Retiros (Outflows)
POST /transfers/quote (BREB)
Cotizar transferencia BREB sin comprometer fondos
POST
/
api
/
transfers
/
quote
curl -X POST https://consola.mouvlatam.com/api/transfers/quote \
-H "Authorization: Bearer mvk_..." \
-H "Content-Type: application/json" \
-d '{ "amount": 100000, "keyType": "PHONE", "keyValue": "3115551234" }'
const quote = await fetch('https://consola.mouvlatam.com/api/transfers/quote', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MOUV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ amount: 100000, keyValue: '3115551234' }),
}).then(r => r.json());
if (!quote.canAfford) {
throw new Error(`Saldo insuficiente: ${quote.message}`);
}
console.log(`Total a debitar: ${quote.totalCost / 100} COP`);
{
"amount": 100000,
"currentBalance": 5000000,
"feeBreakdown": {
"fixedFee": 1100,
"variableFee": 0,
"subtotalFee": 1100,
"ivaApplicable": true,
"ivaAmount": 209,
"totalCharged": 1309
},
"totalCost": 101309,
"canAfford": true,
"message": null
}
Calcula comisión, IVA y total a debitar de tu wallet BREB para una transferencia. No reserva fondos.
Scope requerido:
WRITE
Body
number
required
Monto BRUTO a transferir en centavos (no incluye fee/IVA). Mínimo 100 (= 1COP),maˊximoseguˊncapindividualBREB(12M COP = 1_200_000_000 centavos).
string
required
Llave Bre-B destino (idéntico shape al de
/resolve-key).string
required
PHONE, EMAIL, ALPHANUM o NRIC. Usá el keyType que retornó /transfers/resolve-key.Response 200
number
Monto bruto que cotizaste (centavos)
number
Tu saldo BREB disponible al momento del quote
object
number
amount + totalCharged (lo que se debita)boolean
true si currentBalance >= totalCoststring | null
Mensaje human-readable si
canAfford=falseEjemplos
curl -X POST https://consola.mouvlatam.com/api/transfers/quote \
-H "Authorization: Bearer mvk_..." \
-H "Content-Type: application/json" \
-d '{ "amount": 100000, "keyType": "PHONE", "keyValue": "3115551234" }'
const quote = await fetch('https://consola.mouvlatam.com/api/transfers/quote', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MOUV_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ amount: 100000, keyValue: '3115551234' }),
}).then(r => r.json());
if (!quote.canAfford) {
throw new Error(`Saldo insuficiente: ${quote.message}`);
}
console.log(`Total a debitar: ${quote.totalCost / 100} COP`);
{
"amount": 100000,
"currentBalance": 5000000,
"feeBreakdown": {
"fixedFee": 1100,
"variableFee": 0,
"subtotalFee": 1100,
"ivaApplicable": true,
"ivaAmount": 209,
"totalCharged": 1309
},
"totalCost": 101309,
"canAfford": true,
"message": null
}
Tips
- Quote es idempotente: hacé múltiples quotes sin riesgo de duplicar nada
- Quote NO bloquea fondos: si pasan minutos entre quote y send, recalculá
- Comisión depende del rail + tipo de operación: BREB outflow tiene su propia FeeConfig (
BREB_OUTFLOW) - Bre-B individual cap: $12M COP por transferencia. Para montos mayores usá ACH.