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将spring j_spring_安全检查迁移到登录   log4j2中自定义appender中AppConfig的java问题   在将java转换为Json时是否可以忽略内部类名和变量   用java将PDF文件转换为十六进制格式   java将值从AsyncTask返回到主类   java如何导入带有部署变量类名的静态函数?   java Spring Boot@ConfigurationProperties未从环境检索属性   java为什么API调用需要80毫秒的延迟才能到达控制器(在Google应用程序引擎中)?   XML配置中MarshallingMessageConverter中的java设置MarshallTo获取无效属性“MarshallTo”   java从群中获取facebook帖子   @ComponentScan的java excludeFilters不起作用   java将单选按钮值从一个类传递到另一个类   java使JTextArea在Swing中可滚动   java Android增强现实应用程序:将球坐标旋转到设备坐标系