An open API service indexing awesome lists of open source software.

https://github.com/imerica/bronto-python

Bronto API Integration for Python
https://github.com/imerica/bronto-python

Last synced: 10 months ago
JSON representation

Bronto API Integration for Python

Awesome Lists containing this project

README

          

bronto-python
=============

bronto-python is a python query client which wraps the Bronto SOAP API in an
easy to use manner, using the `suds `_ library.

.. image:: https://travis-ci.org/Scotts-Marketplace/bronto-python.svg?branch=master
:target: https://travis-ci.org/Scotts-Marketplace/bronto-python

.. image:: https://coveralls.io/repos/Scotts-Marketplace/bronto-python/badge.png?branch=master
:target: https://coveralls.io/r/Scotts-Marketplace/bronto-python?branch=master

.. image:: https://pypip.in/d/bronto-python/badge.png
:target: https://crate.io/packages/bronto-python/

Getting Started
===============

.. code:: python

from bronto.client import Client

client = Client('BRONTO_API_TOKEN')
client.login()

Simple as that!

Contacts
========

Adding a Contact
----------------

.. code:: python

contact_data = {'email': 'me@domain.com',
'source': 'api',
'customSource': 'Using bronto-python to import my contact'}
client.add_contact(contact_data)

Retrieving a contact
--------------------

.. code:: python

client.get_contact('me@domain.com')

Deleting a contact
------------------

.. code:: python

client.delete_contact('me@domain.com')

Orders
======

Adding an order
---------------

.. code:: python

order_data = {'id': 'xyz123',
'email': 'me@domain.com',
'products': [
{'id': 1,
'sku': '1111',
'name': 'Test Product 1',
'description': 'This is our first test product.',
'quantity': 1,
'price': 3.50},
{'id': 2,
'sku': '2222',
'name': 'Second Test Product',
'description': 'Here we have another product for testing.',
'quantity': 12,
'price': 42.00}
]
}
client.add_order(order_data)

Deleting an order
-----------------

.. code:: python

client.delete_order('xyz123') # Orders are deleted by their orderId

FIELDS
======

Adding a field
--------------

.. code:: python

field_data = {'name': 'my_field',
'label': 'My Field',
'type': 'text',
'visible': 'private'
}
client.add_field(field_data)

Retrieving a field
------------------

.. code:: python

client.get_field('my_field')

Deleting a field
----------------

.. code:: python

field = client.get_field('my_field')
client.delete_field(field.id)

LISTS
=====

Adding a list
-------------

.. code:: python

list_data = {'name': 'my_list',
'label': 'My List'
}
client.add_list(list_data)

Retrieving a list
-----------------

.. code:: python

client.get_list('my_list')

Deleting a list
---------------

.. code:: python

list_to_del = client.get_list('my_list')
client.delete_field(list_to_del.id)

**NOTE:** This client is not built with long-running processes in mind. The
Bronto API connection will time out after 20 minutes of inactivity, and this
client does NOT handle those timeouts.