The SDK for sendflare service written in PHP.
- PHP >= 8.0
- cURL extension
- JSON extension
Install via Composer:
composer require sendflare/sendflare-sdk-php<?php
require_once 'vendor/autoload.php';
use Sendflare\SDK\SendflareClient;
use Sendflare\SDK\Model\SendEmailReq;
$client = new SendflareClient('your-api-token');
$req = new SendEmailReq(
'test@example.com',
'to@example.com',
'Hello',
'Test email'
);
try {
$response = $client->sendEmail($req);
echo "Email sent successfully!\n";
print_r($response);
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}use Sendflare\SDK\SendflareClient;
use Sendflare\SDK\Model\SendEmailReq;
$client = new SendflareClient('your-api-token');
$req = new SendEmailReq(
'sender@example.com',
'recipient@example.com',
'Subject Here',
'Email body content'
);
$response = $client->sendEmail($req);
if ($response->success) {
echo "Email sent successfully!";
}use Sendflare\SDK\SendflareClient;
use Sendflare\SDK\Model\ListContactReq;
$client = new SendflareClient('your-api-token');
$req = new ListContactReq('your-app-id', 1, 10);
$response = $client->getContactList($req);
echo "Total contacts: " . $response->totalCount . "\n";
foreach ($response->data as $contact) {
echo "Email: " . $contact->emailAddress . "\n";
}use Sendflare\SDK\SendflareClient;
use Sendflare\SDK\Model\SaveContactReq;
$client = new SendflareClient('your-api-token');
$req = new SaveContactReq('your-app-id', 'john@example.com', [
'firstName' => 'John',
'lastName' => 'Doe',
'company' => 'Acme Corp'
]);
$response = $client->saveContact($req);
if ($response->success) {
echo "Contact saved successfully!";
}use Sendflare\SDK\SendflareClient;
use Sendflare\SDK\Model\DeleteContactReq;
$client = new SendflareClient('your-api-token');
$req = new DeleteContactReq('john@example.com', 'your-app-id');
$response = $client->deleteContact($req);
if ($response->success) {
echo "Contact deleted successfully!";
}public function __construct(string $token)Create a new Sendflare client instance.
Parameters:
$token- Your Sendflare API token
public function sendEmail(SendEmailReq $req): SendEmailRespSend an email.
Parameters:
$req- Send email request objectfrom- Sender email addressto- Recipient email addresssubject- Email subjectbody- Email body content
Returns: SendEmailResp
Throws: Exception
public function getContactList(ListContactReq $req): ListContactRespGet contact list with pagination.
Parameters:
$req- List contact request objectappId- Application IDpage- Page number (default: 1)pageSize- Items per page (default: 10)
Returns: ListContactResp
Throws: Exception
public function saveContact(SaveContactReq $req): SaveContactRespCreate or update a contact.
Parameters:
$req- Save contact request objectappId- Application IDemailAddress- Contact email addressdata- Contact data (optional array)
Returns: SaveContactResp
Throws: Exception
public function deleteContact(DeleteContactReq $req): DeleteContactRespDelete a contact.
Parameters:
$req- Delete contact request objectemailAddress- Contact email addressappId- Application ID
Returns: DeleteContactResp
Throws: Exception
SendEmailReq- Send email requestListContactReq- Get contact list requestSaveContactReq- Save contact requestDeleteContactReq- Delete contact requestPaginateReq- Pagination request (base class)
SendEmailResp- Send email responseListContactResp- Get contact list responseSaveContactResp- Save contact responseDeleteContactResp- Delete contact responseCommonResponse- Common response (base class)PaginateResp- Pagination response (base class)ContactItem- Contact information
Run tests with PHPUnit:
composer install
composer testOr directly with PHPUnit:
./vendor/bin/phpunitAll API methods may throw exceptions. It's recommended to wrap calls in try-catch blocks:
try {
$response = $client->sendEmail($req);
// Handle success
} catch (Exception $e) {
// Handle error
error_log("Sendflare API error: " . $e->getMessage());
}For more information, visit: https://docs.sendflare.com