PHPackages                             jzpeepz/adestra - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. jzpeepz/adestra

ActiveLibrary[API Development](/categories/api)

jzpeepz/adestra
===============

Laravel wrapper for the Adestra API

1.2.8(6y ago)52.0k4MITPHP

Since Nov 28Pushed 6y ago1 watchersCompare

[ Source](https://github.com/jzpeepz/adestra)[ Packagist](https://packagist.org/packages/jzpeepz/adestra)[ RSS](/packages/jzpeepz-adestra/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (11)Used By (0)

Installation
------------

[](#installation)

Install via Composer:

`composer require jzpeepz/adestra`

Include the service provider in your `config/app.php`:

`Jzpeepz\Adestra\AdestraServiceProvider::class`

Publish the Adestra config file:

`php artisan vendor:publish --tag=adestra`

Configuration
-------------

[](#configuration)

Below are descriptions of the configuration values found in the the adestra.php config file.

`account` This is the account name found on the login screen.

`username` This is your username.

`password` This is your password.

`core_table_id` This is the id of the core table where your contacts are stored.

`list_id` Optional. This is just a nice place to store your main list id.

Contacts
--------

[](#contacts)

### Subscribe a contact to a list

[](#subscribe-a-contact-to-a-list)

```
$list_id = 15;
$contact = AdestraContact::make(['email' => 'me@emailplace.com']);
$result = $contact->subscribe($list_id);

```

### Unsubscribe a contact from a list

[](#unsubscribe-a-contact-from-a-list)

```
$list_id = 15;
$contact = AdestraContact::make(['email' => 'me@emailplace.com']);
$result = $contact->unsubscribe($list_id);

```

### Get a contact's list ids

[](#get-a-contacts-list-ids)

Returns an array of ids of the lists a contact is on.

```
$lists = AdestraContact::make(['email' => 'me@emailplace.com'])
			->lists();

```

Campaigns
---------

[](#campaigns)

### Create a new campaign

[](#create-a-new-campaign)

```
$campaign = AdestraCampaign::make([
				'name' => 'My Campaign',
				'description' => 'My New Campaign',
				'project_id' => 31,
				'list_id' => $list_id,
			])
			->create();

```

### Find an existing campaign

[](#find-an-existing-campaign)

```
$campaign = AdestraCampaign::find($campaign_id);

```

### Update an existing campaign

[](#update-an-existing-campaign)

```
$campaign = $campaign->update([
				'name' => 'My Campaign',
				'description' => 'My New Campaign',
				'project_id' => 31,
				'list_id' => $list_id,
			]);

```

### Set campaign options

[](#set-campaign-options)

```
$campaign->setAllOptions([
				'subject_line' => 'My Subject',
				'domain' => 'email.mydomain.com',
				'from_prefix' => 'mail',
				'from_name' => 'My Company',
				'auto_tracking' => 1,
				'user_from' => 1,
				'from_address' => 'me@emailplace.com',
			]);

```

### Set campaign HTML and text

[](#set-campaign-html-and-text)

HTML: `$campaign->setMessage('html', $html);`

Text: `$campaign->setMessage('text', $text);`

### Publish a campaign

[](#publish-a-campaign)

```
$campaign->publish();

```

### Send a test of a campaign

[](#send-a-test-of-a-campaign)

```
$campaign->sendTest('me@emailplace.com');

```

This also allows for a comma separated list:

```
$campaign->sendTest('me@emailplace.com,you@emailplace.com');

```

### Launch a campaign

[](#launch-a-campaign)

```
$campaign->launch([
				'launch_label' => 'My Launch',
				'date_scheduled' => date('c'),
			]);

```

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~103 days

Recently: every ~232 days

Total

10

Last Release

2526d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/14534?v=4)[Jonathan Peoples](/maintainers/jzpeepz)[@jzpeepz](https://github.com/jzpeepz)

---

Top Contributors

[![jzpeepz](https://avatars.githubusercontent.com/u/14534?v=4)](https://github.com/jzpeepz "jzpeepz (4 commits)")

### Embed Badge

![Health badge](/badges/jzpeepz-adestra/health.svg)

```
[![Health](https://phpackages.com/badges/jzpeepz-adestra/health.svg)](https://phpackages.com/packages/jzpeepz-adestra)
```

###  Alternatives

[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[facebook/php-business-sdk

PHP SDK for Facebook Business

90821.9M34](/packages/facebook-php-business-sdk)[hubspot/api-client

Hubspot API client

23914.2M16](/packages/hubspot-api-client)[bsobbe/ithenticate

A library to use Ithenticate API easier and faster, to check and prevent plagiarism

2211.9k](/packages/bsobbe-ithenticate)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
