# Zippin

# 1. Cotizar envío / devolución

POST /api/shipping/price

Devuelve un objeto con los servicios disponibles de diferentes OOLL ordenados desde precio más bajo de envío.

REQUEST

# provider_data
  • provider: (Tipo de dato: string). Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

  • CODIGO_CLIENTE: (Tipo de dato: string). Id de cuenta. Campo obligatorio.

# shippment_data
  • destino.postal.codigoPostal: (Tipo de dato: string). Código postal de destino. Campo obligatorio

  • destino.postal.localidad: (Tipo de dato: string).Localidad del destino. Campo obligatorio

  • destino.postal.region: (Tipo de dato: string). Provincia de destino. Campo obligatorio

-origen.postal.codigoPostal: (Tipo de dato: string) Id de centro de distribución (Id de origen). Se obtiene en la plataforma de Zippin.

  • id_externo: (Tipo de dato: string) Número de envío generado (solo para cotización de devoluciones - obligatorio).

  • productoAEntregar: (Tipo de dato: string) En devoluciones, enviar el id de paquete devuelto en el campo sucursalDeDistribucion.id al crear el envío. (Campo obligatorio en caso de devoluciones).

  • type: (Tipo de dato: string) Identificador para devoluciones. En caso de devolución deberá ir "return" (solo para cotización de devoluciones - obligatorio).

  • bultos.idCliente: (Tipo de dato: integer). En envío convencional enviar número de orden.

  • items: (Tipo de dato: array): Array de items. Para utilizar esta opción se deberán tener registrados los productos en la plataforma de Zippin

  • items[*].kilos: (Tipo de dato: integer). Peso del paquete en gramos. Campo obligatorio

  • items[*].largoCm: (Tipo de dato: integer). Largo del paquete en centímetros. Campo obligatorio

  • items[*].anchoCm:(Tipo de dato: integer). Ancho del paquete en centímetros. Campo obligatorio

  • items[*].altoCm: (Tipo de dato: integer). Alto del paquete en centímetros. Campo obligatorio

  • items[*].detalle: (Tipo de dato: string). Detalle del producto. Campo obligatorio

  • items[*].valorDeclaradoConImpuestos: (Tipo de dato: integer). Valor estimmado de los productos. Campo obligatorio

  • items[*].sku: (Tipo de dato: integer). Identificador del producto. Campo obligatorio

  • items[*].idCliente: (Tipo de dato: integer). Id de producto devuelto al crear el envío. Campo obligatorio en caso de devoluciones.

{
    "provider_data":{
        "provider": "Zippin",
        "CODIGO_CLIENTE": "16978", 
        "USER": "6b0c07a9-0658-4e1d-95f9-1bc459e8549e",
        "PASS": "7ccb9a2b-02f0-4b49-9c9f-8b8af21de623"
    },
    "shippment_data": {
        "origen": {
            "postal": {
                "codigoPostal": "360731"
            }
        },
        "destino":{
            "postal": {
                "codigoPostal": "1425",
                "localidad": "Palermo",
                "region": "Ciudad de Buenos Aires"
            }
        },
        "id_externo": "",
        "fecha_alta": "",
        "modalidad_envio": "",
        "currency": "",
        "type": "",
        "productoAEntregar": "",
        "fulfillment": "",
        "bultos": {
            "idCliente": 12345
        },
        "items":[ 
            {
                "sku": "1234567",
                "kilos": 500,
                "largoCm": 12,
                "altoCm": 4,
                "anchoCm": 30,
                "valorDeclaradoConImpuestos": 6000,
                "detalle": "Camisa"
                //"idCliente": 17205567
            },
            {
                "sku": "987654",
                "kilos": 500,
                "largoCm": 12,
                "altoCm": 4,
                "anchoCm": 30,
                "valorDeclaradoConImpuestos": 6000,
                "detalle": "Remera"
                //"idCliente": 17205567
            }
        ]
    }
}

RESPONSE

  • main_provider: Agregador que canaliza los distintos OOLL.

-best_shipping_address: Mejor OOLL para canalizar el envío a domicilio (según criterio configurable en plataforma: precio o tiempo de entrega).

