Saltearse al contenido

UPS - Obtener Tarifas

Este modulo consulta las tarifas de envio disponibles en UPS para un paquete dado. Recibe los datos del remitente y destinatario en formato JSON, peso, dimensiones opcionales y tipo de servicio opcional. Realiza una peticion POST al endpoint /api/rating/v1/Rate con el payload RateRequest. Procesa la respuesta para extraer el codigo y nombre del servicio, cargos totales, moneda, cargos base, cargos de opciones, dias garantizados y hora de entrega. Identifica la tarifa mas economica.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredencial UPS (provider: ups)
shippertextareaSiDatos del remitente en JSON con Name y Address
ship_totextareaSiDatos del destinatario en JSON con Name y Address
package_weighttextSiPeso del paquete en kilogramos
package_dimensionstextareaNoDimensiones en JSON (Length, Width, Height)
service_codeselectNoFiltrar por servicio: 01 (Next Day Air), 02 (2nd Day Air), 03 (Ground), 07 (Express), 08 (Expedited), 11 (Standard), 65 (Saver). Vacio para todos

Se requiere una credencial de tipo ups con los siguientes campos:

  • client_id: Client ID de la API de UPS
  • client_secret: Client Secret de la API de UPS
{
"success": true,
"rates": [
{
"service_code": "11",
"service_name": "Standard",
"total_charges": "18.50",
"currency": "EUR",
"base_charges": "15.00",
"service_options_charges": "3.50",
"guaranteed_days": "3",
"delivery_by": "23:30"
}
],
"rates_count": 4,
"cheapest": {
"service_code": "11",
"service_name": "Standard",
"total_charges": "18.50",
"currency": "EUR"
},
"message": "4 tarifas UPS obtenidas"
}
{
"credentials_id": "mi_credencial_ups",
"shipper": "{\"Name\":\"Mi Empresa\",\"Address\":{\"AddressLine\":[\"Calle Gran Via 1\"],\"City\":\"Madrid\",\"PostalCode\":\"28001\",\"CountryCode\":\"ES\"}}",
"ship_to": "{\"Name\":\"Cliente\",\"Address\":{\"AddressLine\":[\"Av Diagonal 100\"],\"City\":\"Barcelona\",\"PostalCode\":\"08001\",\"CountryCode\":\"ES\"}}",
"package_weight": "2.0"
}
  • Si no se especifica servicio, se devuelven todas las opciones disponibles
  • La respuesta puede ser un objeto o un array; el modulo maneja ambos casos
  • Las dimensiones son opcionales y se expresan en centimetros
  • El ShipFrom se configura igual que el Shipper automaticamente