Saltar al contenido principal

Calculate minimum price for freight transport

GET 

/company/minimal

Calcula el precio mínimo viable para el transporte de mercancías entre dos puntos, incorporando todos los costes operativos, comisiones de plataforma y márgenes de beneficio. Es el endpoint de pricing principal utilizado en la plataforma.

Objetivo

Proporcionar un precio mínimo preciso que cubra todos los costes operativos manteniendo tarifas competitivas para los servicios de transporte de mercancías.

Casos de Uso

  • Establecer importes mínimos de puja en la creación de subastas
  • Validar si el precio de una puja es económicamente viable
  • Calcular precios suelo para contratos de transporte
  • Soporte para algoritmos de precios dinámicos
  • Generar estimaciones de precio para clientes
  • Evitar precios por debajo del coste en pujas competitivas

Algoritmo de Precio

El cálculo del precio mínimo sigue esta fórmula:

  1. Coste Base: Coste bruto de la API de enrutamiento externo (combustible, mantenimiento, tiempo)
  2. Factor Aleatorio: settings.pricing.today_random % de variación sobre el coste base
  3. Margen de Ganancia: settings.pricing.general_gain % añadido sobre el coste
  4. Comisión de Plataforma: settings.pricing.fee % (normalmente 3%)
  5. Margen de Seguridad: 5% adicional sobre el total
  6. Precio por Volumen: (volumen / 30) * costeTotal — proporcional al volumen de carga
  7. Precio por Peso: (peso / 44000) * costeTotal — solo se aplica cuando peso >= 22.000 kg (50%)

Precio final = max(precioPorVolumen, precioPorPeso, costeTotal/2) con un mínimo de 100€ Consumo medio de combustible utilizado: 32L/100km

Reglas de Validación

  • Volumen máximo: 30 m³ (se limita si se supera)
  • Peso máximo: 44.000 kg (se limita si se supera)
  • Precio mínimo: 100€ (evita precios cero o negativos)
  • Mismo origen y destino devuelve valores mínimos (1 km, 0€)

Prioridad de Parámetros

Prioridad de identificadores de ubicación:

  1. idEtl/idEtd: IDs de direcciones en base de datos (máxima prioridad)
  2. zipcodeStart/zipcodeEnd: Búsqueda por código postal
  3. coordsStart/coordsEnd: Coordenadas GPS
  • La búsqueda por coordenadas encuentra la dirección más cercana en un radio de 100 km

Respuestas de Error

  • 400: Parámetros inválidos o identificadores de ubicación faltantes
  • 404: Direcciones no encontradas
  • 500: Error del servicio externo o configuración de precios no encontrada

Request

Responses

Precio mínimo calculado correctamente