Desarrolladores

API REST - NTLink

01 de abril de 2026

Introducción

En esta sección se describen los servicios REST disponibles en la API de NTLink, diseñados para permitir la generación, timbrado, cancelación y consulta de CFDI de forma automatizada, segura y escalable.

Esta documentación está dirigida a desarrolladores, integradores y equipos técnicos que requieren incorporar funcionalidades de facturación electrónica directamente en sus aplicaciones mediante consumo de endpoints RESTful.

Consulta nuestro catálogo Swagger con la documentación completa aquí 📚


En el contexto de una API REST, un método representa una operación expuesta a través de un endpoint, accesible mediante protocolos HTTP estándar (POST, GET,etc.). Cada método permite a sistemas externos interactuar con los servicios de NTLink para ejecutar procesos específicos de facturación electrónica.

Consulta nuestra pagina Swagger con el catalogo de Servicios REST detallado Aquí

timbraSinSello

Método que permite realizar el timbrado de un cfdi regresando únicamente el timbre, para este método es necesario sellar previamente el cfdi.

🔒 Para el uso de este método, el JSON NO debe ir sellado previamante con los datos del emisor

🔐 Autenticación

  • Basic Authentication
  • Credenciales correspondientes a una cuenta activa de NTLink

🧩 Parámetros del método

CampoDescripciónRequerido
userNameCuenta de correo registrada como usuario en NTLink✅
passwordContraseña asociada a la cuenta✅
comprobanteInformación fiscal del CFDI en formato JSON(sin sello)✅

🛠️ Ejemplo de Request

{
 "version": "4.0",
 "serie": "NTL",
 "folio": "123456",
 "fecha": "2026-02-04T00:00:00",
 "formaPago": "03",
 "moneda": "MXN",
 "subtotal": 200.00,
 "descuento": 0.00,
 "total": 232.00,
 "tipoDeComprobante": "I",
 "exportacion": "01",
 "metodoPago": "PUE",
 "lugarExpedicion": "45610",
 "emisor": {
   "rfc": "URE180429TM6",
   "nombre": "UNIVERSIDAD ROBOTICA ESPAÑOLA SA DE CV",
   "regimenFiscal": "601"
 },
 "receptor": {
   "rfc": "EKU9003173C9",
   "nombre": "ESCUELA KEMPER URGATE SA DE CV",
   "domicilioFiscalReceptor": "86991",
   "regimenFiscalReceptor": "601",
   "usoCfdi": "G01"
 },
 "conceptos": [
   {
     "claveProdServ": "50211503",
     "cantidad": 1,
     "claveUnidad": "H87",
     "unidad": "Pieza",
     "descripcion": "PRUEBA",
     "valorUnitario": 200.00,
     "importe": 200.00,
     "descuento": 0.00,
     "objetoImp": "02",
     "impuestos": {
       "traslados": [
         {
           "base": 200.00,
           "impuesto": "002",
           "tipoFactor": "Tasa",
           "tasaOCuota": 0.160000,
           "importe": 32.00
         }
       ]
     }
   }
 ],
 "impuestos": {
   "totalImpuestosTrasladados": 32.00,
   "traslados": [
     {
       "base": 200.00,
       "impuesto": "002",
       "tipoFactor": "Tasa",
       "tasaOCuota": 0.160000,
       "importe": 32.00
     }
   ]
 }
}

🛠️ Ejemplo de Response

