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

aeat-web-services的Python项目详细描述


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

西班牙税务局电子办公室(AEAT)整合。

提出请求AEAT Web Services 并使用证书签署连接和XML。


integración con la agencia estatal de administración支流埃斯帕尼亚

realization小蛋糕a losServicios Web de AEAT {EM1}$$FiMaTu Couxi n MeSAjes XML使用。

用法(英语)

请求ens列表的示例。

如果要请求AEAT测试或生产终结点(测试模式),请使用所需的预配置服务初始化配置对象。 最后使用配置和所需的证书初始化控制器,并使用有效负载发出请求。

如果您需要更多的控制,只需手动构建控制器,请参阅build_from_config method以获取灵感。

importaeatconfig=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 examplesassertresult.valid,f'Error requesting aeat: {result.error}'assertresult.dataisnotNone

用法(西班牙语)

ejemplo de consulta de enss.

inicializa el objecto config con el servicio preconfigurado y si quieres usar los endpoints de aeat de test o de producción(测试模式)。por_ltimo inicializa el controlador con la config y el certificado que gustes y realization la petición pas an ndole los datos que necesites.需要的控制和配置。

si necesitas un major control simplemente construye el controlador a mano,puedes inspirate en el método to build_from_config.从配置中创建简单的控制。

importaeatconfig=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 ejemplosassertresult.valid,f'Error requesting aeat: {result.error}'assertresult.dataisnotNone

django rest框架

提供了几个AEAT验证程序和序列化程序。

  • 验证程序:验证要发送到AEAT的输入数据
  • 序列化程序:序列化AEAT请求
fromaeat.rest_frameworkimportvalidatorsvalidator=validators.ENSPresentationValidator(data=payload)assertvalidator.is_valid(raise_exception=True)# Send the request to AEATimportaeatconfig=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)assertresult.valid# Parse the responsefromaeat.rest_frameworkimportserializersserializer=serializers.get_class_for_aeat_response(data=result.data)assertserializer.is_valid(raise_exception=False)assert{'mrn':'XXXX'}==serializer.dataassertnotserializer.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

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

推荐PyPI第三方库


热门话题
java Android改造响应不等于邮递员响应   bean的spring初始化失败;嵌套的例外是java。lang.IllegalArgumentException:Pointcut格式不正确:应为“')”   java在运行时传递可选的未知参数   java Android:无法使用密码保护条目   java无法从SimpleIntegerProperty转换为属性<Integer>   java Ibatis:有没有办法在sqlmap xml中的Ibatis resultmap子选择中添加行处理程序?   java如何使用ant脚本运行maven项目?   java如何在DesignGridLayout库中动态创建JButton值?   java JPA多事务管理器   java Eclipse RCP,为编辑器添加了一个新视图   从源文件夹导入时,不会显示Java图像   使用hadoop2设置java单节点集群。4.0与cygwin   java如何连接图像?   JavaJPQL:向数据库中已经存在的值添加一个int值