For the complete documentation index, see llms.txt. This page is also available as Markdown.

Crear Envíos

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 Motor de Reglas, utilizando el atributo source como criterio de filtrado.

Crear envío

post
/shipments

Crea un nuevo envío. Se deben proveer el origen, el destino, el tipo de servicio y los paquetes o ítems. El sistema cotiza automáticamente y asigna el transportista más adecuado salvo que se indique uno específico. Se debe proveer packages o items, no ambos.

Autorizaciones
AuthorizationstringRequerido

Autenticación básica HTTP utilizando token como nombre de usuario y secret como contraseña

Cuerpo
account_idintegerRequerido

ID de la cuenta bajo la cual se crea el envío

Example: 7
external_idstringRequerido

Identificador único del envío en el sistema del cliente (alfanumérico y guiones, máx. 30 caracteres)

Example: ORDER-9821
service_typestringRequerido

Código del tipo de servicio (e.g. standard, express, pickup_point)

Example: standard
logistic_typestringOpcional

Tipo de logística. Si se omite el sistema lo selecciona automáticamente (e.g. crossdock, carrier_dropoff, xd_dropoff)

Example: crossdock
carrier_idinteger · nullableOpcional

ID del transportista a usar. Si se omite el sistema elige automáticamente según sort_by

Example: 3
sort_bystring · enum · nullableOpcional

Criterio de selección automática del transportista cuando no se especifica carrier_id

Example: priceValores posibles:
origin_idstringRequerido

ID del origen en el catálogo de direcciones (address_book_id). Usar "auto" para selección automática de depósito

Example: 12
declared_valuenumber · floatRequerido

Valor declarado del contenido del envío en la moneda local

Example: 1500
sourcestring · nullableOpcional

Identificador de la fuente o integración que origina el envío (máx. 150 caracteres)

Example: shopify
type_packagingstring · enum · nullableOpcional

Estrategia de empaquetado de ítems. Solo aplica cuando se usa el campo items

Example: dynamicValores posibles:
process_immediatelyinteger · enumOpcional

Si es 1, el envío se procesa y despacha inmediatamente luego de crearlo

Example: 0Valores posibles:
Respuestas
201

Envío creado exitosamente

application/json
idintegerOpcional

ID único del envío

Example: 1042
external_idstring · nullableOpcional

Identificador externo del envío (e.g. número de orden del cliente)

Example: ORDER-9821
delivery_idstring · nullableOpcional

Número de remito asignado por el transportista

Example: R-00012345
carrier_tracking_idstring · nullableOpcional

Identificador de seguimiento público del transportista

Example: TRACKING-ABC123
carrier_tracking_id_altstring · nullableOpcional

Identificador de seguimiento alternativo del transportista

Example: TRACKING-XYZ456
created_atstring · date-timeOpcional

Fecha y hora de creación del envío (ISO 8601)

Example: 2024-08-15T10:30:00+00:00
last_status_atstring · date-time · nullableOpcional

Fecha y hora en que el envío alcanzó su estado actual (ISO 8601)

Example: 2024-08-16T14:30:00+00:00
delivered_atstring · date-time · nullableOpcional

Fecha y hora de entrega al destinatario (ISO 8601). Presente solo si fue entregado

Example: 2024-08-18T14:30:00+00:00
account_idintegerOpcional

ID de la cuenta propietaria del envío

Example: 7
parent_shipment_idinteger · nullableOpcional

ID del envío padre. Presente cuando este envío es una devolución o reenvío

Example: 1040
logistic_typestringOpcional

Tipo de logística del envío (e.g. crossdock, carrier_dropoff, xd_dropoff, self_service)

Example: crossdock
service_typestringOpcional

Código del tipo de servicio (e.g. standard, express, pickup_point)

Example: standard
statusstringOpcional

Código de estado actual del envío (e.g. new, in_transit, delivered)

Example: in_transit
status_namestringOpcional

Nombre legible del estado actual

Example: En camino
substatus_codestring · nullableOpcional

