Package: django-99minutos
django-99MINUTOSStartingThese instructions will allow you to install the library in your python project.Current featuresGet default payload.Create shipping.Pre-requisitosPython >= 3.7Django >= 3requests >= 2InstallationTo get the latest stable release from PyPi:pip install django-99minutosorFrom a buildgit clone https://gitlab.com/linets/ecommerce/oms/integrations/django-99minutoscd {{project}}python setup.py sdistand, install in your project djangopip install {{path}}/django-99MINUTOS/dist/{{tar.gz file}}Settings in django projectDJANGO_99MINUTOS = {
    'XCIXMINUTOS': {
        'BASE_URL': '<99MINUTOS_BASE_URL>',
        'TOKEN': '<99MINUTOS_TOKEN>',
        'SERVICE': '<99MINUTOS_SERVICE>',
        'START_TIME': '<99MINUTOS_START_TIME>',
        'END_TIME': '<99MINUTOS_END_TIME>',
    },
    'SENDER': {
        'CD_NAME': '<99MINUTOS_CD_NAME>',
        'CD_ADDRESS': '<99MINUTOS_CD_ADDRESS>',
        'CD_COMMUNE': '<99MINUTOS_CD_COMMUNE>',
        'CD_LOCATION_ID': '<99MINUTOS_CD_LOCATION_ID>',
    }
}UsageCreate instance to be sentimport json
from types import SimpleNamespace

dict_ = {
    'shipments': [
        {
            'internalKey': '',
            'deliveryType': 'NXD',
            'sender': {
                'firstName': 'Esteban',
                'lastName': 'Ramirez',
                'phone': '+52999999999',
                'email': 'esteban@gmail.com'
            },
            'recipient': {
                'firstName': 'Carlos',
                'lastName': 'Gonzalez',
                'phone': '+52999999999',
                'email': 'esteban@gmail.com'
            },
            'origin': {
                'address': 'Av. del Taller 451, Jardín Balbuena, Álvaro Obregón, 15900 Ciudad de México, CDMX, México',
                'country': 'MEX',
                'reference':'Primer Piso',
                'zipcode': '15900'
            },
            'destination': {
                'address': 'Av 9 Pte 308, Centro histórico de Puebla, Puebla, Pue., México',
                'reference':'Torre 3 Apartamente 905',
                'country': 'MEX',
                'zipcode': '72000'
            },
            'payments': {
                'paymentMethod': 'monthly'
            },
            'options': {
                'pickUpAfter':'2022-02-01T08:00:00.000Z',
                'deliveryBetween': {
                   'start':'2022-02-02T12:00:00.000Z',
                   'end':'2022-02-02T20:00:00.000Z'
                },
                'requiresIdentification': False,
                'requiresSignature': False,
                'twoFactorAuth': False,
                'notes':'**Information to be printed on the label**'
            },
            'items': [
                {
                    'size': 's',
                    'description': 'lorem ipsum',
                    'weight': 1000,
                    'length': 50,
                    'width': 30,
                    'height': 20
                }
            ]
        }
    ],
    'draft': False
}

instance = json.loads(json.dumps(dict_), object_hook=lambda attr: SimpleNamespace(**attr))Get default payload:from XCIXminutos.handler import XCIXMinutosHandler

handler = XCIXMinutosHandler()
default_data = handler.get_default_payload(<instance>)Create shipping:from XCIXminutos.handler import XCIXMinutosHandler

handler = XCIXMinutosHandler()
default_data = handler.create_shipping(<default_data>)Get events:from XCIXminutos.handler import XCIXMinutosHandler

handler = XCIXMinutosHandler()

