跳转到主要内容

西班牙税务机构电子办公室(AEAT)集成

项目描述

主分支

https://travis-ci.org/initios/aeat-web-services.svg?branch=master https://coveralls.io/repos/github/initios/aeat-web-services/badge.svg?branch=master

西班牙税务机构电子办公室(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

版本

https://github.com/initios/aeat-web-services/releases

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

aeat-web-services-2.0.2.tar.gz(62.6 KB 查看散列

上传时间:

构建分布

aeat_web_services-2.0.2-py2.py3-none-any.whl(17.6 KB 查看散列

上传时间: Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面