Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

omnisend/php-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

13 Commits

Repository files navigation

Omnisend PHP-SDK

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

  1. Run these commands:
composer require omnisend/php-sdk
composer install
  1. 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 GET request.
  • push(endpoint, fields, queryParams) - makes POST request. If error occurs (resource exists in Omnisend) - makes PUT 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

  1. Create an instance with your API key and options (optional)
$omnisend = new Omnisend('your-api-key');
  1. 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月11日T10:29:43+00:00"
 )
);
  1. 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

About

Simple Omnisend API v3 wrapper in PHP.

Topics

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /