Fulfil REST API Client in Python
Project description
Fulfil IO Python Client
Fulfil REST API Client in Python
Free software: ISC license
Documentation: https://fulfil-python-api.readthedocs.org.
Features
Ability to call models
Quickstart
from fulfil_client import Client client = Client('<subdomain>', '<api_key>') Product = client.model('product.product') iphones = Product.search(['name', 'ilike', 'iphone'])
Contacts
Contact can have multiple addresses and contact mechanisms i.e. phone, email.
from fulfil_client import Client client = Client('<subdomain>', '<api_key>') Contact = client.model('party.party') Country = client.model('country.country') Subdivision = client.model('country.subdivision') country_usa, = Country.search([('code', '=', 'US')]) state_california, = Subdivision.search([('code', '=', 'US-CA')]) # Creating a contact with address and contact mechanisms contact, = Contact.create([{ 'name': 'Jon Doe', 'addresses': [('create', [{ 'name': 'Jone Doe Apartment', 'street': '9805 Kaiden Grove', 'city': 'New Leland', 'zip': '57726', 'country': country_usa['id'], 'subdivision': state_california['id'] }])], 'contact_mechanisms': [('create', [{ 'type': 'phone', 'value': '243243234' }, { 'email': 'email', 'value': 'hello@jondoe.com' }])] }]) print contact # Searching for a contact contact, = Contact.search([('name', '=', 'Jon Doe')]) print contact # Get a contact by ID contact = Contact.get(contact['id']) print contact
Products
Products are grouped by templates, which have common information shared by products a.k.a. variants.
from decimal import Decimal # Creating a Product Template Template = client.model('product.template') iphone, = Template.create([{ 'name': 'iPhone', 'account_category': True, }]) # Creating products Product = client.model('product.product') iphone6, = Product.create([{ 'template': iphone['id'], 'variant_name': 'iPhone 6', 'code': 'IPHONE-6', 'list_price': Decimal('699'), 'cost_price': Decimal('599'), }]) # Another variation iphone6s, = Product.create([{ 'template': iphone['id'], 'variant_name': 'iPhone 6S', 'code': 'IPHONE-6S', 'list_price': Decimal('899'), 'cost_price': Decimal('699'), }])
Sale
contact = Contact.get(contact['id']) iphone6 = Product.get(iphone6['id']) iphone6s = Product.get(iphone6s['id']) # Creating a Sale Sale = client.model('sale.sale') sale, = Sale.create([{ 'party': contact['id'], 'shipment_address': contact['addresses'][0], 'invoice_address': contact['addresses'][0], 'lines': [('create', [{ 'product': iphone6['id'], 'description': iphone6['rec_name'], 'unit': iphone6['default_uom'], 'unit_price': iphone6['list_price'], 'quantity': 3 }, { 'product': iphone6s['id'], 'description': iphone6s['rec_name'], 'unit': iphone6['default_uom'], 'unit_price': iphone6s['list_price'], 'quantity': 1 }])] }])
Credits
Fulfil.IO Inc.
History
0.1.1 (2016-3-3)
Add method to create resource.
Add examples on how to create contacts, products and sales.
0.1.0 (2016-1-22)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fulfil_client-0.1.1.tar.gz
(12.6 kB
view hashes)