📘 2025 Report:Mexico Economic Review 2025 — outlook, charts, and sector signalsRead

    Integración con la API del SAT en México

    Conecte datos fiscales del SAT a su producto vía CIEC: endpoints clave, respuestas JSON, monitoreo continuo y FAQ técnico — todo en un solo hub.

    Recursos para desarrolladores

    Seis recursos, seis propósitos. Elija el que coincida con dónde está en su integración.

    Acceso listo para IA (MCP) — acceso anticipado

    Más allá de REST, los datos de CRiskCo podrán consultarse desde asistentes y agentes de IA mediante el Model Context Protocol.

    Conocer la Integración MCP →

    Qué expone la API del SAT

    El SAT (Servicio de Administración Tributaria de México) ofrece servicios SOAP autenticados para acceder a datos fiscales del contribuyente. Estos incluyen CFDI emitidos y recibidos, opinión de cumplimiento 32-D, constancia de situación fiscal, regímenes y obligaciones fiscales, lista 69-B (EFOS/EDOS) y validación de RFC. La integración directa requiere manejo de credenciales, parsing de XML/SOAP, gestión de tokens de sesión y manejo de las ventanas de mantenimiento del SAT.

    CRiskCo abstrae toda esta complejidad detrás de una API REST/JSON moderna con autenticación apiId/apiKey, webhooks, retries automáticos y monitoreo continuo. Es la forma estándar utilizada por bancos, SOFOMs, fintechs y firmas contables en México para conectar datos del SAT a sus sistemas.

    Métodos de autorización del SAT: CIEC y e.firma

    El SAT permite dos formas de autorizar el acceso a datos fiscales. Aquí explicamos ambas y cuál utiliza CRiskCo hoy.

    CRiskCo opera el onboarding al SAT con CIEC

    Hoy aceptamos únicamente la contraseña CIEC del contribuyente. No requerimos ni almacenamos archivos .cer/.key de e.firma. La CIEC es suficiente para todos los servicios que ofrecemos: extracción de CFDI, validación de RFC, opinión de cumplimiento 32-D, constancia fiscal, FinScore y monitoreo continuo.

    Atributo CIEC e.firma
    Qué es Contraseña SAT alfanumérica (8 caracteres) Certificado digital (.cer + .key + contraseña)
    Vigencia Indefinida (hasta que el contribuyente la cambie) 4 años, renovable
    Permite firmar documentos No Sí (firma electrónica avanzada)
    Lectura de datos fiscales Sí (CFDI, RFC, regímenes, opinión 32-D, constancia) Sí (mismos datos)
    Soportado por CRiskCo hoy No

    Flujo de onboarding (CIEC)

    1. 1Recolectar RFC, contraseña CIEC, email y aceptación de términos del contribuyente.
    2. 2Llamar POST /OnboardingSatIntegration con el payload {IsAgreeTerms, DateAgreeTerms, VersionAgreeTerms, Email, User, Password, RefApplicantId}.
    3. 3Hacer polling cada 5–10 segundos a GET /get-applicants?taxId=RFC&onboardingStatus=true hasta status='Available'.
    4. 4Llamar los endpoints de datos: /applicantinfo, /GetCompanyTaxStatus, /GetCompanyFiscalDetails, /GetHistoricalFinscore.
    5. 5Registrar webhook con POST /Subscriptions para recibir actualizaciones automáticas.

    Snippets ejecutables en Ejemplos de Código.

    Endpoints clave con respuestas JSON

    Base URL: https://service.criskco.com/apiservice.svc. Headers obligatorios en cada llamada: apiId, apiKey, Content-Type: application/json.

    OnboardingSatIntegration

    Onboarding del aplicante con su contraseña CIEC.

    Solicitud
    POST /apiservice.svc/OnboardingSatIntegration
    Headers: apiId, apiKey, Content-Type: application/json
    
    {
      "IsAgreeTerms": true,
      "DateAgreeTerms": "2026-04-16",
      "VersionAgreeTerms": "1",
      "Email": "contact@empresa.com",
      "User": "GAPXXXXXXXXX",
      "Password": "CIEC_PASSWORD",
      "RefApplicantId": "loan-app-00482"
    }
    Respuesta
    {
      "Success": true,
      "ErrorCode": 0,
      "Message": "Onboarding initiated"
    }
    // applicantId is NOT returned here — retrieve it by polling
    // GET /get-applicants?refApplicantId=loan-app-00482 afterwards.

    GET /get-applicants

    Lista aplicantes y su estado de onboarding (polling después de OnboardingSatIntegration).

    Solicitud
    GET /apiservice.svc/get-applicants?taxId=GAPXXXXXXXXX&onboardingStatus=true
    
    Query params: refApplicantId · taxId · onboardingStatus · fullResponse
    Respuesta
    {
      "responseDetails": "Data retrieved successfully",
      "success": true,
      "ApiApplicantData": {
        "applicantId": "1000143693",
        "taxId": "GAPXXXXXXXXX",
        "onboardingStatus": "Available"
      }
    }
    // Use fullResponse=true for the complete dataset (financials, blackLists).
    // See full schema at api-docs.criskco.com.

    GET /ValidateRFC

    Valida un RFC contra el SAT (existencia, estatus y coincidencia de nombre).

    Solicitud
    GET /apiservice.svc/ValidateRFC?rfc=GAPXXXXXXXXX&name=GAP&postal=06600
    Respuesta
    {
      "Success": true,
      "ValidParameters": [
        { "Property": "rfc", "Valid": true },
        { "Property": "name", "Valid": true },
        { "Property": "postal", "Valid": true }
      ],
      "message": "RFC valid and active"
    }

    POST /ValidateRFCBulk

    Validación masiva: hasta 5,000 RFCs en una sola llamada (texto plano, un RFC por línea).

    Solicitud
    POST /apiservice.svc/ValidateRFCBulk
    Headers: apiId, apiKey
    Content-Type: multipart/form-data
    
    file=@rfcs.txt   // one RFC per line, or RFC|Name|Postal pipe-separated
    Respuesta
    // Returns plain-text results, one line per RFC.
    // See API Docs for the exact format and runnable snippets in Code Samples.

    GET /GetCompanyTaxStatus

    Opinión de Cumplimiento (32-D). Devuelve PayingTax (POSITIVO/NEGATIVO) y obligaciones pendientes.

    Solicitud
    GET /apiservice.svc/GetCompanyTaxStatus?taxId=GAPXXXXXXXXX
    Respuesta
    {
      "CompanyTaxStatus": [
        {
          "taxId": "GAPXXXXXXXXX",
          "PayingTax": "NEGATIVO",
          "RetrievedAt": "2026-04-15T08:30:00Z",
          "CompanyObligationsList": [
            { "Obligation": "ISR Mensual", "Month": 2, "Year": 2026 },
            { "Obligation": "IVA Mensual", "Month": 2, "Year": 2026 }
          ]
        }
      ]
    }

    GET /GetCompanyFiscalDetails

    Constancia de Situación Fiscal: razón social, regímenes, obligaciones y domicilio fiscal.

    Solicitud
    GET /apiservice.svc/GetCompanyFiscalDetails?taxId=GAPXXXXXXXXX
    Respuesta
    // Shape varies. See full reference at api-docs.criskco.com.
    // Includes: legalName, regimes[], obligations[], fiscalAddress, registrationDate.

    GET /GetHistoricalFinscore

    Histórico mensual del FinScore (modelo de crédito propietario de CRiskCo).

    Solicitud
    GET /apiservice.svc/GetHistoricalFinscore?taxId=GAPXXXXXXXXX
    Respuesta
    // Returns a HistoricalFinscores array with monthly entries
    // (Year, Month, FinScore). See full schema at api-docs.criskco.com.

    GET /financialStatement

    Estado financiero consolidado desde las declaraciones anuales presentadas ante el SAT.

    Solicitud
    GET /apiservice.svc/financialStatement?taxId=GAPXXXXXXXXX
    Respuesta
    // Annual income, expenses, assets and liabilities as filed with SAT.
    // Use as a third-party cross-check against ERP-sourced financial reports.

    POST /Subscriptions

    Registra un webhook para recibir actualizaciones del aplicante (FileType: JSON o JSON_LINK).

    Solicitud
    POST /apiservice.svc/Subscriptions
    Headers: apiId, apiKey, Content-Type: application/json
    { "CallbackUrl": "https://yourdomain.com/webhooks/criskco" }
    
    // CRiskCo issues a GET to CallbackUrl for validation —
    // your server must reply HTTP 200 within 2 seconds.
    Respuesta
    {
      "success": true,
      "responseDetails": "Subscription 1 created successfully",
      "ApiSubscriptionData": [
        {
          "Active": true,
          "CallbackUrl": "https://yourdomain.com/webhooks/criskco",
          "ReferrerId": "your_referrer_id",
          "SubscriptionId": 1
        }
      ]
    }

    Catálogo completo de endpoints en la Guía de Integración API y referencia detallada en api-docs.criskco.com.

    Preguntas frecuentes

    Respuestas técnicas a las preguntas más comunes sobre la integración con la API del SAT.

    Listo para integrar la API del SAT

    Obtenga credenciales sandbox gratuitas y empiece a probar en minutos. Sin tarjeta de crédito.

    Explorar Más