Tema
Primeros pasos
De nada a un saldo en pantalla, en cinco minutos.
1 · Consigue una llave
Alguien de tu organización con el permiso Llaves de API la emite desde el portal: Equipo → Llaves de API → Emitir. Elige qué puede hacer; dale lo mínimo que funcione.
La respuesta muestra la llave una sola vez:
vk_live_3f9a1c72b40de5a1.hR8xK2mQ...Se guarda como hash, así que nadie puede volver a leerla — ni tú, ni Vectrakpital. Ponla en tu gestor de secretos antes de cerrar la pestaña. Si la pierdes, revócala y emite otra; no es un caso que valga la pena resolver con ingeniería.
2 · Llama a algo inofensivo
bash
curl https://back.vectrakpital.com/api/v1/client \
-H "X-API-Key: vk_live_3f9a1c72b40de5a1.hR8xK2mQ..."json
{
"success": true,
"data": {
"id": "019fb6be-73e6-736c-a255-488446eb819d",
"name": "Acme Trading SAS",
"status": "active",
"canOperate": true,
"permissions": ["portal:read", "portal:trade"]
}
}Vale la pena leer permissions primero: es la intersección entre los alcances de tu llave y el puesto de quien la emitió, que es exactamente lo que el servidor exige. Si más adelante una llamada responde 403, compárala con esto antes de suponer un fallo.
3 · Lee un saldo, bien
bash
curl https://back.vectrakpital.com/api/v1/balances \
-H "X-API-Key: $VECTRAKPITAL_KEY"json
{ "data": [{ "assetSymbol": "USDT", "assetDecimals": 4, "amountMinor": 100000000 }] }Eso son 10 000 USDT, no cien millones. Divide entre 10 ** assetDecimals, y toma los decimales de la respuesta y no de una constante en tu código — ver el modelo de montos, que es la guía que evita el error caro.
4 · Pide un precio
bash
curl -X POST https://back.vectrakpital.com/api/v1/quotes \
-H "X-API-Key: $VECTRAKPITAL_KEY" \
-H "Content-Type: application/json" \
-d '{"baseSymbol":"USDT","quoteSymbol":"COPM","amountBaseMinor":100000000}'Una cotización es un precio sostenido durante una ventana corta. Pedirla no te compromete a nada y no mueve nada, así que consúltala tantas veces como necesites y abandona las que no uses.
5 · Acéptala, y entiende qué significa
bash
curl -X POST https://back.vectrakpital.com/api/v1/orders \
-H "X-API-Key: $VECTRAKPITAL_KEY" \
-H "Content-Type: application/json" \
-d '{"quoteId":"019fb6be-..."}'Un 201 aquí es una solicitud, no una operación ejecutada
Se retiene el monto para que un mismo saldo no respalde dos operaciones, y una persona en Vectrakpital la aprueba antes de que nada llegue a un mercado. Consulta el estado en GET /api/v1/orders.
Si construyes suponiendo que 201 significa hecho, lo primero que verán tus usuarios es una pantalla de «completado» por un dinero que no se ha movido.
Y ahora
- El modelo de montos — léela antes de escribir cualquier aritmética
- Autenticación y alcances — rotación, restricciones, qué es una llave de verdad
- Errores y reintentos — qué vale la pena reintentar y qué nunca
- Lo que espera a una persona — la forma honesta del flujo