.. AggCat documentation master file, created by sphinx-quickstart on Sun Aug 11 15:21:54 2013. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Quick Start =========== Ready to get your financial data? This quickstart is intended to get you setup to start using `Intuit's Customer Account Data API `_. Before Using The API Client --------------------------- You must take a few steps on Intuit's website before using the API client: 1. `Create a development account `_ and login. 2. `Create a new application `_ in the Customer Account Data category. It's easiest to `follow the instructions in the help documentation `_. 3. `Create and upload self a generated x509 certificate to your application `_. It's easiest to use openssl to generate the certificate. *It's best to name your key the same as your application name*. **Don't lose these certificates!** 4. `Gather the login details `_ and store them somewhere. You will need *OAuth Consumer Key*, *Oauth Consumer Secret*, *SAML Identity Provider ID* Installation ------------ :: pip install python-aggcat .. _known_issues: Known Issues ------------ The SSL library in Python 2.6 and below has a bug and will not parse the ``AlternativeNames`` out of the Intuit SSL cert causing a name mismatch during cetificate validation. For now, please pass ``verify_ssl = False`` to the :class:`AggcatClient` when initializing it. While less secure, I wanted the verification to be turned off explictly so you are aware. If possible, upgrade to Python 2.7+. Initializing the API Client --------------------------- Assuming you have an *OAuth Consumer Key*, *Oauth Consumer Secret*, *SAML Identity Provider ID*, and a path to the x509 certificates you generated you are ready to start querying:: from aggcat import AggcatClient client = AggcatClient( 'oauth_consumer_key', 'oauth_consumer_secret', 'saml_identity_provider_id', 'customer_id', '/path/to/x509/appname.key' ) .. note:: ``customer_id`` (Integer) It can be any integer. You should try using the database primary key of a user in your system or some other unique identifier such as a guid. If you are just testing you can use whatever integer you want. ``objectify`` (Boolean) This is a BETA functionality. It will objectify the XML returned from intuit into standard python objects so you don't have to mess with XML. Default: ``True`` Querying the API ---------------- Here are a few sample queries that don't require you to add an account Getting all institutions ^^^^^^^^^^^^^^^^^^^^^^^^ :: institutions = client.get_institutions() .. note :: This query will take a very long time depending on your internet connection. It returns 18000+ institutions in XML format. Sux :( If you are using the ``objectify = True`` keyword argument on the client you can access the institutions in a pythonic way :: >>> institutions = client.get_institutions() >>> len(institutions) 18716 >>> institutions[0].institution_name 'Carolina Foothills FCU Credit Card' Searching for your institution ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. include:: search_inst.rst Getting the institution details ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From the previous search example, we can use 13728 to get the institution details :: institution_details = client.get_institution_details(13278) :: 13278JP Morgan Chase Bankhttps://www.chase.com/1-877-242-7372
P O Box 36520Suite IL1-0291LouisvilleKY40233USA
http://www.chase.com/cm/cs?pagename=Chase/Href&urlname=chase/cc/contactus/emailPlease enter your JP Morgan Chase Bank User ID and Password required for login.USDusr_passwordActivetrue2truePasswordusr_nameActivetrue1falseUser ID
If you are using the ``objectify = True`` keyword argument on the client you can access the institution parameters in a Pythonic way :: >>> institution = client.get_institution_details(13278) >>> institution >>> institution.institution_name 'JP Morgan Chase Bank' >>> institution.home_url 'https://www.chase.com/' >>> institution.currency_code 'USD' User's Guide ------------ .. toctree:: :maxdepth: 3 api .. include:: release_notes.rst