r2soft / app-facilita
Cliente e utilitarios para integracao com AppFacilita, com suporte a PHP puro e Laravel.
v1.0.1
2026-03-09 18:22 UTC
Requires
- php: >=8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- psr/http-message: ^1.0 || ^2.0
- psr/log: ^1.1 || ^2.0 || ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.6
Suggests
- illuminate/support: Para integracao com Laravel (ServiceProvider e Facade).
This package is not auto-updated.
Last update: 2026-03-10 16:49:43 UTC
README
Pacote PHP com cliente e utilitarios para integracao com a API AppFacilita, mais DTOs de webhook. O nucleo eh agnostico de framework, com camada opcional de integracao para Laravel.
Requisitos
- PHP >= 8.0
- ext-json
Instalacao
Via Composer:
composer require r2soft/app-facilita
Uso em PHP puro
<?php
require __DIR__ . '/vendor/autoload.php';
use R2Soft\AppFacilita\Clients\AppFacilitaClient;
use R2Soft\AppFacilita\Core\AppFacilitaConfig;
$config = new AppFacilitaConfig(
'https://api.appfacilita.exemplo',
'sua-instancia',
'sua-api-key',
'seu-token'
);
$client = new AppFacilitaClient($config);
$negocio = $client->consultarNegocio(1234);
Opcionalmente, usando variaveis de ambiente:
use R2Soft\AppFacilita\Support\AppFacilitaConfigFactory;
$config = AppFacilitaConfigFactory::fromEnv();
$client = new AppFacilitaClient($config);
Uso em Laravel
- Instale via Composer.
- (Opcional) Publique o config:
php artisan vendor:publish --tag=config --provider="R2\\AppFacilita\\Laravel\\Providers\\AppFacilitaServiceProvider"
- Configure as variaveis de ambiente:
APP_FACILITA_BASE_URLAPP_FACILITA_API_INSTANCEAPP_FACILITA_API_KEYAPP_FACILITA_TOKEN- opcionais:
APP_FACILITA_TIMEOUT,APP_FACILITA_CONNECT_TIMEOUT,APP_FACILITA_USER_AGENT,APP_FACILITA_PROXY,APP_FACILITA_RETRY_MAX,APP_FACILITA_RETRY_BASE_MS
- Uso via container:
use R2Soft\AppFacilita\Clients\AppFacilitaClient;
$client = app(AppFacilitaClient::class);
$negocio = $client->consultarNegocio(1234);
- Uso via Facade (opcional):
use AppFacilita;
$negocio = AppFacilita::consultarNegocio(1234);
DTOs
Os DTOs de webhook agora estao em R2Soft\AppFacilita\DTOs.
Configuracao
new AppFacilitaConfig(
baseUrl: 'https://api.appfacilita.exemplo',
apiInstance: 'instancia',
apiKey: 'api-key',
tokenUser: 'token',
timeout: 10,
connectTimeout: 10,
userAgent: 'r2-app-facilita/AppFacilitaClient',
proxy: null,
retryMax: 3,
retryBaseMs: 250
);
Limitações e extensões
- O cliente HTTP usa Guzzle por padrao. Se precisar trocar, injete um
ClientInterface. - A camada Laravel e opcional e nao eh dependida pelo nucleo.
Exemplos
Veja examples/php-puro.php e examples/laravel.php.
Testes
composer test