Saltar al contenido principal

Manteca – Órdenes

Endpoints para obtener órdenes, crear locks de precio y ejecutar operaciones de trading en Manteca.


🔁 Trading en Manteca

El flujo de trading utiliza un mecanismo de price lock válido por 10 segundos. Primero se crea un lock con el precio y luego se ejecuta la orden usando el lockCode.


1️⃣ Obtener órdenes del usuario

GET/manteca/orders

Obtiene todas las órdenes del usuario en Manteca

📤 Respuesta

{
"success": true,
"data": {
  "orders": [
    {
      "numberId": "12345",
      "coin": "DAI_ARS",
      "operation": "BUY",
      "amount": "100.50",
      "price": "1250.75",
      "status": "COMPLETED",
      "createdAt": "2024-01-15T10:30:00Z",
      "completedAt": "2024-01-15T10:30:15Z"
    }
  ],
  "totalCount": 1
},
"message": "Órdenes obtenidas exitosamente de Manteca"
}

Notas

  • Requiere autenticación JWT
  • Devuelve órdenes del usuario, usualmente ordenadas por fecha (según backend)
  • Incluye totalCount para paginación o métricas

2️⃣ Obtener una orden específica

GET/manteca/order/:orderId

Obtiene los detalles de una orden específica

📋 Parámetros

orderIdstringrequerido

ID de la orden (numberId)

📤 Respuesta

{
"success": true,
"data": {
  "numberId": "12345",
  "coin": "DAI_ARS",
  "operation": "BUY",
  "amount": "100.50",
  "price": "1250.75",
  "fee": "2.50",
  "status": "COMPLETED",
  "userId": "manteca_user_id_123",
  "createdAt": "2024-01-15T10:30:00Z",
  "completedAt": "2024-01-15T10:30:15Z"
},
"message": "Orden 12345 obtenida exitosamente de Manteca"
}

3️⃣ Crear lock de precio

POST/manteca/order/lock

Crea un lock de precio para una orden (válido por 10 segundos)

📋 Parámetros

coinstringrequerido

Par de trading (ej: DAI_ARS)

operationstringrequerido

Tipo de operación: BUY o SELL

📤 Respuesta

{
"success": true,
"data": {
  "code": "5a2e2bbdd618b8bc52c7...",
  "expires": "1642248615",
  "price": "1250.75",
  "coin": "DAI_ARS",
  "operation": "BUY",
  "userId": "manteca_user_id_123",
  "lockDuration": 10,
  "expiresAt": "2024-01-15T10:30:15.000Z"
},
"message": "Lock creado exitosamente para BUY DAI_ARS. Expira en 10 segundos."
}

⏱️ Expiración del lock

El lock expira en 10 segundos.
Debes ejecutar la orden con lockCode antes de que expire, o crear un lock nuevo.


4️⃣ Ejecutar orden

POST/manteca/order/execute

Ejecuta una orden usando un lock previamente obtenido

📋 Parámetros

amountstringrequerido

Monto a operar (string numérico)

coinstringrequerido

Par de trading (ej: DAI_ARS)

operationstringrequerido

Tipo de operación: BUY o SELL

lockCodestringrequerido

Código del lock obtenido en /manteca/order/lock

📤 Respuesta

{
"success": true,
"data": {
  "numberId": "12346",
  "coin": "DAI_ARS",
  "operation": "BUY",
  "amount": "100",
  "price": "1250.75",
  "fee": "2.50",
  "status": "COMPLETED",
  "createdAt": "2024-01-15T10:30:00Z"
},
"message": "Orden BUY ejecutada exitosamente. ID: 12346"
}

🔄 Flujo de trading

Flujo recomendado

  1. Crear lock de precio
  2. Ejecutar orden dentro de la ventana del lock (10s)

Paso 1: Crear lock

POST /manteca/order/lock
Content-Type: application/json

{
"coin": "DAI_ARS",
"operation": "BUY"
}

Paso 2: Ejecutar (antes de 10s)

POST /manteca/order/execute
Content-Type: application/json

{
"amount": "100",
"coin": "DAI_ARS",
"operation": "BUY",
"lockCode": "codigo_del_lock"
}

⚠️ Errores comunes

Errores frecuentes

  • 400 Bad Request: campos faltantes o lock expirado
  • 401 Unauthorized: JWT inválido
  • 404 Not Found: usuario sin cuenta activa u orden inexistente

📝 Notas importantes

Consideraciones

  • Operaciones permitidas: BUY y SELL
  • Validar par de monedas antes de crear lock
  • Fees se calculan automáticamente
  • Estados posibles: PENDING, COMPLETED, FAILED, CANCELLED

Enlaces relacionados