API REST de MasterFleet
Integra tu sistema con la plataforma MasterFleet para acceder a datos en tiempo real de tu flota vehicular.
https://api.remafleet.com/api/external/
Características
- API REST con respuestas en JSON
- Autenticación mediante API Key
- Datos en tiempo real de ubicación y sensores
- Soporte para paginación y filtros
- Documentación completa con ejemplos
Autenticación
Todas las solicitudes a la API requieren un API Key válido. Puedes obtener tu API Key desde tu cuenta de MasterFleet.
Métodos de autenticación
El API Key puede ser proporcionado de las siguientes formas:
1. En el cuerpo del request (recomendado)
{
"api_key": "tu-api-key-aqui"
}
2. En el header Authorization
Authorization: Bearer tu-api-key-aqui
3. En el header X-API-Key
X-API-Key: tu-api-key-aqui
Límites de uso
Para garantizar la disponibilidad del servicio, se aplican los siguientes límites:
| Plan | Solicitudes por minuto | Solicitudes por día |
|---|---|---|
| Starter | 60 | 10,000 |
| Profesional | 120 | 50,000 |
| Enterprise | Personalizado | Personalizado |
Códigos de error
La API utiliza códigos de estado HTTP estándar:
| Código | Descripción |
|---|---|
200 |
Éxito - La solicitud se procesó correctamente |
400 |
Bad Request - Parámetros inválidos o faltantes |
401 |
Unauthorized - API Key inválida o inactiva |
404 |
Not Found - Recurso no encontrado |
429 |
Too Many Requests - Límite de solicitudes excedido |
500 |
Internal Server Error - Error en el servidor |
Formato de respuesta de error
{
"status": "ER",
"code": 401,
"payload": {
"message": "Access Denied"
}
}
/scalar/get_by_type.php
Obtener Escalares
Retorna estadísticas generales de los dispositivos de tu empresa.
Respuesta
Retorna contadores de dispositivos GPS, beacons y sensores de combustible.
{
"status": "OK",
"code": 200,
"payload": {
"gps_tot": 150,
"beacon_tot": 75,
"beacon_inuse": 60,
"fuel_tot": 120
}
}
Campos de respuesta
gps_tot- Total de dispositivos GPSbeacon_tot- Total de beacons registradosbeacon_inuse- Beacons asignados a conductoresfuel_tot- Dispositivos con sensor de combustible
/vehicles/getAllVehicles.php
Listar Vehículos
Obtiene la lista completa de vehículos con datos de ubicación en tiempo real.
Parámetros opcionales
| Parámetro | Tipo | Descripción |
|---|---|---|
key |
string | Buscar por nombre, placa o descripción |
status |
string | Filtrar por estado (ACT, INA) |
type |
string | Filtrar por tipo de vehículo |
include_location |
boolean | Incluir datos GPS (default: true) |
only_online |
boolean | Solo vehículos online (default: false) |
limit |
integer | Máximo de resultados |
offset |
integer | Resultados a saltar (paginación) |
Ejemplo de solicitud
{
"api_key": "tu-api-key",
"status": "ACT",
"only_online": true,
"limit": 50
}
Ejemplo de respuesta
{
"status": "OK",
"code": 200,
"payload": {
"vehicles": [
{
"vehicle_id": "abc123",
"vehicle_name": "Camión 01",
"plate": "ABC-123",
"model": "Freightliner Cascadia",
"year": 2022,
"vehicle_type": "Truck",
"latitude": 13.7000,
"longitude": -89.2000,
"speed": 65.5,
"heading": 180.0,
"is_moving": true,
"is_online": true,
"fuel": 450.5,
"odometer": 125000
}
],
"stats": {
"total_vehicles": 150,
"returned_vehicles": 50,
"online_vehicles": 45,
"moving_vehicles": 30,
"stopped_vehicles": 15
},
"has_more": true,
"execution_time_ms": 125
}
}
/vehicles/getCurrentLocation.php
Ubicación Actual
Obtiene la ubicación y estado en tiempo real de un vehículo específico.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
vehicle_id |
string | Si* | ID del vehículo |
plate |
string | Si* | Placa del vehículo |
* Debe proporcionar vehicle_id o plate
Ejemplo de solicitud
{
"api_key": "tu-api-key",
"plate": "ABC-123"
}
Ejemplo de respuesta
{
"status": "OK",
"code": 200,
"payload": {
"vehicle_id": "abc123",
"vehicle_name": "Camión 01",
"plate": "ABC-123",
"latitude": 13.7000,
"longitude": -89.2000,
"speed": 65.5,
"heading": 180.0,
"started": "1",
"battery_level": 12.5,
"fuel": 450.5,
"blocked": false,
"is_moving": true,
"is_online": true,
"seconds_since_update": 30
}
}
/vehicles/getVehicleByPlate.php
Buscar Vehículo por Placa
Busca información completa de un vehículo usando su número de placa.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
plate |
string | Sí | Placa del vehículo |
Ejemplo de solicitud
{
"api_key": "tu-api-key",
"plate": "ABC-123"
}
/vehicles/get_drivers_resumen.php
Listar Conductores
Obtiene el listado de conductores registrados en tu empresa.
Ejemplo de respuesta
{
"status": "OK",
"code": 200,
"payload": {
"drivers": [
{
"driver_id": "drv001",
"name": "Juan Pérez",
"license": "DL123456",
"phone": "+503 1234 5678",
"status": "ACT",
"beacon_id": "beacon001"
}
]
}
}
/vehicles/get_driver_detail.php
Detalle de Conductor
Obtiene información detallada de un conductor específico.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
driver_id |
string | Sí | ID del conductor |
/vehicles/get_sensors_resumen.php
Resumen de Sensores
Obtiene el estado actual de todos los sensores configurados.
Ejemplo de respuesta
{
"status": "OK",
"code": 200,
"payload": {
"sensors": [
{
"vehicle_id": "abc123",
"vehicle_name": "Camión 01",
"fuel": 450.5,
"temperature1": 25.3,
"battery_level": 12.5,
"odometer": 125000
}
]
}
}
/zones/get_zones_resumen.php
Listar Zonas/Geocercas
Obtiene el listado de zonas y geocercas configuradas.
Ejemplo de respuesta
{
"status": "OK",
"code": 200,
"payload": {
"zones": [
{
"zone_id": "zone001",
"name": "Bodega Principal",
"type": "circle",
"center_lat": 13.7000,
"center_lng": -89.2000,
"radius": 500,
"status": "ACT"
}
]
}
}
Ejemplos de código
JavaScript (Node.js)
const axios = require('axios');
const API_KEY = 'tu-api-key';
const BASE_URL = 'https://api.remafleet.com/api/external';
async function getAllVehicles() {
try {
const response = await axios.post(`${BASE_URL}/vehicles/getAllVehicles.php`, {
api_key: API_KEY,
only_online: true,
limit: 10
});
console.log('Vehículos:', response.data.payload.vehicles);
return response.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
getAllVehicles();
Python
import requests
import json
API_KEY = 'tu-api-key'
BASE_URL = 'https://api.remafleet.com/api/external'
def get_all_vehicles():
url = f'{BASE_URL}/vehicles/getAllVehicles.php'
payload = {
'api_key': API_KEY,
'only_online': True,
'limit': 10
}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print('Vehículos:', data['payload']['vehicles'])
return data
else:
print('Error:', response.text)
return None
get_all_vehicles()
PHP
$apiKey,
'only_online' => true,
'limit' => 10
);
$options = array(
'http' => array(
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);
print_r($response['payload']['vehicles']);
return $response;
}
getAllVehicles($apiKey, $baseUrl);
?>
cURL
curl -X POST https://api.remafleet.com/api/external/vehicles/getAllVehicles.php \
-H "Content-Type: application/json" \
-d '{
"api_key": "tu-api-key",
"only_online": true,
"limit": 10
}'
SDKs y Librerías
Estamos trabajando en SDKs oficiales para los lenguajes más populares. Mientras tanto, puedes usar los ejemplos de código anteriores como punto de partida.
JavaScript/TypeScript
En desarrollo
Python
En desarrollo
PHP
En desarrollo
Java
En desarrollo
Soporte Técnico
¿Necesitas ayuda con la integración? Nuestro equipo está listo para asistirte.