Inicio
La API devuelve la cotizacion de compra y venta del dolar Banco Nacion.
| URL API | https://vxtlogistica.com/api_dolar/api_precio_dolar.php |
|---|---|
| Metodo | POST |
| Formato | Content-Type: application/json |
| Costo | 1 credito por cada solicitud procesada. |
compra y venta se devuelven como numeros JSON con punto decimal.Credenciales
Cada cliente recibe un client_id y un secret. Ambos deben enviarse en cada solicitud.
X-Client-Id: CLIENT_ID
X-Client-Secret: CLIENT_SECRET
Content-Type: application/json
Alternativa con Authorization
Tambien se puede enviar el secret como Bearer, manteniendo el client id en header.
Authorization: Bearer CLIENT_SECRET
X-Client-Id: CLIENT_ID
Content-Type: application/json
Creditos
El servicio descuenta automaticamente 1 credito por cada consulta exitosa. La respuesta incluye el saldo anterior y el saldo posterior.
{
"credits": {
"mode": "database",
"consumed": 1,
"balance_before": 100,
"balance_after": 99,
"movement_id": 10,
"reference_id": "7b7f3e..."
}
}
Si el cliente no tiene saldo disponible, la API no devuelve la cotizacion y responde INSUFFICIENT_CREDITS.
Request
La consulta no necesita parametros. Enviar un JSON vacio.
{}
Campos alternativos
Si no se usan headers, tambien se pueden enviar credenciales en el body.
{
"client_id": "CLIENT_ID",
"secret": "CLIENT_SECRET"
}
Ejemplo curl
curl -X POST "https://vxtlogistica.com/api_dolar/api_precio_dolar.php" \
-H "Content-Type: application/json" \
-H "X-Client-Id: CLIENT_ID" \
-H "X-Client-Secret: CLIENT_SECRET" \
-d '{}'
Respuesta exitosa
{
"success": true,
"data": {
"compra": 1447.94,
"venta": 1499.5,
"fecha": "30/06/2026 - 11:54",
"variacion": "0,09%",
"class-variacion": "up",
"valor_cierre_ant": "1498,22",
"raw": {
"compra": "1447,94",
"venta": "1499,50",
"fecha": "30/06/2026 - 11:54",
"variacion": "0,09%",
"class-variacion": "up",
"valor_cierre_ant": "1498,22"
},
"fetched_at": "2026-06-30T13:39:33-03:00",
"credits": {
"mode": "database",
"consumed": 1,
"balance_before": 100,
"balance_after": 99,
"movement_id": 10,
"reference_id": "7b7f3e..."
}
}
}
Campos
| Campo | Tipo | Descripcion |
|---|---|---|
success | boolean | Indica si la consulta fue exitosa. |
data.compra | number | Precio de compra normalizado. |
data.venta | number | Precio de venta normalizado. |
data.fecha | string | Fecha y hora informada para la cotizacion, si esta disponible. |
data.variacion | string | Variacion informada para la cotizacion, si esta disponible. |
data.valor_cierre_ant | string | Valor de cierre anterior, si esta disponible. |
data.raw | object | Datos originales recibidos, sin normalizar. |
data.fetched_at | string | Fecha y hora en la que esta API hizo la consulta, en formato ISO 8601. |
data.credits | object | Detalle del credito descontado y saldo restante. |
Errores frecuentes
| Error | HTTP | Significado |
|---|---|---|
UNAUTHORIZED | 401 | Falta client/secret o las credenciales son invalidas. |
INSUFFICIENT_CREDITS | 402 | El cliente no tiene creditos disponibles. |
METHOD_NOT_ALLOWED | 405 | Se llamo con un metodo distinto de POST. |
INVALID_JSON | 422 | El body no es JSON valido. |
SOURCE_UNAVAILABLE | 502 | No se pudo consultar la cotizacion externa. |
INVALID_SOURCE_JSON | 502 | La fuente respondio algo que no es JSON valido. |
MISSING_SOURCE_FIELDS | 502 | La fuente no envio los campos compra y venta. |
INVALID_SOURCE_DATA | 502 | La fuente envio compra o venta con formato no numerico. |
Ejemplo sin creditos
{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "No hay creditos disponibles.",
"credits": {
"balance": 0,
"required": 1
}
}
}
Datos adicionales
Si la cotizacion incluye mas campos disponibles, la API tambien los devuelve dentro de data.