西班牙税务机构电子办公室(AEAT)集成
项目描述
主分支 |
西班牙税务机构电子办公室(AEAT)集成。
向AEAT Web Services发送请求并使用您的证书签名您的连接和XML。
与西班牙国家税务管理总局(AEAT)的集成
执行对 AEAT Web Services 的请求,并使用您的证书签名您的连接和XML消息。
用法(英文)
请求ENS列表的示例。
使用预配置的服务初始化Config对象,如果您想请求AEAT测试或生产端点(test_mode)。最后,使用配置和所需的证书初始化控制器,并使用您的有效负载发出请求。
如果您需要更多控制,请手动构建控制器,参见build_from_config方法以获取灵感。
import aeat
config = aeat.Config('ens_presentation', test_mode=True)
ctrl = aeat.Controller.build_from_config(config, 'cert.pem', 'key.pem')
result = ctrl.request(payload) # See factories for examples
assert result.valid, f'Error requesting aeat: {result.error}'
assert result.data is not None
用法(西班牙语)
ENSs查询示例。
使用预配置的服务初始化Config对象,如果您想使用AEAT测试或生产端点(test_mode)。 最后,使用您喜欢的配置和证书初始化控制器,并传递所需的数据进行请求。
如果您需要更多控制,请手动构建控制器,可以参考build_from_config方法。
import aeat
config = aeat.Config('ens_presentation', test_mode=True)
ctrl = aeat.Controller.build_from_config(config, 'cert.pem', 'key.pem')
result = ctrl.request(payload) # Ver factories para ejemplos
assert result.valid, f'Error requesting aeat: {result.error}'
assert result.data is not None
Django Rest Framework
提供多个AEAT验证器和序列化器。
验证器:验证要发送给AEAT的输入数据
序列化器:序列化AEAT请求
from aeat.rest_framework import validators
validator = validators.ENSPresentationValidator(data=payload)
assert validator.is_valid(raise_exception=True)
# Send the request to AEAT
import aeat
config = aeat.Config(service_name, test_mode=settings.AEAT_TEST_MODE)
ctrl = aeat.Controller.build_from_config(config, cert_path, key_path)
result = ctrl.request(validator.data)
assert result.valid
# Parse the response
from aeat.rest_framework import serializers
serializer = serializers.get_class_for_aeat_response(data=result.data)
assert serializer.is_valid(raise_exception=False)
assert {'mrn': 'XXXX'} == serializer.data
assert not serializer.is_error
先决条件
安装xmlsec先决条件。请检查https://github.com/mehcode/python-xmlsec
安装
$ pip install aeat-web-services
开发
$ python setup.py develop
$ pip install -r requirements_test.txt
测试
$ pip install tox
$ tox
版本
有用链接
项目详情
关闭
aeat-web-services-2.0.2.tar.gz散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | d3ba04026ea2b95caa5f5692e788e1618f190d4468f6d0ff868c169025ea552a |
|
MD5 | d2d539d58a36dae0bf1fb33836573ce9 |
|
BLAKE2b-256 | 15627d3decb075126332d9931cfbc504b7a548cddb1c56bcdde782b14c4ec286 |
关闭
aeat_web_services-2.0.2-py2.py3-none-any.whl散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | a0b8c90f47c1bef4d12bda9dd19b639131611d68e0c33739e2f6a368cdfbc7c6 |
|
MD5 | 8342675af362dedd3ab312cd708e96d2 |
|
BLAKE2b-256 | 97dc19b8db428f9fdc63acccbf0498de2333ee22d066546027802fbdd0b7d537 |