PHPackages                             stargrid/laravel-calendario-feriados - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. stargrid/laravel-calendario-feriados

ActiveLibrary[API Development](/categories/api)

stargrid/laravel-calendario-feriados
====================================

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.

v4.0.0(5y ago)115.0k4[2 issues](https://github.com/stargrid/laravel-calendario-feriados/issues)AGPL-3.0-onlyPHPCI failing

Since May 20Pushed 5y ago2 watchersCompare

[ Source](https://github.com/stargrid/laravel-calendario-feriados)[ Packagist](https://packagist.org/packages/stargrid/laravel-calendario-feriados)[ RSS](/packages/stargrid-laravel-calendario-feriados/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (5)Versions (5)Used By (0)

[![Build Status](https://camo.githubusercontent.com/f0b759fcb2521e01548739c8459d0e00ff9394a9018fe1e76560beefe242d4d3/68747470733a2f2f7472617669732d63692e6f72672f73746172677269642f6c61726176656c2d63616c656e646172696f2d6665726961646f732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/stargrid/laravel-calendario-feriados)

Calendário nacional de feriados.
================================

[](#calendário-nacional-de-feriados)

Este projeto foi iniciado pela [StarGrid](https://stargrid.pro) para ajudar os usuários do Laravel que pretendem integrar seus sistemas com a API  para busca de feriados nacionais, estaduais e municipais.

Instalação
----------

[](#instalação)

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
```

Utilização
----------

[](#utilização)

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](http://www.calendario.com.br/api_feriados_municipais_estaduais_nacionais.php) 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.

#### Consulta através do código do IBGE do município:

[](#consulta-através-do-código-do-ibge-do-município)

```
$response = $client->setJsonResponse()
            ->getHolidaysByIbgeCode(2019, 4314902);
```

- O primeiro parâmetro é o ano para a consulta dos feriados.
- O segundo parâmetro é o código do IBGE.

#### Consulta através do nome do município:

[](#consulta-através-do-nome-do-município)

```
$response = $client->setJsonResponse()
            ->getHolidaysByCity(2019, 'São Paulo' , 'SP');
```

- O primeiro parâmetro é o ano para a consulta dos feriados.
- O segundo parâmetro é o nome da cidade a ser consultada.
- O terceiro parâmetro é a sigla do estado (UF).

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`.

Service-Provider e Facade
-------------------------

[](#service-provider-e-facade)

É 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:

```
