用于货币云api的python sdk。
currencycloud的Python项目详细描述
货币云
这是currency cloud的api的官方python sdk for v2。 每个api端点的附加文档可以在 connect.currencycloud.com。 如果您有任何疑问或需要支持,请联系我们的 在implementation@currencycloud.com的实现团队。
完整的源代码、测试和示例可以在 github。
安装
我们支持使用标准python“distutils”或 “设置工具”方法。潜在设置的概述如下 如下:
- plain python distutis-可以使用干净的 使用python distutils提供的服务安装python, 使用setup.py脚本。
- setuptools或distribute-使用时 setuptools,那个 库可以通过setup.py或easy_install安装。
- pip-pip是一个安装程序 在setuptools或distribute上运行,取代 易于安装。它的使用方式通常比较简单,因此更受欢迎。
通过PIP安装
当pip可用时,可以从pypi和 一步安装:
pip install currencycloud
此命令将下载库的最新版本 从python cheese shop安装到您的系统中。
使用setup.py安装
否则,可以使用setup.py从发行版安装 脚本:
python setup.py install
支持的python版本
这个库旨在支持 遵循ruby实现:
- cpython 2.6
- cpython 2.7
- cpython 3.2
- cpython 3.3
- cpython 3.4
- 皮比
用法
>>>importcurrencycloud## Configure ##>>>currencycloud.login_id='<your login id>'>>>currencycloud.api_key='<your api key>'>>>currencycloud.environment=currencycloud.ENV_DEMOSTRATION# use currencycloud.ENV_PRODUCTION when ready## Make API calls ##>>>currencies=currencycloud.Reference.currencies()>>>currencies[<currencycloud.resources.reference.Currencyobjectat0x10e6fd190>,<currencycloud.resources.reference.Currencyobjectat0x10e6fd1d0>,<currencycloud.resources.reference.Currencyobjectat0x10e6fd2d0>,…<currencycloud.resources.reference.Currencyobjectat0x10e6fd9d0>]>>>balances=currencycloud.Balance.find()>>>balances[<currencycloud.resources.balance.Balanceobjectat0x10e6fd7d0>]>>>balances.paginationAttrDict({u'next_page':-1,u'previous_page':-1,u'total_entries':1,u'current_page':1,u'total_pages':1,u'order_asc_desc':u'asc',u'per_page':25,u'order':u'created_at'})>>>balances[0].currencyu'GBP'>>>currency_usd=balances[0].currency_with_code('USD')>>>currency_usd<currencycloud.resources.balance.Balanceobjectat0x10cddcc50>## Access attributes ##>>>currency_usd.currencyu'USD'>>>currency_usd['currency']u'USD'
代表
如果您想代表其他用户(例如 有一个子帐户),您可以代表执行某些命令 “用户的联系人”的ID。下面是一个示例:
withcurrencycloud.on_behalf_of('c6ece846-6df1-461d-acaa-b42a6aa74045'):beneficiary=currencycloud.Beneficiary.create(<params>)conversion=currencycloud.Conversion.create(<params>)payment=currencycloud.Payment.create(<params>)
或者,只需将on_behalf_of添加到调用参数, 例如:
currencycloud.Account.create(account_name='My Test User',on_behalf_of='c6ece846-6df1-461d-acaa-b42a6aa74045')
上述每个事务都将在权限范围内执行 对于该联系人和链接到该联系人。注意,真正的用户 执行的事务也将被存储。
错误
当api出现错误时,库的目标是 尽可能多的信息。下面是一个示例:
BadRequestError---errors:-code:term_agreement_is_requiredfield:term_agreementmessage:term_agreement is requiredparams:{}-code:term_agreement_type_is_wrongfield:term_agreementmessage:term_agreement should be of boolean typeparams:type:booleanplatform:python - 2.7.6 (default, Sep 9 2014, 15:04:36) - CPythonrequest:parameters:amount:-'1000'buy_currency:-GBPfixed_side:-buyreason:-mortagesell_currency:-USDurl:https://devapi.thecurrencycloud.com/v2/conversions/createverb:postresponse:date:Thu, 25 Jun 2015 16:46:42 GMTrequest_id:2816384323363505615status_code:400
它分为5个部分:
- 错误类型:在这种情况下,BadRequestError表示http 400 错误
- 平台:使用的python实现,如python- 2.7.6'
- 请求:有关发出的http请求的详细信息,例如post 参数
- response:返回的http响应的详细信息,例如http 状态代码
- 错误:提供附加信息的错误列表
错误部分包含有价值的信息:
- field:错误链接到的参数
- 代码:表示此错误的代码
- 消息:解释错误的可读消息
- params:包含错误消息的动态部分的哈希 生成自定义错误消息
使用currency cloud支持排除api调用故障时,包括 任何通信中的全部错误都可能非常有用。
开发
运行我们使用的测试用例 tox,一个通用的virtualenv 管理和测试命令行工具。它可以很容易地安装 pip
pip install tox
或者用setuptools
easy_install tox
运行测试
tox
版本控制
这个项目使用semantic versioning。你可以 安全的ly表示对主要版本的依赖,并期望所有次要版本和 补丁版本向后兼容。
版权所有
版权所有(c)2015货币云。参见LICENSE了解 细节。