omnisend / php-sdk
Simple to use Omnisend API v3 wrapper
Installs: 225 106
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 14
Open Issues: 4
pkg:composer/omnisend/php-sdk
Requires
- php: >=5.3.0
- ext-curl: *
This package is auto-updated.
Last update: 2025-03-29 00:35:56 UTC
README
Simple Omnisend API v3 wrapper in PHP.
Omnisend API v3 documentation can be found here.
Requires PHP > 5.3, cURL or allow_url_fopen to be enabled.
Installation
You can install Omnisend PHP-SDK by either using Composer either by downloading and including it manually.
Install using a composer
- Run these commands:
composer require omnisend/php-sdk
composer install
- Add the autoloader to your application:
require_once("vendor/autoload.php");
Note: check and correct, if needed, "vendor/autoload.php" path.
Install manually
Download the Omnisend.php file and include it manually:
require_once('Omnisend.php');
Note: check and correct if needed "Omnisend.php" path.
Available methods & options
Creating instance with your API Key and options (optional)
$options = array( 'timeout' => 30, 'verifySSL' => false ); $omnisend = new Omnisend('API-KEY', $options);
Available options:
| Name | Type | Description |
|---|---|---|
| timeout | int | Timeout. If not passed - will be calculated depending on PHP max_execution_time |
| verifySSL | bool | Default - true. Enable (true) or disable (false) SSL verification. |
Available methods
endpoint - endpoint url (ex. 'contacts', 'products/prod123'). See documentation for available endpoints.
queryParams - array of query parameters
fields - array of fields
- getSnippet() - returns html snippet code
- get(endpoint, queryParams) - make
GETrequest. - push(endpoint, fields, queryParams) - makes
POSTrequest. If error occurs (resource exists in Omnisend) - makesPUTrequest. This method can be used if you don't know if item exists in Omnisend.queryParams- optional. - post(endpoint, fields, queryParams) - make
POSTrequest. Used to create new item in Omnisend. Will return an error if an item already exists in Omnisend.queryParams- optional. - put(endpoint, fields, queryParams) - make
PUTrequest. Used to replace item in Omnisend. Will return an error if an item doesn't exists in Omnisend.queryParams- optional. - patch(endpoint, fields, queryParams) - make
PATCHrequest. Used to update item in Omnisend. Will return an error if an item doesn't exists in Omnisend.queryParams- optional. - delete(endpoint, queryParams) - make
DELETErequest. Used to delete item in Omnisend. Will return an error if an item doesn't exists in Omnisend.queryParams- optional.
Responses
Each method will return false in case of an error, array (see documentation for responses) or true (for empty body (204) responses) in case of a success.
So you can easily check if a request was successful:
$cart = $omnisend->delete('carts/cart-123'); if ($cart) { //request was successful } else { //there was an error }
In case of a failed request, you can get an error description with lastError():
var_dump($omnisend->lastError());
Output will be an array with:
- error - error description
- statusCode - HTTP response status code
- fields - optional - array of missing required, incorrect or incorrectly formatted
fields(passed with a request)
Example:
array {
["error"]=> "2 error(s) found. Check 'fields' array for details."
["statusCode"]=> 400
["fields"]=>
array {
[0]=>
array {
[0]=> "cartSum: field required but not found in Json"
}
[1]=>
array {
[0]=> "currency: field required but not found in Json"
}
}
}
Examples
- Create an instance with your API key and options (optional)
$omnisend = new Omnisend('your-api-key');
- Make a request, for example, create a new contact in Omnisend:
$contacts = $omnisend->post( 'contacts', array( "email" => "vanessa.kensington@example.com", "firstName" => "Vanessa", "lastName" => "Kensington", "status" => "subscribed", "statusDate" => "2018-12-11T10:29:43+00:00" ) );
- Check if a request was successful:
if ($contacts) { //request was successful //print response print_r($contacts); //get contactID from response $contactID = $contacts['contactID']; } else { //there was an error print_r($omnisend->lastError()); }
See more examples in examples/examples.php