Skip to content

Commit c2b7b49

Browse files
authored
Create README.md
1 parent 7ede184 commit c2b7b49

File tree

1 file changed

+180
-0
lines changed

1 file changed

+180
-0
lines changed

README.md

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# FiscalAPI SDK para .NET
2+
3+
[![NuGet](https://img.shields.io/nuget/v/FiscalApi.svg)](https://www.nuget.org/packages/FiscalApi/)
4+
[![License](https://img.shields.io/github/license/FiscalAPI/fiscalapi-net)](https://github.com/FiscalAPI/fiscalapi-net/blob/main/LICENSE)
5+
6+
SDK oficial de FiscalAPI para .NET, la API de facturación CFDI más importante en México. Simplifica la integración con los servicios de facturación electrónica, eliminando las complejidades del SAT y facilitando la generación de facturas, notas de crédito y complementos de pago.
7+
8+
## 🚀 Características
9+
10+
- Soporte completo para CFDI 4.0
11+
- Compatible con múltiples versiones de .NET (desde .NET Framework 4.6.1 hasta .NET 8)
12+
- Operaciones asíncronas y sincrónicas
13+
- Flexibilidad en modos de operación: por valores o referencias
14+
- Manejo simplificado de errores
15+
- Documentación completa y ejemplos prácticos
16+
17+
## 📦 Instalación
18+
19+
Instala el paquete FiscalAPI vía NuGet Package Manager:
20+
21+
```bash
22+
Install-Package FiscalApi
23+
```
24+
25+
O vía .NET CLI:
26+
27+
```bash
28+
dotnet add package FiscalApi
29+
```
30+
31+
## ⚙️ Configuración
32+
33+
Configura el cliente con tus credenciales:
34+
35+
```csharp
36+
var settings = new FiscalApiOptions
37+
{
38+
ApiUrl = "https://test.fiscalapi.com", // Usa https://fiscalapi.com para producción
39+
ApiKey = "<tu_api_key>",
40+
ApiVersion = "v4",
41+
Tenant = "<tenant>",
42+
TimeZone = "America/Mexico_City"
43+
};
44+
45+
var fiscalApi = FiscalApiClient.Create(settings);
46+
```
47+
48+
## 🔄 Modos de Operación
49+
50+
FiscalAPI soporta dos modos de operación:
51+
52+
### Por Referencias
53+
- Envía solo los IDs de objetos previamente creados en el dashboard.
54+
- Ideal para integraciones rápidas y ligeras.
55+
56+
### Por Valores
57+
- Envía todos los campos requeridos en cada petición.
58+
- Proporciona mayor control sobre los datos.
59+
- No requiere configuración previa en el dashboard.
60+
61+
## 📝 Ejemplos de Uso
62+
63+
### Crear una Factura de Ingreso (Por Referencias)
64+
65+
```csharp
66+
var invoice = new Invoice
67+
{
68+
VersionCode = "4.0",
69+
Series = "A",
70+
Date = DateTime.Now,
71+
PaymentFormCode = "01",
72+
CurrencyCode = "MXN",
73+
TypeCode = "I",
74+
ExpeditionZipCode = "42501",
75+
Issuer = new InvoiceIssuer { Id = "id-del-emisor" },
76+
Recipient = new InvoiceRecipient { Id = "id-del-receptor" },
77+
Items = new List<InvoiceItem>
78+
{
79+
new InvoiceItem { Id = "id-del-producto", Quantity = 1 }
80+
},
81+
PaymentMethodCode = "PUE",
82+
};
83+
84+
var response = await fiscalApi.Invoices.CreateAsync(invoice);
85+
```
86+
87+
### Crear una Nota de Crédito (Por Valores)
88+
89+
```csharp
90+
var creditNote = new Invoice
91+
{
92+
VersionCode = "4.0",
93+
Series = "NC",
94+
TypeCode = "E", // E para egreso (nota de crédito)
95+
ExpeditionZipCode = "42501",
96+
RelatedInvoices = new List<RelatedInvoice>
97+
{
98+
new RelatedInvoice
99+
{
100+
Uuid = "UUID-de-factura-relacionada",
101+
RelationshipTypeCode = "01"
102+
}
103+
}
104+
};
105+
106+
var response = await fiscalApi.Invoices.CreateAsync(creditNote);
107+
```
108+
109+
### Buscar en Catálogos SAT
110+
111+
```csharp
112+
var apiResponse = await fiscalApi.Catalogs.SearchCatalogAsync("SatUnitMeasurements", "inter", 1, 10);
113+
114+
if (apiResponse.Succeeded)
115+
{
116+
foreach (var item in apiResponse.Data.Items)
117+
{
118+
Console.WriteLine($"Unidad: {item.Description}");
119+
}
120+
}
121+
else
122+
{
123+
Console.WriteLine(apiResponse.Message);
124+
}
125+
```
126+
127+
## ⏳ Operaciones Asíncronas y Sincrónicas
128+
129+
### Asíncrono
130+
131+
```csharp
132+
var apiResponse = await fiscalApi.Catalogs.SearchCatalogAsync("SatUnitMeasurements", "inter", 1, 10);
133+
```
134+
135+
### Sincrónico
136+
137+
```csharp
138+
var apiResponse = Task.Run(async () => await fiscalApi.Catalogs.SearchCatalogAsync("SatUnitMeasurements", "inter", 1, 10)).Result;
139+
```
140+
141+
## 📋 Operaciones Principales
142+
143+
### Facturas (CFDI)
144+
- Crear facturas de ingreso, notas de crédito y complementos de pago.
145+
- Cancelación de facturas.
146+
- Generación de PDF/XML.
147+
148+
### Personas (Clientes/Emisores)
149+
- Alta y administración de personas.
150+
- Gestión de certificados (CSD).
151+
152+
### Productos y Servicios
153+
- Administración de catálogos de productos.
154+
- Búsqueda en catálogos SAT.
155+
156+
## 🤝 Contribuir
157+
158+
1. Haz un fork del repositorio.
159+
2. Crea una rama para tu feature (`git checkout -b feature/AmazingFeature`).
160+
3. Realiza commits de tus cambios (`git commit -m 'Add some AmazingFeature'`).
161+
4. Haz push a la rama (`git push origin feature/AmazingFeature`).
162+
5. Abre un Pull Request.
163+
164+
## 🐛 Reportar Problemas
165+
166+
1. Usa la última versión del SDK.
167+
2. Verifica si el problema ya ha sido reportado.
168+
3. Proporciona un ejemplo mínimo reproducible.
169+
4. Incluye los mensajes de error completos.
170+
171+
## 📄 Licencia
172+
173+
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo [LICENSE](LICENSE) para más detalles.
174+
175+
## 🔗 Enlaces Úúles
176+
177+
- [Documentación Oficial](https://docs.fiscalapi.com)
178+
- [Portal de FiscalAPI](https://fiscalapi.com)
179+
- [Soporte](https://fiscalapi.com/soporte)
180+

0 commit comments

Comments
 (0)