{
    "version": "4.0",
    "serie": "NTL",
    "folio": "123456",
    "fecha": "2026-02-04T00:00:00",
    "sello": "RZBrQ3aP8bNJPxVKs27Lw4s9JFqsHZlNTALFfTSJB/FFRzX/uo9H728rEWqdhptUizuwIgDlpYtydi5GplXD8ckIWVzqXcA8Id/5r87NcfJ/ZuDytqfgukoQZ5y6IhGoQXT5txogKkBKJnXDhEh+LnQ1cVg1zhlTn16xFmIQDbuBfD7WhjPyaKvQZfI+22LBK9sxGttEodFdubIQ9ELJ7LHOot0H7ZZKFlx+9hi9K4HjZhzbSAByHv2b7Y87YEmZUo2b63EZXr/V/+8NijkYavUiXYs16Qs+KtL6lDWtxWze9SaHW6p8ay/dxGCQyc0wzbnHe3bAjj9OSoazI3mdew==",
    "formaPago": "03",
    "metodoPago": "PUE",
    "noCertificado": "30001000000500003441",
    "certificado": "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDEwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI1NzQzWhcNMjcwNTE4MTI1NzQzWjCB7zEvMC0GA1UEAxQmVU5JVkVSU0lEQUQgUk9CT1RJQ0EgRVNQQdFPTEEgU0EgREUgQ1YxLzAtBgNVBCkUJlVOSVZFUlNJREFEIFJPQk9USUNBIEVTUEHRT0xBIFNBIERFIENWMS8wLQYDVQQKFCZVTklWRVJTSURBRCBST0JPVElDQSBFU1BB0U9MQSBTQSBERSBDVjElMCMGA1UELRMcVVJFMTgwNDI5VE02IC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjQ7j8ydOmwFYkO0BDw8vZ0yp67AuVN3+jvj7zoOPZLNfaNtEIqtF6DF33LO64aVoPY5d/Qv5gUbJwZwx6lOEuhRyIDx6wGd5fiUhZHFrJ+/mYvZN5GzkJ7q/Qx0WcLpqZuadsgb1DXVN+5OhmVNkSGIz5mywR2fEZfwAh0xOyhFi/oDuMrA9lVSzsYr9yt4ZJ/3UHu8RG7mulru+x0OOm5zQ/ADAUDELZZ84Vk3gUt02f+8mA0YmaBLC6WdTLZcH2vqQoaAwowuG+w68aE8mUvw57PZM+OqhA/KCax4/x6hESUkqUpl8jHnC76nqUgRheByQuG1DSYI494HtoG2nZQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAZ1sl1ByaxikPo61zpBiZjp5sGYZCE3zFNNcwODsbDndl2Z1ySyDip1byAPWEQQYMrDcD/4HXkgHSPVFr3AGlsedBCwJFbIsmIVTOj9BRs5AmZ3cdlclhDZaNf7ImKV0TyUS5MDXc5yzACBKkc2shwhrKP6OXuDzM3I8ltIFhbibzVfDETL47j3j5qjFTbjAs5I6TWMYZMX17QzJf7gprczteZPBfmXrfsQOywasyrgnossacTydg8aV+1PCqaNdJeJHrpsroOe51dEkkOBvEEQGrNlJxAFUxZGepEctwBn/2heIo83EC7vy5V5rbpaYTNqzxYj9kt6ZhMblshJHdYuvVwM5Sq21KtQVxgeC8Km34nA0JIAxuPLWZU4ae1qncMeeZX+n+WKdrUY9BaAmcpZR5zA5H6pudh6TS6dtIPg/OXWtFVSOaNpowiaHgkdiB7i1Jqy6tmM1uNjhdt0uz9z4Tck9i0x+LhfuEnom3iAZMKq9/gZTq78gnd/Iowp09L119hNblUaI0ft4pnOsQQnQcNTOSFDxidTbdUzTgdofnbULZ4mjs5bUcTe2yUdXR304tbsaIj5irgzq7eTmPyAxaf04gCwAXTRACXySDiAGydwALVsYh59KQ8AITMLjSwfgkfP9jvNC9iqT5DcfiksxzMQ8/rE49AUlmxtNO9Wk=",
    "subtotal": 200.00,
    "descuento": 0.00,
    "total": 232.00,
    "moneda": "MXN",
    "tipoDeComprobante": "I",
    "exportacion": "01",
    "lugarExpedicion": "45610",
    "emisor": {
        "rfc": "URE180429TM6",
        "nombre": "UNIVERSIDAD ROBOTICA ESPAÑOLA SA DE CV",
        "regimenFiscal": "601"
    },
    "receptor": {
        "rfc": "EKU9003173C9",
        "nombre": "ESCUELA KEMPER URGATE SA DE CV",
        "domicilioFiscalReceptor": "86991",
        "regimenFiscalReceptor": "601",
        "usoCfdi": "G01"
    },
    "conceptos": [
        {
            "claveProdServ": "50211503",
            "cantidad": 1,
            "claveUnidad": "H87",
            "unidad": "Pieza",
            "descripcion": "PRUEBA",
            "valorUnitario": 200.00,
            "importe": 200.00,
            "descuento": 0.00,
            "objetoImp": "02",
            "impuestos": {
                "traslados": [
                    {
                        "base": 200.000000,
                        "impuesto": "002",
                        "tipoFactor": "Tasa",
                        "tasaOCuota": 0.160000,
                        "importe": 32.000000
                    }
                ]
            }
        }
    ],
    "impuestos": {
        "traslados": [
            {
                "base": 200.00,
                "impuesto": "002",
                "tipoFactor": "Tasa",
                "tasaOCuota": 0.160000,
                "importe": 32.00
            }
        ],
        "totalImpuestosTrasladados": 32.00
    },
    "complemento": {
        "timbreFiscalDigital": {
            "version": "1.1",
            "uuid": "CF6663C7-73CB-40DD-BA65-26DB87D7598A",
            "fechaTimbrado": "2026-02-04T11:26:09",
            "selloCFD": "RZBrQ3aP8bNJPxVKs27Lw4s9JFqsHZlNTALFfTSJB/FFRzX/uo9H728rEWqdhptUizuwIgDlpYtydi5GplXD8ckIWVzqXcA8Id/5r87NcfJ/ZuDytqfgukoQZ5y6IhGoQXT5txogKkBKJnXDhEh+LnQ1cVg1zhlTn16xFmIQDbuBfD7WhjPyaKvQZfI+22LBK9sxGttEodFdubIQ9ELJ7LHOot0H7ZZKFlx+9hi9K4HjZhzbSAByHv2b7Y87YEmZUo2b63EZXr/V/+8NijkYavUiXYs16Qs+KtL6lDWtxWze9SaHW6p8ay/dxGCQyc0wzbnHe3bAjj9OSoazI3mdew==",
            "rfcProvCertif": "SPR190613I52",
            "selloSAT": "sAGjqq0DS6PUN/ii0A7GzfGysBWU6HpzrXy/SwJBF70rb9xoMAl7Gueu9ysMf3oR1K8AvYql5SFb9k32I5iqjJv9DBedLsV/HfEvA9GXH864wbxbxnEEDkmxORjfKMxD+Eh1joI+43/8+mixhzCXmbCIG0SjkbqRE0StYLuuIA0vrykkpPwlifpKkMUG+A34R+xf++fo6ni0asKSQ64+HAAP1h4Pg+5iuLpf9FOqtmKIZodqhXxKsV2nGhSYhwPVTdNbxGX4l+oWTEsn4ynBv9PxOHAyPawlVgEAt9e8j0BB+Tba7L83RafdwJrlCNvcN4tmsFMBlz9fEuyrTSpBkQ==",
            "noCertificadoSAT": "30001000000400002495"
        }
    }
}

