omnisend / php-sdk
Simple to use Omnisend API v3 wrapper
Installs: 190 743
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 14
Open Issues: 4
Requires
- php: >=5.3.0
- ext-curl: *
This package is auto-updated.
Last update: 2024-10-29 05:16:48 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:
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
GET
request. - push(endpoint, fields, queryParams) - makes
POST
request. If error occurs (resource exists in Omnisend) - makesPUT
request. This method can be used if you don't know if item exists in Omnisend.queryParams
- optional. - post(endpoint, fields, queryParams) - make
POST
request. 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
PUT
request. 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
PATCH
request. Used to update item in Omnisend. Will return an error if an item doesn't exists in Omnisend.queryParams
- optional. - delete(endpoint, queryParams) - make
DELETE
request. 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