IntroducciónLast updated: 2024-06-03

Esta documentación tiene como objetivo proporcionar toda la información que necesita para trabajar con nuestra API. Los ejemplos proporcionados usan una URL de prueba, la URL del entorno de producción será provista por la empresa logística que usa el sistema.

Si presenta algún inconveniente o consulta que no esté especificada, se puede comunicar al siguiente E-mail: soporte@midlasoft.com

Autenticación

Para autenticar los requests a los endpoints de nuestra API se debe enviar el Header con el valor "Bearer {YOUR_AUTH_KEY}" que se obtiene desde el portal de clientes de logística accediendo a “Configuración->Mi cuenta->API token” o comunicándose con la Empresa de Logística.

Crear envío

Servicio para la creación de envíos. Requiere autenticación.

Request
Headers
Authorization Bearer {YOUR_AUTH_KEY}
Accept application/json
Content-Type application/json
Parametros del Body
Parámetro Tipo Requerido Tamaño Descripción
platform_code String 15 Código de la plataforma que consume el servicio. Es brindado por la Empresa logística.
external_reference String 64 Cualquier referencia del usuario para el control interno del envío.
platform_shop_id String 32 Identificacion de la tienda en la plataforma de origen.
platform_order_id String 32 ID de la orden en la plataforma de origen.
platform_order_number String 32 Número de orden en la plataforma de origen.
note String 255 Cualquier información extra sobre el envío.
different_return Boolean - Debe ser "true" cuando la dirección de devolución del envío es diferente de la dirección de origen principal. Por defecto es "false"
destination_address Object - Destination Address. Dirección de destino del envío.
return_address Object - Return Address. En caso de que different_return sea "true" es Obligatorio.
items Array Object - Items. Detalle de items que conforman el envío.
shipment_quote Object - Shipment Quote. El cual se obtiene al consultar Consultar Servicios.

Object Destination Address

Objeto para definir la dirección de destino del envío.

Parámetro Tipo Requerido Tamaño Descripción
country_code_iso String 2 Código ISO 3166-1 alfa-2 del país de la dirección de destino. Argentina: AR
province_code_iso String 5 Código ISO 3166-1 de la provincia de la dirección de destino. Ver Códigos ISO
street_name String 255 Nombre de la calle de la dirección de destino.
street_number String 50 Número de calle de la dirección de destino.
building_floor String 50 Identificación del piso específico de un edificio donde se debe entregar el paquete.
building_room String 50 Identificación de la habitación, oficina, apartamento u otra área específica dentro de un edificio donde se debe entregar el paquete.
address_note String 255 Cualquier otra información adicional sobre la dirección de destino.
zip_code String 4 Código postal de la dirección de destino. Formato de 4 dígitos.
city String 64 Ciudad de la dirección de destino.
longitude Número decimal 11,8 Latitud de la dirección de destino. Debe ser al menos -90. No debe ser mayor que 90.
longitude Número decimal 11,8 Longitud de la dirección de destino. Debe ser al menos -180. No debe ser mayor que 180.
full_name String 128 Nombre y apellido del destinatario.
document_type_code String 20 ID correspondiente al código del tipo de documento del destinatario. Valores posibles: para el DNI es "96". Para el CUIT es "80". Para el CUIL es "86".
document_number String 20 Número de documento del destinatario.
phone String 128 Número de teléfono del destinatario.
email String 128 Correo eletrónico del destinatario.

Object Return Address

En el caso de un envío no entregado o devuelto, se puede establecer una dirección de devolución distinta a la dirección de origen para la entrega del mismo.

Parámetro Tipo Requerido Tamaño Descripción
country_code_iso String 2 Código ISO 3166-1 alfa-2 del país de la dirección de devolución. Argentina: AR
province_code_iso String 5 Código ISO 3166-1 de la provincia de la dirección de devolución. Ver Códigos ISO
street_name String 255 Nombre de la calle de la dirección de devolución.
street_number String 50 Número de calle de la dirección de devolución.
building_floor String 50 Identificación del piso específico de un edificio donde se debe entregar el paquete.
building_room String 50 Identificación de la habitación, oficina, apartamento u otra área específica dentro de un edificio donde se debe entregar el paquete.
address_note String 255 Cualquier otra información adicional sobre la dirección de devolución.
zip_code String 16 Código postal de la dirección de devolución.
city String 64 Ciudad de la dirección de devolución.
longitude Número decimal 11,8 Latitud de la dirección de devolución. Debe ser al menos -90. No debe ser mayor que 90.
longitude Número decimal 11,8 Longitud de la dirección de devolución. Debe ser al menos -180. No debe ser mayor que 180.
full_name String 128 Nombre y apellido del remitente.
document_type_code String 20 Código del tipo de documento del remitente. Valores posibles: DNI | CUIT | CUIL
document_number String 20 Número de documento del remitente.
phone String 128 Número de teléfono del remitente.
email String 128 Correo eletrónico del remitente.

