elasticemail/elasticemail-php
PHP client for Elastic Email’s REST API. Authenticate with your API key and manage campaigns and other resources via GET/POST/PUT/DELETE. Supports PHP 7.4+ (incl. 8.0) and uses Guzzle with configurable timeouts and connection limits.
All URIs are relative to https://api.elasticemail.com/v4, except if the operation defines another base path.
| Method | HTTP request | Description |
|---|---|---|
| eventsByTransactionidGet() | GET /events/{transactionid} | Load Email Events |
| eventsChannelsByNameExportPost() | POST /events/channels/{name}/export | Export Channel Events |
| eventsChannelsByNameGet() | GET /events/channels/{name} | Load Channel Events |
| eventsChannelsExportByIdStatusGet() | GET /events/channels/export/{id}/status | Check Channel Export Status |
| eventsExportByIdStatusGet() | GET /events/export/{id}/status | Check Export Status |
| eventsExportPost() | POST /events/export | Export Events |
| eventsGet() | GET /events | Load Events |
eventsByTransactionidGet()eventsByTransactionidGet($transactionid, $from, $to, $order_by, $limit, $offset): \ElasticEmail\Model\RecipientEvent[]
Load Email Events
Returns a log of delivery events for the specific transaction ID. Required Access Level: ViewReports
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$transactionid = TransactionID; // string | ID number of transaction
$from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format.
$to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format.
$order_by = new \ElasticEmail\Model\EventsOrderBy(); // \ElasticEmail\Model\EventsOrderBy
$limit = 100; // int | Maximum number of returned items.
$offset = 20; // int | How many items should be returned ahead.
try {
$result = $apiInstance->eventsByTransactionidGet($transactionid, $from, $to, $order_by, $limit, $offset);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsByTransactionidGet: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| transactionid | string | ID number of transaction | |
| from | \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| to | \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| order_by | \ElasticEmail\Model\EventsOrderBy | [optional] | |
| limit | int | Maximum number of returned items. | [optional] |
| offset | int | How many items should be returned ahead. | [optional] |
\ElasticEmail\Model\RecipientEvent[]
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsChannelsByNameExportPost()eventsChannelsByNameExportPost($name, $event_types, $from, $to, $file_format, $compression_format, $file_name): \ElasticEmail\Model\ExportLink
Export Channel Events
Export delivery events log information to the specified file format. Required Access Level: Export
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$name = Channel01; // string | Name of selected channel.
$event_types = array(new \ElasticEmail\Model\EventType()); // \ElasticEmail\Model\EventType[] | Types of Events to return
$from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format.
$to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format.
$file_format = new \ElasticEmail\Model\ExportFileFormats(); // \ElasticEmail\Model\ExportFileFormats | Format of the exported file
$compression_format = new \ElasticEmail\Model\CompressionFormat(); // \ElasticEmail\Model\CompressionFormat | FileResponse compression format. None or Zip.
$file_name = filename.txt; // string | Name of your file including extension.
try {
$result = $apiInstance->eventsChannelsByNameExportPost($name, $event_types, $from, $to, $file_format, $compression_format, $file_name);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsChannelsByNameExportPost: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| name | string | Name of selected channel. | |
| event_types | \ElasticEmail\Model\EventType[] | Types of Events to return | [optional] |
| from | \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| to | \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| file_format | \ElasticEmail\Model\ExportFileFormats | Format of the exported file | [optional] |
| compression_format | \ElasticEmail\Model\CompressionFormat | FileResponse compression format. None or Zip. | [optional] |
| file_name | string | Name of your file including extension. | [optional] |
\ElasticEmail\Model\ExportLink
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsChannelsByNameGet()eventsChannelsByNameGet($name, $event_types, $from, $to, $order_by, $limit, $offset): \ElasticEmail\Model\RecipientEvent[]
Load Channel Events
Returns a log of delivery events filtered by specified parameters. Required Access Level: ViewReports
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$name = Channel01; // string | Name of selected channel.
$event_types = array(new \ElasticEmail\Model\EventType()); // \ElasticEmail\Model\EventType[] | Types of Events to return
$from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format.
$to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format.
$order_by = new \ElasticEmail\Model\EventsOrderBy(); // \ElasticEmail\Model\EventsOrderBy
$limit = 56; // int | How many items to load. Maximum for this request is 1000 items
$offset = 20; // int | How many items should be returned ahead.
try {
$result = $apiInstance->eventsChannelsByNameGet($name, $event_types, $from, $to, $order_by, $limit, $offset);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsChannelsByNameGet: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| name | string | Name of selected channel. | |
| event_types | \ElasticEmail\Model\EventType[] | Types of Events to return | [optional] |
| from | \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| to | \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| order_by | \ElasticEmail\Model\EventsOrderBy | [optional] | |
| limit | int | How many items to load. Maximum for this request is 1000 items | [optional] |
| offset | int | How many items should be returned ahead. | [optional] |
\ElasticEmail\Model\RecipientEvent[]
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsChannelsExportByIdStatusGet()eventsChannelsExportByIdStatusGet($id): \ElasticEmail\Model\ExportStatus
Check Channel Export Status
Check the current status of the channel export. Required Access Level: Export
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$id = E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F; // string | ID of the exported file
try {
$result = $apiInstance->eventsChannelsExportByIdStatusGet($id);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsChannelsExportByIdStatusGet: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| id | string | ID of the exported file |
\ElasticEmail\Model\ExportStatus
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsExportByIdStatusGet()eventsExportByIdStatusGet($id): \ElasticEmail\Model\ExportStatus
Check Export Status
Check the current status of the export. Required Access Level: Export
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$id = E33EBA7A-C20D-4D3D-8F2F-5EEF42F58E6F; // string | ID of the exported file
try {
$result = $apiInstance->eventsExportByIdStatusGet($id);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsExportByIdStatusGet: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| id | string | ID of the exported file |
\ElasticEmail\Model\ExportStatus
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsExportPost()eventsExportPost($event_types, $from, $to, $file_format, $compression_format, $file_name): \ElasticEmail\Model\ExportLink
Export Events
Export delivery events log information to the specified file format. Required Access Level: Export
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$event_types = array(new \ElasticEmail\Model\EventType()); // \ElasticEmail\Model\EventType[] | Types of Events to return
$from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format.
$to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format.
$file_format = new \ElasticEmail\Model\ExportFileFormats(); // \ElasticEmail\Model\ExportFileFormats | Format of the exported file
$compression_format = new \ElasticEmail\Model\CompressionFormat(); // \ElasticEmail\Model\CompressionFormat | FileResponse compression format. None or Zip.
$file_name = filename.txt; // string | Name of your file including extension.
try {
$result = $apiInstance->eventsExportPost($event_types, $from, $to, $file_format, $compression_format, $file_name);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsExportPost: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| event_types | \ElasticEmail\Model\EventType[] | Types of Events to return | [optional] |
| from | \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| to | \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| file_format | \ElasticEmail\Model\ExportFileFormats | Format of the exported file | [optional] |
| compression_format | \ElasticEmail\Model\CompressionFormat | FileResponse compression format. None or Zip. | [optional] |
| file_name | string | Name of your file including extension. | [optional] |
\ElasticEmail\Model\ExportLink
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
eventsGet()eventsGet($event_types, $from, $to, $order_by, $limit, $offset): \ElasticEmail\Model\RecipientEvent[]
Load Events
Returns a log of delivery events filtered by specified parameters. Required Access Level: ViewReports
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: apikey
$config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKey('X-ElasticEmail-ApiKey', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = ElasticEmail\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-ElasticEmail-ApiKey', 'Bearer');
$apiInstance = new ElasticEmail\Api\EventsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$event_types = array(new \ElasticEmail\Model\EventType()); // \ElasticEmail\Model\EventType[] | Types of Events to return
$from = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format.
$to = new \DateTime('2013-10-20T19:20:30+01:00'); // \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format.
$order_by = new \ElasticEmail\Model\EventsOrderBy(); // \ElasticEmail\Model\EventsOrderBy
$limit = 56; // int | How many items to load. Maximum for this request is 1000 items
$offset = 20; // int | How many items should be returned ahead.
try {
$result = $apiInstance->eventsGet($event_types, $from, $to, $order_by, $limit, $offset);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling EventsApi->eventsGet: ', $e->getMessage(), PHP_EOL;
}
| Name | Type | Description | Notes |
|---|---|---|---|
| event_types | \ElasticEmail\Model\EventType[] | Types of Events to return | [optional] |
| from | \DateTime | Starting date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| to | \DateTime | Ending date for search in YYYY-MM-DDThh:mm:ss format. | [optional] |
| order_by | \ElasticEmail\Model\EventsOrderBy | [optional] | |
| limit | int | How many items to load. Maximum for this request is 1000 items | [optional] |
| offset | int | How many items should be returned ahead. | [optional] |
\ElasticEmail\Model\RecipientEvent[]
application/json[Back to top] [Back to API list] [Back to Model list] [Back to README]
How can I help you explore Laravel packages today?