API REST de MasterFleet

Integra tu sistema con la plataforma MasterFleet para acceder a datos en tiempo real de tu flota vehicular.

URL Base: 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
Importante: Nunca compartas tu API Key públicamente. Guárdala de forma segura como una contraseña.

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"
  }
}
POST /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 GPS
  • beacon_tot - Total de beacons registrados
  • beacon_inuse - Beacons asignados a conductores
  • fuel_tot - Dispositivos con sensor de combustible
POST /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
  }
}
POST /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
  }
}
POST /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 Placa del vehículo

Ejemplo de solicitud

{
  "api_key": "tu-api-key",
  "plate": "ABC-123"
}
POST /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"
      }
    ]
  }
}
POST /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 ID del conductor
POST /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
      }
    ]
  }
}
POST /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.

Teléfono

+503 6126 8506

Documentación

Ver docs completas