drewm / drip
PHP library for interacting with the Drip API
Installs: 110 602
Dependents: 1
Suggesters: 0
Security: 0
Stars: 19
Watchers: 4
Forks: 5
Open Issues: 0
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: 7.5.*
README
PHP library for making token-based API requests against Drip.
Install
Either download and include, or install via Composer:
composer require drewm/drip
Make a simple request
Create a new Drip object with
- Your user's API token (Settings > My User Settings > API Token)
- Your numeric account ID (Log into the Drip dashboard and it's the first segment in your URL)
use DrewM\Drip\Drip; use DrewM\Drip\Dataset; $Drip = new Drip('abc123', '1234567')
Create a new subscriber:
$data = new Dataset('subscribers', [ 'email' => 'postmaster@example.com', ]); $Response = $Drip->post('subscribers', $data);
List all subscribers:
$Response = $Drip->get('subscribers');
To request a method without an account ID in the URL, (e.g. list accounts) :
$Drip = new Drip('abc123'); $Response = $Drip->getGlobal('accounts');
To then subsequently set an account ID:
$Drip->setAccountID('1234567');
Handling responses
Methods return a Response object
if ($Response->status == 200) { // all is ok! $subscribers = $Response->subscribers; } else { echo $Response->error; echo $Response->message; }
Get the raw response:
$raw = $Response->get();
Webhooks
You can listen for webhooks in a couple of ways. The most basic is:
use DrewM\Drip\Drip; $data = Drip::receiveWebhook();
If you prefer a pub/sub model, you can register listener callables:
use DrewM\Drip\Drip; Drip::subscribeToWebhook('subscriber.created', function($data){ // A subscriber was created }); Drip::subscribeToWebhook('subscriber.subscribed_to_campaign', function($data){ // A subscriber was added to a campaign });