The unofficial Laravel Package to work with the SendPortal APIs.
You can install the package via composer:
composer require stephenjude/laravel-sendportal
To start using this package, you need to add environment variables for:
SENDPORTAL_URL
- The url of your Sendportal account like this — https://sendportal.io/api/v1SENDPORTAL_TOKEN
- You can generate this from your SendPortal account.
The package will pick these up in its configuration and use these when it resolves an instance of the Client
.
This package can be used by using the SendPortal
facade or by injecting the SendPortal\Laravel\Http\Client
into a method to instantiate the client:
use SendPortal\Laravel\Contracts\ClientContract;
use SendPortal\Laravel\Facades\SendStack;
/**
* Without a Facade
*/
$client = app()->make(
abstract: ClientContract::class,
);
$client->subscribers()->all();
/**
* Using the Facade
*/
SendPortal::subscribers()->all();
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->all();
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->get(
subscriber: 1,
);
use SendPortal\Laravel\Facades\SendPortal;
use SendPortal\Laravel\Http\Requests\SubscriberRequest;
SendPortal::subscribers()->create(
request: new SubscriberRequest(
email: 'contact@sendportal.local', // Required
firstName: 'Send', // Optional
lastName: 'Portal', // Optional
tags: [
1,
2,
], // Optional
optOut: false, // Optional
),
);
use SendPortal\Laravel\Facades\SendPortal;
use SendPortal\Laravel\Http\Requests\SubscriberRequest;
SendPortal::subscribers()->update(
id: 1,
request: new SubscriberRequest(
email: 'contact@sendportal.local', // Required
firstName: 'Send', // Optional
lastName: 'Portal', // Optional
tags: [
1,
2,
], // Optional
optOut: false, // Optional
),
);
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->delete(
subscriberId: 1,
);
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->attachTag(
subscriberId: 1,
tagId: 1,
);
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->removeTag(
subscriberId: 1,
tagIds: [1, 2],
);
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::isActiveSubscriber(
subscriberId: 1,
);
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::tags()->all();
use SendPortal\Laravel\Facades\SendPortal;
use SendPortal\Laravel\Http\Requests\TagRequest;
SendPortal::tags()->create(
request: new TagRequest(
name: 'Test', // Required
subscribers: [1], // Optional
),
);
composer test
Please see CHANGELOG for more information on what has changed recently.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.