Object items

Objeto para definir la información contenida en el envío.

Parámetro Tipo Requerido Tamaño Descripción
sku String 64 Identificación única del item.
name String 120 Nombre del item.
quantity Número 11 Cantidad de items. Valor mínimo 1
width Número decimal 12,3 El ancho del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.
height Número decimal 12,3 El alto del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.
depth Número decimal 12,3 La profundidad del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.
grams Número decimal 12,3 El peso del item en gramos.
declared_value Número decimal 12,2 Valor declarado del item. El mismo es usado para calcular el seguro del envío.

Object Shipment Quote

Objeto para definir el servicio y el punto de entrega del servicio cotizado. Si el envío no es un PICKUP no se debe enviar pickup_point_id, solo el ID del servicio.

Parámetro Tipo Requerido Tamaño Descripción
service_id Número entero 20 ID del servicio seleccionado para este envío.
pickup_point_id Número entero 20 El ID del punto de entrega si la cotización seleccionada es de tipo Pickup. Si la cotización es para un envío de tipo SEND, no se debe incluir el pickup_point_id

Ejemplo de request para la creación de un envío

POST {BASE_URI}/api/v2/logistic/shipments

const headers = {
    "Authorization": "Bearer  {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

body = {
    "platform_code": "api",
    "external_reference": "123",
    "platform_shop_id": "Store Name",
    "platform_order_id": "326998250",
    "platform_order_number": "5",
    "note": "",
    "different_return": false,
    "destination_address": {
        "country_code_iso": "AR",
        "province_code_iso": "B",
        "street_name": "Calle falsa",
        "street_number": "123",
        "building_floor": "",
        "building_room": "",
        "address_note": "Golpear dos veces",
        "zip_code": "1602",
        "city": "Florida",
        "full_name": "Pepe Alfonso",
        "contact_name": "",
        "document_type_code": "96",
        "document_number": "55555555",
        "phone": "+5491112345689",
        "email": "email@demo.com"
    },
    "items": [
        {
            "sku": "IP962236",
            "name": "Computer mega ultra IA",
            "width": 0,
            "height": 0,
            "depth": 0,
            "grams": 900,
            "declared_value": 34800,
            "quantity": 1
        }
    ],
    "shipment_quote": {
        "service_id": 6
    }
};

Ejemplo del response

    {
        "data": {
            "id": 522,
            "tracking": "P00000000000522",
            "tracking_url": "https://docs.domain-demo.com.ar/seguimiento"
        }
    }

Consultar servicios

Este request le permite obtener los servicios disponibles para un código postal. Requiere autenticación.

Request
Headers
Authorization Bearer {YOUR_AUTH_KEY}
Accept application/json
Content-Type application/json
Parametros del Body
Parámetro Tipo Requerido Tamaño Descripción
destination Object - Object Destination. Información de destino para cotizar
items Array Object - Object Items. Detalle de items que conforman el envío a cotizar.

Object Destination

Objeto para definir la información de destino para cotizar.

Parámetro Tipo Requerido Tamaño Descripción
country_code_iso String 2 Código ISO 3166-1 alfa-2 del país de la dirección de destino. Argentina: AR
province_code_iso String 5 Código ISO 3166-1 de la provincia de la dirección de destino. Ver Códigos ISO
zip_code String 4 Código postal de la dirección de destino. Formato de 4 dígitos.

Object items

Objeto para definir la información contenida en el envío para cotizar.

Parámetro Tipo Requerido Tamaño Descripción
quantity Número 11 Cantidad de items. Valor mínimo 1
grams Número decimal 12,3 El peso del item en gramos.
dimensions Object 12,3 Object Dimensions. Define las medidas del item.
declared_value Número decimal 12,3 Valor declarado del item.

Object Dimensions

Objeto para definir las medidas de un items para cotizar.

Parámetro Tipo Requerido Tamaño Descripción
width Número decimal 12,3 El ancho del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.
height Número decimal 12,3 El alto del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.
depth Número decimal 12,3 La profundidad del item en centimetros. Debe ser al menos 0. No debe ser mayor que 999999999999.

Ejemplo de request para cotizar un envío

POST {BASE_URI}api/v2/logistic/shipments/quote

const headers = {
    "Authorization": "Bearer  {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

body = {
	"destination": {
		"country_code_iso": "AR",
		"province_code_iso": "B",
		"zip_code": "1602"
	},
	"items": [
		{
			"grams": 900,
			"dimensions": {
				"width": 0,
				"height": 0,
				"depth": 0
			},
			"declared_value": 34800,
			"quantity": 1
		}
	]
}

Ejemplo de response

{
    "data": [
        {
            "service_id": 4,
            "service_name": "Entrega a punto de entrega",
            "service_delivery_type": "PICKUP",
            "service_code": "code_pickup",
            "service_description": "1",
            "is_change": false,
            "pickup_point_id": 1,
            "pickup_point_name": "Pickup Point GBA",
            "info": "LUN A VIE 9 A 17:30 HS.",
            "min_days": 1,
            "max_days": 1,
            "price": 3109.02,
            "price_tax": 799.05,
            "price_insurance": 696,
            "price_total": 4604.07,
            "pickup_point_address": "Calle 1234, Localidad (1602) Buenos Aires"
        },
        {
            "service_id": 6,
            "service_name": "Entrega a domicilio GBA",
            "service_delivery_type": "SEND",
            "service_code": "code_send",
            "service_description": "1",
            "is_change": false,
            "pickup_point_id": null,
            "pickup_point_name": null,
            "info": null,
            "min_days": 2,
            "max_days": 3,
            "price": 3566.13,
            "price_tax": 895.05,
            "price_insurance": 696,
            "price_total": 5157.18,
            "pickup_point_address": null
        },
        {
            "service_id": 14,
            "service_name": "Devolución",
            "service_delivery_type": "RETURN",
            "service_code": "code_return",
            "service_description": "1",
            "is_change": false,
            "pickup_point_id": null,
            "pickup_point_name": null,
            "info": null,
            "min_days": 2,
            "max_days": 3,
            "price": 3221.26,
            "price_tax": 822.62,
            "price_insurance": 696,
            "price_total": 4739.88,
            "pickup_point_address": null
        }
    ]
}

Generar etiqueta

Este request le permite obtener la etiqueta de un envío el cual debe estar procesado, de no estarlo se procesa automáticamente solo si el customer del envío cuenta con saldo suficiente. Requiere autenticación.

Request
Headers
Authorization Bearer {YOUR_AUTH_KEY}
Accept application/json
Content-Type application/json

Consultar envío

Este request le permite obtener la información general del envío vía tracking. Se obtiene la dirección de origen, dirección de destino, así como también el detalle de los movimientos con la fecha correspondiente de realizado.

Request
Parametros del Body
Parámetro Tipo Requerido Tamaño Descripción
tracking String 20 Seguimiento del envío.

Ejemplo de request


POST {BASE_URI}api/logistic/shipments/tracking

body = {
  "tracking" : "P00000001234567"
}

Ejemplo de request


{
    "tracking": "P00000001234567",
    "carrier_code": "correo",
    "delivery_type": "SEND",
    "sender_city": "Una ciudad",
    "sender_zip_code": "1234",
    "destination_city": "Una ciudad",
    "destination_zip_code": "9876",
    "movements": [
        {
            "status": "Creado",
            "tracking_text": "El remitente está preparando tu envío.",
            "realized_at": "2024-05-27T11:45:03+00:00",
            "receiver_info": null
        },
        {
            "status": "En el cliente para ser retirado",
            "tracking_text": "El remitente ya preparo tu envío. Estamos coordinando su retiro.",
            "realized_at": "2024-05-27T15:57:55+00:00",
            "receiver_info": null
        },

        {
            "status": "En camino a planta de procesamiento",
            "tracking_text": "En camino a planta de procesamiento.",
            "realized_at": "2024-05-27T18:08:07+00:00",
            "receiver_info": null
        },
        {
            "status": "En planta de procesamiento",
            "tracking_text": "Tu envío llegó a nuestro Centro de Distribución para ser procesado.",
            "realized_at": "2024-05-27T19:28:04+00:00",
            "receiver_info": null
        }
    ]
}