API client written in PHP providing access to the current version of the rapidmail API.
Preferred installation method is to use the Composer dependency manager.
composer require rapidmail/rapidmail-apiv3-client-phpDownload rapidmail-apiv3-client-php.zip from releases section and extract it into an appropriate subdirectory within your project.
Be aware that this method is most likely to cause problems when used in conjunction with Composer or an existing installation of Guzzle, so it's strongly recommended to choose the preferred installation method above.
Create a new API client instance and provide your APIv3 credentials:
require_once __DIR__ . '/vendor/autoload.php';
use Rapidmail\ApiClient\Client;
$client = new Client('api_username_hash', 'api_password_hash');After that you can access various services encapsulated within the client:
$mailingService = $client->mailings();
// Iterate all mailings
foreach($mailingService->query() as $mailing) {
var_dump($mailing);
}Get a list of your mailings with some filters applied:
// Filter for sent mailings newer than a given date
var_dump(
$mailingService->query([
'created_since' => '2019-09-01 10:22:00',
'status' => 'sent'
])
);$listService = $client->recipientlists();
foreach ($listService->query() as $list) {
var_dump($list);
}$recipientsService = $client->recipients();
$collection = $recipientsService->query(
[
'recipientlist_id' => 123456789 // Recipientlist ID MUST be provided
]
);
foreach ($collection as $recipient) {
var_dump($recipient);
}$recipientsService = $client->recipients();
var_dump(
$recipientsService->create(
// Dataset: Represents the recipient dataset you're creating
[
'recipientlist_id' => 123456789, // Required
'email' => '[email protected]', // Required
'firstname' => 'John',
'lastname' => 'Doe',
'gender' => 'male'
],
// Flags: Configures system behavior, like sending activationmails
[
'send_activationmail' => 'yes'
]
)
);Always keep in mind to handle errors properly and catch exceptions that might occur:
use \Rapidmail\ApiClient\Exception\ApiClientException;
try {
$mailingService->query(['status' => 'unknown']);
} catch (ApiClientException $e) {
// Catch API client exceptions
echo "Exception raised: " . $e->getMessage();
}More information about using the API client can be found in the following subsections:
Also refer to the API documentation for a complete list of the available endpoints and their parameters.
rapidmail APIv3 client is licensed under the terms of the BSD 2-clause license.
Contact: www.rapidmail.de - [email protected] - +49 761 - 216 08 720