Ir al contenido

Obtener cotización

GET/quotes/{id}Probar
Parámetros de ruta

La llamada la hace tu navegador, contra el servidor que elijas arriba. Si la documentación no está servida desde el mismo origen que la API, el navegador puede bloquear la respuesta por CORS: en ese caso abre estas páginas desde la propia API (/docs) o usa el curl de arriba.

GET
/quotes/{id}
curl --request GET \
--url http://localhost:3000/v1/quotes/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'x-api-key: <x-api-key>'

Scopes quotes:write o payments:read. Sirve para saber si una quote sigue open antes de reintentar, o para auditar el margen de una dispersión ya pagada (rate.market frente a rate.value).

Devuelve exactamente la misma forma que tuvo al crearse, con status al día.

id
required
string format: uuid

Cotización

Media typeapplication/json

Una sola forma de cotización, fijes el lado que fijes. Los mismos campos con los mismos nombres tanto si fijaste deliver como si fijaste spend: lo que recibe el beneficiario se lee siempre en deliver.amount, y lo que se te cobra en spend.amount.

No hay un tercer importe: el bruto es siempre deliver + fee.

Todos los importes van en minor units y llegan como string.

object
id

Lo que mandas en quoteId al dispersar

string format: uuid
fixed

Qué lado fijaste tú; el otro lo calculamos nosotros. En una pantalla con los dos importes editables es lo que te dice cuál de los dos NO repintar, para no moverle el cursor al usuario mientras escribe.

string
Allowed values: deliver spend
spend

Lo que se te cobra a ti, comisión incluida.

object
asset
string
Allowed values: BS USD USDC VESC
amount

Minor units

string
deliver

Lo que cobra el beneficiario.

object
asset
string
Allowed values: BS USD USDC VESC
amount

Minor units

string
fee

Nuestra comisión, siempre en el activo que se entrega. Sin conversión se cobra encima (spend = deliver + fee); con conversión se descuenta de lo convertido.

object
asset
string
Allowed values: BS USD USDC VESC
amount

Minor units

string
rate

La tasa aplicada, ya en decimal: no hay escalas que dividir ni punto fijo que interpretar. null cuando no hubo conversión (mismo activo en los dos lados).

object
value

La tasa que se te aplicó, con nuestro margen ya dentro

string
market

La tasa de referencia, antes del margen

string
spread_bps

La diferencia entre las dos, en puntos básicos. 50 = 0,50 %

integer
status
string
Allowed values: open consumed expired
expires_at
string format: date-time
created_at
string format: date-time
Example
{
"fixed": "deliver",
"spend": {
"asset": "BS",
"amount": "5050000"
},
"deliver": {
"asset": "BS",
"amount": "5000000"
},
"fee": {
"asset": "BS",
"amount": "50000"
},
"rate": {
"value": "37.81",
"market": "38",
"spread_bps": 50
},
"status": "open"
}

Error con código estable

Media typeapplication/json
object
error
object
meta

Contexto estructurado del error cuando lo hay: qué límite se superó y de cuánto, qué campo es inválido, cuánto saldo había. No aparece en errores internos.

object
key
additional properties
any
type
string
Allowed values: invalid_request_error authentication_error rate_limit_error provider_error api_error
code

Código ESTABLE. Programa contra esto.

string
message
string
request_id
string
Example
{
"error": {
"type": "invalid_request_error",
"code": "insufficient_balance",
"request_id": "req_8a0312ba896772bc441134cd"
}
}