-best_shipping_subsidiary: Mejor OOLL para canalizar el envío a sucursal (según criterio configurable en plataforma: precio o tiempo de entrega).

-best_shipping_return: Mejor OOLL para canalizar la devolución (según criterio configurable en plataforma: precio o tiempo de entrega).

-all_providers: devuelve todos los resultados.

-all_providers.shipping_address: Resultados para envío a domicilio estándar.

-all_providers.shipping_subsidiary: Resultados para envío a sucursal.

-all_providers.shipping_express: Resultados para envío a domicilio same day.

-all_providers.shipping_return: Resultados para devolución.

Al interior de cada uno de estos arrays los campos importantes son:

"provider_name": "Correo Argentino", "provider_id": 233, "logistic_type": "carrier_dropoff", "service_type": "pickup_point", "delivery_time": "2025-04-07T23:00:00+00:00", "price": 6992, "subsidiaries"

  • provider_name: Nombre del sub operador logístico.

  • provider_id: Id sub operador logístico.

  • logistic_type: Código de la forma de despacho del envío. Los tipo posibles son:

    • carrier_dropoff: Despacho en sucursal del transporte

    • carrier_pickup: Recolección del transporte

    • crossdock: Recolección unificada de Zippin

    • fulfillment: Fulfillment en depósito de Zippin

    • gateway_dropoff: Despacho en sucursal del transporte (contrato propio)

    • gateway_fulfillment: Fulfillment en almacén propio

    • gateway_pickup: Recolección del transporte (contrato propio)

    • point_dropoff: Despacho en punto Zippin (actualmente no hay puntos Zippin habilitados para esta modalidad)

    • self_service: Flota propia

    • xd_dropoff: Alcance al depósito de Zippin por parte del vendedor.

  • service_type: Código de la forma de entrega del envío. Los campos posibles son:

    • standard_delivery: Envío a domicilio convencional
    • pickup_point: Envío a sucursal.
    • express_delivery: Envío a domicilio express (same day)
    • return_origin: Devolución.
  • delivery_time: Tiempo estimado de entrega.

  • price: Costo de la cotización del envío.

  • subsidiaries: Array de sucursales. el campo importante es el id.

  • subsidiaries[*].id: ID de la ubicación de entrega. Requerido solo cuando la entrega es en un punto de entrega (envío a sucursal).

{
    "response": "Success",
    "main_provider": "Zippin",
    "best_shipping_address": [
        {
            "provider_name": "Chazki",
            "provider_id": 227,
            "logistic_type": "xd_dropoff",
            "service_type": "standard_delivery",
            "delivery_time": "2025-04-04T23:00:00+00:00",
            "price": 5792
        }
    ],
    "best_shipping_subsidiary": [
        {
            "provider_name": "Correo Argentino",
            "provider_id": 233,
            "logistic_type": "carrier_dropoff",
            "service_type": "pickup_point",
            "delivery_time": "2025-04-07T23:00:00+00:00",
            "price": 6992,
            "subsidiaries": [
                {
                    "id": 40040,
                    "description": "Correo Argentino - Recoleta Dietetica Grato",
                    "street": "Av Callao",
                    "street_number": "1445",
                    "city": "Capital Federal",
                    "state": "Capital Federal",
                    "zipcode": "1130"
                }
            ]
        }
    ],
    "all_providers": {
        "shipping_address": [
            {
                "provider_name": "Chazki",
                "provider_id": 227,
                "logistic_type": "xd_dropoff",
                "service_type": "standard_delivery",
                "delivery_time": "2025-04-04T23:00:00+00:00",
                "price": 5792
            },
            {
                "provider_name": "OCA",
                "provider_id": 208,
                "logistic_type": "carrier_dropoff",
                "service_type": "standard_delivery",
                "delivery_time": "2025-04-03T23:00:00+00:00",
                "price": 7525
            }
        ],
        "shipping_subsidiary": [
            {
                "provider_name": "Correo Argentino",
                "provider_id": 233,
                "logistic_type": "carrier_dropoff",
                "service_type": "pickup_point",
                "delivery_time": "2025-04-07T23:00:00+00:00",
                "price": 6992,
                "subsidiaries": [
                    {
                        "id": 40040,
                        "description": "Correo Argentino - Recoleta Dietetica Grato",
                        "street": "Av Callao",
                        "street_number": "1445",
                        "city": "Capital Federal",
                        "state": "Capital Federal",
                        "zipcode": "1130"
                    }
                ]
            },
            {
                "provider_name": "OCA",
                "provider_id": 208,
                "logistic_type": "xd_dropoff",
                "service_type": "pickup_point",
                "delivery_time": "2025-04-10T23:00:00+00:00",
                "price": 8794,
                "subsidiaries": [
                    {
                        "id": 24405,
                        "description": "Agente Oficial - Punto Oca - Librería Callao",
                        "street": "Av. Callao",
                        "street_number": "1588",
                        "city": "Capital Federal",
                        "state": "Capital Federal",
                        "zipcode": "1130"
                    }
                ]
            }
        ],
        "shipping_express": [],
        "shipping_return": []
    }
}

