bunq python开发包
bunq-sdk的Python项目详细描述
bunq python sdk
简介
嗨,开发者!
欢迎使用bunq python sdk!
我们很高兴介绍另一个独特的产品:全套银行服务! 现在你可以构建更大更好的应用程序,并将它们与你的免费银行集成!
在您深入了解这个全新的sdk之前,请考虑:
- 查看我们的新开发人员页面https://bunq.com/en/developer
- 从bunq应用程序中获取生产api密钥,或使用Tinker
- 参观together.bunq.com你可以分享你的创作, 问题和经验
给我们你的反馈,创建拉式请求,构建你自己的bunq应用程序,最重要的是: 玩得高兴!
这个sdk位于beta中。我们不能保证持续的可用性或稳定性。 多亏你的反馈,我们会改进的。
安装
pip install bunq_sdk --upgrade
用法
创建api上下文
为了开始使用bunq api进行调用,必须首先注册api密钥和设备, 并创建会话。在sdk中,我们将这些操作分组并称之为“创建api上下文”。这个 可以使用以下代码段创建上下文:
apiContext = context.ApiContext(ENVIRONMENT_TYPE, API_KEY,
DEVICE_DESCRIPTION);
apiContext.save(API_CONTEXT_FILE_PATH)
context.BunqContext.loadApiContext(apiContext)
除了context.BunqContext.loadApiContext(apiContext)
之外,此代码段应为每个api密钥调用一次。
示例
见^{
安全注意事项
存储上下文详细信息(即bunq.conf
)的文件是帐户的密钥。任何人
对它的访问可以使用您的帐户执行任何公共api操作。因此,我们建议
选择一个真正安全的地方存放。
进行api调用
每个端点都有一个类。每个类对每个支持的操作都有函数。这些
动作可以是create
、get
、update
、delete
和list
。
有时api调用有依赖关系,例如MonetaryAccount
。改变货币
帐户还始终需要对User
的引用。当
执行API调用。看一下doc.bunq.com的全文
文档。
创建对象
通过api创建对象需要一个ApiContext
、一个requestMap
和所有
依赖项(例如访问货币帐户所需的用户ID)。可选,自定义标题
可以传递给请求。
payment_id = endpoint.Payment.create(
amount=Amount(amount_string, self._CURRENCY_EURL),
counterparty_alias=Pointer(self._POINTER_TYPE_EMAIL, recipient),
description=description
)
示例
见^{
读取对象
通过api读取对象需要一个ApiContext
,所有依赖项的标识符(例如
访问货币帐户所需的用户ID)和要读取的对象的标识符(ID或
uuid)可选地,自定义头可以传递给请求。
这种类型的调用总是返回一个模型。
monetary_account = generated.MonetaryAccountBank.get(
_MONETARY_ACCOUNT_ITEM_ID
)
示例
见^{
更新对象
通过api更新对象的方式与创建对象的方式相同,只不过要更新标识符的对象 需要(id或uuid)。
endpoint.Card.update(
card_id=int(card_id),
monetary_account_current_id=int(account_id)
)
示例
见^{
删除对象
通过api删除对象需要一个ApiContext
,所有依赖项的标识符(例如
访问货币帐户)和要删除的对象的标识符(id或uuid),自定义头可以是
传递给请求。
Session.delete(self._SESSION_ID)
示例
列出对象
通过api列出对象需要一个ApiContext
和所有依赖项的标识符(例如需要用户id
用于访问货币账户)。也可以将自定义头传递给请求。
users = generated.User.list(api_context)
示例
见^{
运行样本
要了解sdk是如何工作的,可以使用位于https://github.com/bunq/tinker_python的python修补程序
运行测试
例外情况
sdk可以引发多个异常。关于这些的概述请例外 看看EXCEPTIONS.md