Zipnova Docs
Zipnova.comAyudaSuscribir a novedades
Envíos
Envíos
  • Documentación de Zipnova Envíos
  • Principios
    • URLs y Autenticación
    • Autorización con oAuth
    • Límites de requests
  • Recursos API
    • Cotizar Envíos
    • Crear Envíos
    • Administrar envíos
    • Devoluciones
    • Inventario
    • Configuración
    • Ubicaciones
  • Marketplaces
    • Integración de envíos para Marketplaces
    • Conexión de cuentas
    • Cotización y creación de ordenes
    • Gestión de ordenes y envíos
  • Referencia
    • Clasificaciones de producto
    • Ciclo de vida de un envío
    • Estados de envío
  • Soporte
    • Solicitar ayuda
Con tecnología de GitBook
En esta página
  • Cotizar envío indicando items a despachar
  • Cotización de un envío en base a items (recomendado)
  • Cotizar envío indicando paquetes a despachar
  • Cotización de un envío en base a paquetes
  • Atributos de un result
  1. Recursos API

Cotizar Envíos

AnteriorLímites de requestsSiguienteCrear Envíos

Última actualización hace 2 meses

Los endpoints de cotización utilizan rate limiting Medio

La cotización es el proceso mediante el cual se obtienen opciones para hacer un envío.

En Zipnova existen múltiples maneras de hacer un envío, combinando diferentes formas de despacho (logistic_type) y formas de entrega (service_type).

En los resultados de cotización verás todas las opciones disponibles en tu cuenta para hacer el envío, con los distintos transportes disponibles.

Recomendamos completar el atributo source con algo que identifique a tu integración, para que luego los clientes puedan definir reglas personalizadas de cotización utilizando el , utilizando el atributo source como criterio de filtrado.

Cotizar envío indicando items a despachar

Permite obtener opciones de despacho indicando un conjunto de productos a despachar. La API empaquetará los items en paquetes de acuerdo a la lógica definida en la cuenta, y teniendo en cuenta los contenedores configurados.

Cotización de un envío en base a items (recomendado)

POST /v2/shipments/quote

Este request te permitirá obtener cotizaciones de envíos indicando los artículos que son parte del despacho. El sistema los agrupará en paquetes automáticamente, según las reglas definidas en la cuenta.

Request Body

Name
Type
Description

account_id*

int

ID de la cuenta

origin_id*

int

ID del origen

declared_value*

float

Valor declarado total del contenido. Monto que se utilizará para el seguro. Si no se va a asegurar el contenido, se puede indicar el valor 0.

destination*

object

Objeto destination

destination.city*

string

Nombre de la ciudad del domicilio del destinatario.

AR: localidad (ej. Avellaneda)

CL: comuna (ej. Las Condes)

MX: colonia (ej. Polanco)

destination.state*

string

Nombre del Estado del domicilio del destinatario.

AR: provincia (ej. Buenos Aires)

CL: región (ej. RM)

MX: estado (ej. Distrito Federal)

destination.zipcode*

string

Código postal.

No requerido en Chile.

items*

array[item]

Array de objetos item. Minimo 1 item, maximo 1000 items.

Ten en cuenta que más allá de la cantidad de items, un envío no puede resultar en más de 99 paquetes.

items.*.sku*

string (190)

Se intentará vincular a un producto cargado en el catalogo de Zipnova, en base al código de referencia de los productos.

items.*.description

string (190)

Título o descripción del producto

items.*.weight*

int

Peso, en gramos, del item

items.*.length*

int

Largo, en centimetros

items.*.height*

int

Alto, en centimetros

items.*.width*

int

Ancho, en centimetros

items.*.classification_id

int

Identificador de clasificación de producto. Si lo omites o indicas 1 (General) intentaremos clasificarlo automáticamente según la descripción.

destination.country

string

Código ISO 3166-1 alfa-2 del país

Argentina: AR

Chile: CL

México: MX

type_packaging

String

Indica la forma de empaquetar los productos. Si se omite se usa el que tenga definido la cuenta por default. Valores posible: dynamic: empaquetado dinámico boxes: usar cajas configuradas en la cuenta

none: no empaquetar (cada item debe resultar en un package separado)

source

string (150)

Utilizado en algunas integraciones para identificar el canal de venta.

