Skip to main content

Crear Operación

Una vez que el usuario confirma la operación, la billetera debe crearla en InvWallet. A partir de ese momento, InvWallet gestiona de forma asíncrona la ejecución de todos los steps (BUY → PARK → SELL → CASHOUT).

Creación de la operación

Método: POST
URL: /api/v1/mep/operations/

{
"account_id": "ACC-0012345",
"side": "BUY",
"amount": "50000.00",
"currency": "ARS",
"do_cashout": true,
"destiny_account": 42
}
CampoTipoRequeridoDescripción
account_idstringID de la subcuenta comitente del inversor
sidestring"BUY" (ARS → USD) o "SELL" (USD → ARS)
amountdecimalMonto a invertir
currencystringNo (default: "ARS")Moneda del monto: "ARS" o "USD"
do_cashoutbooleanNo (default: true)Si true, transfiere USD al CBU del inversor al finalizar
destiny_accountintegerSí si do_cashout=truePK de la cuenta bancaria USD destino del inversor

Respuesta 201:

{
"id": 1024,
"account_id": "ACC-0012345",
"side": 1,
"side_display": "Compra",
"state": "pending",
"do_cashout": true,
"initial_amount_ars": "50000.00",
"initial_amount_usd": "44.76",
"final_amount_ars": null,
"final_amount_usd": null,
"parking_days": 3,
"commission": "2.00",
"taxes": "0.60",
"rights": "150.00",
"result": null,
"paysheet": null,
"created": "2026-04-28T14:32:10Z",
"updated": "2026-04-28T14:32:10Z"
}
CampoDescripción
idID de la operación — guardar para polling
stateEstado compuesto de la operación (ver Estados de la operación)
initial_amount_arsMonto ARS solicitado
initial_amount_usdEstimado de USD a recibir al momento de creación
final_amount_arsARS real operado (se completa al finalizar)
final_amount_usdUSD real operado (se completa al finalizar)
parking_daysDías hábiles de parking normativo (snapshot al crear)
commission% de comisión aplicado (snapshot al crear)
taxes% de impuestos aplicado (snapshot al crear)
rightsMonto fijo de derechos de mercado (snapshot al crear)
resultJSON acumulativo con detalle de cada step (ver Estados de la operación)
paysheetID de la nómina asignada (null hasta el corte)
Aclaración

Los campos commission, taxes, rights y parking_days son snapshots tomados al momento de la creación. Si la configuración del tenant cambia, las operaciones ya creadas no se ven afectadas.

Cancelar una operación

Una operación solo puede cancelarse cuando state = "pending", antes de que se haya enviado cualquier orden al mercado.

Método: POST
URL: /api/v1/mep/operations/{id}/cancel/

Request: sin body.

Respuesta 200: operación con state: "cancelled".

Listar operaciones

Método: GET
URL: /api/v1/mep/operations/

Retorna todas las operaciones del merchant autenticado, ordenadas por fecha de creación descendente.

Errores

CódigoMotivo
400Mercado cerrado, cuenta comitente no está en OPEN, MEP deshabilitado para ese tipo de inversor, límites operativos excedidos
400(cancel) La operación ya está en ejecución o en un estado terminal
401Token inválido o expirado
403El recurso no pertenece al merchant autenticado
422Error de configuración del merchant (comisión no configurada, cuenta bancaria no encontrada)
503OMS no disponible