Skip to content

Commit 87895aa

Browse files
authored
Merge pull request #3 from FiscalAPI/fix/invoice-model-missing-properties
version 4.0.270
2 parents fdda3e8 + 8769dc0 commit 87895aa

File tree

8 files changed

+789
-12
lines changed

8 files changed

+789
-12
lines changed

examples.py

Lines changed: 115 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from datetime import datetime
1+
from datetime import datetime, timedelta
22
from decimal import Decimal
33
from fiscalapi.models.common_models import FiscalApiSettings
4-
from fiscalapi.models.fiscalapi_models import Invoice, InvoiceIssuer, InvoiceItem, InvoiceRecipient, ItemTax, Product, ProductTax, Person, RelatedInvoice, TaxCredential, TaxFile
4+
from fiscalapi.models.fiscalapi_models import ApiKey, CancelInvoiceRequest, CreatePdfRequest, DownloadRequest, DownloadRule, GlobalInformation, Invoice, InvoiceIssuer, InvoiceItem, InvoicePayment, InvoiceRecipient, InvoiceStatusRequest, ItemTax, PaidInvoice, PaidInvoiceTax, Product, ProductTax, Person, RelatedInvoice, SendInvoiceRequest, TaxCredential, TaxFile
55
from fiscalapi.services.fiscalapi_client import FiscalApiClient
66

77
def main ():
@@ -19,7 +19,7 @@ def main ():
1919

2020

2121

22-
# listar api-keys
22+
# listar api-keys
2323
# api_response = client.api_keys.get_list(1, 10)
2424
# print(api_response)
2525

@@ -1359,6 +1359,118 @@ def main ():
13591359
# print(api_response)
13601360

13611361

1362+
# ========================================
1363+
# EJEMPLOS DE DESCARGA MASIVA
1364+
# ========================================
1365+
1366+
# ========================================
1367+
# CATÁLOGOS
1368+
# ========================================
1369+
1370+
#Obtener todos los catálogos de descarga masiva disponibles
1371+
# api_response = client.download_catalogs.get_list()
1372+
# print(api_response)
1373+
1374+
#Listar los registros del catálogo 'SatInvoiceStatuses' de descarga masiva.
1375+
# api_response = client.download_catalogs.list_catalog("SatInvoiceStatuses")
1376+
# print(api_response)
1377+
1378+
1379+
# ========================================
1380+
# Reglas de descarga
1381+
# ========================================
1382+
1383+
# Obtener lista paginada de reglas de descarga masiva
1384+
# api_response = client.download_rules.get_list(1, 2)
1385+
# print(api_response)
1386+
1387+
1388+
# Obtener regla de descarga masiva por id
1389+
# api_response = client.download_rules.get_by_id("dc342a5e-f5f2-48d7-a5c5-1d87df46ef26")
1390+
# print(api_response)
1391+
1392+
1393+
# Crear Regla para descargar CFDI recibidos y vigentes.
1394+
# request = DownloadRule(
1395+
# person_id="b0c1cf6c-153a-464e-99df-5741f45d6695",
1396+
# description="Regla descarga demo ...",
1397+
# sat_query_type_id="CFDI",
1398+
# download_type_id="Recibidos",
1399+
# sat_invoice_status_id="Vigente",
1400+
# )
1401+
# api_response = client.download_rules.create(request)
1402+
# print(api_response)
1403+
1404+
# Crear Regla de prueba para descargar CFDI recibidos y vigentes.
1405+
# api_response = client.download_rules.create_test_rule()
1406+
# print(api_response)
1407+
1408+
# Actualizar regla de descarga masiva
1409+
# request = DownloadRule(
1410+
# id = "e480dcb6-529a-464b-b3e5-854e2f65e63a",
1411+
# description = "Regla descarga actualizada",
1412+
# )
1413+
# api_response = client.download_rules.update(request);
1414+
# print(api_response)
1415+
1416+
# Eliminar regla de descarga masiva
1417+
# api_response = client.download_rules.delete("e480dcb6-529a-464b-b3e5-854e2f65e63a")
1418+
# print(api_response)
1419+
1420+
# ========================================
1421+
# Solicitudes de descarga
1422+
# ========================================
1423+
1424+
# Obtener lista paginada de solicitudes de descarga masiva
1425+
# api_response = client.download_requests.get_list(1, 2)
1426+
# print(api_response)
1427+
1428+
1429+
# Obtener solicitud por ID
1430+
# api_response = client.download_requests.get_by_id("5f71344a-3b5a-4e36-9228-57170d18c64a")
1431+
# print(api_response)
1432+
1433+
# Obtener lista paginada de xmls descargados asociados a una solicitud de descarga.
1434+
# api_response = client.download_requests.get_xmls("5f71344a-3b5a-4e36-9228-57170d18c64a")
1435+
# print(api_response)
1436+
1437+
# Obtener lista paginada de metadatos descargados asociados a una solicitud de descarga.
1438+
# api_response = client.download_requests.get_metadata_items("5f71344a-3b5a-4e36-9228-57170d18c64a")
1439+
# print(api_response)
1440+
1441+
# Descargar paquete (.zip file) de una solicitud de descarga masiva.
1442+
# api_response = client.download_requests.download_package("5f71344a-3b5a-4e36-9228-57170d18c64a")
1443+
# print(api_response)
1444+
1445+
# Descargar SAT request (.xml file) de una solicitud de descarga masiva. (debug/testing)
1446+
# api_response = client.download_requests.download_sat_request("5f71344a-3b5a-4e36-9228-57170d18c64a")
1447+
# print(api_response)
1448+
1449+
# Descargar SAT response (.xml file) de una solicitud de descarga masiva. (debug/testing)
1450+
# api_response = client.download_requests.download_sat_response("5f71344a-3b5a-4e36-9228-57170d18c64a")
1451+
# print(api_response)
1452+
1453+
# Crear solicitud para descargar facturas de los últimos 5 días.
1454+
# request = DownloadRequest(
1455+
# download_rule_id="5351fb27-c85d-4593-a030-c1799a1cddd5",
1456+
# download_request_type_id="Manual",
1457+
# start_date=datetime.now() - timedelta(days=5),
1458+
# end_date=datetime.now(),
1459+
# )
1460+
# api_response = client.download_requests.create(request)
1461+
# print(api_response)
1462+
1463+
1464+
# Eliminar solicitud de descarga masiva.
1465+
# api_response = client.download_requests.delete("5f71344a-3b5a-4e36-9228-57170d18c64a")
1466+
# print(api_response)
1467+
1468+
# Buscar solicitud de descarga masiva por fecha de creación.
1469+
# api_response = client.download_requests.search(datetime.now())
1470+
# print(api_response)
1471+
1472+
1473+
13621474
if __name__ == "__main__":
13631475
main()
13641476

