Need help with SendyPHP?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

JacobBennett
133 Stars 38 Forks MIT License 84 Commits 5 Opened issues

Description

A PHP class built to interface with the Sendy API

Services available

!
?

Need anything else?

Contributors list

# 119,703
PHP
Laravel
stripe
gists
34 commits
# 170,337
PHP
Objecti...
React
Twitch
6 commits
# 67,436
PHP
es8
HTML
cloudwa...
5 commits
# 199,433
PHP
HTML
React
redux-f...
4 commits
# 243,548
PHP
oauth2-...
oauth2
oauth
4 commits
# 730,688
PHP
1 commit
# 563,833
PHP
Shell
imap
1 commit
# 327,266
PHP
Symfony
JavaScr...
datatab...
1 commit
# 31,686
CSS
React
videojs
flash
1 commit
# 1,463
image-f...
assembl...
netfram...
residua...
1 commit
# 154,998
PHP
Shell
doctrin...
CSS
1 commit
# 249,876
compose...
Compose...
cleaner
CSS
1 commit

SendyPHP

Latest Version on Packagist Total Downloads

A PHP class built to interface with the Sendy API (http://sendy.co)

Installation

Using Composer

Begin by installing this package through Composer. Edit your project's

composer.json
file to require
jacobbennett/sendyphp
.
"require": {
    "jacobbennett/sendyphp": "1.3.*"
}

Next, update Composer from the Terminal:

composer update

Non-Composer Installation

  • Grab the
    src/SendyPHP.php
    file and place it into your file structure.
  • Require SendyPHP in the location you would like to utilize it.
    require('SendyPHP.php');

Usage

Create an instance of the class while passing in an array including your API key, installation URL, and the List ID you wish to work with. ```php

$config = array(
    'api_key' => 'yourapiKEYHERE', //your API key is available in Settings
    'installation_url' => 'http://updates.mydomain.com',  //Your Sendy installation
    'list_id' => 'your_list_id_goes_here'
);

$sendy = new \SendyPHP\SendyPHP($config);

//you can change the list_id you are referring to at any point $sendy->setListId("a_different_list_id");

Methods

After creating a new instance of SendyPHP call any of the methods below

Return Values

The return value of any of these functions will include both a status, and a message to go with that status.

The status is a boolean value of true or false and the message will vary based on the type of action being performed.

```php //example of a succesful return value array( 'status'=>true, 'message'=>'Already Subscribed' )

//example of a UNsuccesful return value
array(
    'status'=>false,
    'message'=>'Some fields are missing.'
)

I have commented and organized the code so as to be readable, if you have further questions on the status or messages being returned, please refer to the library comments.

subscribe(array $values)

This method takes an array of

$values
and will attempt to add the
$values
into the list specified in
$list_id
    $results = $sendy->subscribe(array(
        'name'=>'Jim',
        'email' => '[email protected]', //this is the only field required by sendy
        'customfield1' => 'customValue'
    ));

Note: Be sure to add any custom fields to the list in Sendy before utilizing them inside this library. Another Note: If a user is already subscribed to the list, the library will return a status of

true
. Feel free to edit the code to meet your needs.

unsubscribe($email)

Unsubscribes the provided e-mail address (if it exists) from the current list.

php
    $results = $sendy->unsubscribe('[email protected]');

substatus($email)

Returns the status of the user with the provided e-mail address (if it exists) in the current list.

php
    $results = $sendy->substatus('[email protected]');
Note: refer to the code or see http://sendy.co/api for the types of return messages you can expect.

subcount()

Returns the number of subscribers to the current list.

php
    $results = $sendy->subcount();

createCampaign(array $values)

This method takes an array of

$values
and will creates a campaign (with an option to send it too).
php
    $results = $sendy->createCampaign(array(
        'from_name' => 'Some Name',
        'from_email' => '[email protected]',
        'reply_to' => '[email protected]',
        'subject' => 'Some Subject',
        'plain_text' => 'Amazing campaign', // (optional).
        'html_text' => '

Amazing campaign

', 'list_ids' => 'your_list_id', // Required only if you set send_campaign to 1. 'brand_id' => 0, // Required only if you are creating a 'Draft' campaign. 'query_string' => 'some', // eg. Google Analytics tags. 'send_campaign' => 0 // Set to 1 if you want to send the campaign as well and not just create a draft. Default is 0. ));

setListId($list_id) and getListId()

Change or get the list you are currently working with. ```php

//set or switch the list id
$sendy->setListId('another_list_id');

//get the current list id echo $sendy->getListId();

Unit tests

All unit tests are located under src/test directory. To run the tests type in the below from the project root.

```shell php vendor/bin/phpunit src/test/SendyPHPTest.php

Ensure that the API keys are setup for testing : ```php

    $config = [
        'api_key' => 'xxx', //your API key is available in Settings
        'installation_url' => 'http://my.sendy.installation.com',  //Your Sendy installation
        'list_id' => 'xxx'// List ID
    ];

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.