# 2. Generar Envío / Retiro (Log. Inv.)

POST /api/shipping/create

El método permite generar un envío.

REQUEST

# provider_data
  • provider: (Tipo de dato: string). Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

  • CODIGO_CLIENTE: (Tipo de dato: string). Id de cuenta. Campo obligatorio.

# shippment_data
  • destino.postal.calle: (Tipo de dato: string). Campo obligatorio.

  • destino.postal.numero:(Tipo de dato: string). Campo obligatorio.

  • destino.postal.piso:(Tipo de dato: string). Campo opcional.

  • destino.postal.departamento:(Tipo de dato: string). Campo opcional.

  • destino.postal.localidad: (Tipo de dato: string). Nombre de la ciudad de destino (Ej: Olivos). Campo obligatorio.

  • destino.postal.region: (Tipo de dato: string). Provincia a la cual pertenece la ciudad de destino (Ej: Buenos Aires). Campo obligatorio.

  • destino.postal.codigoPostal: (Tipo de dato: string). Código Postal de la ciudad de destino. Campo obligatorio.

  • destino.sucursal.id: (Tipo de dato: integer). Id de sucursal. Point id provisto en la cotización. Campo obligatorio en caso de envío a sucursal.

  • destinatario.nombreCompleto: (Tipo de dato: string). Campo obligatorio.

  • destinatario.documentoNumero: (Tipo de dato: string). Campo obligatorio.

  • destinatario.email:(Tipo de dato: string). Campo obligatorio.

  • destinatario.telefonos: (Tipo de dato: string). Campo obligatorio.

  • origen.postal.codigoPostal: (Tipo de dato: string).Id de centro de distribución (Id de origen). Se obtiene en la plataforma de Zippin. Campo obligatorio.

  • correo: (Tipo de dato: integer). Id de carrier devuelto en Cotizar. Campo obligatorio.

  • id_externo: (Tipo de dato: string). Número de envío generado. Obligatorio para devoluciones. Campo obligatorio.

  • productoAEntregar: (Tipo de dato: string) En devoluciones, enviar el id de paquete devuelto en el campo sucursalDeDistribucion.id al crear el envío. (Campo obligatorio en caso de devoluciones).

  • type: (Tipo de dato: string). En caso de logística inversa enviar el valor "return". Campo obligatorio en logística inversa.

  • modalidad_envio: (Tipo de dato: string). Código de la forma de despacho del envío (Ejemplo: carrier_dropoff). Obtenido en la cotización. Campo obligatorio.

  • tipoServicio: (Tipo de dato: string) Código de la forma de entrega del envío (Ejemplo: standard_delivery) Obtenido en la cotización. Campo obligatorio.

  • bultos.idCliente: (Tipo de dato: integer). En envío convencional enviar número de orden.

  • items: (Tipo de dato: array): Array de items. Para utilizar esta opción se deberán tener registrados los productos en la plataforma de Zippin

  • items[*].kilos: (Tipo de dato: integer). Peso del paquete en gramos. Campo obligatorio

  • items[*].largoCm: (Tipo de dato: integer). Largo del paquete en centímetros. Campo obligatorio

  • items[*].anchoCm:(Tipo de dato: integer). Ancho del paquete en centímetros. Campo obligatorio

  • items[*].altoCm: (Tipo de dato: integer). Alto del paquete en centímetros. Campo obligatorio

  • items[*].detalle: (Tipo de dato: string). Detalle del producto. Campo obligatorio

  • items[*].valorDeclaradoConImpuestos: (Tipo de dato: integer). Valor estimmado de los productos. Campo obligatorio

  • items[*].sku: (Tipo de dato: integer). Identificador del producto. Campo obligatorio

  • items[*].idCliente: (Tipo de dato: integer). Id de producto devuelto al crear el envío. Campo obligatorio en caso de devoluciones.