🔕 Catálogo de errores

Código / MensajeDescripción
UnauthorizedCredenciales inválidas o no enviadas
Usuario o contraseña incorrectaLa combinación de acceso no es válida
Error al sellarEl certificado o los datos fiscales no corresponden al RFC del emisor
XML / JSON mal formadoLa estructura del comprobante no cumple con el Anexo 20
Error de validación SATIncumplimiento de reglas fiscales vigentes

Consulta Listas Negras

Servicio REST que permite validar si un RFC se encuentra listado en los padrones oficiales publicados por el SAT, con el objetivo de mitigar riesgos fiscales y operativos antes de emitir o recibir un CFDI.

El método consulta:

  • Artículo 69-B del CFF (listas negras del SAT)

El resultado permite identificar si un RFC está activo, suspendido, cancelado o listado, facilitando decisiones de negocio y controles de cumplimiento.

📌 Endpoint

http://dev-cfdi4.ntlink.com.mx/api/v1/clients/listaNegras

🔐 Autenticación

  • Basic Authentication
  • Credenciales correspondientes a una cuenta activa de NTLink

🧩 Parámetros del método

ParámetroDescripciónTipoRequerido
rfcRFC a validar contra listas oficialesString✅

🛠️ Ejemplo de Request

GET http://dev-cfdi4.ntlink.com.mx/api/v1/clients/listaNegras?rfc=ACL130731KI0
content-type: application/json
Authorization: Basic VVJFMTgwNDI5VE02QG50bGluay5jb20ubXg6TlRQcnVlYmFzLjIwMjEqPw==

🛠️ Ejemplo de Response

{
    "enListaNegra": true,
    "situacion": "Desvirtuado"
}

📊 Posibles estatus devueltos

EstatusDescripción
EnlistaRFC aparece en la lista 69B
SituacionMuestra el estatus del RFC puede ser Desvirtuado, Definitivo,Sentencia Favorable o Presunto

CancelaCFDI

Servicio REST que permite realizar la cancelación de un CFDI conforme a las disposiciones vigentes del SAT, considerando los motivos de cancelación y, cuando aplique, la relación con un folio sustituto.

Este método gestiona el envío de la solicitud de cancelación, así como el seguimiento del estatus ante el SAT, de acuerdo con el flujo fiscal correspondiente.

📌 Endpoint POST /api/v1/cfdis/cancelaCfdi

🔐 Autenticación

Basic Authentication

Credenciales correspondientes a una cuenta activa de NTLink

🧩 Parámetros del método

CampoDescripciónTipoRequerido
uuidUUID del CFDI a cancelarString✅
rfcEmisorRFC del emisor del CFDIString✅
rfcReceptorRFC del receptor del CFDIString✅
motivoClave del motivo de cancelación (catálogo SAT)String✅
folioSustitutoUUID del CFDI que sustituye al canceladoString⚠️ Condicional

Nota: folioSustituto es obligatorio cuando el motivo de cancelación es 01

🛠️ Ejemplo de Request

