Django Verify VAT number by ARES/VIES
项目描述
Django验证增值税登记号
Django验证增值税登记号模块是Verify VAT registration number项目的扩展,适用于Django框架。它用于验证欧盟的增值税登记号和捷克共和国的增值税识别号。此模块用于DjangoCMS验证增值税登记号模块。
VIES
欧盟VIES增值税号验证。它是验证欧盟内注册的经济操作者的增值税识别号的一种电子方式,用于商品或服务的跨境交易。支持的国家请参阅项目Verify VAT - VIES中的README。
ARES
ARES - 经济主体/实体登记册访问系统,是一个允许检索在捷克共和国注册的经济实体信息的信息系统。该系统在特定登记册(称为源登记册)中中转数据的显示,相关数据保存在这些登记册中。
安装
此库可在PyPI上找到,建议使用pip
安装。
pip install django-verify-vat-number
添加到Django应用和urls
在站点settings.py
中插入
INSTALLED_APPS = [
...
'django_verify_vat_number',
]
在站点urls.py
中插入
from django.urls import path, include
urlpatterns = [
....
path('verify-vat/', include('django_verify_vat_number.urls')),
]
用法
按照编写您的第一个Django应用的说明来启动站点。然后您可以进行验证。
curl http://127.0.0.1:8000/verify-vat/verify-vat-id-number/?number=67985726
{"status": "OK", "message": null, "company": {
"company_name": "CZ.NIC, z.s.p.o.",
"address": "Mile\u0161ovsk\u00e1 1136/5\n13000 Praha 3",
"street_and_num": "Mile\u0161ovsk\u00e1 1136/5",
"city": "Praha 3",
"postal_code": "13000",
"district": "Praha 3 - Vinohrady",
"country_code": "CZ"
}, "country": "Czechia"}
curl http://127.0.0.1:8000/verify-vat/verify-vat-reg-number/?number=CZ67985726
{"status": "OK", "message": null, "company": {
"company_name": "CZ.NIC, z.s.p.o.",
"address": "Mile\u0161ovsk\u00e1 1136/5\nPRAHA 3 - VINOHRADY\n130 00 PRAHA 3",
"street_and_num": "Mile\u0161ovsk\u00e1 1136/5",
"city": "PRAHA 3",
"postal_code": "130 00",
"district": "PRAHA 3 - VINOHRADY",
"country_code": "CZ"
}, "country": "Czechia"}
当前站点语言的国家名称
国家名称已翻译成当前站点语言。
在settings.py
中定义语言
LANGUAGES = [
('en', 'English'),
('cs', 'Česky'),
('fr', 'Francais'),
]
MIDDLEWARE = [
...
'django.middleware.locale.LocaleMiddleware',
]
在url.py
中启用语言前缀
urlpatterns += i18n_patterns(
path('verify-vat/', include('django_verify_vat_number.urls')),
)
获取翻译后的国家名称
curl http://127.0.0.1:8000/cs/verify-vat/verify-vat-id-number/?number=67985726
{"status": "OK", "message": null, "company": {"company_name": ... "country_code": "CZ"},
"country": "\u010cesko"}
curl http://127.0.0.1:8000/fr/verify-vat/verify-vat-id-number/?number=67985726
{"status": "OK", "message": null, "company": {"company_name": ... "country_code": "CZ"},
"country": "Tch\u00e9quie"}
缓存
从服务器下载的数据被缓存。在下一次查询时,它们不再从验证服务中下载。默认缓存值为一天。可以通过设置VERIFY_VAT_KEEP_IN_CACHE
常量来重置缓存中的数据持续时间。
日志记录
资源临时不可用被记录在INFO
级别。意外错误被记录在ERROR
级别,包括源响应。
暂时不可用服务的示例
2022-06-16 14:49:33,806 INFO ares:get_xml_content:27 https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=67985726
2022-06-16 14:49:33,815 INFO fetchers:fetch_from_ares:47 Service is temporarily unavailable. Please, try later.
意外服务故障的示例
022-06-16 14:55:10,039 INFO ares:get_xml_content:27 https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=67985726
2022-06-16 14:55:10,042 ERROR fetchers:fetch_from_ares:49 not well-formed (invalid token): line 1, column 11
2022-06-16 14:55:10,042 ERROR fetchers:fetch_from_ares:50 <are:Error><dtt:Error_kod> ...
如果您想调试完整的通信,可以在日志记录器django_verify_vat_number.fetchers
和verify_vat_number.ares
,verify_vat_number.vies
中设置。
在settings.py
中
LOGGING = {
...
'loggers': {
'verify_vat_number.ares': {'handlers': ['console'], 'level': 'DEBUG'},
'verify_vat_number.vies': {'handlers': ['console'], 'level': 'DEBUG'},
'django_verify_vat_number.fetchers': {'handlers': ['console'], 'level': 'DEBUG'},
}
}
2022-06-16 15:03:04,078 INFO ares:get_xml_content:27 https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=67985726
2022-06-16 15:03:04,078 INFO ares:get_xml_content:27 https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=67985726
2022-06-16 15:03:05,401 DEBUG ares:get_xml_content:38 <?xml version="1.0" encoding="UTF-8"?><are:Ares_odpovedi
...
<are:Odpoved>
<are:Pocet_zaznamu>1</are:Pocet_zaznamu>
...
</are:Odpoved>
</are:Ares_odpovedi>
2022-06-16 15:10:39,020 INFO fetchers:fetch_from_ares:30 Cached data: VerifiedCompanyResponse(status=<StatusCode.OK: 'OK'>, message=None, company=VerifiedCompany(company_name='CZ.NIC, z.s.p.o.', address='Milešovská 1136/5\n13000 Praha 3', street_and_num='Milešovská 1136/5', city='Praha 3', postal_code='13000', district='Praha 3 - Vinohrady', country_code='CZ'), country='Česko')
许可
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
哈希 for django_verify_vat_number-2.0.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d25c68eb0e0956c164eba0c92dea63d921b2aa69632e0145751dc9fdb697ced0 |
|
MD5 | 82004d9dfcc43625c7a947c2d3587f3d |
|
BLAKE2b-256 | f9412c683547d9ecd4a24e690aad95f19cfe0358a92b790d864caff5609cb478 |