Skip to main content

Django Pickit Integration

Project description

django-pickit

Starting

These instructions will allow you to install the library in your python project.

Current features

  • Get default payload.
  • Create shipping.

Pre-requisitos

  • Python >= 3.7
  • Django >= 3
  • requests >= 2

Installation

  1. To get the latest stable release from PyPi:
pip install django-pickit

or

  1. From a build
git clone https://gitlab.com/linets/ecommerce/oms/integrations/django-pickit
cd {{project}}
python setup.py sdist

and, install in your project django

pip install {{path}}/django-pickit/dist/{{tar.gz file}}
  1. Settings in django project
DJANGO_PICKIT = {
    'PICKIT': {
        'BASE_URL': '<PICKIT_BASE_URL>',
        'RUT_USER': '<PICKIT_RUT_USER>',
        'PASS_USER': '<PICKIT_PASS_USER>',
        'DELIVERY_TYPE': '<PICKIT_DELIVERY_TYPE>',
    },
    'SENDER': {
        'RUT_COMPANY': '<PICKIT_RUT_COMPANY>',
        'CTA_CTE_NUMBER': '<PICKIT_CTA_CTE_NUMBER>',
        'DV_CTA_CTE_NUMBER': '<PICKIT_DV_CTA_CTE_NUMBER>',
        'CENTER_COST_CTA_CTE': '<PICKIT_CENTER_COST_CTA_CTE>',
        'DOCUMENT_TYPE': '<PICKIT_DOCUMENT_TYPE>',
        'GENERATE_LABEL_DOCUMENT_1': '<PICKIT_GENERATE_LABEL_DOCUMENT_1>',
        'TYPE_ORDER_1': '<PICKIT_TYPE_ORDER_1>',
        'ORIGEN_CITY': <PICKIT_ORIGEN_CITY>,
    }
}

Usage

  1. Create instance to be sent

    import json
    from types import SimpleNamespace
    
    dict_ = {
        'reference': '99999',
        'delivery_date': '2018-12-06 13:00:00',
        'created_at': '12/12/21',
        'shipping_date': '12/12/21',
        'expiration_date': '26/12/21',
        'tracking_code': '6075620-1',
        'transport_guide_number': '1121632479536-01-1',
        'purchase_number': 'CLV0048146676851-1',
        'agency_id': '123',
        'items': [
            {
                'code': 'SKU1234',
                'name': 'POLOS',
                'price': '2500',
                'quantity': '2'
            },
            {
                'code': 'SKU12345',
                'name': 'SHORT',
                'price': '1500',
                'quantity': '1'
            }
        ],
        'customer': {
            'first_name': 'Marcos',
            'last_name': 'Sac',
            'full_name': 'Marcos Sac',
            'phone': '932932932',
            'email': 'test@gmail.com',
            'rut': '16936195-9'
        },
        'address': {
            'street': 'ALEJANDRO VENEGAS CADIZ',
            'number': '513',
            'unit': 'DEPTO 6A',
            'full_address': 'ALEJANDRO VENEGAS CADIZ 513 DEPTO 6A'
        },
        'commune': {
            'name': 'Aisen',
            'code': '',
            'zone_code': '11201',
            'zone_post': 'WPA',
        },
        'location': {
            'code': 'MONTANDON',
            'name': 'MNN',
        },
        'region': {
            'name': 'Aysén del General Carlos Ibáñez del Campo',
            'code': '11',
            'iso_code': 'CL-XI',
        }
    }
    
    instance = json.loads(json.dumps(dict_), object_hook=lambda attr: SimpleNamespace(**attr))
    
  2. Get default payload:

from pickit.handler import PickitHandler

handler = PickitHandler()
default_data = handler.get_default_payload(<instance>)
  1. Create shipping:
from pickit.handler import PickitHandler

handler = PickitHandler()
default_data = handler.create_shipping(<default_data>)
  1. Get events:
from pickit.handler import PickitHandler

handler = PickitHandler()

raw_data = {
    'tracking_number': 999999,
    'status': 'Entregado',
    'events': [{
        'city': 'Santiago'
        'state': 'RM',
        'description': 'Llego al almacén',
        'date': '12/12/2021'
    }]
}
response = handler.get_events(raw_data)

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

handler = PickitHandler()

raw_data = {
    'tracking_number': 999999,
    'status': 'ENTREGADO',
    'events': [{
        'city': 'Santiago'
        'state': 'RM',
        'description': 'Llego al almacén',
        'date': '12/12/2021'
    }]
}
response = handler.get_status(raw_data)

Output:
('ENTREGADO', True)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corona_pickit-0.0.6.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

corona_pickit-0.0.6-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file corona_pickit-0.0.6.tar.gz.

File metadata

  • Download URL: corona_pickit-0.0.6.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for corona_pickit-0.0.6.tar.gz
Algorithm Hash digest
SHA256 6e0a1b00297730d61b30314b5277bd8a24d4cec2058d4d5ab6d907ddb5847bb1
MD5 33e4e8e1db54d8c206a69acf5d2b4471
BLAKE2b-256 f0c5a076706c76ce1785db018e02f29d9fea1c0fe05ed5428a9acc32b3c8c72d

See more details on using hashes here.

File details

Details for the file corona_pickit-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: corona_pickit-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.3

File hashes

Hashes for corona_pickit-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 455ea83ab91570e6860832610511b4041f54ab0290a3665b46ae0e80be29a3a8
MD5 48e54a1822ae66a6b47dccde94e7c369
BLAKE2b-256 e00c51933435b8e35e1f5639c1cb3e0915b5d75c02fa824dfb3d7b0702f098ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page