plutolinks/loops

v0.1.0 2024-03-11 20:54 UTC

This package is auto-updated.

Last update: 2024-04-11 21:12:35 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;

API Reference

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

API Reference

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;

API Reference

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;

API Reference

Custom fields

$fields = $loops->contacts()->customFields();

You can access the properties of the response:

foreach ($fields as $field) {
    $field->key;
    $field->label;
    $field->type;
}

API Reference

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;

API Reference

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.

API Reference

Credits

License

The MIT License (MIT). Please see License File for more information.