Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
bronto-python-0.8.0.tar.gz (11.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page