Inicio Rápido
Esta guía lo preparará para usar FiscalAPI. Cubriremos todo el proceso de integración, desde los conceptos básicos hasta cómo timbrar su primera factura CFDI. También encontrará información clave para aprovechar al máximo nuestra poderosa API REST.
Antes de comenzar, es importante saber que todas las integraciones inician en el ambiente de pruebas (gratis). En este ambiente, los datos son ficticios, las facturas no tienen validez fiscal, las tarjetas para la suscripción y las compras son proporcionadas por FiscalAPI, y los pagos se cargarán a las tarjetas de prueba de fiscalpi . Los timbres tampoco tienen valor financiero.
1. Crear una cuenta
Lo primero que debe hacer es crear una cuenta en FiscalAPI. Luego, confirme su dirección de correo electrónico mediante el enlace enviado a su correo en la etapa de registro.
2. Capturar sus datos fiscales (opcional pero recomendado)
Si desea que FiscalAPI emita la factura de las compras realizadas en la plataforma, debe capturar sus datos fiscales en su perfil. Si no lo hace, podrá seguir utilizando la cuenta, pero no será posible emitir facturas por sus compras ni probar esta funcionalidad.
3. Crear una suscripción de prueba
Para timbrar facturas, necesita una suscripción activa. Puede crearla en la sección Compras en línea » Suscripciones. En el ambiente de pruebas, utilice las tarjetas de prueba de FiscalAPI para completar el formulario de pago y activar su suscripción de prueba.
4. Seleccionar un método de pago en su perfil
Despues de activar una subscripción, ya tiene un metodo de pago, seleccionelo como método predeterminado en su perfil » Método de pago predeterminado. Si no tiene una suscripción activa de prueba, siga el paso anterior para crearla.
5. Comprar timbres de prueba
Con una suscripción de prueba activa y un método de pago registrado, puede comprar timbres de prueba en la sección Compras en línea » Tienda en línea. Seleccione un paquete de timbres y haga clic en "Comprar". Recuerde que en el ambiente de pruebas, todo es gratuito.
6. Obtener sus credenciales
Una vez que tenga una suscripción activa y timbres disponibles, podrá obtener las credenciales necesarias para timbrar:
- API Key: Genere una desde el dashboard en Developers » API Keys. Copie y guarde esta clave en un lugar seguro.
- Tenant Key: Recupérela desde su perfil » TID. Copie y guarde esta clave de manera segura.
7. Creando su primera factura
Con una suscripción activa, timbres disponibles y sus credenciales (API Key y Tenant Key), ya puede timbrar su primera factura. El siguiente ejemplo muestra cómo enviar una solicitud POST al recurso /api/v4/invoices/income
.
El ejemplo destaca los elementos clave del objeto JSON:
- Factura (
invoice
): Representa el comprobante completo. - Emisor (
issuer
): Detalles del emisor. - Sellos (
taxCredentials
): Sellos del emisor (archivos .cer y .key). - Receptor (
recipient
): Detalles del receptor. - Conceptos (
items
): Lista de productos y/o servicios. - Impuestos de cada producto o servicio (
itemTaxes
)
FiscalAPI realiza todos los cálculos automáticamente, por lo que solo necesita proporcionar los valores base.
También puede utilizar Postman copiando el JSON del argumento --data-raw
en el cuerpo de la solicitud. Asegúrese de configurar los encabezados X-TENANT-KEY
y X-API-KEY
con sus credenciales. Para más detalles, consulte la sección de Autenticación.
Importante: Actualice la propiedad date
con la fecha actual en formato AAAA-MM-DDThh:mm:ss
.
Crear factura de ingreso
curl --location 'https://test.fiscalapi.com/api/v4/invoices/income' \
--header 'X-TENANT-KEY: <tenant>' \
--header 'X-TIME-ZONE: America/Mexico_City' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <apikey>' \
--data-raw '{
"versionCode": "4.0",
"series": "F",
"date": "2025-01-15T19:06:25",
"paymentFormCode": "01",
"paymentConditions": "Contado",
"currencyCode": "MXN",
"typeCode": "I",
"expeditionZipCode": "01160",
"paymentMethodCode": "PUE",
"exchangeRate": 1,
"exportCode": "01",
"issuer": {
"tin": "FUNK671228PH6",
"legalName": "KARLA FUENTE NOLASCO",
"taxRegimeCode": "621",
"taxCredentials": [
{
"base64File": "MIIFgDCCA2igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDYwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTQzNTM3WhcNMjcwNTE4MTQzNTM3WjCBpzEdMBsGA1UEAxMUS0FSTEEgRlVFTlRFIE5PTEFTQ08xHTAbBgNVBCkTFEtBUkxBIEZVRU5URSBOT0xBU0NPMR0wGwYDVQQKExRLQVJMQSBGVUVOVEUgTk9MQVNDTzEWMBQGA1UELRMNRlVOSzY3MTIyOFBINjEbMBkGA1UEBRMSRlVOSzY3MTIyOE1DTE5MUjA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhNXbTSqGX6+/3Urpemyy5vVG2IdP2v7v001+c4BoMxEDFDQ32cOFdDiRxy0Fq9aR+Ojrofq8VeftvN586iyA1A6a0QnA68i7JnQKI4uJy+u0qiixuHu6u3b3BhSpoaVHcUtqFWLLlzr0yBxfVLOqVna/1/tHbQJg9hx57mp97P0JmXO1WeIqi+Zqob/mVZh2lsPGdJ8iqgjYFaFn9QVOQ1Pq74o1PTqwfzqgJSfV0zOOlESDPWggaDAYE4VNyTBisOUjlNd0x7ppcTxSi3yenrJHqkq/pqJsRLKf6VJ/s9p6bsd2bj07hSDpjlDC2lB25eEfkEkeMkXoE7ErXQ5QCwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAHwYpgbClHULXYhK4GNTgonvXh81oqfXwCSWAyDPiTYFDWVfWM9C4ApxMLyc0XvJte75Rla+bPC08oYN3OlhbbvP3twBL/w9SsfxvkbpFn2ZfGSTXZhyiq4vjmQHW1pnFvGelwgU4v3eeRE/MjoCnE7M/Q5thpuog6WGf7CbKERnWZn8QsUaJsZSEkg6Bv2jm69ye57ab5rrOUaeMlstTfdlaHAEkUgLX/NXq7RbGwv82hkHY5b2vYcXeh34tUMBL6os3OdRlooN9ZQGkVIISvxVZpSHkYC20DFNh1Bb0ovjfujlTcka81GnbUhFGZtRuoVQ1RVpMO8xtx3YKBLp4do3hPmnRCV5hCm43OIjYx9Ov2dqICV3AaNXSLV1dW39Bak/RBiIDGHzOIW2+VMPjvvypBjmPv/tmbqNHWPSAWOxTyMx6E1gFCZvi+5F+BgkdC3Lm7U0BU0NfvsXajZd8sXnIllvEMrikCLoI/yurvexNDcF1RW/FhMsoua0eerwczcNm66pGjHm05p9DR6lFeJZrtqeqZuojdxBWy4vH6ghyJaupergoX+nmdG3JYeRttCFF/ITI68TeCES5V3Y0C3psYAg1XxcGRLGd4chPo/4xwiLkijWtgt0/to5ljGBwfK7r62PHZfL1Dp+i7V3w7hmOlhbXzP+zhMZn1GCk7KY=",
"fileType": 0,
"password": "12345678a"
},
{
"base64File": "MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIAgEAAoIBAQACAggAMBQGCCqGSIb3DQMHBAgwggS9AgEAMASCBMh4EHl7aNSCaMDA1VlRoXCZ5UUmqErAbucRBAKNQXH8t8gVCl/ItHMI2hMJ76QOECOqEi1Y89cDpegDvh/INXyMsXbzi87tfFzgq1O+9ID6aPWGg+bNGADXyXxDVdy7Nq/SCdoXvo66MTYwq8jyJeUHDHEGMVBcmZpD44VJCvLBxDcvByuevP4Wo2NKqJCwK+ecAdZc/8Rvd947SjbMHuS8BppfQWARVUqA5BLOkTAHNv6tEk/hncC7O2YOGSShart8fM8dokgGSyewHVFe08POuQ+WDHeVpvApH/SP29rwktSoiHRoL6dK+F2YeEB5SuFW9LQgYCutjapmUP/9TC3Byro9Li6UrvQHxNmgMFGQJSYjFdqlGjLibfuguLp7pueutbROoZaSxU8HqlfYxLkpJUxUwNI1ja/1t3wcivtWknVXBd13R06iVfU1HGe8Kb4u5il4a4yP4p7VT4RE3b1SBLJeG+BxHiE8gFaaKcX/Cl6JV14RPTvk/6VnAtEQ66qHJex21KKuiJo2JoOmDXVHmvGQlWXNjYgoPx28Xd5WsofL+n7HDR2Ku8XgwJw6IXBJGuoday9qWN9v/k7DGlNGB6Sm4gdVUmycMP6EGhB1vFTiDfOGQO42ywmcpKoMETPVQ5InYKE0xAOckgcminDgxWjtUHjBDPEKifEjYudPwKmR6Cf4ZdGvUWwY/zq9pPAC9bu423KeBCnSL8AQ4r5SVsW6XG0njamwfNjpegwh/YG7sS7sDtZ8gi7r6tZYjsOqZlCYU0j7QTBpuQn81Yof2nQRCFxhRJCeydmIA8+z0nXrcElk7NDPk4kYQS0VitJ2qeQYNENzGBglROkCl2y6GlxAG80IBtReCUp/xOSdlwDR0eim+SNkdStvmQM5IcWBuDKwGZc1A4v/UoLl7niV9fpl4X6bUX8lZzY4gidJOafoJ30VoY/lYGkrkEuz3GpbbT5v8fF3iXVRlEqhlpe8JSGu7Rd2cPcJSkQ1Cuj/QRhHPhFMF2KhTEf95c9ZBKI8H7SvBi7eLXfSW2Y0ve6vXBZKyjK9whgCU9iVOsJjqRXpAccaWOKi420CjmS0+uwj/Xr2wLZhPEjBA/G6Od30+eG9mICmbp/5wAGhK/ZxCT17ZETyFmOMo49jl9pxdKocJNuzMrLpSz7/g5Jwp8+y8Ck5YP7AX0R/dVA0t37DO7nAbQT5XVSYpMVh/yvpYJ9WR+tb8Yg1h2lERLR2fbuhQRcwmisZR2W3Sr2b7hX9MCMkMQw8y2fDJrzLrqKqkHcjvnI/TdzZW2MzeQDoBBb3fmgvjYg07l4kThS73wGX992w2Y+a1A2iirSmrYEm9dSh16JmXa8boGQAONQzQkHh7vpw0IBs9cnvqO1QLB1GtbBztUBXonA4TxMKLYZkVrrd2RhrYWMsDp7MpC4M0p/DA3E/qscYwq1OpwriewNdx6XXqMZbdUNqMP2viBY2VSGmNdHtVfbN/rnaeJetFGX7XgTVYD7wDq8TW9yseCK944jcT+y/o0YiT9j3OLQ2Ts0LDTQskpJSxRmXEQGy3NBDOYFTvRkcGJEQJItuol8NivJN1H9LoLIUAlAHBZxfHpUYx66YnP4PdTdMIWH+nxyekKPFfAT7olQ=",
"fileType": 1,
"password": "12345678a"
}
]
},
"recipient": {
"tin": "EKU9003173C9",
"legalName": "ESCUELA KEMPER URGATE",
"zipCode": "42501",
"taxRegimeCode": "601",
"CfdiUseCode": "G01",
"email": "someone@somewhere.com"
},
"items": [
{
"itemCode": "01010101",
"quantity": 9.5,
"unitOfMeasurementCode": "E48",
"unitOfMeasurement": "Unidad de servicio",
"description": "Invoicing software as a service",
"unitPrice": 3587.75,
"taxObjectCode": "02",
"itemSku": "7506022301697",
"discount": 255.85,
"itemTaxes": [
{
"taxCode": "002",
"taxTypeCode": "Tasa",
"taxRate": 0.160000,
"TaxFlagCode": "T"
}
]
}
]
}'
¿Qué sigue?
¡Genial! Ahora que has completado tu proceso de onboarding y ha generado su primer factura con fiscalapi, estás listo para profundizar en otras funcionalidades. Aquí tienes algunos recursos que podrían ser útiles mientras exploras más sobre la API:
- Descubra los modos de operación de Fiscalapi
- Lea sobre el modelo de respuesta de Fiscalapi
- Conozca los códigos de error de Fiscalapi
- Explore los esquemas de autenticación
- Aprenda como personalizar los PDF de las facturas
- Revise la documentación completa del recurso de facturas
Estos recursos te ayudarán a sacar el máximo provecho de la API y a resolver cualquier duda o problema que puedas encontrar durante tu integración.