{
  "sorted_by": "price",
  "destination": {
    "id": 1735,
    "city": "San Isidro",
    "state": "Buenos Aires",
    "zipcode": "1642"
  },
  "packages": [
  {
  "internal_id": 148121,
  "sku_id": null,
  "weight": 1100,
  "height": 12,
  "width": 20,
  "length": 17,
  "volume": 4080,
  "description_1": "2 productos",
  "description_2": "Mueble para armar",
  "description_3": null,
  "classification": {
      "id": 1,
      "name": "General"
  },
  "items": [
      {
      "sku": null,
      "description": "Mueble Parte 1",
      "must_keep_vertical": 0,
      "weight": 500,
      "width": 8,
      "length": 8,
      "height": 8,
      "pos_x": 0,
      "pos_y": 0,
      "pos_z": 0
      },
      {
      "sku": null,
      "description": "Mueble Parte 2",
      "must_keep_vertical": 0,
      "weight": 500,
      "width": 8,
      "length": 8,
      "height": 8,
      "pos_x": 8,
      "pos_y": 0,
      "pos_z": 0
      }
  ],
  "container": {
      "id": 1,
      "description": "Caja mediana 1",
      "outer_width": 20,
      "outer_height": 12,
      "outer_length": 17,
      "inner_width": 19,
      "inner_length": 16,
      "inner_height": 11,
      "max_weight": 5000
  }
  }
]
  "results": {
    "standard_delivery": {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 205,
        "name": "Leset",
        "rating": 0.95,
        "logo": "https:\/\/zipnova-ar.s3.amazonaws.com\/carriers\/leset\/9Bw6vmnLH2ZUvKTdAcQtqJRkvkZdJTqcPlR9nwYU.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 3,
        "max": 7
      },
      "amounts": {
        "price_shipment": 315.79,
        "price_insurance": 8.18,
        "price": 323.97,
        "price_incl_tax": 392,
        "seller_price": 323.97,
        "seller_price_incl_tax": 392
      },
      "rate": {
        "source": "tariff",
        "id": 12957,
        "tariff_id": 71
      },
      "tags": [
        "cheapest",
        "fastest"
      ]
    }
  },
  "all_results": [
    {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 205,
        "name": "Leset",
        "rating": 0.95,
        "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/leset\/9Bw6vmnLH2ZUvKTdAcQtqJRkvkZdJTqcPlR9nwYU.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 3,
        "max": 7
      },
      "amounts": {
        "price_shipment": 315.79,
        "price_insurance": 8.18,
        "price": 323.97,
        "price_incl_tax": 392,
        "seller_price": 323.97,
        "seller_price_incl_tax": 392
      },
      "rate": {
        "source": "tariff",
        "id": 12957,
        "tariff_id": 71
      },
      "tags": [
        "cheapest",
        "fastest"
      ]
    },
    {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 220,
        "name": "Malargue",
        "rating": 0.94,
        "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/malargue\/gzHM0KZOWMtDbd0svUiRJpiExH9uIQsAa3n8auke.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 5,
        "max": 10
      },
      "amounts": {
        "price_shipment": 725.7,
        "price_insurance": 8.18,
        "price": 733.88,
        "price_incl_tax": 888
      },
      "rate": {
        "source": "tariff",
        "id": 13050,
        "tariff_id": 113
      },
      "tags": []
    }
  ]
}
{
    // Response
}
Ejemplo Body Request
{
	"account_id": "2",
	"origin_id": "25",
	"declared_value": 9015,
	"items": [
		{
			"sku": "103964928",
			"weight": 1000,
			"height": 10,
			"width": 5,
			"length": 10,
			"description": "Capsulas The Coffee Store comp. Nespresso Mix",
			"classification_id": 1
		},
		{
			"sku": "103964928",
			"weight": 1000,
			"height": 5,
			"width": 10,
			"length": 10,
			"description": "Capsulas The Coffee Store comp. Nespresso Mix",
			"classification_id": 1
		}
	],
	"destination": {
		"city": "Palermo",
		"state": "Ciudad de Buenos Aires",
		"zipcode": "1425"
	}
}

Cotizar envío indicando paquetes a despachar

Permite obtener opciones de despacho indicando un conjunto de paquetes a despachar. Queda de tu lado la agrupación de productos en paquetes, si es que debes enviar más de un producto.

La utilización de múltiples paquetes sirve para cuando en un mismo envío debes despachar múltiples bultos (por ejemplo si estás enviando un colchón y un sommier).

