Skip to content

Obtén PDF de constancia fiscal y opinión de cumplimiento del SAT en México mediante una API con Docker

Notifications You must be signed in to change notification settings

YaFacture/sat-rpa-api

Repository files navigation

YaFacture

📱 SAT RPA API - Yafacture

sat-rpa-api es una proyecto RPA hecho con puppeteer para obtener diversos documentos PDF del SAT para México, siendo muy fácil de utilizar gracias a Docker y ser REST API

✨ Características

  • 1️⃣ Constancia de situación fiscal (PDF)
  • 2️⃣ Opinión de cumplimiento (PDF + información extraída del documento)

🐳 Docker

https://hub.docker.com/r/blakegt/yafacture-sat-rpa-api

docker run --restart unless-stopped -dp 8004:8004 --name yafacture-sat-rpa-api blakegt/yafacture-sat-rpa-api:latest

👨🏻‍💻 Modo desarrollador

Clonar el repositorio

git clone https://github.com/Yafacture/sat-rpa-api.git

Instala las dependencias:

cd sat-rpa
npm install or pnpm i

Inicia el servidor (nodemon):

npm run dev or pnpm dev

🛠️ API Endpoints

  • POST /constancia-situacion-fiscal

    Obtén la constancia de situación fiscal de un emisor


    Request Body: application/json

    curl -X POST http://localhost:8004/constancia-situacion-fiscal \ -H "Content-Type: application/json" -d {...body}


    Ejemplo de payload:

    • Mediante contraseña:
    {
        "rfc": "XAXX010101000",
        "password": "yafacture",
    }
    • Mediante e.firma (FIEL):
    {
        "password": "yafacture",
        "base64Cer": "data:application/x-x509-ca-cert;base64,MIIGRjCCB...",
        "base64Key": "data:application/x-iwork-keynote-sffkey;base64,MIIGRjCCB..."
    }

    Ejemplo de respuesta tiempo apróximado de respuesta 20 segundos:

    {
        "status": true,
        "message": "PDF de opinión de cumplimiento generado",
        "pdf": "data:application/pdf;base64,JVBERi0xLj..."
    }

  • POST /opinion-cumplimiento

    Obtén la opinión de cumplimiento y la información contenida


    Request Body: application/json

    curl -X POST http://localhost:8004/opinion-cumplimiento \ -H "Content-Type: application/json" -d {...body}


    Ejemplo de payload:

    • Mediante contraseña:

      {
        "rfc": "XAXX010101000",
        "password": "yafacture",
      }
    • Mediante e.firma (FIEL):

      {
        "password": "yafacture",
        "base64Cer": "data:application/x-x509-ca-cert;base64,MIIGRjCCB...",
        "base64Key": "data:application/x-iwork-keynote-sffkey;base64,MIIGRjCCB..."
      }

    Ejemplo de respuesta tiempo apróximado de respuesta 20 segundos:

    {
        "status": true,
        "message": "PDF de opinión de cumplimiento generado",
        "info": {
            "rfc": "XAXX010101000",
            "nombreFiscal": "PUBLICO EN GENERAL",
            "estado": "NEGATIVO",
            "pendientes": [
                {
                    "obligacion": "Declaración anual de ISR. Personas Físicas.",
                    "periodos": [
                        {
                            "mes": "anual",
                            "anio": "2021"
                        }
                    ]
                },
                {
                    "obligacion": "Pago provisional mensual de ISR por servicios profesionales. Régimen de Actividades Empresariales y Profesionales",
                    "periodos": [
                        {
                            "mes": "enero",
                            "anio": "2020"
                        },
                        {
                            "mes": "febrero",
                            "anio": "2020"
                        }
                    ]
                }
            ],
            "totalPendientes": 1
        },
        "pdf": "data:application/pdf;base64,JVBERi0xLj..."
    }

🤝 Contribuciones

¡Siéntete libre de contribuir creando problemas o enviando solicitudes de extracción! ¡Todas las contribuciones son bienvenidas!

🤝 Descargo de responsabilidad

Nunca guardamos información sensible en el proyecto y no está afiliado, asociado, autorizado, respaldado ni de ninguna manera conectado oficialmente con el SAT o cualquiera de sus subsidiarias o afiliados. El sitio web oficial del SAT se puede encontrar en sat.gob.mx. "SAT", así como los nombres, marcas, emblemas e imágenes relacionados, son marcas registradas de sus respectivos propietarios. Además, no se garantiza que no seas bloqueado al utilizar este método. SAT no permite bots ni clientes no oficiales en su plataforma, por lo que esto no debe considerarse totalmente seguro.

📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT.

🧑🏻‍🤝‍🧑🏻 Contribución

  • Rafael Soto • Por la creación de un modelo para reconocimiento de captcha
  • @eclipxe13 • Por inspirar a compartir y tener un gran proyecto llamado phpcfdi.

👨🏻‍💻 Autor

Cristian Yosafat Hernández Ruiz - BlakePro Yafacture

About

Obtén PDF de constancia fiscal y opinión de cumplimiento del SAT en México mediante una API con Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published