dompie / keila-php-api
This package is abandoned and no longer maintained.
No replacement package was suggested.
Keila newsletter API HTTP client
This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.
0.10.2
2024-07-04 07:40 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: 7.*
Requires (Dev)
- phpunit/phpunit: ^10.5
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
A PHP HTTP client for the Keila newsletter API with Guzzle as single dependency.
Install
composer require dompie/keila-http-api
How to use
require_once 'vendor/autoload.php'; $httpClient = new \GuzzleHttp\Client(); $client = new \Dompie\KeilaApiClient\ApiClientV1($httpClientInterface, 'https://keila-installation.url', 'my-secret-keila-api-key'); $responseInterface = $client->createContact([ 'first_name' => 'First', 'last_name' => 'Last', 'email' => 'first.last@example.com', ]); $campaign = new \Dompie\KeilaApiClient\Campaign(); $campaign->withName('My test campaign') ->withTextEditor('Hello world!') ->withMarkdownEditor(); $responseInterface = $client->createCampaign($campaign);
Then you can pass the Guzzle ResponseInterface to your context.
Response helper
For testing purposes I've added also a KeilaResponse class to quickly access relevant items.
$response = \Dompie\KeilaApiClient\KeilaResponse::new($responseInterface); $response->hasData(); $response->getDataItem(0); //First element from the data property $response->getGuzzleResponse()->getStatusCode()
⚠️ Tests will trigger E-Mail sending. Use only with keila dev instance.
cp phpunit.xml.dist phpunit.xml
Put your Keila URI and Keila api key into phpunit.xml:
<env name="KEILA_BASE_URI" value="http://keila.local:4000" force="true"/> <env name="KEILA_API_KEY" value="secret-api-key" force="true"/>
Finally tests
make test
or
XDEBUG_MODE=coverage make test-coverage