Shippo - Obtener Tarifas
Descripcion
Sección titulada «Descripcion»Este modulo obtiene tarifas de envio de multiples transportistas a traves de Shippo. Recibe las direcciones de origen y destino en formato JSON (o IDs de direccion Shippo), las especificaciones del paquete y un modo asincrono opcional. Realiza una peticion POST al endpoint /shipments/ creando un shipment que devuelve las tarifas de todos los transportistas conectados. Procesa la respuesta para extraer ID de tarifa, proveedor, servicio, token de servicio, precio, moneda, dias estimados, terminos de duracion y fecha de llegada. Identifica automaticamente la tarifa mas economica y la mas rapida.
Configuracion
Sección titulada «Configuracion»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| credentials_id | credentials | Si | Credencial Shippo (provider: shippo) |
| address_from | textarea | Si | Direccion de origen en JSON o ID de direccion Shippo |
| address_to | textarea | Si | Direccion de destino en JSON o ID de direccion Shippo |
| parcel | textarea | Si | Paquete en JSON (length, width, height, distance_unit, weight, mass_unit) |
| async_mode | boolean | No | Modo asincrono - mas rapido para muchos carriers (por defecto: false) |
Credenciales
Sección titulada «Credenciales»Se requiere una credencial de tipo shippo con los siguientes campos:
- api_token: API Token de Shippo
{ "success": true, "shipment_id": "shp_abc123", "rates": [ { "rate_id": "rate_abc123", "carrier": "USPS", "service": "Priority Mail", "service_token": "usps_priority", "price": "7.58", "currency": "USD", "estimated_days": 2, "duration_terms": "1-3 business days", "arrives_by": null } ], "rates_count": 10, "cheapest": { "rate_id": "rate_def456", "carrier": "USPS", "service": "First Class", "price": "4.50" }, "fastest": { "rate_id": "rate_ghi789", "carrier": "FedEx", "service": "FedEx 2Day", "estimated_days": 1 }, "message": "10 tarifas obtenidas"}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "credentials_id": "mi_credencial_shippo", "address_from": "{\"name\":\"Remitente\",\"street1\":\"Calle Gran Via 1\",\"city\":\"Madrid\",\"state\":\"MD\",\"zip\":\"28001\",\"country\":\"ES\"}", "address_to": "{\"name\":\"Destinatario\",\"street1\":\"Av Diagonal 100\",\"city\":\"Barcelona\",\"state\":\"CT\",\"zip\":\"08001\",\"country\":\"ES\"}", "parcel": "{\"length\":\"25\",\"width\":\"15\",\"height\":\"10\",\"distance_unit\":\"cm\",\"weight\":\"1\",\"mass_unit\":\"kg\"}"}API Utilizada
Sección titulada «API Utilizada»- Endpoint: POST
/shipments/ - Base: Shippo API (via helper
_shippoHelper) - Documentacion: https://goshippo.com/docs/
- Las direcciones pueden ser objetos JSON completos o IDs de direccion de Shippo previamente creadas
- El paquete requiere unidades explicitas (distance_unit: cm/in, mass_unit: kg/lb/oz)
- El shipment_id retornado no se usa directamente; se usa el rate_id para comprar una tarifa
- Los campos
cheapestyfastestse calculan automaticamente - El modo asincrono es recomendable cuando se tienen muchos transportistas conectados