Cotización de un envío en base a paquetes

POST /v2/shipments/quote

Este request te permitirá obtener cotizaciones de envíos indicando explícitamente los paquete que son parte del despacho.

Request Body

Name
Type
Description

account_id*

int

ID de la cuenta

origin_id*

int

ID del origen

declared_value*

float

Valor declarado total del contenido. Monto que se utilizará para el seguro. Si no se va a asegurar el contenido, se puede indicar el valor 0.

destination*

object

Objeto destination

destination.city*

string

Nombre de la ciudad del domicilio del destinatario.

AR: localidad

CL: comuna

MX: colonia

destination.state*

string

Nombre del Estado del domicilio del destinatario.

AR: provincia

CL: región

MX: estado

destination.zipcode*

string

Código postal.

No requerido en Chile

packages*

array[package]

Array de objetos package. Mínimo 1 package, máximo 99.

packages.*.description_1*

string (60)

Titulo o descripción del producto

packages.*.weight*

int

Peso, en gramos, del item

packages.*.length*

int

Largo, en centimetros

packages.*.height*

int

Alto, en centimetros

packages.*.width*

int

Ancho, en centimetros

packages.*.classification_id

int

Identificador de clasificación de producto. Si lo omites o indicas 1 (General) intentaremos clasificarlo automaticamente segun la descripcion.

packages.*.description_2

string (60)

Info adicional del producto

packages.*.description_3

string (60)

Info adicional del producto

destination.country

string

Código ISO 3166-1 alfa-2 del país

Argentina: AR

Chile: CL

México: MX

source

string (150)

Utilizado en algunas integraciones para identificar el canal de venta.

{
  "sorted_by": "price",
  "destination": {
    "id": 1735,
    "city": "San Isidro",
    "state": "Buenos Aires",
    "zipcode": "1642"
  },
  "packages": [
  {
  "internal_id": 148121,
  "sku_id": null,
  "weight": 1100,
  "height": 12,
  "width": 20,
  "length": 17,
  "volume": 4080,
  "description_1": "2 productos",
  "description_2": "Mueble para armar",
  "description_3": null,
  "classification": {
      "id": 1,
      "name": "General"
  },
  "items": [
      {
      "sku": null,
      "description": "Mueble Parte 1",
      "must_keep_vertical": 0,
      "weight": 500,
      "width": 8,
      "length": 8,
      "height": 8,
      "pos_x": 0,
      "pos_y": 0,
      "pos_z": 0
      },
      {
      "sku": null,
      "description": "Mueble Parte 2",
      "must_keep_vertical": 0,
      "weight": 500,
      "width": 8,
      "length": 8,
      "height": 8,
      "pos_x": 8,
      "pos_y": 0,
      "pos_z": 0
      }
  ],
  "container": {
      "id": 1,
      "description": "Caja mediana 1",
      "outer_width": 20,
      "outer_height": 12,
      "outer_length": 17,
      "inner_width": 19,
      "inner_length": 16,
      "inner_height": 11,
      "max_weight": 5000
  }
  }
]
  "results": {
    "standard_delivery": {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 205,
        "name": "Leset",
        "rating": 0.95,
        "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/leset\/9Bw6vmnLH2ZUvKTdAcQtqJRkvkZdJTqcPlR9nwYU.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 3,
        "max": 7
      },
      "amounts": {
        "price_shipment": 315.79,
        "price_insurance": 8.18,
        "price": 323.97,
        "price_incl_tax": 392,
        "seller_price": 323.97,
        "seller_price_incl_tax": 392
      },
      "rate": {
        "source": "tariff",
        "id": 12957,
        "tariff_id": 71
      },
      "tags": [
        "cheapest",
        "fastest"
      ]
    }
  },
  "all_results": [
    {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 205,
        "name": "Leset",
        "rating": 0.95,
        "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/leset\/9Bw6vmnLH2ZUvKTdAcQtqJRkvkZdJTqcPlR9nwYU.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 3,
        "max": 7
      },
      "amounts": {
        "price_shipment": 315.79,
        "price_insurance": 8.18,
        "price": 323.97,
        "price_incl_tax": 392,
        "seller_price": 323.97,
        "seller_price_incl_tax": 392
      },
      "rate": {
        "source": "tariff",
        "id": 12957,
        "tariff_id": 71
      },
      "tags": [
        "cheapest",
        "fastest"
      ]
    },
    {
      "selectable": true,
      "impediments": null,
      "logistic_type": "crossdock",
      "carrier": {
        "id": 220,
        "name": "Malargue",
        "rating": 0.94,
        "logo": "https:\/\/zippin-ar.s3.amazonaws.com\/carriers\/malargue\/gzHM0KZOWMtDbd0svUiRJpiExH9uIQsAa3n8auke.png"
      },
      "service_type": {
        "id": 1,
        "code": "standard_delivery",
        "name": "Entrega a domicilio",
        "is_urgent": 0
      },
      "delivery_time": {
        "min": 5,
        "max": 10
      },
      "amounts": {
        "price_shipment": 725.7,
        "price_insurance": 8.18,
        "price": 733.88,
        "price_incl_tax": 888,
        "seller_price": 323.97,
        "seller_price_incl_tax": 392
      },
      "rate": {
        "source": "tariff",
        "id": 13050,
        "tariff_id": 113
      },
      "tags": []
    }
  ]
}
{
    // Response
}
Ejemplo Body Request
{
	"account_id": "2",
	"origin_id": "25",
	"declared_value": 9015,
	"packages": [
		{
			"weight": 30000,
			"height": 35,
			"width": 140,
			"length": 190,
			"description_1": "Colchon 140x190 Cannon",
			"classification_id": 2
		},
		{
			"weight": 10000,
			"height": 30,
			"width": 140,
			"length": 190,
			"description_1": "Sommier 160x190 Expert",
			"classification_id": 2
		},
		{
			"weight": 1000,
			"height": 10,
			"width": 10,
			"length": 10,
			"description_1": "Patas de Sommier",
			"classification_id": 2
		}
	],
	"destination": {
		"city": "Palermo",
		"state": "Ciudad de Buenos Aires",
		"zipcode": "1425"
	}
}