{
    "uuid": "26C069D2-0956-4268-851B-162D059D6BF4",
    "rfcEmisor": "URE180429TM6",
    "rfcReceptor": "RASE8810158B9",
    "motivo": "01",
    "folioSustituto": "A6FC7617-A86F-498A-94C8-55F0C52F91B3"
}

Consulta estatus cfdi

Servicio REST que permite consultar el estatus fiscal de un CFDI directamente ante el SAT, validando su existencia, vigencia o cancelación a partir de los datos fiscales originales del comprobante.

📌 Endpoint

GET /api/v1/cfdis/consultaEstatusCfdi

🔐 Autenticación

  • Basic Authentication Credenciales correspondientes a una cuenta activa de NTLink

🧩 Parámetros del método

ParámetroDescripciónTipoRequerido
uuidUUID del CFDI a consultarString✅
RFCemisorRFC del emisor del CFDIString✅
RFCreceptorRFC del receptor del CFDIString✅
totalImporte total del CFDIDecimal✅
cfdÚltimos 8 digitos del atributo SellCFDString✅

🛠️ Ejemplo de Request

GET https://cfdi4.ntlink.com.mx/api/v1/cfdis/consultaEstatusCfdi?uuid=A6007617-A86F-498A-0000-55F0C52F91B3&emisor=RC000403504&receptor=CAR021028030&total=5554.08&cfd=T39lTg==

🛠️ Ejemplo de Response

{
  "status": "Cancelado|Cancelable con aceptación|Plazo vencido",
  "uuid": "A6007617-A86F-498A-0000-55F0C52F91B3",
  "rfcEmisor": "RC000403504",
  "rfcReceptor": "CAR021028030"
}

📊 Posibles estatus devueltos

EstatusDescripción
VIGENTEEl CFDI existe y no ha sido cancelado
CANCELADOEl CFDI fue cancelado correctamente
EN_PROCESOCancelación en proceso
NO_ENCONTRADOEl CFDI no existe ante el SAT

🔕 Catálogo de errores

Código / MensajeDescripción
UnauthorizedCredenciales inválidas o no enviadas
Datos inconsistentesLos parámetros no coinciden con el CFDI
CFDI no encontradoEl UUID no existe ante el SAT
Error de consulta SATNo fue posible consultar el estatus
Error internoError inesperado del servicio

ObtenerDatosCliente

Servicio REST que permite consultar la información fiscal de un cliente tal como se encuentra registrada y vinculada al usuario autenticado dentro de la plataforma NTLink.

📌 Endpoint

GET /api/v1/clients/obtenerDatosCliente

🔐 Autenticación

Basic Authentication

Credenciales correspondientes a una cuenta activa de NTLink

El RFC consultado corresponde al usuario autenticado que realiza la petición

🛠️ Ejemplo de Request

GET http://dev-cfdi4.ntlink.com.mx/api/v1/clients/obtenerDatosCliente

🛠️ Ejemplo de Response

{
  "ciudad": "001",
  "colonia": "",
  "cp": "08000",
  "direccion": "XICOTENCATL",
  "email": "URE180429TM6@ntlink.com.mx",
  "estado": "AGU",
  "razonSocial": "UNIVERISDAD ROBOTICA ESPAÑOLA SA DE CV",
  "regimenFiscal": "Régimen General de Ley Personas Morales",
  "rfc": "URE180429TM6",
  "telefono": "32323232323",
  "timbresConsumidos": 153
}

ObtenerDatosEmpresa

Permite consultar las empresas registradas y asociadas al correo electrónico del usuario autenticado dentro del servicio NTLink.

📌 Endpoint GET /api/v1/clients/obtenerEmpresas

🔐 Autenticación

Basic Authentication

Credenciales correspondientes a una cuenta activa de NTLink La consulta se realiza con base en el usuario desde el cual se envía la petición.

🛠️ Ejemplo de Request

GET http://dev-cfdi4.ntlink.com.mx/api/v1/clients/obtenerEmpresas

🛠️ Ejemplo de Response

[
  {
    "ciudad": "",
    "colonia": "",
    "contacto": "",
    "cp": "04100",
    "curp": "",
    "direccion": "",
    "email": "EKU9003173C9@ntlink.com.mx",
    "estado": "",
    "razonSocial": "ESCUELA KEMPERURGATE SA DE CV",
    "regimenFiscal": "601",
    "rfc": "EKU9003173C9",
    "telefono": ""
  },
  {
    "ciudad": "001",
    "colonia": "",
    "contacto": "",
    "cp": "08000",
    "curp": "",
    "direccion": "CALLE",
    "email": "URE180429TM6@ntlink.com.mx",
    "estado": "AGU",
    "razonSocial": "UNIVERSIDAD ROBOTICA ESPAÑOLA SA DE CV",
    "regimenFiscal": "601",
    "rfc": "URE180429TM6",
    "telefono": ""
  }
]

