kefivitch / tunisian-municipality-api
Laravel package to consume Tunisian Municipality API
Package info
github.com/kefivitch/tunisian-municipality-api
pkg:composer/kefivitch/tunisian-municipality-api
v1.3.0
2025-08-10 12:43 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^10.0|^11.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
Laravel package to consume the Tunisian Municipality API.
## Installationcomposer require kefivitch/tunisian-municipality-api
If your Laravel version does not support package auto-discovery, register the service provider and facade:
// config/app.php 'providers' => [ TunisianMunicipality\\TunisianMunicipalityServiceProvider::class, ], 'aliases' => [ 'TunisianMunicipality' => TunisianMunicipality\\Facades\\TunisianMunicipality::class, ],
Usage
Basic example
use TunisianMunicipality\\Facades\\TunisianMunicipality; $municipalities = TunisianMunicipality::getMunicipalities(); // $municipalities is an Illuminate\\Support\\Collection instance
Filtering results
Pass an associative array of query parameters to getMunicipalities to filter the results returned from the API:
// Retrieve municipalities that match the provided filters $filtered = TunisianMunicipality::getMunicipalities([ 'name' => 'Tunis', // filter by municipality name // other supported filters can be passed here ]);
Custom client or base URL
use GuzzleHttp\\Client; use TunisianMunicipality\\TunisianMunicipality as MunicipalityClient; $client = new MunicipalityClient(new Client(), 'https://tn-municipality-api.vercel.app/api'); $all = $client->getMunicipalities();
Testing
Run the package tests with PHPUnit:
composer test
