Metadata-Version: 2.1
Name: django-magento
Version: 1.2.0
Summary: Magento integration
Home-page: https://gitlab.com/linets/ecommerce/oms/integrations/oms-magento/
Author: Linets team
Author-email: avelasqueza@linets.cl
License: MIT
Description: # Linets Magento
        
        ## Starting
        
        These instructions will allow you to install the library in your django project.
        
        ## Current features
        
        1. List orders by filters.
        1. Get order detail.
        1. Get order products.
        1. Create shipment.
        1. Create invoice.
        1. Update order.
        1. Cancel order.
        
        ## Pre-requisitos
        
        1. Python >= 3.7
        1. requests >= 2
        1. Django >= 3,
        
        ## Installation
        
        To get the latest stable release from PyPi:
        
        ```bash
        pip install django-magento
        ```
        
        or From a build
        
        ```bash
        git clone https://gitlab.com/linets/ecommerce/oms/integrations/oms-magento
        cd {{project}} && git checkout develop
        python setup.py sdist
        ```
        
        and, install in your project Django.
        
        ```shell
        pip install {{path}}/oms-magento/dist/{{tar.gz file}}
        ```
        
        ### Settings in django project
        
        ```python
        DJANGO_MAGENTO = {
            'MAGENTO': {
                'BASE_URL': '<MAGENTO_API_URL>',
                'API_KEY': '<MAGENTO_API_KEY>',
            },
        }
        ```
        
        ## Usage
        
        ```python
        from magento.handler import MagentoHandler
        handler = MagentoHandler()
        ```
        
        ### List orders in Magento:
        
        Basic list orders.
        
        ```python
        default_data = handler.get_orders()
        ```
        
        You can send filter parameters.
        
        ```python
        params = {
            'searchCriteria[filterGroups][1][filters][0][field]': 'created_at',
            'searchCriteria[filterGroups][1][filters][0][value]': '2021-05-10 12:12:50',
            'searchCriteria[filterGroups][1][filters][0][conditionType]': 'gt',
            'fields': 'items[entity_id,status,state,increment_id],search_criteria'
        }
        
        # if params is empty, filter by status will be equal to 'complete'.
        default_data = handler.get_orders(params)
        ```
        
        ```python
        # Output:
        {
            'items': [....],
            'search_criteria': {
                'filter_groups': [
                    {
                        'filters': [
                            {
                                'field': 'status',
                                'value': 'pending',
                                'condition_type': 'eq'
                            }
                          ]
                    },
                    {
                        'filters': [
                            {
                                'field': 'created_at',
                                'value': '2021-05-14 15:00:37',
                                'condition_type': 'lt'
                            }
                        ]
                    }
                ]
            },
            'total_count': 0
        }
        ```
        
        Get order detail in Magento:
        
        ```python
        default_data = handler.get_order_detail(identifier)
        
        # Output:
        {
            'base_currency_code': 'CLP',
            'base_discount_amount': 0,
            'base_discount_invoiced': 0,
            'base_grand_total': 31990,
            'base_discount_tax_compensation_amount': 0,
            'base_discount_tax_compensation_invoiced': 0,
            'base_shipping_amount': 0,
            'base_shipping_discount_amount': 0,
            'base_shipping_discount_tax_compensation_amnt': 0,
            'base_shipping_incl_tax': 0,
            'base_shipping_invoiced': 0,
            'base_shipping_tax_amount': 0,
            'base_subtotal': 31990,
            'items': [...],
            'billing_address': {...},
            'payment': {...},
            'status_histories': {...},
            'extension_attributes': {...},
            'payment_additional_info': {...},
            'gift_cards': [...],
            'base_gift_cards_amount': 0,
            'gift_cards_amount': 0,
            'applied_taxes': [...],
            'item_applied_taxes': [...],
            'gw_base_price': '0.0000',
            'gw_price': '0.0000',
            'gw_items_base_price': '0.0000',
            'gw_items_price': '0.0000',
            'gw_card_base_price': '0.0000',
            'gw_card_price': '0.0000',
            'checkout_request_invoice': 'No',
            'rut': '17.716.251-5
        }
        ```
        
        Get products for order:
        
        ```python
        response = handler.get_order_products(identifier)
        
        # Output:
        {
            "items": [
                {
                    "item_id": 140,
                    "qty_ordered": 1,
                    "sku": "ALCNHDA01B57Z"
                }
            ]
        }
        ```
        
        Create shipment:
        
        ```python
        items = [{'order_item_id': 9999, 'qty': 1}]
        response = handler.create_shipment(identifier, items)
        
        Output:
        9999
        ```
        
        Get invoice
        
        ```python
        from magento.handler import MagentoHandler
        
        handler = MagentoHandler()
        
        response = handler.get_invoice(747118)
        
        Output:
        {'items': [{'base_currency_code': 'CLP',
           'base_discount_amount': 0,
           'base_grand_total': 29990,
           'base_discount_tax_compensation_amount': 0,
           'base_shipping_amount': 0,
           'base_shipping_discount_tax_compensation_amnt': 0,
           'base_shipping_incl_tax': 0,
           'base_shipping_tax_amount': 0,
           'base_subtotal': 29990,
           'base_subtotal_incl_tax': 29990,
           'base_tax_amount': 0,
           'base_total_refunded': 29990,
           'base_to_global_rate': 1,
           'base_to_order_rate': 1,
           'billing_address_id': 194,
           'created_at': '2020-10-29 19:06:51',
           'discount_amount': 0,
           'entity_id': 12,
           'global_currency_code': 'CLP',
           'grand_total': 29990,
           'discount_tax_compensation_amount': 0,
           'increment_id': '2000000012',
           'is_used_for_refund': 1,
           'order_currency_code': 'CLP',
           'order_id': 97,
           'shipping_address_id': 193,
           'shipping_amount': 0,
           'shipping_discount_tax_compensation_amount': 0,
           'shipping_incl_tax': 0,
           'shipping_tax_amount': 0,
           'state': 2,
           'store_currency_code': 'CLP',
           'store_id': 2,
           'store_to_base_rate': 0,
           'store_to_order_rate': 0,
           'subtotal': 29990,
           'subtotal_incl_tax': 29990,
           'tax_amount': 0,
           'total_qty': 2,
           'transaction_id': '191101',
           'updated_at': '2021-06-15 15:15:36',
           'items': [{'base_discount_tax_compensation_amount': 0,
             'base_price': 29990,
             'base_price_incl_tax': 29990,
             'base_row_total': 29990,
             'base_row_total_incl_tax': 29990,
             'base_tax_amount': 0,
             'entity_id': 15,
             'discount_tax_compensation_amount': 0,
             'name': 'PANTALÓN LISO',
             'parent_id': 7,
             'price': 29990,
             'price_incl_tax': 29990,
             'product_id': 2411,
             'row_total': 29990,
             'row_total_incl_tax': 29990,
             'sku': '11020205210250',
             'tax_amount': 0,
             'order_item_id': 199,
             'qty': 1},
            {'base_price': 0,
             'entity_id': 16,
             'name': 'PANTALÓN LISO',
             'parent_id': 7,
             'price': 29990,
             'product_id': 2311,
             'sku': '11020205210250',
             'order_item_id': 200,
             'qty': 1}],
           'comments': [],
           'extension_attributes': {'am_giftcard_invoice': {'entity_id': 0,
             'invoice_id': 7,
             'gift_amount': 0,
             'base_gift_amount': 0}}}],
         'search_criteria': {'filter_groups': [{'filters': [{'field': 'order_id',
              'value': '97',
              'condition_type': 'eq'}]}]},
         'total_count': 1}
        ```
        
        Create invoice:
        
        ```python
        items = [{'order_item_id': 9999, 'qty': 1}]
        response = handler.create_invoice(identifier, items)
        
        # Output:
        9999
        ```
        
        Update order:
        
        ```python
        response = handler.update_order(identifier, comment, status, notify_customer)
        
        # Output:
        True
        ```
        
        Cancel order in Magento:
        
        ```python
        response = handler.cancel_order(identifier)
        
        # Output:
        True
        ```
        
Platform: UNKNOWN
Requires-Python: >=3.7
Description-Content-Type: text/markdown
