Download OpenAPI specification:
La API de Alfratax ofrece dos entornos diseñados para cubrir las necesidades de pruebas y operaciones en vivo. A continuación, se describen sus características y consideraciones importantes:
Este entorno está diseñado para pruebas y desarrollo. Permite simular interacciones con la API sin afectar datos reales ni generar transacciones permanentes.
Características:
Restricciones:
Para realizar pruebas de integración con la API de Alfratax, se puede utilizar el entorno de pruebas. Para ello, se debe utilizar la siguiente URL (URL_BASE):
Este es el entorno en el que las transacciones y datos tienen efecto real. Es utilizado para operaciones en vivo una vez que la integración ha sido completamente validada.
Nota: Realiza pruebas exhaustivas en el entorno de sandbox y ten en cuenta sus restricciones antes de realizar la migración al entorno de producción. Utiliza las credenciales específicas para cada entorno para garantizar la seguridad y el correcto funcionamiento de tu aplicación.
Para timbrar facturas en el entorno de producción y realizar descargas masivas, se debe utilizar la siguiente URL (URL_BASE):
El token lo puedes obtener de la siguiente manera (siempre y cuando tengas el paquete de API)
1.- Entra a la página de Alfratax (ya sea en sandbox o producción según sea tu caso)
2.- Inicia sesión con tu usuario y contraseña
3.- En el menú superior, selecciona el menú de "Configuración"
4.- Selecciona la opción de api key y genera una nueva api key o utiliza la que ya tienes (debes tener contratado el paquete de API para ver esta opción)
Con este servicio podrás crear una nota de remisión sin efectos fiscales.
| issurerId required | string ID único del contribuyente. |
required | object Datos de la nota de remisión. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "pdf_comment": "Comentario del PDF",
- "internal_comments": "Comentario interno",
- "decimalQuantity": 2,
- "currency": "MXN",
- "change": 1,
- "customer": {
- "name": "CESAR RAUL LOPEZ CRUZ",
- "address": {
- "street": null,
- "exteriorNumber": 203,
- "interiorNumber": "A",
- "neighborhood": "VILLAS DE SAN MIGUEL",
- "zipCode": "03100",
- "municipality": "BENITO JUAREZ",
- "state": "CDMX"
}
}, - "items": [
- {
- "quantity": 2,
- "description": "PC con procesador i7",
- "unitPrice": 12000,
- "discount": 0
}
]
}
}Con este servicio podrás timbrar un CFDI, para ello es necesario enviar los datos del CFDI en formato JSON.
Con este servicio podrás crear una pre-factura (borrador), la cual posteriormente podrás timbrar.
Actualmente este servicio solo esta disponible para un CFDI de tipo Ingreso
| issurerId required | string ID único del contribuyente. |
required | object Datos de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "serie": "A",
- "folio": 123456,
- "pdf_comment": "Comentario del PDF",
- "internal_comments": "Comentario interno",
- "currency": "MXN",
- "change": "1.00",
- "invoiceData": {
- "decimalQuantity": 2,
- "paymentForm": "01",
- "paymentMethod": "PUE",
- "cfdiUse": "G03",
- "export": "01",
- "confirmation": "string",
- "paymentConditions": "string",
- "cfdiRelation": "01",
- "cfdiRelationUuid": [
- "uuid1",
- "uuid2",
- "uuidN"
], - "OrderNumber": "string"
}, - "customer": {
- "rfc": "ABC123456789",
- "name": "CESAR RAUL LOPEZ CRUZ",
- "fiscalRegime": 601,
- "address": {
- "zipCode": "01234",
- "street": "Av. Insurgentes Sur",
- "exteriorNumber": "1234",
- "interiorNumber": "5678",
- "neighborhood": "Roma Norte",
- "municipality": "Cuauhtémoc",
- "state": "CDMX"
}
}, - "items": [
- {
- "quantity": 2,
- "description": "Producto de ejemplo",
- "unitPrice": 100,
- "iva": 0.16,
- "subtotal": 200,
- "total": 232,
- "discount": 100,
- "keyProduct": "PROD001",
- "keyUnit": "EA",
- "noIdentification": "1234567890",
- "propertyTaxNumber": [
- "Numero-1",
- "Numero-2",
- "Numero-N"
], - "customsInformation": [
- "NumeroPedimento-1",
- "NumeroPedimento-2",
- "NumeroPedimento-N"
], - "objectTax": "02",
- "tax": {
- "iva": 16,
- "ret": null,
- "tasa": null,
- "isr": null
}, - "localTaxes": {
- "name": "Impuesto Local",
- "rate": 10,
- "amount": 30,
- "type": "withholding"
}
}
]
}
}{- "data": {
- "motor_id": "pVJ_1_1VH5YS_JiMos7DFvCe-LIzKSJ_15082025191726",
- "uuid": null,
- "serie": "A",
- "folio": 1,
- "description": null
}, - "message": [
- "Pre factura creada correctamente"
], - "success": true
}Con este servicio podrás timbrar una factura.
⚠️ IMPORTANTE: Para timbrar una pre factura, debes enviar el
motor_idque se generó al crear la prefactura.
| issurerId required | string ID único del contribuyente. |
required | object Datos de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "serie": "A",
- "folio": 123456,
- "pdf_comment": "Comentario del PDF",
- "internal_comments": "Comentario interno",
- "currency": "MXN",
- "change": "1.00",
- "invoiceData": {
- "decimalQuantity": 2,
- "paymentForm": "01",
- "paymentMethod": "PUE",
- "cfdiUse": "G03",
- "export": "01",
- "confirmation": "string",
- "paymentConditions": "string",
- "cfdiRelation": "01",
- "cfdiRelationUuid": [
- "uuid1",
- "uuid2",
- "uuidN"
], - "OrderNumber": "string"
}, - "customer": {
- "rfc": "ABC123456789",
- "name": "CESAR RAUL LOPEZ CRUZ",
- "fiscalRegime": 601,
- "address": {
- "zipCode": "01234",
- "street": "Av. Insurgentes Sur",
- "exteriorNumber": "1234",
- "interiorNumber": "5678",
- "neighborhood": "Roma Norte",
- "municipality": "Cuauhtémoc",
- "state": "CDMX"
}
}, - "items": [
- {
- "quantity": 2,
- "description": "Producto de ejemplo",
- "unitPrice": 100,
- "iva": 0.16,
- "subtotal": 200,
- "total": 232,
- "discount": 100,
- "keyProduct": "PROD001",
- "keyUnit": "EA",
- "noIdentification": "1234567890",
- "propertyTaxNumber": [
- "Numero-1",
- "Numero-2",
- "Numero-N"
], - "customsInformation": [
- "NumeroPedimento-1",
- "NumeroPedimento-2",
- "NumeroPedimento-N"
], - "objectTax": "02",
- "tax": {
- "iva": 16,
- "ret": null,
- "tasa": null,
- "isr": null
}, - "localTaxes": {
- "name": "Impuesto Local",
- "rate": 10,
- "amount": 30,
- "type": "withholding"
}
}
]
}
}{- "data": {
- "motor_id": "pVJ_1_1VH5YS_JiMos7DFvCe-LIzKSJ_15082025191726",
- "uuid": null,
- "serie": "A",
- "folio": 1,
- "description": null
}, - "message": [
- "Factura creada correctamente"
], - "success": true
}Con este servicio podrás timbrar una nota de crédito.
| issurerId required | string ID único del contribuyente. |
required | object Datos de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "serie": "A",
- "folio": 123456,
- "pdf_comment": "Comentario del PDF",
- "internal_comments": "Comentario interno",
- "currency": "MXN",
- "change": "1.00",
- "invoiceData": {
- "decimalQuantity": 2,
- "paymentForm": "01",
- "paymentMethod": "PUE",
- "cfdiUse": "G03",
- "export": "01",
- "confirmation": "string",
- "paymentConditions": "string",
- "cfdiRelation": "01",
- "cfdiRelationUuid": [
- "uuid1",
- "uuid2",
- "uuidN"
], - "OrderNumber": "string"
}, - "customer": {
- "rfc": "ABC123456789",
- "name": "CESAR RAUL LOPEZ CRUZ",
- "fiscalRegime": 601,
- "address": {
- "zipCode": "01234",
- "street": "Av. Insurgentes Sur",
- "exteriorNumber": "1234",
- "interiorNumber": "5678",
- "neighborhood": "Roma Norte",
- "municipality": "Cuauhtémoc",
- "state": "CDMX"
}
}, - "items": [
- {
- "quantity": 2,
- "description": "Producto de ejemplo",
- "unitPrice": 100,
- "iva": 0.16,
- "subtotal": 200,
- "total": 232,
- "discount": 100,
- "keyProduct": "PROD001",
- "keyUnit": "EA",
- "noIdentification": "1234567890",
- "propertyTaxNumber": [
- "Numero-1",
- "Numero-2",
- "Numero-N"
], - "customsInformation": [
- "NumeroPedimento-1",
- "NumeroPedimento-2",
- "NumeroPedimento-N"
], - "objectTax": "02",
- "tax": {
- "iva": 16,
- "ret": null,
- "tasa": null,
- "isr": null
}, - "localTaxes": {
- "name": "Impuesto Local",
- "rate": 10,
- "amount": 30,
- "type": "withholding"
}
}
]
}
}{- "data": {
- "motor_id": "pVJ_1_1VH5YS_JiMos7DFvCe-LIzKSJ_15082025191726",
- "uuid": null,
- "serie": "A",
- "folio": 1,
- "description": null
}, - "message": [
- "Factura creada correctamente"
], - "success": true
}Con este servicio podrás timbrar un complemento de pago.
| issurerId required | string ID único del contribuyente. |
required | object Datos de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "customer": {
- "rfc": "ABC123456789",
- "name": "CESAR RAUL LOPEZ CRUZ",
- "fiscalRegime": 601,
- "address": {
- "zipCode": "01234",
- "street": "Av. Insurgentes Sur",
- "exteriorNumber": "1234",
- "interiorNumber": "5678",
- "neighborhood": "Roma Norte",
- "municipality": "Cuauhtémoc",
- "state": "CDMX"
}
}, - "invoiceData": {
- "decimalQuantity": 2,
- "currency": "MXN",
- "change": 1,
- "paymentDate": "2025-08-19T00:00:00",
- "paymentForm": "01",
- "relatedDocuments": [
- {
- "uuid": "123e4567-e89b-12d3-a456-426614174000",
- "taxObject": "02",
- "partialityNumber": "1",
- "amountPaid": 10,
- "previousBalanceAmount": 86,
- "taxes": [
- {
- "name": "IVA",
- "rate": 16,
- "total": 1.6,
- "base": 10,
- "isRetention": false
}
]
}
]
}
}
}{- "data": {
- "motor_id": "GiI_1_1wu7a6_ucAwrMBZ-B47dwzZVuP_21082025212952",
- "uuid": null,
- "serie": "A",
- "folio": null,
- "description": null,
- "comments": null,
- "invoice_data": {
- "decimalQuantity": 2,
- "currency": "MXN",
- "change": 1,
- "paymentDate": "2025-08-19 00:00:00",
- "paymentForm": "03",
- "relatedDocuments": [
- {
- "uuid": "6CA2C78D-DE16-482A-B06D-FA8FC2F32A9C",
- "taxObject": "02",
- "partialityNumber": 4,
- "amountPaid": 10,
- "previousBalanceAmount": 86,
- "taxes": [
- {
- "name": "IVA",
- "rate": 16,
- "total": 1.6,
- "base": 10,
- "isRetention": "false"
}
]
}
], - "cfdiUse": "CP01",
- "paymentMethod": "PUE"
}, - "items": null,
- "subtotal": 0,
- "total_iva": 0,
- "total": 0,
- "currency": "MXN",
- "change": 1,
- "type_payment": "PUE",
- "type_invoice": "payment-plugin",
- "invoice_payment_date": null,
- "invoice_cancel_date": null,
- "invoice_request_cancel_date": null,
- "errors": null,
- "filters": null,
- "status": "Pending to stamp",
- "json_request": {
- "invoiceData": {
- "decimalQuantity": 2,
- "currency": "MXN",
- "change": 1,
- "paymentDate": "2025-08-19 00:00:00",
- "paymentForm": "03",
- "relatedDocuments": [
- {
- "uuid": "6CA2C78D-DE16-482A-B06D-FA8FC2F32A9C",
- "taxObject": "02",
- "partialityNumber": 4,
- "amountPaid": 10,
- "previousBalanceAmount": 86,
- "taxes": [
- {
- "name": "IVA",
- "rate": 16,
- "total": 1.6,
- "base": 10,
- "isRetention": "false"
}
]
}
], - "cfdiUse": "CP01",
- "paymentMethod": "PUE"
}, - "customer": {
- "name": "PÚBLICO EN GENERAL",
- "rfc": "XAXX010101000",
- "fiscalRegime": 616,
- "address": {
- "street": null,
- "exteriorNumber": null,
- "interiorNumber": null,
- "neighborhood": null,
- "zipCode": "03810",
- "municipality": null,
- "state": null
}
}
}, - "service_created": "api",
- "total_iva_ret": 0,
- "total_isr_ret": 0,
- "total_ieps": 0,
- "issurerId": "1_8Uy4kkIMOheH6fu_1vPWN0vhd"
}, - "message": [
- "Factura creada correctamente"
], - "success": true
}Con este servicio podrás timbrar una factura para el público en general.
| issurerId required | string ID único del contribuyente. |
required | object Datos de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "invoice": {
- "serie": "A",
- "folio": 123456,
- "pdf_comment": "Comentario del PDF",
- "internal_comments": "Comentario interno",
- "currency": "MXN",
- "change": "1.00",
- "invoiceData": {
- "decimalQuantity": 2,
- "paymentForm": "01",
- "paymentMethod": "PUE",
- "cfdiUse": "G03",
- "export": "01",
- "confirmation": "string",
- "paymentConditions": "string",
- "cfdiRelation": "01",
- "cfdiRelationUuid": [
- "uuid1",
- "uuid2",
- "uuidN"
], - "OrderNumber": "string",
- "globalInformation": {
- "periodicity": "01",
- "months": "01",
- "year": "2025"
}
}, - "customer": {
- "rfc": "ABC123456789",
- "name": "CESAR RAUL LOPEZ CRUZ",
- "fiscalRegime": 601,
- "address": {
- "zipCode": "01234",
- "street": "Av. Insurgentes Sur",
- "exteriorNumber": "1234",
- "interiorNumber": "5678",
- "neighborhood": "Roma Norte",
- "municipality": "Cuauhtémoc",
- "state": "CDMX"
}
}, - "items": [
- {
- "quantity": 2,
- "description": "Producto de ejemplo",
- "unitPrice": 100,
- "iva": 0.16,
- "subtotal": 200,
- "total": 232,
- "discount": 100,
- "keyProduct": "PROD001",
- "keyUnit": "EA",
- "noIdentification": "1234567890",
- "propertyTaxNumber": [
- "Numero-1",
- "Numero-2",
- "Numero-N"
], - "customsInformation": [
- "NumeroPedimento-1",
- "NumeroPedimento-2",
- "NumeroPedimento-N"
], - "objectTax": "02",
- "tax": {
- "iva": 16,
- "ret": null,
- "tasa": null,
- "isr": null
}, - "localTaxes": {
- "name": "Impuesto Local",
- "rate": 10,
- "amount": 30,
- "type": "withholding"
}
}
]
}
}{- "data": {
- "motor_id": "pVJ_1_1VH5YS_JiMos7DFvCe-LIzKSJ_15082025191726",
- "uuid": null,
- "serie": "A",
- "folio": 1,
- "description": null
}, - "message": [
- "Factura creada correctamente"
], - "success": true
}Cancelar una factura emitida
| invoice_id required | string Id de la factura |
| motive required | string Enum: "01" "02" "03" "04" Example: 02 Motivo de cancelación |
| uuid | string Example: uuid=12345678-1234-1234-1234-123456789012 UUID de la factura a cancelar |
{- "data": [ ],
- "message": [
- "Factura en proceso de cancelación"
], - "success": true
}Con este método puedes obtener todas las facturas emitidas, de cualquier tipo, así como las notas de remisión.
Los resultados se devuelven paginados; puedes especificar el número de registros por página y la página que deseas consultar, con un máximo de 100 registros por página.
| per_page | integer <= 100 Default: 10 Example: per_page=10 Este parámetro es el número de registros que deseas obtener por página (máximo 100). |
| page | integer Default: 1 Example: page=1 Este parámetro es el número de página que deseas obtener. |
object |
{- "data": {
- "current_page": 1,
- "data": [
- {
- "uuid": "298BC58F-06B1-42F6-AED9-2FBC70115B4B",
- "balance": "1.16",
- "comments": null,
- "motor_id": "YYXXXXb15tXc_SqYzCCCX-XXXXXXBuZ",
- "serie": "A",
- "folio": 130,
- "type_invoice": "invoice",
- "type_payment": "PUE",
- "status": "Active",
- "invoice_payment_date": "2025-08-19 19:38:43",
- "invoice_cancel_date": null,
- "invoice_request_cancel_date": null,
- "subtotal": "1.00",
- "total_iva": "0.16",
- "total": "1.16",
- "currency": "MXN",
- "errors": null,
- "cancellation_try_next_date": null,
- "cancellation_tries": 0,
- "total_iva_ret": "0.00",
- "total_isr_ret": "0.00",
- "stamp_invoice_time": null,
- "filters": {
- "issuer": "XXXXXXX XXXXXXX XXXXXXX XXXXXXX",
- "issuer_uuid": "1_XXXXXXXXXXXXXXX_XXXXXXXXXXX",
- "issuer_rfc": "XXXXXXXXXXXXX",
- "client_id": 308
}, - "paid": true,
- "human_payment_date": "Martes 19 de agosto de 2025 a las 7:38:43 pm",
- "has_invoice_relation": false,
- "relation_invoice": [ ],
- "amount_owed": 0,
- "amount_paid": 1.16,
- "client": {
- "name": "XXXXX XXXXXXX XXXXXXX XXXXXXX",
- "rfc": "XXXXXXXXXXXXX"
}, - "issurer": {
- "name": "XXXXXXX XXXXXXX XXXXXXX XXXXXXX",
- "uuid": "1_XXXXXXXXXXXXXXX_XXXXXXXXXXX",
- "alias": "XXXXXXX XXXXXXX XXXXXXX XXXXXXX",
- "rfc": "XXXXXXXXXXXXX"
}
}
], - "from": 1,
- "last_page": 6,
- "links": [
- {
- "url": null,
- "label": "« Previous",
- "active": false
}
], - "per_page": 10,
- "prev_page_url": null,
- "to": 10,
- "total": 55
}, - "message": [ ],
- "success": true
}Con este método puedes buscar CFDI's PPD.
| issuer_rfc required | string Example: XXXXXXXXXXXXX RFC del emisor. |
| search | string Example: search=17 Buscamos por uuid o por folio. |
| page | integer Example: page=1 Número de la página. |
| per_page | integer Example: per_page=10 Número de registros por página (máximo 100). |
{- "current_page": 1,
- "data": [
- {
- "motor_id": "6vY9_29_25u-Ju2qu1gy_223020",
- "serie": "A",
- "folio": 18,
- "total": 58000,
- "status": "Active",
- "uuid": "D224265F-0675-4119-8640",
- "invoice_payment_date": "2026-01-22 12:30:24",
- "taxes": {
- "withheld": {
- "property1": {
- "Base": 50000,
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": 0,
- "Importe": 0
}, - "property2": {
- "Base": 50000,
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": 0,
- "Importe": 0
}
}, - "transferred": {
- "property1": {
- "Base": 50000,
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": 0.16,
- "Importe": 8000
}, - "property2": {
- "Base": 50000,
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": 0.16,
- "Importe": 8000
}
}
}, - "last_partiality": 0,
- "amount_paid": 0,
- "amount_owed": 58000,
- "iva_percentage": 16
}
], - "first_page_url": "http://api.alfratax.com/api/v2/invoice/XAXX010101000/search-invoices-ppd?page=1",
- "from": 1,
- "last_page": 1,
- "links": [
- {
- "url": null,
- "label": "« Previous",
- "page": null,
- "active": false
}
], - "next_page_url": null,
- "per_page": 10,
- "prev_page_url": null,
- "to": 1,
- "total": 1
}Con este método puedes obtener todos los datos de una factura específica.
| motor_id required | any ID de la factura que deseas obtener. |
{- "data": {
- "uuid": "2AECA13F-B841-4D74-8F5D-75DC4D4C5B96",
- "balance": "1.16",
- "comments": null,
- "motor_id": "uP0_1_16D57_kwVy3EHb-Dt3vJoak_22082025004942",
- "serie": "A",
- "folio": 14,
- "type_invoice": "invoice",
- "type_payment": "PUE",
- "status": "Active",
- "invoice_payment_date": "2025-08-21 18:49:47",
- "invoice_cancel_date": null,
- "invoice_request_cancel_date": null,
- "subtotal": "1.00",
- "total_iva": "0.16",
- "total": "1.16",
- "currency": "MXN",
- "errors": null,
- "cancellation_try_next_date": null,
- "cancellation_tries": 0,
- "total_iva_ret": "0.00",
- "total_isr_ret": "0.00",
- "stamp_invoice_time": null,
- "paid": true,
- "items": [
- {
- "quantity": 1,
- "description": "Actualización",
- "unitPrice": 1,
- "iva": 0.16,
- "subtotal": 1,
- "total": 1.16,
- "discount": 0,
- "keyProduct": "81112202",
- "keyUnit": "E48",
- "objectTax": "02",
- "tax": {
- "iva": 16,
- "ret": null,
- "tasa": null,
- "isr": null
}
}
], - "human_payment_date": "Jueves 21 de agosto de 2025 a las 6:49:47 pm",
- "relation_invoice": [ ],
- "has_invoice_relation": false,
- "amount_owed": 0,
- "amount_paid": 1.16,
- "invoiceData": {
- "paymentForm": "01",
- "paymentMethod": "PUE",
- "cfdiUse": "S01",
- "decimalQuantity": 2
}, - "client": {
- "alias": "PÚBLICO EN GENERAL",
- "data": {
- "name": "PÚBLICO EN GENERAL",
- "rfc": "XAXX010101000",
- "fiscalRegime": 616,
- "address": {
- "street": null,
- "exteriorNumber": null,
- "interiorNumber": null,
- "neighborhood": null,
- "zipCode": "03810",
- "municipality": null,
- "state": null
}
}
}, - "issurer": {
- "name": "ESCUELA KEMPER URGATE",
- "uuid": "1_8Uy4kkIMOheH6fu_1vPWN0vhd",
- "alias": "ESCUELA KEMPER URGATE SA DE CV",
- "rfc": "EKU9003173C9"
}
}, - "message": [ ],
- "success": true
}Con este método puedes descargar el PDF de una factura o nota de remisión específica.
| motor_id required | any ID de la factura o nota de remisión que deseas descargar. |
{- "data": {
- "name": "factura_123.pdf",
- "expiration_link_date": "2025-08-25 10:38:12"
}, - "message": [ ],
- "success": false
}Con este método puedes descargar el XML de una factura específica.
Nota: Servicio no válido para notas de remisión.
| motor_id required | any ID de la factura que deseas descargar. |
{- "data": {
- "name": "factura_123.xml",
- "expiration_link_date": "2025-08-25 10:38:12"
}, - "message": [ ],
- "success": false
}Con este método puedes verificar el estado de un CFDI directamente en el SAT si se encuentra activo, cancelado o en espera de cancelación.
Cada 5 consultas consume un timbre.
| UUID required | any Example: UUID=12345678-1234-1234-1234-123456789012 UUID del CFDI que deseas verificar. |
| issurerId required | string ID único del contribuyente. |
| issuerRFC required | string RFC del emisor. |
| receiverRFC required | string RFC del receptor. |
| total required | number Total de la factura. |
{- "issurerId": "1_Z1nmlnn3DkO_11VOora6JRy",
- "issuerRFC": "XAXX010101000",
- "receiverRFC": "XAXX010101000",
- "total": 100
}{- "data": {
- "status": "Vigente",
- "isCancelable": "Cancelable sin aceptación",
- "cancellationStatus": ""
}, - "message": [ ],
- "success": true
}Obten la información de los contribuyente registrados en el sistema
| issurer_id | any Id's de los contribuyentes que se desea obtener la información (si no se envía ninguno se obtienen todos).
Para esta sección se manda en URL como un array, ejemplo: |
{- "data": [
- {
- "name": "JAVIER PADILLA MATEO",
- "rfc": "PAMP9302021Q2",
- "alias": "JAVIER PADILLA MATEO",
- "expedition_csd": "2022-01-01",
- "expiration_csd": "2026-01-01",
- "expedition_fiel": "2022-01-01",
- "expiration_fiel": "2026-01-01",
- "street": "Av Torres",
- "exterior_number": "C5",
- "interior_number": "C202",
- "neighborhood": "Napoles",
- "zip_code": "03810",
- "municipality": "Benito Juárez",
- "state": "CDMX",
- "serie": "A",
- "folio": 1,
- "enableStampsWeb": 100,
- "enableStampsApi": 100,
- "fiscal_regimen": {
- "code": 626,
- "description": "Régimen simplificado de confianza"
},
}
], - "message": [ ],
- "success": true
}Obtiene la información de un cliente buscando por razón social, RFC o alias
| issuer_id required | string Example: 12345XXXX012 ID del contribuyente del cual se desea obtener la información de sus clientes |
| search required | string Example: search=PAMP9302021Q2 texto a buscar |
{- "data": [
- {
- "client_data": {
- "name": "JAVIER PADILLA MATEO",
- "rfc": "PAMP9302021Q2",
- "fiscalRegime": "626",
- "address": {
- "street": "CALLE DE LAS FLORES",
- "exteriorNumber": "123",
- "interiorNumber": null,
- "neighborhood": "LAS ISABELES",
- "zipCode": "03810",
- "municipality": "CIUDAD DE MEXICO",
- "state": "CIUDAD DE MEXICO"
}
}, - "fiscal_regimen": {
- "code": "626",
- "description": "Régimen Simplificado de Confianza"
}
}, - {
- "client_data": {
- "name": "BEATRIZ PEREZ CERVANTES",
- "rfc": "PEPC9005031X3",
- "fiscalRegime": "601",
- "address": {
- "street": "CALLE DE LAS FLORES",
- "exteriorNumber": "123",
- "interiorNumber": null,
- "neighborhood": "LAS ISABELES",
- "zipCode": "03810",
- "municipality": "CIUDAD DE MEXICO",
- "state": "CIUDAD DE MEXICO"
}
}, - "fiscal_regimen": {
- "code": "601",
- "description": "General de Ley Personas Morales"
}
}, - {
- "client_data": {
- "name": "PÚBLICO EN GENERAL",
- "rfc": "XAXX010101000",
- "fiscalRegime": "616",
- "address": {
- "street": "CALLE DE LAS FLORES",
- "exteriorNumber": "2610",
- "interiorNumber": "PISO 10 OFICINA 1000",
- "neighborhood": "VALLE DE LOS PINOS",
- "zipCode": "54040",
- "municipality": "CIUDAD DE MEXICO",
- "state": "CIUDAD DE MEXICO"
}
}, - "fiscal_regimen": {
- "code": "616",
- "description": "General de Ley Personas Morales"
}
}
], - "message": [ ],
- "success": true
}La descarga masiva de CFDI's es una funcionalidad que permite descargar todos los CFDI's que se encuentran en el portal del SAT (emitidos y recibidos)
⚠️ IMPORTANTE: Por normativa del SAT solamente puedes consultar 1 vez un CFDI en xml con el uuid, pero las veces que quieras con metadata. En caso de que ya no puedas consultar ese UUID en xml, puedes consultar por un rango de fechas que abarque dicho CFDI y podrás obtener nuevamente el xml, junto con los CFDIs que se encuentren en ese rango de fechas.
Esta consulta consume 1 timbre por cada CFDI solicitado
| document_type required | string Enum: "xml" "metadata" Example: xml Tipo de documento |
| type required | string Enum: "received" "issued" Example: received Tipo de CFDI |
| issuer_id required | string Example: 12345678-1234-1234-1234-123456789012 ID de la emisión |
{- "data": [
- {
- "sat_request_id": "646c8902-845b-49db-b8db-bf402b97d6e5",
- "sat_code": 5000,
- "sat_message": "Solicitud Aceptada",
- "download_type": "xml",
- "type": "received",
- "filters": {
- "start_date": "2026-02-01 00:00:00",
- "end_date": "2026-02-12 17:00:05"
}, - "status": "In Progress"
}
], - "message": [ ],
- "success": true
}En esta ruta se puede descargar el archivo en formato JSON, ZIP o XML de los CFDI's solicitados en la petición anterior Petición al SAT para obtener el XML o metadata de los CFDI's
| sat_request_id required | string Example: 646c8902-845b-49db-b8db-bf402b97d6e5 ID de la petición al SAT |
| customer_id required | string Example: 12345678-1234-1234-1234-123456789012 ID del cliente |
| download_type required | string Enum: "xml" "zip" "json" Example: xml Tipo de descarga (si tu petición fué metadata, no podrás descargar el archivo en formato XML) |
{- "data": [
- {
- "sat_request_id": "646c8902-845b-49db-b8db-bf402b97d6e5",
- "download_type": "xml",
- "download": 0,
- "number_found_cfdi": 100,
- "document_type": "xml",
- "data_xml": [
- {
- "metadata": [
- {
- "uuid": "646c8902-845b-49db-b8db-bf402b97d6e5",
- "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<cfdi:Compro...",
- "size": 5033
}
]
}
], - "data_json": {
- "data": [
- {
- "Version": "4.0",
- "xsi:schemaLocation": "http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd",
- "Serie": "MPAF",
- "Folio": "12448110",
- "Fecha": "2026-02-12T16:25:43",
- "Sello": "AF6fkUHmqA0+f/qw2ks8wgr18KmSW/hfCWBajwwOEi0yA/PpPDOBTl...",
- "FormaPago": "03",
- "NoCertificado": "00001000000716660025",
- "Certificado": "MIIGDTCCA/WgAwIBAgIUMDAwMDELBA5eGc...",
- "SubTotal": "129.31",
- "Moneda": "MXN",
- "TipoCambio": "1",
- "Total": "150.00",
- "TipoDeComprobante": "I",
- "Exportacion": "01",
- "MetodoPago": "PUE",
- "LugarExpedicion": "11520",
- "Emisor": {
- "Rfc": "XXXXXXXXXX",
- "Nombre": "BEATRIZ PEREZ CERVANTES",
- "RegimenFiscal": "601"
}, - "Receptor": {
- "Rfc": "XXXXXXXXXX",
- "Nombre": "JAVIER PADILLA MATEO",
- "DomicilioFiscalReceptor": "03810",
- "RegimenFiscalReceptor": "626",
- "UsoCFDI": "G03"
}, - "Conceptos": {
- "Concepto": [
- {
- "ClaveProdServ": "83121703",
- "NoIdentificacion": "1",
- "ObjetoImp": "02",
- "Cantidad": "1.00",
- "ClaveUnidad": "E48",
- "Unidad": "NA",
- "Descripcion": "Uso del servicio07-02-2026",
- "ValorUnitario": "129.310000",
- "Importe": "129.31",
- "Impuestos": {
- "Traslados": {
- "Traslado": [
- {
- "Base": "129.31",
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": "0.160000",
- "Importe": "20.69"
}
]
}
}
}
]
}, - "Impuestos": {
- "TotalImpuestosTrasladados": "20.69",
- "Traslados": {
- "Traslado": [
- {
- "Base": "129.31",
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": "0.160000",
- "Importe": "20.69"
}
]
}
}, - "Complemento": {
- "TimbreFiscalDigital": {
- "FechaTimbrado": "2026-02-12T16:25:47",
- "UUID": "9B0B3DE2-DEFD-4AFE-BD7E-8ABC57935A99",
- "NoCertificadoSAT": "00001000000704859748",
- "SelloCFD": "AF6fkUHmqA0+f/qw2As9PFGrMXMuJL82...",
- "SelloSAT": "RfSKOTg4/sONCudEj7obUNO/gS2ElFh...",
- "Version": "1.1",
- "RfcProvCertif": "XXXXXXXXXX",
- "xsi:schemaLocation": "http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd"
}
}
}, - {
- "xsi:schemaLocation": "http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd",
- "Version": "4.0",
- "Serie": "B",
- "Folio": "7627",
- "Fecha": "2026-02-04T19:24:23",
- "Sello": "JQOy2cZH48eq+jYTqZgvsRyxx+dhz2KriVxCBt3...",
- "FormaPago": "04",
- "NoCertificado": "XXXXXXXXXXXXXXXXX",
- "Certificado": "MIIWVUpwEyRorRM1b9AevfiUVuLkoseTbr2JPjsPRUp/S9qcLEirj...",
- "SubTotal": "489.66",
- "Moneda": "MXN",
- "Total": "568.00",
- "TipoDeComprobante": "I",
- "Exportacion": "01",
- "MetodoPago": "PUE",
- "LugarExpedicion": "01030",
- "Emisor": {
- "Rfc": "XXXXXXXX",
- "Nombre": "XXXXXXXX",
- "RegimenFiscal": "612"
}, - "Receptor": {
- "Rfc": "XXXXXXXX",
- "Nombre": "XXXXXXXX",
- "DomicilioFiscalReceptor": "03810",
- "RegimenFiscalReceptor": "626",
- "UsoCFDI": "G03"
}, - "Conceptos": {
- "Concepto": [
- {
- "ClaveProdServ": "90101501",
- "NoIdentificacion": "001",
- "Cantidad": "1",
- "ClaveUnidad": "E48",
- "Unidad": "Pieza",
- "Descripcion": "CONSUMO DE ALIMENTOS",
- "ValorUnitario": "489.655000",
- "Importe": "489.655000",
- "ObjetoImp": "02",
- "Impuestos": {
- "Traslados": {
- "Traslado": [
- {
- "Base": "489.655000",
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": "0.160000",
- "Importe": "78.344800"
}
]
}
}
}
]
}, - "Impuestos": {
- "TotalImpuestosTrasladados": "78.34",
- "Traslados": {
- "Traslado": [
- {
- "Base": "489.66",
- "Impuesto": "002",
- "TipoFactor": "Tasa",
- "TasaOCuota": "0.160000",
- "Importe": "78.34"
}
]
}
}, - "Complemento": {
- "TimbreFiscalDigital": {
- "xsi:schemaLocation": "http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
- "Version": "1.1",
- "UUID": "C1ECD96D-82A9-XXXXXX",
- "FechaTimbrado": "2026-02-04T19:24:25",
- "RfcProvCertif": "XXXXXXXX",
- "SelloCFD": "ecQnNTGjf7yxWb275pKdhSDkKRWJRCrEZbyW0g...",
- "NoCertificadoSAT": "XXXXXXXXXXXXXXXXXXXX",
- "SelloSAT": "wqR6nG4/HlAS7HG9wJVSccYWfazCCw2X5OhyLWwT3sA..."
}
}
}
]
}, - "exp_url": 60,
}
]
}Con este método puedes obtener el catálogo de claves de unidad del SAT, buscando por la descripción o la clave de unidad.
Ejemplo de URL:
https://api.alfratax.com/api/v2/catalogs/unit-key?value=Unidad de servicio
https://api.alfratax.com/api/v2/catalogs/unit-key?value=E48
| value required | any Example: value=Unidad Valor de la clave de unidad. |
{- "data": [
- {
- "value": "E48",
- "name": "Unidad de servicio"
}, - {
- "value": "A20",
- "name": "Unidad térmica británica (tabla internacional) por segundo pie cuadrado grado rankine."
}
], - "message": [ ],
- "success": true
}Con este método puedes obtener el catálogo de claves de producto del SAT, buscando por la descripción o la clave de producto.
Ejemplo de URL:
https://api.alfratax.com/api/v2/catalogs/product-key?value=Software
https://api.alfratax.com/api/v2/catalogs/product-key?value=43231500
| value required | any Example: value=Software Valor de la clave de producto. |
{- "data": [
- {
- "value": "42203605",
- "name": "Software de sistema de archivo de película de rayos x para usos médicos"
}, - {
- "value": "43231500",
- "name": "Software funcional específico de la empresa"
}
], - "message": [ ],
- "success": true
}{- "data": [
- {
- "code": "612",
- "name": "Personas Físicas con Actividades Empresariales y Profesionales"
}, - {
- "code": "626",
- "name": "Régimen Simplificado de Confianza"
}
], - "message": [ ],
- "success": true
}Endpoints para la gestión de solicitudes de cancelación de CFDI's que tus clientes han realizado para las facturas que les emitiste