Más Móvil B2B API的Python客户端
项目描述
Más Móvil Python API客户端
此Python API客户端提供了对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óvil的API环境,无论是测试还是生产。Pymasmovil将只附加API路由,如/v0/accounts
来执行请求。在测试的情况下,请与他们确认,因为这肯定会根据客户而变化。
MM_USER
和MM_PASSWORD
必须替换为您的实际用户凭证,而MM_DOMAIN
必须指向“测试”或“登录”,具体取决于需要调用的MM环境(测试/生产)。
会话创建
登录是在我们使用Session.create
方法创建会话时完成的
from pymasmovil.models.session import Session
session = Session.create()
print('Session created with id : {}'.format(session.session_id))
这返回了用于认证所有后续请求所需的API密钥。这就是为什么必须将Session
实例传递给其他所有对象方法的原因。
账户
from pymasmovil.models.account import Account
account_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完成。
from pymasmovil.models.account import Account
account = Account.create(session, town='Barcelona', surname='Garcia', phone='616010101')
OrderItem
可以通过与访问账户相同的方式访问订单项。
from pymasmovil.models.order_items.py import OrderItem
order_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不会返回整个资源,就像人们期望的REST API那样。这就是为什么OrderItem
的create
输入数据结构与OrderItem
属性不直接匹配的原因。
最小结构以变量sample-order-item-post-request
的形式展示。
from pymasmovil.models.order_items.py import OrderItem
order_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
- 安装和配置
pyenv-virtualenv
- 安装所需的Python版本
$ pyenv install 3.8.2
- 创建virtualenv
$ pyenv virtualenv 3.8.2 pymasmovil
Python包需求
在虚拟环境中安装Python包
$ pyenv exec pip install -r requirements.txt
格式化
我们在提交之前使用Pre-commit执行Black作为格式化工具。
安装pre-commit配置(在文件.pre-commit-config.yaml
中找到)
$ pre-commit install
之后,每次提交时,Black将在提交中运行修改的文件。
我们还可以随时执行black,选择文件或路径来格式化其中的所有文件
$ black .
All done! ✨ 🍰 ✨
24 files left unchanged.
发布
按照以下步骤更新CHANGELOG.md
- 添加任何缺失的合并请求条目。
- 复制
[Unreleased]
标题。 - 将第二个
Unreleased
替换为版本号和当前日期。从以前的版本复制确切的格式。
然后,您可以发布并发布包到PyPi
- 更新
setup.py
中的VERSION
变量,使其与CHANGELOG中指定的版本相匹配。 - 提交一个带有这些更改的合并请求以供团队批准
- 合并它,在该合并提交上添加一个git标签并将其推送到远程仓库。
- 一旦管道成功通过,就批准
publish
步骤。
许可证
待定
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
构建分发版
pymasmovil-0.0.30.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e94f5e84c83e43d930d819c49a2353dc3f08d4b88ba3fa27937576b328c3b341 |
|
MD5 | 200362a2940125851bb3d94aa1ec8d11 |
|
BLAKE2b-256 | 8d2dd551b2b86e0968786d09c640f919e7b1b8d9d0497a9abaf611dccc07ca52 |
pymasmovil-0.0.30-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 41136eae4954b18003278e12bce42b9b31f22f3c13bee58b7d7b6f1f482ca672 |
|
MD5 | 6bf3ecd402a25364c1520425055516b6 |
|
BLAKE2b-256 | e73904cb4cd0de798fe5b530fcf8e54bb49d42488919bd6ba9eed8775b4d3ca4 |