{
    "provider_data": {
        "provider": "Zippin",
        "CODIGO_CLIENTE": 17060, 
        "USER": "d05a7358-1b70-4164-913a-3bd23a6d29b0",
        "PASS": "3c9bf780-4c1a-4b43-aaba-89719e3d75c2"
    },
    "shippment_data": {
        "origen": {
            "postal": {
                "codigoPostal": 361095,
                "calle": "",
                "numero": "",
                "piso": "",
                "departamento": "",
                "localidad": "",
                "region": "",
                "pais": "",
                "entreCalle": ""
            }
        },
        "fecha_alta": "",
        "tipoServicio": "return_origin",
        "tipo_paquete": "",
        "id_externo": "13055833",
        "modalidad_envio": "carrier_dropoff",                   
        "direccion_envio":"",         
        "correo": 208, 
        "currency": "", 
        "type": "return",
        "flow": "",
        "destino": {
            "sucursal": {
                "id": 153
            },
            "postal": {
                "codigoPostal": "1001",
                "calle": "Av Callao",
                "numero": "1756",
                "piso": "2",
                "departamento": "C",
                "localidad": "GD5",
                "region": "Buenos Aires",
                "pais": "Argentina",
                "entreCalle": ""
            }
        },
        "remitente": {
            "nombreCompleto": "",
            "email": "",
            "documentoTipo": "",
            "documentoNumero": "",
            "telefonos": ""
        },
        "destinatario": {
            "nombreCompleto": "Juana Gonzalez",
            "email": "destinatario@andreani.com",
            "documentoTipo": "DNI",
            "documentoNumero": "33999888",
            "telefonos": "1112345678"
        },
        "productoAEntregar": "6000",
         "bultos": {
            "idCliente": 16259828
        },
        "items":[ 
            {
                "sku": "1234567",
                "kilos": 500,
                "largoCm": 12,
                "altoCm": 4,
                "anchoCm": 30,
                "valorDeclaradoConImpuestos": 6000,
                "detalle": "Camisa"
                "idCliente": 17205567
            }
        ]
    }
}

RESPONSE

  • numeroDeEnvio: Número de guía. Se utiliza para la obtención de etiqueta y el tracking (Estado de envío).

  • sucursalDeDistribucion.id: Id paquete. Se utiliza en devoluciones (Estado de envío).

  • sucursalDeDistribucion.descripcion: Url de tracking provisto por Zippin.

  • descripcionServicio: Array de ids de productos enviados.

{
    "response": "Success",
    "providerStatus": "Creado",
    "numeroDeEnvio": 13056275,
    "sucursalDeDistribucion": {
        "id": 16260304,
        "descripcion": "https://app.zippin.com.ar/track/6cb320c2186733ef3ec5d864ccd884fc8d4bac64"
    },
    "sucursalDeRendicion": null,
    "sucursalDeImposicion": null,
    "numeroDePermisionaria": null,
    "descripcionServicio": [
        30514550,
        30514551
    ],
    "etiqueta": ""
}

# 3. Obtener etiqueta

GET /api/shipping/etiqueta/:id

Se emplea para obtener la etiqueta en formato base 64.

REQUEST

  • id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.

Todos estos campos van en el header:

  • provider: Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

provider: Zippin
USER
PASS

RESPONSE

Devuelve la etiqueta en formato base 64

# 4. Obtener tracking (Estado de envío)

GET /api/shipping/:id

Se emplea para rastrear el envío y obtener su status.

REQUEST

  • id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.

Todos estos campos van en el header:

  • provider: Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

provider: Zippin
USER
PASS

RESPONSE

  • providerStatus: Código del estado del envío.
{
    "response": "Success",
    "providerStatus": "Procesando",
    "numeroDeEnvio": "13051662",
    "sucursalDeDistribucion": {
        "id": null,
        "descripcion": null
    },
    "sucursalDeRendicion": null,
    "sucursalDeImposicion": null,
    "numeroDePermisionaria": null,
    "descripcionServicio": ""
}

# 5. Cancelación de envío

GET /api/shipping/cancel/:id

Se utiliza para cancelar un envío.

REQUEST

  • id: Número de envío obtenido en "Generar envío". Va en el id de la url como ruta parametrizada. Campo obligatorio.

Todos estos campos van en el header:

  • provider: Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

provider: Zippin
USER
PASS

RESPONSE

{
    "response": "Success",
    "numeroDeEnvio": "13056275",
    "description": {
        "shipment_id": "13056275",
        "success": true,
        "result": "canceled"
    }
}

# 6. Obtener sucursales

GET /api/subsidiary

Devuelve un array/lista de las sucursales habilitadas para envío.

REQUEST

  • provider: Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

  • city: (Tipo de dato: string). Ciudad. Campo obligatorio si se envía state.

  • state: (Tipo de dato: string). Provincia. Campo opcional.

provider: Zippin
USER: ""
PASS: ""
city: Avellaneda
state: Buenos Aires

RESPONSE

[
    {
        "name": "Correo Argentino - Avellaneda",
        "carrier": {
            "id": 233,
            "name": "Correo Argentino"
        },
        "default_logistic_type": "carrier_dropoff",
        "address": {
            "street": "Av Dr Manuel Belgrano",
            "street_number": "390",
            "street_extras": null,
            "city": "Avellaneda",
            "state": "Buenos Aires",
            "geolocation": {
                "lat": -34.6611872,
                "lng": -58.3683658
            }
        },
        "restrictions": {
            "max_shipment_volume": null,
            "max_shipment_weight": 25000,
            "max_package_volume": null,
            "max_package_weight": 25000,
            "max_package_dimension_sum": 250,
            "max_package_dimension": 150,
            "max_package_count": 1
        },
        "open_hours": [
            {
                "day": 1,
                "start": "1000",
                "end": "1800"
            },
            {
                "day": 2,
                "start": "1000",
                "end": "1800"
            },
            {
                "day": 3,
                "start": "1000",
                "end": "1800"
            },
            {
                "day": 4,
                "start": "1000",
                "end": "1800"
            },
            {
                "day": 5,
                "start": "1000",
                "end": "1800"
            }
        ]
    }
]

# 7. Obtener productos

GET /api/products

Devuelve un array/lista de los productos cargados en la plataforma.

REQUEST

  • provider: Nombre del OOLL (Zippin). Campo obligatorio.

  • USER: (Tipo de dato: string). Api key provista por Zippin. Campo obligatorio.

  • PASS: (Tipo de dato: string). Api secret provista por Zippin. Campo obligatorio.

  • codigo: (Tipo de dato: string). Id de cuenta en Zippin. Campo obligatorio.

provider: Zippin
USER: ""
PASS: ""
codigo: 16978

RESPONSE

{
    "data": [
        {
            "id": 510271,
            "account_id": 16978,
            "internal_sku": "POWPG0510271",
            "sku": "prod123",
            "barcode": "1223435454545",
            "name": "Producto prueba",
            "classification_id": 1,
            "attributes": {
                "unit_declared_value": 6000,
                "weight": 300,
                "length": 20,
                "width": 20,
                "height": 20
            },
            "total_qty_available": 0,
            "stocks": []
        }
    ],
    "links": {
        "first": "https://api.zippin.com.ar/v2/inventory/search?account_id=16978&page=1",
        "last": "https://api.zippin.com.ar/v2/inventory/search?account_id=16978&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "https://api.zippin.com.ar/v2/inventory/search?account_id=16978&page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "https://api.zippin.com.ar/v2/inventory/search",
        "per_page": 20,
        "to": 1,
        "total": 1
    }
}