使用python集成econt api

econt-test的Python项目详细描述


econt包-python 2.7/3.3/3.5-3.6/3.7

URL

pypi:https://pypi.org/project/econt-test/" rel="nofollow">https://pypi.org/project/econt-test/

gitlab:https://gitlab.melontech.com/melontech/econt" rel="nofollow">https://gitlab.melontech.com/melontech/econt

安装

确保安装了pip和virtualenv

  • 对于python 2.7
$ sudo apt install python2.7 python-pip
$ sudo pip install virtualenv 
  • 对于python 3.x
$ sudo apt-get install python3-pip
$ sudo pip install virtualenv 

使用pypi

  • 创建虚拟环境
$ virtualenv envname
  • 激活虚拟环境
$ source envname/bin/activate
  • 安装软件包
$ pip install econt-test

使用存储库

  • 克隆存储库
$ git clone git@gitlab.melontech.com:melontech/econt.git
  • 更改当前目录
$ cd econt
  • 创建虚拟环境
$ virtualenv envname
  • 激活虚拟环境
$ source envname/bin/activate
  • 安装代码中使用的库和包
$ sudo apt install python2.7 python-pip
2

经济类

init(用户名,密码,demo=true)

构造函数将用户名密码演示作为参数。

如果demo是true,则类将demo url用于econt的服务和包

如果demo是false,则该类使用econt服务和包的真实url

请求(url,xml)

该方法接受一个url和一个xml作为参数,并向给定的url发送一个xml请求。

然后,来自econt服务器的响应被转换为python字典并返回给用户。

$ sudo apt install python2.7 python-pip
3

类的每个方法都使用请求(url,xml),因此每个响应都采用上述格式。

数据键保存所需信息,但如果有任何错误,则对应于

状态键保存由6个不同值组成的状态代码

消息键保存有关错误的信息如果有,则为确定

XML生成器(数据,根元素='request',authenticate=false)

该方法将数据根元素身份验证分别作为json格式、string格式和bool格式的参数。

authenticatefalse时,给定的json将转换为xml并返回给用户。

authenticatetrue时,用户的用户名和密码将添加到json中,然后转换为xml并返回给用户。

获取用户凭据()

该方法以python dict的形式返回用户的用户名密码

验证地址(地址json)

该方法接受一个json并向服务器发送一个xml请求,以确定地址是否有效。

寄存器(数据)

该方法接受一个json并向服务器发送一个xml请求以创建一个econt帐户。

检索配置文件()

该方法向服务器发送一个XML请求,以检索当前用户的配置文件信息。

获取办公室()

此方法返回有关世界上所有经济办公室的信息。

取消装运(装运编号)

该方法以int作为参数,并向服务器发送一个XML请求,以取消与该号码对应的发货。

get_cities()

该方法返回一个json,其中包含所有设有经济办公室的城市及其详细信息。

get_streets()

该方法返回一个json,其中包含所有有经济办公室的街道及其详细信息。

按城市获取街道(城市邮政编码)

该方法以intstr作为参数,并返回一个json,其中包含给定城市邮政编码区内所有街道的英文和保加利亚名称。

按城市获取办公室(城市邮政编码)

该方法以intstr作为参数,并返回一个json,其中包含给定城市邮政编码区中的所有办公室。

get_countries()

该方法返回一个json,其中包含econt操作的所有国家。

获取卖家地址()

该方法返回用户的地址

get_quarts()

该方法返回一个json,其中包含所有带econt offices的季度及其详细信息。

按邮政编码获取宿舍(城市邮政编码)

该方法以strint作为参数,并返回一个json,其中包含给定城市邮政编码区域中的所有季度及其详细信息。

获取区域()

该方法返回一个json,其中包含每个城市的所有区域及其详细信息。

get_zones()

该方法返回一个json,其中包含每个城市中的所有区域及其详细信息。

\u构建装运(发送方数据、接收方数据、装运数据、服务数据、付款数据、指令数据、验证=假、仅计算=假、处理所有包裹=假、错误电子邮件="")

一种内部方法,用于创建包含六个dict、三个可选bools和一个可选str作为参数的装运。

