Finicity的API客户端库

lakey-finicit的Python项目详细描述


免责声明

这座图书馆是由第三方建造的,而不是最后一家。在生产准备就绪之前,它仍在打磨,但已经准备好玩玩了。在

快速启动

首先,从https://developer.finicity.com/获取合作伙伴id、合作伙伴机密和应用程序密钥。在

接下来,安装库:

pip3 install lakey-finicity

然后在python中,执行导入、创建客户机并创建测试客户机和消费者:

^{pr2}$

现在使用Finicity connect连接帐户:

  • 打开那个链接
  • 接受条款
  • 搜索并选择“Finbank Profiles-A”
  • 用户名:任意,密码:profile_02

现在您可以创建测试事务和查询事务:

accounts=finicity.accounts.get_by_customer_id(customer_id)test_transaction_id=finicity.testing.add_transaction(customer_id=customer_id,account_id=accounts[0].id,amount=5.23,description="test tx",posted_date=1584006412,# epoch secondstransaction_date=1584006412,# epoch seconds)qry=finicity.transactions.query(customer_id=customer_id,from_date=1460621294,# epoch secondsto_date=1584006413,# epoch seconds)print(f"Found {qry.count()} transactions.")fortransactioninqry.iter():print(transaction)

…清理干净。在

finicity.customers.delete(customer_id)

就这样。更多功能见下文。在

客户

Client类处理身份验证和令牌过期、端点、重试、头、格式化以及将json响应映射到模型。在

finicity=FinicityClient(PARTNER_ID,PARTNER_SECRET,APP_KEY)

顾客

new_customer_id:int=finicity.customers.add(username='jane_doe',first_name='John',last_name='Doe')new_customer:Customer=finicity.customers.get(new_customer_id)new_customer=finicity.customers.get_by_username(new_customer.username)qry=finicity.customers.query("john")new_customer=qry.first_or_none()forcustomerinqry.iter():passcustomer_count_with_name_john=qry.count()finicity.customers.modify(new_customer_id,first_name="John",last_name="Smith")finicity.customers.delete(new_customer_id)

报告消费者

consumer_id_for_new_customer:str=finicity.consumers.create(customer_id=new_customer_id,first_name="John",last_name="Doe",address="123 Main St",city="Salt Lake City",state="Utah",zip="84000",phone="8012345678",ssn="521-43-6987",birthday=BirthDate(year=1980,month=1,day_of_month=10),email="johndoe@example.com",)consumer:Consumer=finicity.customers.get(consumer_id_for_new_customer)finicity.consumer.get(consumer_id_for_new_customer)finicity.consumer.get_for_customer(new_customer_id)finicity.consumers.modify(consumer_id=consumer_id_for_new_customer,first_name="John",last_name="Doe",address="123 Main St",city="Salt Lake City",state="Utah",zip="84000",phone="8012345678",ssn="521-43-6987",birthday=BirthDate(year=1980,month=1,day_of_month=10),email="johndoe@example.com",)

机构

institution=finicity.institutions.get(12345)query=finicity.institutions.get("Bank of America")forinstitutioninquery.iter():print(institution.name)forinstitution_listinquery.batches():pass

连接

connect_link:str=finicity.connect.generate_link(customer_id=new_customer_id,consumer_id=consumer_id_for_new_customer,link_type=ConnectType.aggregation,webhook_content_type=ContentType.JSON,webhook='https://yoursite.example.com/webhooks/finicity_connect',webhook_data={'value1':'a','value2':'b'},analytics='google:UA-123456789-1',)

帐目

accounts:List[Account]=finicity.accounts.get_by_customer_id(customer_id=new_customer_id,include_pending=True,)accounts:List[Account]=finicity.accounts.get_by_customer_id_and_institution_id(customer_id=customer_id,institution_id=institution_id,)account:Account=finicity.accounts.get(customer_id=customer_id,account_id:str)finicity.accounts.modify(customer_id=customer_id,account_id=account_id,number="123456,name="main account",)finicity.accounts.delete(customer_id=customer_id,account_id=account_id):accounts:List[Account]=finicity.accounts.get_by_institution_login_id(customer_id=customer_id,institution_login_id=institution_login_id,)details:AccountDetailResponse=finicity.accounts.get_details(customer_id=customer_id,account_id=account_id,)answered_mfa_questions:List[AnsweredMfaQuestion]=[q.answer('bob')forqinquestions]details:AccountDetailResponse=finicity.accounts.get_details_with_mfa_answers(customer_id=customer_id,account_id=account_id,questions=answered_mfa_questions,)owner:AccountOwner=finicity.accounts.get_owner(customer_id=customer_id,account_id=account_id,)owner:AccountOwner=finicity.accounts.get_owner_with_mfa_answers(customer_id=customer_id,account_id=account_id,questions=questions,)pdf:bytes=finicity.accounts.get_statement(customer_id=customer_id,account_id=account_id,)pdf:bytes=finicity.accounts.get_statement_with_mfa_answers(customer_id=customer_id,account_id=account_id,questions=questions,)

交易

query=finicity.transactions.query(customer_id=customer_id,from_date=1494449017,to_date=1494449017,sort=SortOrder.asc,include_pending=True,account_id=account_id,)fortransactioninquery.iter():print(transaction.description)fortransaction_listinquery.batches():passsubscriptions:List[SubscriptionRecord]=finicity.transactions.enable_push_notifications(customer_id=customer_id,account_id=account_id,callback_url='https://yoursite.example.com/webhooks/transactions',)finicity.transactions.disable_push_notifications(customer_id=customer_id,account_id=account_id,)finicity.transactions.delete_push_subscription(customer_id=customer_id,subscription_id=subscription_id,)finicity.transactions.load_historic_transactions_for_account(customer_id=customer_id,account_id=account_id,)finicity.transactions.load_historic_transactions_for_account_with_mfa_answers(mfaSession=mfaSession,customer_id=customer_id,account_id=account_id,questions=answered_mfa_questions,)finicity.transactions.refresh_customer_accounts(customer_id)finicity.transactions.refresh_institution_login_accounts(customer_id=customer_id,institution_login_id=institution_login_id,)

报告

report_id=finicity.reports.generate_voa_report(customer_id=new_customer_id,callback_url='https://yoursite.example.com/webhooks/finicity_report',from_date=1494449017,accountIds=account_ids,)report_id=finicity.reports.generate_voi_report(customer_id=new_customer_id,callback_url='https://yoursite.example.com/webhooks/finicity_report',accountIds=account_ids,)finicity.reports.get_reports_for_customer(new_customer_id)finicity.reports.get_reports_for_consumer(consumer_id_for_new_customer)finicity.reports.get_report_by_consumer(consumer_id=consumer_id_for_new_customer,report_id=report_id,purpose=PermissiblePurpose.CODE_12,)finicity.reports.get_report_by_customer(customer_id=new_customer_id,report_id=report_id,purpose=PermissiblePurpose.CODE_12,)

测试

test_customer_id:int=finicity.testing.add_customer(username='jane_doe',first_name='John',last_name='Doe')test_transaction_id:int=finicity.testing.add_transaction(customer_id=test_customer_id,account_id=test_account_id,amount=5.23,description="test tx",status=TransactionStatus.active,posted_date=1460621294,transaction_date=1460621294)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java动态地将圆添加到Arraylist   什么是好的“错误检查”模式(Java)?   java是我们可以在应用程序中使用的云服务,它需要存储最大大小为5MB的小文件   JavaGooglePhotosAPI是静态内容上传项目的永久url   java AES密钥存储   java文件正在下载,但没有任何内容   每次循环迭代和threadsleep的java日志记录都是不好的做法?   java不会切换到另一个。单击submit时使用jsp。春季mvc   java我很难从我的maclaurin系列中获得sin x的准确输出   java使用类似的<Object>?   需要java Hibernate映射吗?   java如何在https和客户端证书请求后面生成web服务代理   java如何通过注释有条件地使用自定义JsonSerializer   java如何在html页面和Restful WebResource方法之间实现JaxB?   读取文件Libgdx Android时发生java错误   java如何在处理主活动之前从另一个方法中获取值?   java在一个SQLquery中使用多个语句,还是使用批处理?