https://github.com/consulta/consulta-laravel
Paquete de Laravel para validación de RUC y DNI en Perú
https://github.com/consulta/consulta-laravel
consulta laravel package paquete php reniec rest-api sunat validacion
Last synced: 6 months ago
JSON representation
Paquete de Laravel para validación de RUC y DNI en Perú
- Host: GitHub
- URL: https://github.com/consulta/consulta-laravel
- Owner: consulta
- Created: 2019-09-23T23:43:53.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-20T23:23:58.000Z (almost 2 years ago)
- Last Synced: 2025-12-22T00:44:59.964Z (6 months ago)
- Topics: consulta, laravel, package, paquete, php, reniec, rest-api, sunat, validacion
- Language: PHP
- Homepage: https://consulta.pe
- Size: 43 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Paquete Oficial para Laravel
### Para Laravel < 5.5,otros frameworks o standalone, use el SDK [RENIEC-PHP](https://github.com/tecactus/reniec-php) o [SUNAT-PHP](https://github.com/tecactus/sunat-php)!!
## Instalación
Instalar usando composer:
```bash
composer require consulta/laravel
```
O agregar la siguiente línea a tu archivo composer.json:
```
"require": {
...
"consulta/laravel": "1.*"
...
}
```
## Configuración
### servicio consulta
agregar en `config/services.php` la siguiente entrada
```bash
'consulta' => [
'token' => env('CONSULTA_TOKEN')
],
```
### variable de entorno
agregar al `.env` la siguiente entrada:
```bash
CONSULTA_TOKEN=
```
** Puedes generar tu token registrándote en la web de [consulta.pe](https://consulta.pe/auth/register)
## Uso
### Consulta Persona
```php
use Consulta\Laravel\Consulta;
$person = Consulta::reniec()->find('43989177');
// respuesta:
array:6 [▼
"dni" => "43989177"
"nombres" => "CARLOS EMMANUEL"
"apellido_paterno" => "CERVERA"
"apellido_materno" => "BARTUREN"
"caracter_verificacion" => "2"
"caracter_verificacion_anterior" => null
]
```
### Consulta Empresa
#### Por DNI
```php
use Consulta\Laravel\Consulta;
$companybyDni = Consulta::sunat()->byDni('46126030');
//respuesta
array:12 [▼
"ruc" => 10461260301
"razon_social" => "VIDAL LUJAN PAUL EDWIN"
"tipo_contribuyente" => "PERSONA NATURAL SIN NEGOCIO"
"nombre_comercial" => "SERVICIOS MÚLTIPLES DMC"
"fecha_inscripcion" => "16-09-2009"
"fecha_inicio_actividades" => "01-10-2009"
"estado_contribuyente" => "ACTIVO"
"condicion_contribuyente" => "HABIDO"
"direccion" => "-"
"sistema_emision_comprobante" => "MANUAL"
"actividad_comercio_exterior" => "SIN ACTIVIDAD"
"sistema_contabilidad" => "MANUAL"
]
```
### Por RUC
```php
use Consulta\Laravel\Consulta;
$company = Consulta::sunat()->byRuc('20601772541');
//consulta
array:12 [▼
"ruc" => 20601772541
"razon_social" => "TECACTUS S.A.C."
"tipo_contribuyente" => "SOCIEDAD ANONIMA CERRADA"
"nombre_comercial" => "-"
"fecha_inscripcion" => "03-01-2017"
"fecha_inicio_actividades" => "03-01-2017"
"estado_contribuyente" => "ACTIVO"
"condicion_contribuyente" => "HABIDO"
"direccion" => "CAL.TRES NRO. 231 DPTO. 613 URB. JACARANDA LIMA - LIMA - SAN BORJA"
"sistema_emision_comprobante" => "MANUAL/COMPUTARIZADO"
"actividad_comercio_exterior" => "IMPORTADOR/EXPORTADOR"
"sistema_contabilidad" => "MANUAL/COMPUTARIZADO"
]
```
### Consulta Vehicular
#### Por Placa
```php
use Consulta\Laravel\Consulta;
$companybyDni = Consulta::vehicle()->find(''); // placa sin guión
//respuesta de ejemplo.Se han ocultado datos en esta respuesta por seguridad
array:12 [▼
"data" => array:8 [
"plate" => ""
"current_plate" => ""
"registration_entry" => ""
"vehicle_information" => array:31 [
"vin" => ""
"axles" => "2"
"brand" => "JEEP"
"color" => "GRIS"
"model" => "GRAND CHEROKEE LIMITED"
"plate" => ""
"seats" => "5"
"usage" => "Vehiculos Particulares (Categoria M)"
"width" => "2.15"
"height" => "1.78"
"length" => "4.82"
"status" => "EN CIRCULACION"
"wheels" => "4"
"payload" => "0.787"
"version" => "4X4"
"category" => "M1"
"body_type" => "SUV"
"condition" => "SIN DEFINIR"
"cylinders" => "6"
"fuel_type" => "GASOLINA"
"drivetrain" => "4X4"
"dry_weight" => "2.162"
"model_year" => "2012"
"passengers" => "4"
"engine_power" => "210@6350"
"gross_weight" => "2.949"
"current_plate" => ""
"engine_number" => ""
"serial_number" => ""
"manufacturing_year" => "2012"
"engine_displacement" => "3.6"
]
"previous_plates" => []
"owners" => array:1 [
0 => array:5 [
"name" => ""
"type" => "person"
"title_number" => ""
"ownership_date" => ""
"document_number" => ""
]
]
"previous_owners" => array:3 [
0 => array:1 [
0 => array:3 [
"name" => ""
"document_type" => "PARTIDA"
"document_number" => ""
]
]
1 => array:1 [
0 => array:3 [
"name" => ""
"document_type" => "PARTIDA"
"document_number" => ""
]
]
2 => array:1 [
0 => array:3 [
"name" => ""
"document_type" => "PARTIDA"
"document_number" => ""
]
]
]
"liens" => []
]
]
```
## Reglas de validación Disponibles
- [`IsValidDNIDigit`](#isvaliddnidigit)
- [`IsValidDNI`](#isvaliddni)
- [`IsValidRUC`](#isvalidruc)
### `IsValidDNIDigit`
Determina si el dígito de verificación corresponde al dni ingresado
```php
// in a `FormRequest`
public function rules()
{
return [
'dni' => "required|size:8",
'validation_digit' => ['required','size:1',new IsValidDNIDigit($this->dni)],
];
}
```
### `IsValidDNI`
Determina si el número de DNI ingresado pertenece a un peruano mayor de edad
```php
// in a `FormRequest`
public function rules()
{
return [
'dni' => ['required','size:1',new IsValidDNI()],
];
}
```
### `IsValidRUC`
Determina si el número de RUC ingresado pertenece a una empresa registrada en la Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT).
#### parámetros:
La clase IsValidRUC admite un único parametro, cuando es ``true`` valida además que la empresa esté activa y habida.
```php
// in a `FormRequest`
public function rules()
{
return [
'ruc' => ['required','size:11',new IsValidRUC(true)],
];
}
```
## Docs
Para mayor información consulta la documentación de [consulta.pe](https://consulta.pe/) para:
- [Identidad de personas](https://consulta.pe/identidad-personas)
- [Datos Corporativos](https://consulta.pe/datos-corporativos)