{"id":18784149,"url":"https://github.com/kdevelopement/brasilapi-php","last_synced_at":"2025-09-17T11:58:43.392Z","repository":{"id":151456670,"uuid":"624247344","full_name":"KDevelopement/brasilapi-php","owner":"KDevelopement","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-06T04:19:09.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-24T10:42:39.213Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KDevelopement.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-04-06T03:52:42.000Z","updated_at":"2023-12-10T22:37:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"fe2f3593-62c9-434c-b6a7-b4b3e8e4fe74","html_url":"https://github.com/KDevelopement/brasilapi-php","commit_stats":{"total_commits":6,"total_committers":2,"mean_commits":3.0,"dds":"0.33333333333333337","last_synced_commit":"161172bb9ce2665cc449e768c7ed26ab63a7a8df"},"previous_names":["klicense/brasilapi-php","kdevelopement/brasilapi-php"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/KDevelopement/brasilapi-php","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDevelopement%2Fbrasilapi-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDevelopement%2Fbrasilapi-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDevelopement%2Fbrasilapi-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDevelopement%2Fbrasilapi-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KDevelopement","download_url":"https://codeload.github.com/KDevelopement/brasilapi-php/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KDevelopement%2Fbrasilapi-php/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275591537,"owners_count":25492265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T20:42:08.364Z","updated_at":"2025-09-17T11:58:43.377Z","avatar_url":"https://github.com/KDevelopement.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/BrasilAPI/BrasilAPI/master/public/brasilapi-logo-small.png\" alt=\"Logo da BrasilAPI\"\u003e\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003cstrong\u003eVamos transformar o Brasil em uma API?\u003c/strong\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n# Introdução\n\nEsse SDK foi construído com o intuito de ser flexível, de forma que todos possam utilizar todas as features \ne versões da BrasilAPI.\n\nVocê pode acessar a documentação oficial da BrasilAPI acessando esse [link](https://brasilapi.com.br/docs).\n\n## Índice\n\n- [Introdução](#introdução)\n  - [Índice](#índice)\n  - [Requisitos](#requisitos)\n  - [Instalação](#instalação)\n  - [Utilização](#utilização)\n  - [Endpoints](#endpoints)\n    - [Bancos](#bancos)\n    - [CEP](#cep)\n    - [CEP V2](#cep-v2)\n    - [CNPJ](#cnpj)\n    - [CPTEC](#cptec)\n    - [DDD](#ddd)\n    - [Feriados](#feriados)\n    - [FIPE](#fipe)\n    - [IBGE](#ibge)\n    - [ISBN](#isbn)\n    - [NCM](#ncm)\n    - [Pix](#pix)\n    - [Registro BR](#registro-br)\n    - [Taxas](#taxas)\n  - [Criando endpoints](#criando-endpoints)\n  - [Tratando exceções](#tratando-exceções)\n  - [Licença](#licença)\n\n## Requisitos\n\n* PHP versão 7.4 ou maior;\n* Guzzle Http versão 7.4 ou maior.\n\n## Instalação\n\nPara instalar o SDK, você deve utilizar o [Composer](https://getcomposer.org/) com o\nseguinte comando:\n\n```bash\ncomposer require kseven/brasilapi-php\n```\n\n## Utilização\n\nO uso mais simples da biblioteca seria o seguinte:\n\n```php\n\u003c?php\n\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse BrasilApi\\Client;\n\n$brasilApi = new Client();\n\n$address = $brasilApi-\u003ecep()-\u003eget('01001000');\n```\n\n## Endpoints\n\nAbaixo você pode ver todos os endpoints disponíveis, por padrão, na biblioteca:\n\n### Bancos\n\nBuscando todos os bancos disponíveis na API.\n```php\n$brasilApi-\u003ebanks()-\u003egetList();\n```\n\nBuscando um banco específico pelo seu código.\n```php\n$brasilApi-\u003ebanks()-\u003eget(1);\n```\n\n### CEP\n\nBuscando um CEP específico.\n\n```php\n$brasilApi-\u003ecep()-\u003eget('01001000');\n```\n\n### CEP V2\n\nBuscando um CEP específico.\n\n```php\n$brasilApi-\u003ecepV2()-\u003eget('01001000');\n```\n\n### CNPJ\n\nBuscando um CNPJ específico.\n\n```php\n$brasilApi-\u003ecnpj()-\u003eget('00000000000191');\n```\n\n### CPTEC\n\nBuscando uma cidade pelo nome.\n\n```php\n$brasilApi-\u003ecptec()-\u003ecities('São Paulo');\n```\n\nBuscando todas as cidades disponíveis.\n\n```php\n$brasilApi-\u003ecptec()-\u003ecities();\n```\n\nBuscando as informações meteorológicas em todas as capitais dos estados brasileiros.\n\n```php\n$brasilApi-\u003ecptec()-\u003eweatherInCapitals();\n```\n\nBuscando as informações meteorológicas em um aeroporto específico através do seu código ICAO.\n\n```php\n$brasilApi-\u003ecptec()-\u003eweatherInAirport('SBGR');\n```\n\nBuscando as informações meteorológicas de uma cidade específica pelo seu código.\n\n```php\n$brasilApi-\u003ecptec()-\u003eweatherInCity(999);\n```\n\nBuscando as informações meteorológicas de uma cidade específica no período de X dias.\n\n**Obs.:** O primeiro parâmetro se refere ao código da cidade e o segundo parâmetro refere-se a quantidade de dias.\nLembrando que só é possível buscar informações entre 1 a 6 dias.\n\n```php\n$brasilApi-\u003ecptec()-\u003eweatherInCityInXDays(999, 6);\n```\n\nBuscando a previsão oceânica em uma cidade específica.\n\n```php\n$brasilApi-\u003ecptec()-\u003eoceanForecastInCity(999);\n```\n\nBuscando a previsão oceânica em uma cidade específica no período de X dias.\n\n**Obs.:** O primeiro parâmetro se refere ao código da cidade e o segundo parâmetro refere-se a quantidade de dias.\nLembrando que só é possível buscar informações entre 1 a 6 dias.\n\n```php\n$brasilApi-\u003ecptec()-\u003eoceanForecastInCityInXDays(999, 6);\n```\n\n### DDD\n\nBuscando o estado e cidades que possuem determinado DDD.\n\n```php\n$brasilApi-\u003eddd()-\u003eget(77);\n```\n\n### Feriados\n\nBuscando todos os feriados nacionais em determinado ano.\n\n```php\n$brasilApi-\u003eholidays()-\u003efromYear(2022);\n```\n\n### FIPE\n\nBuscando todas as marcas de veículos referente a um tipo de veículo.\n\n```php\n$brasilApi-\u003efipe()-\u003ebrandsByTypeVehicle('caminhoes');\n```\n\nBuscando o preço de um veículo específico pelo seu código FIPE.\n\n```php\n$brasilApi-\u003efipe()-\u003eprice('001004-9');\n```\n\nBuscando as tabelas de referência existentes.\n\n```php\n$brasilApi-\u003efipe()-\u003ereferenceTables();\n```\n\n### IBGE\n\nBuscando todos os municípios de um estado específico pela sua sigla.\n\n```php\n$brasilApi-\u003eibge()-\u003estateCities('BA');\n```\n\nBuscando informações de todos os estados brasileiros.\n\n```php\n$brasilApi-\u003eibge()-\u003estates();\n```\n\nBuscando informações de um estado específico pela sua sigla.\n\n```php\n$brasilApi-\u003eibge()-\u003estate('BA');\n```\n\n### ISBN\n\nBuscando informações sobre um livro específico pelo seu código ISBN.\n\n```php\n$brasilApi-\u003eisbn()-\u003ebook('9788545702870');\n```\n\n### NCM\n\nBuscando informações sobre todos os NCMs.\n\n```php\n$brasilApi-\u003encm()-\u003egetList();\n```\n\nBuscando informações sobre um NCM específico.\n\n```php\n$brasilApi-\u003encm()-\u003eget('01012100');\n```\n\nBuscando informações de um NCM a partir de um código ou descrição.\n\n```php\n$brasilApi-\u003encm()-\u003esearch('01012100');\n```\n\n### Pix\n\nBuscando informações de todos os participantes do PIX no dia atual ou anterior.\n\n```php\n$brasilApi-\u003epix()-\u003eparticipants();\n```\n\n### Registro BR\n\nBuscando informações de um domínio específico.\n\n```php\n$brasilApi-\u003eregisterBr()-\u003edomain('google.com');\n```\n\n### Taxas\n\nBuscando as taxas de juros e alguns índices oficiais do Brasil.\n\n```php\n$brasilApi-\u003etaxes()-\u003egetList();\n```\n\nBuscando informações de uma taxa a partir do seu nome/sigla.\n\n```php\n$brasilApi-\u003etaxes()-\u003eget('Selic');\n```\n\n## Criando endpoints\n\nPara adicionar novos ou sobreescrever os já existentes endpoints, você deve seguir os seguintes passos:\n\n1. Crie uma classe que extenda a classe `BrasilApi\\Endpoints\\Abstracts\\Endpoint`;\n\n2. Nesta classe, você pode implementar todos os métodos que desejar e utilizar o método `$this-\u003eclient-\u003erequest()` \npara enviar as requisições para a API. Lembre-se que a base URL da API já está embutido no 'Client', portanto na uri \ndo método você precisa adicionar apenas o complemento da rota. \n\n**Exemplo:** \n\nURL:      `https://brasilapi.com.br/api/cep/v2/01001000` \u003cbr /\u003e\nBASE_URI: `https://brasilapi.com.br/api` \u003cbr /\u003e\nURI:      `/cep/v2/01001000` \u003cbr /\u003e\n\n3. Para incorporá-lo ao SDK, você deve possuir uma instância de `BrasilApi\\Client` e utilizar o método\n`addEndpoint`, passando como parâmetro o nome do endpoint e a classe criada no passo 1.\n\nExemplo:\n\n```php\n\u003c?php\n\nrequire __DIR__ . '/vendor/autoload.php';\n\nuse BrasilApi\\Client;\nuse BrasilApi\\Endpoints\\Abstracts\\Endpoint;\n\nclass Hope extends Endpoint\n{\n    public function getList(): array\n    {\n        return $this-\u003eclient-\u003erequest(\"/hopes/list\");\n    }\n}\n\n$brasilApi = new Client();\n\n$brasilApi-\u003eaddEndpoint(\"hope\", Hope::class);\n```\n\n4. Para utilizar este novo endpoint, você deve chamá-lo da seguinte forma:\n\n```php\n$address = $brasilApi-\u003ehope()-\u003egetList();\n```\n\n**Obs.:** A chamada do método do endpoint deve ser feito com o mesmo nome que foi definido no método `addEndpoint`, pois \nele será utilizado na busca dinâmica do endpoint através do método mágico `__call`.\n\n**Obs.2:** Além de criar, você pode sobrescrever endpoints existentes e atualizar os seus métodos.\nIsso pode ser útil caso seja lançada uma nova versão de algum endpoint e você queira utilizá-lo\nimediatamente. Dessa forma, você pode sobrescrever o endpoint existente e alterar a sua URI.\n\n## Tratando exceções\n\nCaso a API retorne um erro, a biblioteca irá lançar uma exceção do tipo `BrasilApi\\Exceptions\\BrasilApiException`.\nPara capturar esta exceção, você deve utilizar o bloco `try/catch` e tratar o erro da forma que desejar.\n\nExemplo:\n\n```php\ntry {\n    $address = $brasilApi-\u003ecep()-\u003eget('01001000');\n} catch (BrasilApiException $e) {\n    echo $e-\u003egetMessage(); // Retorna a mensagem de erro da API\n    echo $e-\u003egetCode(); // Retorna o código HTTP da API\n    echo $e-\u003egetErrors(); // Retorna os erros retornados pela API\n    echo $e-\u003egetRawResponse(); // Retorna a resposta bruta da API\n}\n```\n\n## Licença\n\nVeja em [LICENSE.md](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdevelopement%2Fbrasilapi-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdevelopement%2Fbrasilapi-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdevelopement%2Fbrasilapi-php/lists"}