Consulta XML, PDF, JSON

Permiten recuperar y descargar los archivos generados a partir de un CFDI timbrado en los servicios de NTLink:

  • XML timbrado (comprobante fiscal oficial conforme al SAT)
  • PDF (representación impresa para distribución y operación administrativa)
  • JSON CFDI timbrado en formato JSON

🔐 Autenticación

Basic Authentication

Credenciales correspondientes a una cuenta activa de NTLink

📄 Descargar XML timbrado

📌 Endpoint

GET /api/v1/cfdis/{uuid}/xml

🧩 Parámetros

ParámetroDescripciónTipoRequerido
uuidUUID del CFDI a descargarString✅

🛠️ Ejemplo de Request

GET /api/v1/cfdis/4BA9D7E2-C055-4683-93D5-1648C0BA4CDD/xml

🛠️ Ejemplo de Response

<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante Version="4.0" Folio="20250707" Fecha="2026-02-03T21:03:26" FormaPago="99" SubTotal="44.00" Moneda="MXN" TipoCambio="1.00" Total="51.04" TipoDeComprobante="I" Exportacion="01" MetodoPago="PPD" LugarExpedicion="06370" xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd" 
  xmlns:cfdi="http://www.sat.gob.mx/cfd/4" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Certificado="MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDEwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI1NzQzWhcNMjcwNTE4MTI1NzQzWjCB7zEvMC0GA1UEAxQmVU5JVkVSU0lEQUQgUk9CT1RJQ0EgRVNQQdFPTEEgU0EgREUgQ1YxLzAtBgNVBCkUJlVOSVZFUlNJREFEIFJPQk9USUNBIEVTUEHRT0xBIFNBIERFIENWMS8wLQYDVQQKFCZVTklWRVJTSURBRCBST0JPVElDQSBFU1BB0U9MQSBTQSBERSBDVjElMCMGA1UELRMcVVJFMTgwNDI5VE02IC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjQ7j8ydOmwFYkO0BDw8vZ0yp67AuVN3+jvj7zoOPZLNfaNtEIqtF6DF33LO64aVoPY5d/Qv5gUbJwZwx6lOEuhRyIDx6wGd5fiUhZHFrJ+/mYvZN5GzkJ7q/Qx0WcLpqZuadsgb1DXVN+5OhmVNkSGIz5mywR2fEZfwAh0xOyhFi/oDuMrA9lVSzsYr9yt4ZJ/3UHu8RG7mulru+x0OOm5zQ/ADAUDELZZ84Vk3gUt02f+8mA0YmaBLC6WdTLZcH2vqQoaAwowuG+w68aE8mUvw57PZM+OqhA/KCax4/x6hESUkqUpl8jHnC76nqUgRheByQuG1DSYI494HtoG2nZQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAZ1sl1ByaxikPo61zpBiZjp5sGYZCE3zFNNcwODsbDndl2Z1ySyDip1byAPWEQQYMrDcD/4HXkgHSPVFr3AGlsedBCwJFbIsmIVTOj9BRs5AmZ3cdlclhDZaNf7ImKV0TyUS5MDXc5yzACBKkc2shwhrKP6OXuDzM3I8ltIFhbibzVfDETL47j3j5qjFTbjAs5I6TWMYZMX17QzJf7gprczteZPBfmXrfsQOywasyrgnossacTydg8aV+1PCqaNdJeJHrpsroOe51dEkkOBvEEQGrNlJxAFUxZGepEctwBn/2heIo83EC7vy5V5rbpaYTNqzxYj9kt6ZhMblshJHdYuvVwM5Sq21KtQVxgeC8Km34nA0JIAxuPLWZU4ae1qncMeeZX+n+WKdrUY9BaAmcpZR5zA5H6pudh6TS6dtIPg/OXWtFVSOaNpowiaHgkdiB7i1Jqy6tmM1uNjhdt0uz9z4Tck9i0x+LhfuEnom3iAZMKq9/gZTq78gnd/Iowp09L119hNblUaI0ft4pnOsQQnQcNTOSFDxidTbdUzTgdofnbULZ4mjs5bUcTe2yUdXR304tbsaIj5irgzq7eTmPyAxaf04gCwAXTRACXySDiAGydwALVsYh59KQ8AITMLjSwfgkfP9jvNC9iqT5DcfiksxzMQ8/rE49AUlmxtNO9Wk=" NoCertificado="30001000000500003441" Sello="LVkwRm74QgQ2hY85F8XBLMjNpsXVuNOUdNjoqs2y5hT5DHdQp6Usq678jKB8vVZCt8LuDi1Hk+30ULsHRL9euC0/GV7KSOANSO6UOEy6bUAbWc+Sq8mbIzGEIdtqsM3a4+FB4EhxRoYKmwb/z3sf2314mhwuNxrklUFMrQmiBOiswvkXe9c8Jq7H08ByXWfrxYbTkt/F9a5u3fccVAz4bb4XDKCCoSeCSR034qqnUnAxSIqHZpERhxd60Re6FdQrBDni8aAVBEtxsWKn4ZHHwMZUApQ35XA2nhf7ydg2syX4Gm2JqLC3Wa601IwGyPr7CAMYnZ+ERpEP8df9w35SOA==">
  <cfdi:Emisor Rfc="URE180429TM6" Nombre="UNIVERSIDAD ROBOTICA ESPAÑOLA SA DE CV" RegimenFiscal="601" />
  <cfdi:Receptor Rfc="RASE8810158B9" Nombre="EDGAR JOSEDUARDO RAMOS SILVEYRA" DomicilioFiscalReceptor="53640" RegimenFiscalReceptor="605" UsoCFDI="D07" />
  <cfdi:Conceptos>
    <cfdi:Concepto ClaveProdServ="43201601" Cantidad="1" ClaveUnidad="E48" Unidad="Unit description" Descripcion="Service description" ValorUnitario="44.00" Importe="44.00" ObjetoImp="02">
      <cfdi:Impuestos>
        <cfdi:Traslados>
          <cfdi:Traslado Base="44.000000" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="7.040000" />
        </cfdi:Traslados>
      </cfdi:Impuestos>
    </cfdi:Concepto>
  </cfdi:Conceptos>
  <cfdi:Impuestos TotalImpuestosRetenidos="0.00" TotalImpuestosTrasladados="7.04">
    <cfdi:Traslados>
      <cfdi:Traslado Base="44.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="7.04" />
    </cfdi:Traslados>
  </cfdi:Impuestos>
  <cfdi:Complemento>
    <tfd:TimbreFiscalDigital 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="4BA9D7E2-C055-4683-93D5-1648C0BA4CDD" FechaTimbrado="2026-02-04T12:41:16" RfcProvCertif="SPR190613I52" SelloCFD="LVkwRm74QgQ2hY85F8XBLMjNpsXVuNOUdNjoqs2y5hT5DHdQp6Usq678jKB8vVZCt8LuDi1Hk+30ULsHRL9euC0/GV7KSOANSO6UOEy6bUAbWc+Sq8mbIzGEIdtqsM3a4+FB4EhxRoYKmwb/z3sf2314mhwuNxrklUFMrQmiBOiswvkXe9c8Jq7H08ByXWfrxYbTkt/F9a5u3fccVAz4bb4XDKCCoSeCSR034qqnUnAxSIqHZpERhxd60Re6FdQrBDni8aAVBEtxsWKn4ZHHwMZUApQ35XA2nhf7ydg2syX4Gm2JqLC3Wa601IwGyPr7CAMYnZ+ERpEP8df9w35SOA==" NoCertificadoSAT="30001000000400002495" SelloSAT="LN/IlhV1PKX9YLQKj/juY/e/X+b/k7JLwNTA5IPBf5Y/+XwcvcgWyRIsak/4N7qS8UCxaxPUv4pTOrF+fuws7UoshBO5100/ECR1wRuJCujb9W2/Ogl2wj07Zo3YqEVZbKstpJzvUJ5rUy1yEqysggiTFlrdivlQuQv1kIbYg/P2kjPoqd9c1U7JSzItfBN7EuFSSjceklmdURD+OMo/Zhe0igTkbW99+vLPH8IoQ2Ap0o9ZWrWlvkan/V4u08upTQkmHGp6qtlPGpYRZiEBOEOpd/456jLn3iU/OAkW3pF49rqrEXa4qH7+EQoud0drd2ki6XQT3juwnR6oXb8mbQ==" 
      xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" />
    </cfdi:Complemento>
  </cfdi:Comprobante>

