Python client for the most movic's B2B API
pymasmovil的Python项目详细描述
Más Móvil Python API客户端
这个PythonAPI客户机提供对Más Móvil的B2B REST API的访问。在
安装
要求
- Python 3.8+
使用
登录
要进行身份验证,您需要指定需要设置为具有以下名称的环境变量的凭据:
'MM_BASEURL': 'https://<host>/cableOperadores/services/apexrest/api''MM_USER': 'user''MM_PASSWORD': 'pwd''MM_DOMAIN': 'domain'
MM_BASEURL
必须指向MásMóvili的API环境,无论是测试还是生产。Pymasmovil只会像/v0/accounts
那样向它追加API路由来执行请求。在测试的情况下,请与他们核实,因为每个客户的情况肯定会发生变化。在
MM_USER
和MM_PASSWORD
必须替换为实际的用户凭据,MM_DOMAIN
必须根据需要调用的MM环境(测试/生产)指向“test”或“login”。在
会话创建
当我们使用Session.create
方法创建会话时,登录完成:
这将返回验证所有后续请求所需的API密钥。这就是为什么Session
实例必须传递给其他所有对象方法。在
账户
frompymasmovil.models.accountimportAccountaccount_id='0017E000017pEo3QAE'account=Account.get(session,account_id)
要创建新帐户,我们需要使用Account.create
将帐户数据作为关键字参数传递。下面列出了Account
属性。注意它们都是弦。在
town, surname, stair, roadType, roadNumber, roadName, region, province, postalCode, phone, name, id, flat, email, door, donorCountry, documentType, documentNumber, corporateName, buildingPortal
对于将参数验证留给API的客户端,没有强制的属性。在
frompymasmovil.models.accountimportAccountaccount=Account.create(session,town='Barcelona',surname='Garcia',phone='616010101')
订单项
订单项的访问方式与帐户相同:
frompymasmovil.models.order_items.pyimportOrderItemorder_item_id='8028E34500215wgQAA'order_item=OrderItem.get(session,order_item_id)
目前,订单项可以按照帐户创建示例创建,但其属性的结构要复杂一些。在
由于GET /order-item/:id
响应和POST /accounts/:id/order-items
请求除了一些属性外不匹配,因此订单项创建被设计为根据POST正文推断出的属性合理地构建一个OrderItem
实例。MásMóvil的API并不像restapi那样返回整个资源。这就是为什么OrderItem
的create
输入数据结构不会直接匹配OrderItem
属性。在
最小结构表示为变量sample-order-item-post-request
:
frompymasmovil.models.order_items.pyimportOrderItemorder_item_data={'lineInfo':[{'name':'Antonio','surname':'Garcia','phoneNumber':'616010101','documentType':'NIF','iccid_donante':'8934046318031035245','iccid':'8934046318031035250',}]}order_item=OrderItem.create(session,order_item_data)
发展
Python版本
我们使用Pyenv修复Python版本,使用virtualenv开发包。在
您需要:
$ pyenv install 3.8.2
- 创建virtualenv:
$ pyenv virtualenv 3.8.2 pymasmovil
Python包要求
在虚拟环境中安装Python包:
$ pyenv exec pip install -r requirements.txt
释放
更新变更日志.md遵循以下步骤:
- 添加合并合并请求中丢失的所有条目。在
- 复制
[Unreleased]
标头。在 - 将第二个
Unreleased
替换为后跟当前日期的版本号。复制早期版本中的完全格式。在
然后,您可以发布包并将其发布到PyPi:
- 更新
setup.py
中与您在变更日志中指定的版本相匹配的VERSION
变量。在 - 打开包含这些更改的合并请求以供团队批准
- 合并它,在合并提交上添加一个git标记并推送它。在
- 一旦管道成功通过,就去批准
publish
步骤。在
许可证
待定
- 项目
标签: