Pacote desenvolvido e mantido pela StarGrid (https://stargrid.pro) para facilitar a integração com a API (http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php) para a busca de feriados nacionais, estaduais e municipais.
stargrid/laravel-calendario-feriados is a Laravel package for pacote desenvolvido e mantido pela stargrid (https://stargrid.pro) para facilitar a integração com a api (http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php) para a busca de feriados nacionais, estaduais e municipais..
It currently has 11 GitHub stars and 4.989 downloads on Packagist (latest version v4.0.0).
Install it with composer require stargrid/laravel-calendario-feriados.
Discover more Laravel packages by stargrid
or browse all Laravel packages to compare alternatives.
Last updated
Este projeto foi iniciado pela StarGrid para ajudar os usuários do Laravel que pretendem integrar seus sistemas com a API http://www.calendario.com.br para busca de feriados nacionais, estaduais e municipais.
Para instalar a dependência através do composer, através do terminal, entre na pasta de seu projeto e digite:
$ composer require stargrid/laravel-calendario-feriados:"v2.0.0"
Obs: Caso esteja usando versões inferiores:
$ composer require stargrid/laravel-calendario-feriados:"v1.0.0"
Após a instalação do pacote, execute o próximo comando:
$ php artisan vendor:publish --provider="StarGrid\LaravelHolidayCalendar\Provider\LaravelHolidayCalendarServiceProvider"
Agora é necessário configurar no .env o seu token de acesso da API:
LARAVEL_HOLIDAY_CALENDAR_TOKEN=SEU_TOKEN_AQUI
Para utilizar basta primeiramente instânciar a classe StarGrid\LaravelHolidayCalendar\HolidayClient conforme o exemplo a seguir:
$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));
Antes de efetuar as chamadas da API, é necessário definir o tipo de retorno (Response). A API Calendário permite dois formatos, JSON ou XML.
Para definir o retorno do tipo JSON:
$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));
$holidayClient->setJsonResponse();
Para definir o retorno do tipo XML:
$holidayClient = new StarGrid\LaravelHolidayCalendar\HolidayClient(env('LARAVEL_HOLIDAY_CALENDAR_TOKEN'));
$holidayClient->setXmlResponse();
Finalmente para fazer a chamada da API, exitem dois tipos de consultas.
$response = $client->setJsonResponse()
->getHolidaysByIbgeCode(2019, 4314902);
$response = $client->setJsonResponse()
->getHolidaysByCity(2019, 'São Paulo' , 'SP');
Obs: Não é necessário se preocupar com os acentos e letras minúsculas ou maiúsculas, este tratamento é feito diretamente pelo pacote.
No final o resultado será um array de objetos StarGrid\LaravelHolidayCalendar\Entity\HolidayEntity.
Esse objeto possuí os seguintes métodos para se obter os dados (getters):
public function getDate(): \DateTime
public function getName(): string
public function getDescription(): string
public function getLink(): string
public function getTypeEnum(): HolidayTypeEnum
public function getTypeName(): string
public function getRawData(): string
Também possuí seus respectivos setters.
É possível utilizar o DI do próprio Laravel para se obter uma instância de StarGrid\LaravelHolidayCalendar\HolidayClient, se você estiver em uma controller, por exemplo:
<?php
namespace App\Http\Controllers;
use StarGrid\LaravelHolidayCalendar\HolidayClient;
class HomeController
{
public function testMethod(HolidayClient $holidayClient)
{
$response = $holidayClient->setJsonResponse()
->getHolidaysByCity(2019, 'São Paulo' , 'SP');
}
}
Ou utiliza-lo através do Facade do próprio pacote:
<?php
namespace App\Http\Controllers;
use StarGrid\LaravelHolidayCalendar\Facade\HolidayClientFacade;
class HomeController
{
public function testMethod()
{
$response = HolidayClientFacade::setJsonResponse()
->getHolidaysByCity(2019, 'São Paulo' , 'SP');
}
}