Skip to content

Librería PHP para obtener la Constancia de Situación Fiscal mediante web scraping

License

Notifications You must be signed in to change notification settings

phpcfdi/csf-sat-scraper

phpcfdi/csf-sat-scraper

Source Code PHP Version Latest Version Software License Build Status Reliability Maintainability Code Coverage Violations Total Downloads

Scraper para descargar la Constancia de Situación Fiscal del SAT México.

🇺🇸 The documentation of this project is in Spanish, as this is the natural language for the intended audience.

Acerca de phpcfdi/csf-sat-scraper

Esta herramienta se conecta usando Guzzle como cliente HTTP a la página del SAT en México para descargar la Constancia de Situación Fiscal usando los datos de RFC y clave CIEC.

Requiere un resolvedor de Captcha, para lo que se puede utilizar alguno de los que ya se encuentran implementados en phpcfdi/image-captcha-resolver.

Instalación usando composer

composer require phpcfdi/csf-sat-scraper

Uso Básico

<?php

require 'vendor/autoload.php';

use PhpCfdi\CsfSatScraper\Scraper;
use PhpCfdi\CsfSatScraper\HttpClientFactory;
use PhpCfdi\ImageCaptchaResolver\Resolvers\ConsoleResolver;

$client = HttpClientFactory::create([
    'curl' => [
        CURLOPT_SSL_CIPHER_LIST => 'DEFAULT@SECLEVEL=1',
    ],
    RequestOptions::VERIFY => false,
]);

$captchaSolver = new ConsoleResolver();

$scraper = Scraper::create(
    $client,
    $captchaSolver,
    'TU_RFC',
    'TU_CONTRASEÑA'
);

$pdfContent = $scraper->download();
file_put_contents('constancia.pdf', (string) $pdfContent);

Importante: El método Scraper::download() devuelve un objeto de tipo Stringable, por lo que se recomienda siempre hacer la conversión de tipos explícita para obtener el contenido.

Información de servicios

AuthenticationService

Maneja todo el proceso de autenticación:

  • Inicialización de sesión.
  • Obtención del formulario.
  • Envío de credenciales.
  • Verificación de sesión.

CaptchaService

Resuelve el captcha del SAT:

  • Extracción de imagen del HTML.
  • Resolución con el resolvedor configurado.

SsoHandler

Gestiona el flujo SSO/SAML:

  • Procesamiento de formularios SAML.
  • Manejo de IFRAMES.
  • Redirecciones SSO.

DocumentService

Descarga el documento:

  • Envío de formulario final.
  • Descarga del PDF.

Soporte

Puedes obtener soporte abriendo un ticket en Github.

Adicionalmente, esta librería pertenece a la comunidad PhpCfdi, así que puedes usar los canales oficiales de comunicación para obtener ayuda de la comunidad.

Compatibilidad

Esta librería se mantendrá compatible con al menos la versión con soporte activo de PHP más reciente.

También utilizamos Versionado Semántico 2.0.0 por lo que puedes usar esta librería sin temor a romper tu aplicación.

Versión PHP Mínima Nota
0.1.0 8.2, 8.3, 8.4, 8.5 2026-01-21

Contribuciones

Las contribuciones con bienvenidas. Por favor lee CONTRIBUTING para más detalles y recuerda revisar el archivo de tareas pendientes TODO y el archivo CHANGELOG.

Copyright and License

Autor original: Cesar Aguilera cesargnu29@gmail.com.

The phpcfdi/csf-sat-scraper tool is copyright © PhpCfdi and licensed for use under the MIT License (MIT). Please see LICENSE for more information.

About

Librería PHP para obtener la Constancia de Situación Fiscal mediante web scraping

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages