Skip to main content

A python wrapper around Bronto's SOAP API

Project description

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.

https://travis-ci.org/Scotts-Marketplace/bronto-python.svg?branch=master https://coveralls.io/repos/Scotts-Marketplace/bronto-python/badge.png?branch=master https://pypip.in/d/bronto-python/badge.png

Getting Started

from bronto.client import Client

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

Simple as that!

Contacts

Adding a Contact

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

Retrieving a contact

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

Deleting a contact

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

Orders

Adding an order

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

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

FIELDS

Adding a field

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

Retrieving a field

client.get_field('my_field')

Deleting a field

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

LISTS

Adding a list

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

Retrieving a list

client.get_list('my_list')

Deleting a list

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.

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

bronto-python-0.8.0.tar.gz (11.9 kB view hashes)

Uploaded Source

Supported by

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