用于货币云api的python sdk。

currencycloud的Python项目详细描述


currencycloudPython

Build Status

货币云

这是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个部分:

  1. 错误类型:在这种情况下,BadRequestError表示http 400 错误
  2. 平台:使用的python实现,如python- 2.7.6'
  3. 请求:有关发出的http请求的详细信息,例如post 参数
  4. response:返回的http响应的详细信息,例如http 状态代码
  5. 错误:提供附加信息的错误列表

错误部分包含有价值的信息:

  • field:错误链接到的参数
  • 代码:表示此错误的代码
  • 消息:解释错误的可读消息
  • params:包含错误消息的动态部分的哈希 生成自定义错误消息

使用currency cloud支持排除api调用故障时,包括 任何通信中的全部错误都可能非常有用。

开发

运行我们使用的测试用例 tox,一个通用的virtualenv 管理和测试命令行工具。它可以很容易地安装 pip

pip install tox

或者用setuptools

easy_install tox

运行测试

tox

版本控制

这个项目使用semantic versioning。你可以 安全的ly表示对主要版本的依赖,并期望所有次要版本和 补丁版本向后兼容。

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

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期