Respuesta de cotización

La respuesta de la cotización incluirá los siguientes elementos:

destination

Describe la localidad/comuna/ciudad de destino que fue identificada según los datos suministrados en el request.

packages

Sirve como referencia para entender cómo se construyeron los paquetes que conforman el envío.

Si al cotizar indicaste paquetes, reflejará la misma información del request.

En cambio, si indicaste items, aquí te mostrará cómo han sido agrupados esos items en paquetes.

results/all_results

Aquí estarán las distintas opciones para poder realizar un envío.

En el objeto results tendrás un solo resultado ganador por cada service_type (forma de entrega).

En el objeto all_results tendrás todos los resultados disponibles.

Atributos de un result

Atributo
Descripción

service_type

Tipo de servicio: la forma de entrega del envío. El atributo code deberá ser usado al crear el envío (ej. standard_delivery)

logistic_type

Modo de despacho: cómo se va a despachar el envío

carrier

El transporte que hace la entrega. El atributo id deberá ser usado para crear el envío.

delivery_time

Indica el tiempo de entrega. estimated_delivery indica la fecha máxima de entrega estimation_expires_at indica cuando vence la estimación times: indica distintos tiempos del proceso de entrega, en formato ISO8601 de duración.

amounts

Indica aspectos del precio del envío. price es el precio sin IVA que debe pagar el comprador price_incl_tax es el precio con IVA que debe pagar el comprador seller_price es el precio sin IVA que paga el vendedor seller_price_incl_tax es el precio con IVA que paga el vendedor price_shipment refleja la porción del precio del envío que es pura del envío price_insurance refleja la porción del precio del envío que corresponde al seguro y depende del valor declarado.

price y seller_price por lo general son lo mismo, salvo en algunos casos:

  • Cuando el resultado es de Flota Propia o Contrato Propio, el price refleja el precio de la tarifa y seller_price lo que cobra Zippin.

  • Cuando haya una regla que modifiquen el precio del envio, esa modificación se ve reflejada en price, mientras que seller_price mantiene el valor original.

pickup_points

Es un array con puntos habilitados para la entrega del envío, cuando el tipo de servicio es pickup_point. De cada punto es importante obtener el point_id, que deberá ser enviado al crear el envío para indicar la sucursal de entrega.

🟠
Ver más sobre límites de requests
Motor de Reglas
Ver Clasificaciones de producto
Ver Clasificaciones de producto