laravel-sendportal maintained by stephenjude
Description
A Laravel Package to work with the SendPortal API
Author
Last update
2023/04/25 20:18
(dev-main)
License
Downloads
2 646
Tags
Laravel SendPortal SDK
The unofficial Laravel Package to work with the SendPortal APIs.
Installation
You can install the package via composer:
composer require stephenjude/laravel-sendportal
Set up
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.
Usage
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();
Getting a list of Subscribers
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->all();
Getting a single Subscriber
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->get(
subscriber: 1,
);
Creating a new Subscriber
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
),
);
Update a Subscriber
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
),
);
Deleting a Subscriber
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->delete(
subscriberId: 1,
);
Attaching a Tag to a Subscriber
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->attachTag(
subscriberId: 1,
tagId: 1,
);
Removing a Tag from a Subscriber
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::subscribers()->removeTag(
subscriberId: 1,
tagIds: [1, 2],
);
Checking if an email address is an Active Subscriber
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::isActiveSubscriber(
subscriberId: 1,
);
Getting all Tags
use SendPortal\Laravel\Facades\SendPortal;
SendPortal::tags()->all();
Creating a new Tag
use SendPortal\Laravel\Facades\SendPortal;
use SendPortal\Laravel\Http\Requests\TagRequest;
SendPortal::tags()->create(
request: new TagRequest(
name: 'Test', // Required
subscribers: [1], // Optional
),
);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.