fiscalapi/__init__.py

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,20 @@
3636
InvoiceStatusRequest,
3737
InvoiceStatusResponse,
3838
ApiKey,
39+
DownloadRule,
40+
DownloadRequest,
41+
MetadataItem,
42+
XmlGlobalInformation,
43+
XmlIssuer,
44+
XmlRecipient,
45+
XmlRelated,
46+
XmlTax,
47+
XmlItemCustomsInformation,
48+
XmlItemPropertyAccount,
49+
XmlItemTax,
50+
XmlItem,
51+
XmlComplement,
52+
Xml,
3953
)
4054

4155
# Re-exportar servicios
@@ -45,6 +59,9 @@
4559
from .services.product_service import ProductService
4660
from .services.tax_file_servive import TaxFileService
4761
from .services.api_key_service import ApiKeyService
62+
from .services.download_catalog_service import DownloadCatalogService
63+
from .services.download_rule_service import DownloadRuleService
64+
from .services.download_request_service import DownloadRequestService
4865

4966
# Re-exportar la clase FiscalApiClient
5067
# (asumiendo que la definición está en fiscalapi/services/fiscalapi_client.py)
@@ -82,15 +99,31 @@
8299
"InvoiceStatusRequest",
83100
"InvoiceStatusResponse",
84101
"ApiKey",
85-
102+
"DownloadRule",
103+
"DownloadRequest",
104+
"MetadataItem",
105+
"XmlGlobalInformation",
106+
"XmlIssuer",
107+
"XmlRecipient",
108+
"XmlRelated",
109+
"XmlTax",
110+
"XmlItemCustomsInformation",
111+
"XmlItemPropertyAccount",
112+
"XmlItemTax",
113+
"XmlItem",
114+
"XmlComplement",
115+
"Xml",
86116

87117
# Servicios
88118
"CatalogService",
89119
"InvoiceService",
90120
"PeopleService",
91121
"ProductService",
92122
"TaxFileService",
93-
"ApiKeyService"
123+
"ApiKeyService",
124+
"DownloadCatalogService",
125+
"DownloadRuleService",
126+
"DownloadRequestService",
94127

95128
# Cliente principal
96129
"FiscalApiClient",

0 commit comments

Comments
 (0)