🧾 Descargar PDF

📌 Endpoint

GET /api/v1/cfdis/{uuid}/pdf

🧩 Parámetros

ParámetroDescripciónTipoRequerido
uuidUUID del CFDI a descargarString✅

🛠️ Ejemplo de Request

GET /api/v1/cfdis/4BA9D7E2-C055-4683-93D5-1648C0BA4CDD/pdf

🛠️ Ejemplo de Response

📄 Descargar JSON timbrado

📌 Endpoint

GET /api/v1/cfdis/{uuid}

🧩 Parámetros

ParámetroDescripciónTipoRequerido
uuidUUID del JSON a consultarString✅

🛠️ Ejemplo de Request

GET /api/v1/cfdis/4BA9D7E2-C055-4683-93D5-1648C0BA4CDD/

🛠️ Ejemplo de Response

{
  "version": "4.0",
  "folio": "20250707",
  "fecha": "2026-02-03T21:03:26",
  "sello": "LVkwRm74QgQ2hY85F8XBLMjNpsXVuNOUdNjoqs2y5hT5DHdQp6Usq678jKB8vVZCt8LuDi1Hk+30ULsHRL9euC0/GV7KSOANSO6UOEy6bUAbWc+Sq8mbIzGEIdtqsM3a4+FB4EhxRoYKmwb/z3sf2314mhwuNxrklUFMrQmiBOiswvkXe9c8Jq7H08ByXWfrxYbTkt/F9a5u3fccVAz4bb4XDKCCoSeCSR034qqnUnAxSIqHZpERhxd60Re6FdQrBDni8aAVBEtxsWKn4ZHHwMZUApQ35XA2nhf7ydg2syX4Gm2JqLC3Wa601IwGyPr7CAMYnZ+ERpEP8df9w35SOA==",
  "formaPago": "99",
  "metodoPago": "PPD",
  "noCertificado": "30001000000500003441",
  "certificado": "MIIFyDCCA7CgAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0NDEwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTI1NzQzWhcNMjcwNTE4MTI1NzQzWjCB7zEvMC0GA1UEAxQmVU5JVkVSU0lEQUQgUk9CT1RJQ0EgRVNQQdFPTEEgU0EgREUgQ1YxLzAtBgNVBCkUJlVOSVZFUlNJREFEIFJPQk9USUNBIEVTUEHRT0xBIFNBIERFIENWMS8wLQYDVQQKFCZVTklWRVJTSURBRCBST0JPVElDQSBFU1BB0U9MQSBTQSBERSBDVjElMCMGA1UELRMcVVJFMTgwNDI5VE02IC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjQ7j8ydOmwFYkO0BDw8vZ0yp67AuVN3+jvj7zoOPZLNfaNtEIqtF6DF33LO64aVoPY5d/Qv5gUbJwZwx6lOEuhRyIDx6wGd5fiUhZHFrJ+/mYvZN5GzkJ7q/Qx0WcLpqZuadsgb1DXVN+5OhmVNkSGIz5mywR2fEZfwAh0xOyhFi/oDuMrA9lVSzsYr9yt4ZJ/3UHu8RG7mulru+x0OOm5zQ/ADAUDELZZ84Vk3gUt02f+8mA0YmaBLC6WdTLZcH2vqQoaAwowuG+w68aE8mUvw57PZM+OqhA/KCax4/x6hESUkqUpl8jHnC76nqUgRheByQuG1DSYI494HtoG2nZQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAZ1sl1ByaxikPo61zpBiZjp5sGYZCE3zFNNcwODsbDndl2Z1ySyDip1byAPWEQQYMrDcD/4HXkgHSPVFr3AGlsedBCwJFbIsmIVTOj9BRs5AmZ3cdlclhDZaNf7ImKV0TyUS5MDXc5yzACBKkc2shwhrKP6OXuDzM3I8ltIFhbibzVfDETL47j3j5qjFTbjAs5I6TWMYZMX17QzJf7gprczteZPBfmXrfsQOywasyrgnossacTydg8aV+1PCqaNdJeJHrpsroOe51dEkkOBvEEQGrNlJxAFUxZGepEctwBn/2heIo83EC7vy5V5rbpaYTNqzxYj9kt6ZhMblshJHdYuvVwM5Sq21KtQVxgeC8Km34nA0JIAxuPLWZU4ae1qncMeeZX+n+WKdrUY9BaAmcpZR5zA5H6pudh6TS6dtIPg/OXWtFVSOaNpowiaHgkdiB7i1Jqy6tmM1uNjhdt0uz9z4Tck9i0x+LhfuEnom3iAZMKq9/gZTq78gnd/Iowp09L119hNblUaI0ft4pnOsQQnQcNTOSFDxidTbdUzTgdofnbULZ4mjs5bUcTe2yUdXR304tbsaIj5irgzq7eTmPyAxaf04gCwAXTRACXySDiAGydwALVsYh59KQ8AITMLjSwfgkfP9jvNC9iqT5DcfiksxzMQ8/rE49AUlmxtNO9Wk=",
  "subtotal": 44.00,
  "total": 51.04,
  "moneda": "MXN",
  "tipoCambio": 1.00,
  "tipoDeComprobante": "I",
  "exportacion": "01",
  "lugarExpedicion": "06370",
  "emisor": {
    "rfc": "URE180429TM6",
    "nombre": "UNIVERSIDAD ROBOTICA ESPAÑOLA SA DE CV",
    "regimenFiscal": "601"
  },
  "receptor": {
    "rfc": "RASE8810158B9",
    "nombre": "EDGAR JOSEDUARDO RAMOS SILVEYRA",
    "domicilioFiscalReceptor": "53640",
    "regimenFiscalReceptor": "605",
    "usoCfdi": "D07"
  },
  "conceptos": [
    {
      "claveProdServ": "43201601",
      "cantidad": 1,
      "claveUnidad": "E48",
      "unidad": "Unit description",
      "descripcion": "Service description",
      "valorUnitario": 44.00,
      "importe": 44.00,
      "objetoImp": "02",
      "impuestos": {
        "traslados": [
          {
            "base": 44.000000,
            "impuesto": "002",
            "tipoFactor": "Tasa",
            "tasaOCuota": 0.160000,
            "importe": 7.040000
          }
        ]
      }
    }
  ],
  "impuestos": {
    "traslados": [
      {
        "base": 44.00,
        "impuesto": "002",
        "tipoFactor": "Tasa",
        "tasaOCuota": 0.160000,
        "importe": 7.04
      }
    ],
    "totalImpuestosTrasladados": 7.04,
    "totalImpuestosRetenidos": 0.00
  },
  "complemento": {
    "timbreFiscalDigital": {
      "version": "1.1",
      "uuid": "4BA9D7E2-C055-4683-93D5-1648C0BA4CDD",
      "fechaTimbrado": "2026-02-04T12:41:16",
      "selloCFD": "LVkwRm74QgQ2hY85F8XBLMjNpsXVuNOUdNjoqs2y5hT5DHdQp6Usq678jKB8vVZCt8LuDi1Hk+30ULsHRL9euC0/GV7KSOANSO6UOEy6bUAbWc+Sq8mbIzGEIdtqsM3a4+FB4EhxRoYKmwb/z3sf2314mhwuNxrklUFMrQmiBOiswvkXe9c8Jq7H08ByXWfrxYbTkt/F9a5u3fccVAz4bb4XDKCCoSeCSR034qqnUnAxSIqHZpERhxd60Re6FdQrBDni8aAVBEtxsWKn4ZHHwMZUApQ35XA2nhf7ydg2syX4Gm2JqLC3Wa601IwGyPr7CAMYnZ+ERpEP8df9w35SOA==",
      "rfcProvCertif": "SPR190613I52",
      "selloSAT": "LN/IlhV1PKX9YLQKj/juY/e/X+b/k7JLwNTA5IPBf5Y/+XwcvcgWyRIsak/4N7qS8UCxaxPUv4pTOrF+fuws7UoshBO5100/ECR1wRuJCujb9W2/Ogl2wj07Zo3YqEVZbKstpJzvUJ5rUy1yEqysggiTFlrdivlQuQv1kIbYg/P2kjPoqd9c1U7JSzItfBN7EuFSSjceklmdURD+OMo/Zhe0igTkbW99+vLPH8IoQ2Ap0o9ZWrWlvkan/V4u08upTQkmHGp6qtlPGpYRZiEBOEOpd/456jLn3iU/OAkW3pF49rqrEXa4qH7+EQoud0drd2ki6XQT3juwnR6oXb8mbQ==",
      "noCertificadoSAT": "30001000000400002495"
    }
  }
}