raw_data = {
    '_id': {
        '$oid': '636142b3ba74ddfba5152d3e'
    },
    'request': {
        'url': 'https://api.bendo.app/api/wh/99minutosv3/',
        'headers': {
            'Authorization': 'Basic KEY',
            'Content-Type': 'application/json',
            'User-Agent': '99notifications'
        },
        'body': {
            'statusname': 'onRoadToDelivery',
            'trackingid': '7250229709',
            'internalkey': '786-A1D-D33',
            'events': [
                {
                    'statuscode': '1002',
                    'statusname': 'confirmed',
                    'data': {
                        'comment': 'NEW_ORDER_CONFIRMED',
                        'evidence': []
                    },
                    'createdat': '2022-10-31 15:16:09'
                },
                {
                    'statuscode': '2003',
                    'statusname': 'collected',
                    'data': {
                        'comment': 'Recolectada por el veloz Don Veloz 99m B 3ed6433',
                        'evidence': []
                    },
                    'createdat': '2022-10-31 19:17:58'
                },
                {
                    'statuscode': '3001',
                    'statusname': 'stored',
                    'data': {
                        'comment': 'En estación MX0 por módulo de inducción',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 06:02:25'
                },
                {
                    'statuscode': '3002',
                    'statusname': 'onContainer',
                    'data': {
                        'comment': 'Contenerizado en la estación MX0 en el contenedor VIH-131 en el finger F4',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 06:35:31'
                },
                {
                    'statuscode': '3003',
                    'statusname': 'chargedToVehicle',
                    'data': {
                        'comment': 'Subida al line haul del veloz Juan Carlos, Enciso Ahuatzi con las placas LE17833 en la estacion MX0 dentro del contenedor VIH-131',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 09:54:15'
                },
                {
                    'statuscode': '3004',
                    'statusname': 'onLinehaul',
                    'data': {
                        'comment': 'Despachado de la estación MX0 hacia la estación MX3, en el line haul del veloz Juan Carlos, Enciso Ahuatzi con las placas LE17833 en el contenedor VIH-131',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 10:22:47'
                },
                {
                    'statuscode': '3001',
                    'statusname': 'stored',
                    'data': {
                        'evidence': [],
                        'comment': 'En estación final MX3 por módulo de inducción'
                    },
                    'createdat': '2022-11-01 11:40:19'
                },
                {
                    'statuscode': '4001',
                    'statusname': 'onRoadToDelivery',
                    'data': {
                        'comment': 'Asignación masiva al veloz: Felipe Ramirez Zepeda por: nancy.concepcion en la estación: Alvaro Obregón el número de orden 7250229709',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 16:00:50'
                }
            ]
        }
    }

response = handler.get_events(raw_data)

Output:
[{
    'city': 'Santiago'
    'state': 'RM',
    'description': 'Llego al almacén',
    'date': '12/12/2021'
}]Get status and if "is_delivered":from XCIXminutos.handler import XCIXMinutosHandler

handler = XCIXMinutosHandler()

raw_data = {
    '_id': {
        '$oid': '636142b3ba74ddfba5152d3e'
    },
    'request': {
        'url': 'https://api.bendo.app/api/wh/99minutosv3/',
        'headers': {
            'Authorization': 'Basic KEY',
            'Content-Type': 'application/json',
            'User-Agent': '99notifications'
        },
        'body': {
            'statusname': 'onRoadToDelivery',
            'trackingid': '7250229709',
            'internalkey': '786-A1D-D33',
            'events': [
                {
                    'statuscode': '1002',
                    'statusname': 'confirmed',
                    'data': {
                        'comment': 'NEW_ORDER_CONFIRMED',
                        'evidence': []
                    },
                    'createdat': '2022-10-31 15:16:09'
                },
                {
                    'statuscode': '2003',
                    'statusname': 'collected',
                    'data': {
                        'comment': 'Recolectada por el veloz Don Veloz 99m B 3ed6433',
                        'evidence': []
                    },
                    'createdat': '2022-10-31 19:17:58'
                },
                {
                    'statuscode': '3001',
                    'statusname': 'stored',
                    'data': {
                        'comment': 'En estación MX0 por módulo de inducción',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 06:02:25'
                },
                {
                    'statuscode': '3002',
                    'statusname': 'onContainer',
                    'data': {
                        'comment': 'Contenerizado en la estación MX0 en el contenedor VIH-131 en el finger F4',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 06:35:31'
                },
                {
                    'statuscode': '3003',
                    'statusname': 'chargedToVehicle',
                    'data': {
                        'comment': 'Subida al line haul del veloz Juan Carlos, Enciso Ahuatzi con las placas LE17833 en la estacion MX0 dentro del contenedor VIH-131',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 09:54:15'
                },
                {
                    'statuscode': '3004',
                    'statusname': 'onLinehaul',
                    'data': {
                        'comment': 'Despachado de la estación MX0 hacia la estación MX3, en el line haul del veloz Juan Carlos, Enciso Ahuatzi con las placas LE17833 en el contenedor VIH-131',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 10:22:47'
                },
                {
                    'statuscode': '3001',
                    'statusname': 'stored',
                    'data': {
                        'evidence': [],
                        'comment': 'En estación final MX3 por módulo de inducción'
                    },
                    'createdat': '2022-11-01 11:40:19'
                },
                {
                    'statuscode': '4001',
                    'statusname': 'onRoadToDelivery',
                    'data': {
                        'comment': 'Asignación masiva al veloz: Felipe Ramirez Zepeda por: nancy.concepcion en la estación: Alvaro Obregón el número de orden 7250229709',
                        'evidence': []
                    },
                    'createdat': '2022-11-01 16:00:50'
                }
            ]
        }
    }

response = handler.get_status(raw_data)

Output:
('Entregado', True)