phpcfdi/csf-scraper
Obtiene los datos fiscales actuales de una persona moral o física dado su RFC y CIFID.
Instalación
Usa composer
composer require phpcfdi/csf-scraper
Esta librería requiere del uso de un cliente que implemente GuzzleHttp\ClientInterface;
puedes obtener más información de esta librería en guzzle.
Ejemplo de uso
declare(strict_types=1);
use GuzzleHttp\Client;
use PhpCfdi\CsfScraper\Scraper;
use PhpCfdi\Rfc\Rfc;
require 'vendor/autoload.php';
$scraper = Scraper::create();
$rfc = Rfc::parse('YOUR_RFC');
$person = $scraper->obtainFromRfcAndCif(rfc: $rfc, idCIF: 'ID_CIF');
// También puedes obtener los datos de la persona directamente del archivo local PDF
// (Ten en cuenta que esta funcionalidad requiere de tener instalado popper-utils en tu servidor).
$person = $scraper->obtainFromPdfPath('LOCAl_PDF_FILE_PATH');
// puedes acceder a los datos de la persona (moral o física) usando los métodos incluidos:
if($rfc->isFisica()) {
echo $person->getNombre();
}
if($rfc->isMoral()) {
echo $person->getRazonSocial();
}
// o puedes obtener el array de datos usando
echo print_r($person->toArray(), true);
Ejemplo de salida de json_encode($person)
para persona moral:
{
"rfc": "DIM8701081LA",
"id_cif": "12345678",
"razon_social": "Mi razón social",
"regimen_de_capital": "SA DE CV",
"fecha_constitucion": {
"date": "2019-02-21 22:50:46.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"fecha_inicio_operaciones": {
"date": "2019-02-21 22:50:46.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"situacion_contribuyente": "ACTIVO",
"fecha_ultimo_cambio_situacion": {
"date": "2019-02-21 22:50:46.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"entidad_federativa": "CIUDAD DE MEXICO",
"municipio_delegacion": "CUAUHTEMOC",
"colonia": "CUAUHTEMOC",
"tipo_vialidad": "Tipo vialidad",
"nombre_vialidad": "PASEO DE LA REFORMA",
"numero_exterior": "143",
"numero_interior": "Piso 69",
"codigo_postal": "72055",
"correo_electronico": "[email protected]",
"al": "CIUDAD DE MEXICO 2",
"regimenes": [
{
"regimen": "Régimen General de Ley Personas Morales",
"regimen_id": "601",
"fecha_alta": {
"date": "2019-02-21 22:50:46.000000",
"timezone_type": 3,
"timezone": "UTC"
}
}
],
"extra_data": []
}
Ejemplo de salida de json_encode($person)
para persona física:
{
"rfc": "COSC8001137NA",
"id_cif": "1904014102123",
"curp": "CURP",
"nombre": "JUAN",
"apellido_paterno": "PEREZ",
"apellido_materno": "RODRIGUEZ",
"fecha_nacimiento": {
"date": "1973-05-01 22:53:25.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"fecha_inicio_operaciones": {
"date": "2004-11-03 22:53:25.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"situacion_contribuyente": "ACTIVO",
"fecha_ultimo_cambio_situacion": {
"date": "2004-11-03 22:53:25.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"entidad_federativa": "CIUDAD DE MEXICO",
"municipio_delegacion": "IZTAPALAPA",
"colonia": "MI COLONIA",
"tipo_vialidad": "CALLE",
"nombre_vialidad": "BENITO JUAREZ",
"numero_exterior": "183",
"numero_interior": "",
"codigo_postal": "72000",
"correo_electronico": "",
"al": "CIUDAD DE MEXICO 3",
"regimenes": [
{
"regimen": "Régimen de Incorporación Fiscal",
"regimen_id": "621",
"fecha_alta": {
"date": "2014-01-01 22:53:25.000000",
"timezone_type": 3,
"timezone": "UTC"
}
}
],
"extra_data": []
}
Soporte
Puedes obtener soporte abriendo un ticket en Github.
Adicionalmente, esta librería pertenece a la comunidad PhpCfdi, así que puedes usar los mismos canales de comunicación para obtener ayuda de algún miembro 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.
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
The phpcfdi/csf-scraper
library is copyright © PhpCfdi and licensed for use under the MIT License (MIT). Please see LICENSE for more information.