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
- 1️⃣ Constancia de situación fiscal (PDF)
- 2️⃣ Opinión de cumplimiento (PDF + información extraída del documento)
docker run --restart unless-stopped -dp 8004:8004 --name yafacture-sat-rpa-api blakegt/yafacture-sat-rpa-api:latest
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
-
POST
/constancia-situacion-fiscalObté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-cumplimientoObté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..." }
-
¡Siéntete libre de contribuir creando problemas o enviando solicitudes de extracción! ¡Todas las contribuciones son bienvenidas!
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.
Este proyecto está licenciado bajo la Licencia MIT.
- 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.