consulta/laravel

适用于秘鲁RUC和DNI验证的Laravel包

0.2.5 2024-08-20 16:19 UTC

This package is auto-updated.

Last update: 2024-09-20 23:28:56 UTC


README

Build Status Latest Stable Version License

Laravel官方包

对于Laravel < 5.5或其他框架或独立使用,请使用SDK RENIEC-PHPSUNAT-PHP!!

安装

使用composer安装

   composer require consulta/laravel

或在你的composer.json文件中添加以下行

   "require": {
       ...
       "consulta/laravel": "1.*"
       ...
   }

配置

咨询服务

config/services.php中添加以下条目

'consulta' => [
         'token' => env('CONSULTA_TOKEN')
      ],

环境变量

.env中添加以下条目

CONSULTA_TOKEN=<tu-token-de-acceso>

** 你可以在consulta.pe网站上注册以生成你的token

使用

查询个人

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
]

查询企业

通过DNI查询

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"
]

通过RUC查询

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"
]

车辆查询

通过车牌查询

use Consulta\Laravel\Consulta;

$companybyDni = Consulta::vehicle()->find('<placa>'); // placa sin guión

//respuesta de ejemplo.Se han ocultado datos en esta respuesta por seguridad
array:12 [▼
  "data" => array:8 [
    "plate" => "<placa>"
    "current_plate" => "<placa>"
    "registration_entry" => "<número de partida>"
    "vehicle_information" => array:31 [
      "vin" => "<bin info>"
      "axles" => "2"
      "brand" => "JEEP"
      "color" => "GRIS"
      "model" => "GRAND CHEROKEE LIMITED"
      "plate" => "<placa>"
      "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" => "<placa>"
      "engine_number" => "<engine_number>"
      "serial_number" => "<serial_number>"
      "manufacturing_year" => "2012"
      "engine_displacement" => "3.6"
    ]
    "previous_plates" => []
    "owners" => array:1 [
      0 => array:5 [
        "name" => "<nombre del propietario actual>"
        "type" => "person"
        "title_number" => "<número de título>"
        "ownership_date" => "<fecha>"
        "document_number" => "<dni>"
      ]
    ]
    "previous_owners" => array:3 [
      0 => array:1 [
        0 => array:3 [
          "name" => "<nombre propietario anterior>"
          "document_type" => "PARTIDA"
          "document_number" => "<document_number>"
        ]
      ]
      1 => array:1 [
        0 => array:3 [
          "name" => "<nombre propietario anterior>"
          "document_type" => "PARTIDA"
          "document_number" => "<document_number>"
        ]
      ]
      2 => array:1 [
        0 => array:3 [
          "name" => "<nombre propietario anterior>"
          "document_type" => "PARTIDA"
          "document_number" => "<document_number>"
        ]
      ]
    ]
    "liens" => []
  ]
]

可用的验证规则

IsValidDNIDigit

确定验证码是否与输入的DNI相符

// in a `FormRequest` 

public function rules()
{
    return [
        'dni' => "required|size:8",
        'validation_digit' => ['required','size:1',new IsValidDNIDigit($this->dni)],
    ];
}

IsValidDNI

确定输入的DNI是否属于秘鲁成年公民

// in a `FormRequest` 

public function rules()
{
    return [
        'dni' => ['required','size:1',new IsValidDNI()],
    ];
}

IsValidRUC

确定输入的RUC是否属于已注册在秘鲁国家海关和税务管理局(SUNAT)的企业。

参数

IsValidRUC类接受一个参数,当参数为true时,还会验证企业是否活跃和存在。

// in a `FormRequest` 

public function rules()
{
    return [
        'ruc' => ['required','size:11',new IsValidRUC(true)],
    ];
}

文档

有关更多信息,请参阅consulta.pe的文档