Código del subestado actual del envío, si aplica

Example: ok
substatus_namestring · nullableOpcional

Nombre legible del subestado actual, si aplica

Example: Ok
trackingstring · nullableOpcional

URL de seguimiento público del envío en la plataforma

Example: https://app.zipnova.com/tracking/1042
tracking_externalstring · nullableOpcional

URL de seguimiento en el sitio web del transportista

Example: https://carrier.com/track?id=ABC123
return_instructionsstring · nullableOpcional

URL con instrucciones de devolución. Solo presente en envíos de tipo reverse logistics

Example: https://app.zipnova.com/return/abc123xyz
declared_valuenumber · floatOpcional

Valor declarado del contenido del envío en la moneda local

Example: 1500
pricenumber · floatOpcional

Costo del envío sin impuestos

Example: 320.5
price_incl_taxnumber · floatOpcional

Costo del envío con impuestos incluidos

Example: 387.8
total_weightintegerOpcional

Peso total del envío en gramos

Example: 1200
total_volumeintegerOpcional

Volumen total del envío en centímetros cúbicos (cm³)

Example: 8000
tagsstring[]Opcional

Etiquetas asociadas al envío

sourcestring · nullableOpcional

Fuente u origen de creación del envío (e.g. nombre del canal o integración)

Example: shopify
post/shipments
POST /v2/shipments HTTP/1.1
Host: api.zipnova.com.ar
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 1078

