Cliente Python Web Service del SAT para la descarga masiva de xml
Project description
python-cfdiclient
Cliente Python Web Service del SAT para la descarga masiva de xml
Consulta y recuperación de comprobantes (Nuevo)
https://www.sat.gob.mx/consultas/42968/consulta-y-recuperacion-de-comprobantes-(nuevo)
Instalacion
En Windows requiere Microsoft Visual C++ Compiler for Python 2.7
pip install cfdiclient
Ejemplo
Autenticacion
from cfdiclient import Autenticacion
from cfdiclient import Fiel
FIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'
FIEL_CER = 'XAXX010101000.cer'
FIEL_PAS = 'contrasena'
cer_der = open(FIEL_CER, 'rb').read()
key_der = open(FIEL_KEY, 'rb').read()
fiel = Fiel(cer_der, key_der, FIEL_PAS)
auth = Autenticacion(fiel)
token = auth.obtener_token()
print(token)
Solicita Descarga
import datetime
from cfdiclient import SolicitaDescarga
from cfdiclient import Fiel
FIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'
FIEL_CER = 'XAXX010101000.cer'
FIEL_PAS = 'contrasena'
cer_der = open(FIEL_CER, 'rb').read()
key_der = open(FIEL_KEY, 'rb').read()
fiel = Fiel(cer_der, key_der, FIEL_PAS)
descarga = SolicitaDescarga(fiel)
token = 'eyJh'
rfc_solicitante = 'XAXX010101000'
fecha_inicial = datetime.datetime(2018, 1, 1)
fecha_final = datetime.datetime(2018, 12, 31)
rfc_emisor = 'XAXX010101000'
rfc_receptor = 'XAXX010101000'
# Emitidos
result = descarga.solicitar_descarga(token, rfc_solicitante, fecha_inicial, fecha_final, rfc_emisor=rfc_emisor)
print(result)
# Recibidos
result = descarga.solicitar_descarga(token, rfc_solicitante, fecha_inicial, fecha_final, rfc_receptor=rfc_receptor)
print(result)
# {'mensaje': 'Solicitud Aceptada', 'cod_estatus': '5000', 'id_solicitud': 'be2a3e76-684f-416a-afdf-0f9378c346be'}
Verifica Solicitud Descarga
from cfdiclient import VerificaSolicitudDescarga
from cfdiclient import Fiel
FIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'
FIEL_CER = 'XAXX010101000.cer'
FIEL_PAS = 'contrasena'
cer_der = open(FIEL_CER, 'rb').read()
key_der = open(FIEL_KEY, 'rb').read()
fiel = Fiel(cer_der, key_der, FIEL_PAS)
v_descarga = VerificaSolicitudDescarga(fiel)
token = 'eyJhbGci'
rfc_solicitante = 'XAXX010101000'
id_solicitud = '6331caae-c253-406f-9332-126f89cc474a'
result = v_descarga.verificar_descarga(token, rfc_solicitante, id_solicitud)
print(result)
# {'estado_solicitud': '3', 'numero_cfdis': '8', 'cod_estatus': '5000', 'paquetes': ['a4897f62-a279-4f52-bc35-03bde4081627_01'], 'codigo_estado_solicitud': '5000', 'mensaje': 'Solicitud Aceptada'}
Descargar Paquetes
from cfdiclient import DescargaMasiva
from cfdiclient import Fiel
FIEL_KEY = 'Claveprivada_FIEL_XAXX010101000_20180918_134149.key'
FIEL_CER = 'XAXX010101000.cer'
FIEL_PAS = 'contrasena'
cer_der = open(FIEL_CER, 'rb').read()
key_der = open(FIEL_KEY, 'rb').read()
fiel = Fiel(cer_der, key_der, FIEL_PAS)
descarga = DescargaMasiva(fiel)
token = 'eyJhbG'
rfc_solicitante = 'XAXX010101000'
id_paquete = '2d8bbdf1-c36d-4b51-a57c-c1744acdd89c_01'
result = descarga.descargar_paquete(token, rfc_solicitante, id_paquete)
print(result)
# {'cod_estatus': '', 'mensaje': '', 'paquete_b64': 'eyJhbG=='}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cfdiclient-1.0.1.tar.gz
(5.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cfdiclient-1.0.1.tar.gz.
File metadata
- Download URL: cfdiclient-1.0.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f0f04fec884179360e44150d7b24967913fcd14a3fa64845ab63c5b2bf822a5
|
|
| MD5 |
d0f015469f3d608ffa0480733041856d
|
|
| BLAKE2b-256 |
821d2dabedb19a1af1cae6f43354ceae7551c329256501d94295a6728148648c
|
File details
Details for the file cfdiclient-1.0.1-py2-none-any.whl.
File metadata
- Download URL: cfdiclient-1.0.1-py2-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e0adfa9f0337cc76e192419c44c4a931e3772444f7cbc9cb7cf8a02661f61dc
|
|
| MD5 |
d99665ad12f6a1d1bda044500f2106ef
|
|
| BLAKE2b-256 |
c7d23cbbb1fe83b29f181911bc362c2b86c8959d3fd4083bec4c615a82380427
|