plutolinks / loops
Installs: 1 370
Dependents: 1
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 2
Open Issues: 5
Requires
- php: ^8.1
- saloonphp/saloon: ^3.7
- thecodingmachine/safe: ^2.5
Requires (Dev)
- ergebnis/composer-normalize: ^2.42
- laravel/pint: ^1.14
- pestphp/pest: ^2.34
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- rector/rector: ^1.0
- spaze/phpstan-disallowed-calls: ^3.1
- thecodingmachine/phpstan-safe-rule: ^1.2
This package is auto-updated.
Last update: 2024-12-14 01:50:03 UTC
README
Introduction
The Loops PHP SDK provides an expressive interface for interacting with Loops's API.
Requirements
Requires PHP 8.1+
Installation
You may install Loops into your project using the Composer package manager:
composer require plutolinks/loops
Usage
You can create an instance of the SDK like so:
use PlutoLinks\Loops\Loops; $loops = Loops::client('<api-key>');
Contacts
Create a new contact
$response = $loops->contacts()->create([ 'email' => 'john@example.com', 'firstName' => 'John', ]);
You can access the properties of the response:
$response->success; $response->id; $response->message;
Retrieve a contact
$contact = $loops->contacts()->retrieve('john@example.com');
You can access the properties of the contact:
$contact->email; $contact->firstName; $contact->id; $contact->lastName; $contact->source; $contact->subscribed; $contact->userGroup; $contact->userId; $contact->favoriteColor; // Custom property
Update a contact
$response = $loops->contacts()->update('john@example.com', [ 'firstName' => 'John', ]);
You can access the properties of the response:
$response->success; $response->id; $response->message;
Delete a contact
$loops->contacts()->delete(email: 'john@example.com');
Alternatively, you can delete a contact by its userId:
$loops->contacts()->delete(userId: 'asdf');
You can access the properties of the response:
$response->message; $response->success;
Custom fields
$fields = $loops->contacts()->customFields();
You can access the properties of the response:
foreach ($fields as $field) { $field->key; $field->label; $field->type; }
Events
Send event
$response = $loops->events()->send( eventName: 'signup', email: 'john@example.com', properties: [ 'firstName' => 'John', ] );
You can access the properties of the response:
$response->success; $response->message;
Transactional emails
Send transactional email
$response = $loops->transactional()->send( transactionalId: 'asdf', email: 'john@example.com', dataVariables: [ 'url' => 'https://example.com', ], attachments: [ [ 'contentType' => 'application/pdf', 'data' => '/9j/4AAQSkZJRgABAQEASABIAAD/4...', 'filename' => 'file.pdf', ], ] );
You can access the properties of the response:
$response->success; $response->error; $response->message; $response->path; $response->transactionalId;
It's necessary to check for errors in different places due to the difference error responses from the Loops API.
Credits
License
The MIT License (MIT). Please see License File for more information.