ConsultaSaldo

Permite consultar el saldo disponible asociado a la cuenta del usuario autenticado dentro de la plataforma NTLink.

📌 Endpoint

GET /api/v1/clients/consultaSaldo

🔐 Autenticación

Basic Authentication Credenciales correspondientes a una cuenta activa de NTLink

🛠️ Ejemplo de Request

GET http://dev-cfdi4.ntlink.com.mx/api/v1/clients/consultaSaldo

🛠️ Ejemplo de Response

{
  "saldo": 999999846
}

🔕 Catálogo de errores

Código / MensajeDescripción
Nombre de usuario o contraseña incorrectaCredenciales inválidas o no enviadas

PDF Personalizado

Servicio adicional que permite personalizar el diseño del PDF generado para los CFDI timbrados, adaptándolo a la identidad corporativa y requerimientos operativos del cliente.

💼 Alcance del servicio

El Custom PDF puede incluir, según el diseño contratado:

  • Logotipo(s) y encabezados corporativos
  • Colores institucionales y tipografías
  • Reordenamiento de secciones (Emisor/Receptor/Conceptos/Impuestos)
  • Inclusión de leyendas comerciales (no fiscales)

📌 Nota: El XML fiscal no se modifica. La personalización impacta únicamente la representación impresa (PDF).

💲 Costo y condiciones Este servicio tiene costo extra.

El precio depende de:

  • Complejidad del diseño
  • Requerimientos adicionales (campos extra, lógica condicional, etc.)