lucasgiovanny / laravel-serpro-datavalid
Laravel package to easily use Serpro Datavalid API
Fund package maintenance!
lucasgiovanny
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- laravel/pint: ^1.7
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.22
README
This package makes it easy to use Serpro Datavalid API with Laravel framework.
Contents
Installation
This package can be installed via composer:
composer require lucasgiovanny/laravel-serpro-datavalid
Usage
- Add your credentials to
.env
file
SERPRO_DATAVALID_CONSUMER_KEY=
SERPRO_DATAVALID_CONSUMER_SECRET=
SERPRO_DATAVALID_SANDBOX=false
- To use this package, you just need to import the Person Facades.
use LucasGiovanny\SerproDataValid\Person;
Available methods
rawValidation
: Make a raw validation with any data you need to validate according to Datavalid API Docs.validateName
: Returns whether the name belongs to the CPF and its rate of assertiveness.validateGender
: Returns whether the CPF has this gender.isBrazilian
: Returns whether the person to whom this CPF belongs is Brazilian or not.validateParentsName
: Returns whether the parents name belongs to the CPF and its rate of assertiveness.isCPFRegular
: Returns if CPF is regular with Brazilian government.validatePhoto
: Returns if the person in the photo is the person that owns this CPF number.
rawValidation
Example:
use LucasGiovanny\SerproDataValid\Person; $data = [ 'nome' => "João da Silva", 'sexo' => 'M' 'situacao_cpf' => 'regular', ]; $validation = Person::rawValidation("00000000000", $data);
Please, see the Data Valid API docs for a list of all the propriety that can be checked.
validateName
Example:
use LucasGiovanny\SerproDataValid\Person; $validation = Person::validateName("00000000000", "João da Silva"); //return true or false; $validation = Person::validateName("00000000000", "João da Silva", true); //return an object, like: // $validation->nome = true; // $validation->nome_similaridade = 0.99
validateGender
Example:
use LucasGiovanny\SerproDataValid\Person; $validation = Person::validateGender("00000000000", "F"); // gender needs to be "F" or "M" //return true or false;
isBrazilian
Example:
use LucasGiovanny\SerproDataValid\Person; $validation = Person::isBrazilian("00000000000"); //return true or false;
validateParentsName
Example:
use LucasGiovanny\SerproDataValid\Person; $parents = [ 'mother_name' => 'Eurica Magalhães Souza'; 'father_name' => 'Frederico Fagundes Souza'; ]; // you can check just one of the names $validation = Person::validateParentsName("00000000000", $parents); //return an object with "mother_name" and "father_name" true or false values; $validation = Person::validateParentsName("00000000000", $parents, true); //return an object with "mother_name" and "father_name" true or false values, //and "mother_name_similarity" and "father_name_similarity" numbers, //just like in validateName method.
isCPFRegular
Example:
use LucasGiovanny\SerproDataValid\Person; $validation = Person::isCPFRegular("00000000000"); //return true or false;
validatePhoto
Example:
use LucasGiovanny\SerproDataValid\Person; $validation = Person::validatePhoto("00000000000", base64_encode($photo)); //return true or false;
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
Test needs to be written. Feel free to collaborate.
Security
If you discover any security related issues, please email lucasgiovanny@gmail.com instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.