{
  "account_id": 7,
  "external_id": "ORDER-9821",
  "service_type": "standard",
  "logistic_type": "crossdock",
  "carrier_id": 3,
  "sort_by": "price",
  "origin_id": "12",
  "declared_value": 1500,
  "source": "shopify",
  "type_packaging": "dynamic",
  "process_immediately": 0,
  "destination": {
    "name": "Juan Pérez",
    "document": "20-12345678-5",
    "email": "juan@example.com",
    "phone": "+5491112345678",
    "street": "Av. Corrientes",
    "street_number": "1234",
    "street_extras": "Piso 3, Dto B",
    "city": "Buenos Aires",
    "state": "Buenos Aires",
    "zipcode": "C1043",
    "id": null,
    "point_id": null
  },
  "packages": [
    {
      "weight": 1200,
      "height": 20,
      "width": 30,
      "length": 40,
      "description_1": "Ropa deportiva",
      "description_2": null,
      "description_3": null,
      "classification_id": "general",
      "tax_class_code": "IVA21",
      "sku_id": null,
      "sku": null,
      "container_id": null,
      "items": [
        {
          "weight": 300,
          "height": 5,
          "width": 10,
          "length": 15,
          "sku": "SKU-001",
          "must_keep_vertical": false,
          "description": null
        }
      ]
    }
  ],
  "items": [
    {
      "weight": 300,
      "height": 5,
      "width": 10,
      "length": 15,
      "sku": "SKU-001",
      "description": "Remera Azul Talle M",
      "must_keep_vertical": false,
      "classification_id": "general",
      "tax_class_code": "IVA21"
    }
  ]
}
{
  "id": 1042,
  "external_id": "ORDER-9821",
  "delivery_id": "R-00012345",
  "carrier_tracking_id": "TRACKING-ABC123",
  "carrier_tracking_id_alt": "TRACKING-XYZ456",
  "created_at": "2024-08-15T10:30:00+00:00",
  "last_status_at": "2024-08-16T14:30:00+00:00",
  "delivered_at": "2024-08-18T14:30:00+00:00",
  "delivery_time": {
    "estimated_delivery": "2024-08-18T23:59:59+00:00",
    "dropoff_deadline_at": "2024-08-16T15:00:00+00:00",
    "times": {
      "preparation": "P2D",
      "crossdocking": "P1D",
      "carrier": "P5D",
      "total": "P8D"
    }
  },
  "account_id": 7,
  "parent_shipment_id": 1040,
  "logistic_type": "crossdock",
  "service_type": "standard",
  "carrier": {
    "id": 3,
    "name": "Andreani",
    "logo": "https://cdn.zipnova.com/carriers/andreani.png"
  },
  "status": "in_transit",
  "status_name": "En camino",
  "substatus_code": "ok",
  "substatus_name": "Ok",
  "tracking": "https://app.zipnova.com/tracking/1042",
  "tracking_external": "https://carrier.com/track?id=ABC123",
  "return_instructions": "https://app.zipnova.com/return/abc123xyz",
  "destination": {
    "name": "Juan Pérez",
    "document": "20-12345678-5",
    "street": "Av. Corrientes",
    "street_number": "1234",
    "street_extras": "Piso 3, Dto B",
    "city": "Buenos Aires",
    "state": "Buenos Aires",
    "zipcode": "C1043",
    "phone": "+5491112345678",
    "email": "juan@example.com",
    "pickup_point": {
      "id": 55,
      "name": "Sucursal Palermo",
      "geolocation": {
        "lat": -34.5907,
        "lng": -58.4239
      }
    }
  },
  "origin": {
    "id": 12,
    "name": "Depósito Central",
    "document": "30-71234567-0",
    "street": "Av. San Martín",
    "street_number": "500",
    "street_extras": null,
    "city": "Córdoba",
    "state": "Córdoba",
    "zipcode": "X5000",
    "phone": "+5493512345678",
    "email": "deposito@empresa.com",
    "is_dropshipping": false,
    "supplier": {
      "name": "Proveedor XYZ"
    }
  },
  "declared_value": 1500,
  "price": 320.5,
  "price_incl_tax": 387.8,
  "total_weight": 1200,
  "total_volume": 8000,
  "packages": [
    {
      "id": 2001,
      "label_code": "LP-00099",
      "sku_id": null,
      "weight": 1200,
      "height": 20,
      "width": 30,
      "length": 40,
      "volume": 24000,
      "description_1": "Ropa deportiva",
      "description_2": null,
      "description_3": null,
      "classification": {
        "id": 1,
        "name": "General"
      },
      "tax_class_code": "IVA21",
      "label_elements": [
        {
          "id": "zipnova_label_code",
          "type": "barcode",
          "format": "code128a",
          "value": "LP-00099"
        }
      ],
      "container": {
        "id": 5,
        "description": "Caja chica",
        "outer_width": 32,
        "outer_height": 22,
        "outer_length": 42,
        "inner_width": 31,
        "inner_length": 41,
        "inner_height": 21,
        "max_weight": 5000,
        "empty_weight": 200
      },
      "items": [
        {
          "id": 3001,
          "sku": {
            "sku": "SKU-001",
            "sku_id": 88,
            "internal_sku": "INT-001",
            "name": "Remera Azul Talle M",
            "barcode": "7791234567890"
          },
          "description": "Remera Azul Talle M",
          "tax_class_code": "IVA21",
          "must_keep_vertical": false,
          "weight": 300,
          "width": 10,
          "length": 15,
          "height": 2,
          "pos_x": 0,
          "pos_y": 0,
          "pos_z": 0
        }
      ]
    }
  ],
  "tags": [],
  "related_shipments": [
    {
      "type": "child",
      "relationship": "return",
      "shipment_id": 1043
    }
  ],
  "source": "shopify",
  "marketplace": {
    "code": "meli",
    "name": "MercadoLibre"
  },
  "order": {
    "id": 500,
    "channel": "meli",
    "channel_created_at": "2024-08-14T08:00:00+00:00",
    "channel_relations": [
      {
        "type": "order",
        "id": "2000009876543210"
      }
    ]
  },
  "fulfillment_order": {
    "id": 200,
    "status_id": 3,
    "external_id": "FO-88991",
    "items": [
      {
        "sku_id": 88,
        "qty": 2,
        "lot_numbers": [
          "text"
        ],
        "serial_numbers": [
          "text"
        ]
      }
    ]
  },
  "rescue": {
    "requested_at": "2024-08-16T09:41:03+00:00"
  }
}

Última actualización