从下面的包装器调用此方法时,将使用可选参数。

创建装运(发送方数据、接收方数据、装运数据、服务数据、付款数据、说明数据、错误电子邮件="")

该方法以6个dict和一个可选str作为参数。

它生成装运并返回有关创建的装运的信息。

如果提供了"错误"电子邮件,则在请求过程中发生的任何错误都将发送到给定的电子邮件地址。

计算装运价格(发送方数据、接收方数据、装运数据、服务数据、付款数据、说明数据、错误电子邮件='')

该方法以6个dict和一个可选str作为参数。

它返回有关装运价格的信息,而不生成货物。

如果提供了"错误"电子邮件,则在请求过程中发生的任何错误都将发送到给定的电子邮件地址。

验证装运(发送方数据、接收方数据、装运数据、服务数据、付款数据、说明数据、错误电子邮件='')

该方法以6个dict和一个可选str作为参数。

它在不生成货物的情况下对提供的数据进行检查。

如果提供了error_email请求期间发生的任何错误都将发送到给定的电子邮件地址S.P/P>

获取客户机()

该方法返回一个json,其中包含有关用户客户端的信息。

验证CD协议(名称,CD号)

函数以两个str作为参数并返回一个json,该json告诉用户(由name指定)的惩罚性法令协议(由cd_no指定)是否有效。

获取邮箱(城市名='',季度名='')

该方法将两个可选参数作为strs,获取所有邮箱的信息,同时根据参数筛选(如果适用),并将其作为json返回。

检索装运信息(装运ID,完整跟踪=false)

该方法接受装运ID的列表和可选的bool作为参数,并返回有关给定装运的信息

get_post_tariff()

此方法不接受参数,并返回有关当前过帐费率的信息。

状态码类

这里有6个类变量。 每个变量指示以下内容:

$ sudo apt install python2.7 python-pip
4

这些变量在request方法中用于指示来自econt的响应的状态。

请求类型类

这个类保存我们实现的所有请求类型。

$ sudo apt install python2.7 python-pip
5

示例

请求(url,xml)

输入

$ sudo apt install python2.7 python-pip
6

输出

$ sudo apt install python2.7 python-pip
7

创建装运

$ sudo apt install python2.7 python-pip
8

http://demo.econt.com/e-econt/api/api_pdf_shipment.php?用户=演示和打印媒体=模板和nums[]=1051601425135

XML生成器(数据,根元素='request',authenticate=false)

输入

$ sudo apt install python2.7 python-pip
9

输出

$ sudo pip install virtualenv 
0

获取用户凭据()

输入

$ sudo pip install virtualenv 
1

输出

$ sudo pip install virtualenv 
2

验证地址(地址json)

输入

$ sudo pip install virtualenv 
3

输出

$ sudo pip install virtualenv 
4

测试

要使用测试中给出的案例测试函数,只需在命令行中按如下方式运行:

$ sudo pip install virtualenv 
5

将运行在tests文件夹中收集的econt类的每个方法的测试用例。应向控制台返回一条"确定"消息。

doctest的帮助下,在api.py中测试了"获取用户凭据"方法。

贡献

如果您希望参与此项目并进行更改,请稍后通过分支主控形状并发布合并请求来进行更改。

如果出现任何问题,您可以随时通过

< Buff行情>

hhalil@melontech.com

< Buff行情>

ehaliloglu@melontech.com

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

推荐PyPI第三方库


热门话题
java这算是人工智能吗?   java@OnDelete(级联)不处理双向映射(hibernate)   java我怎样才能在基元类型(int)上修复这个等式   java如何初始化PrintWriter数组?   arraylist如何使用java添加敌人   java如何处理2019年的背景地理围栏?   java是否有一个XPath表达式可用于在CDATA区域中导航XML?   Kotlin(Android Studio)中的java选项卡式活动   安卓 java。lang.IllegalArgumentException:provider=网络   广播控制流和主流的java排序   java Apache Nifi无法启动Nifi实例   java我正在尝试将内容作为字符串放入ListView   java阻止mozilla会话还原   java在春季选择引用哪个bean?