Skip to content

The Loops PHP SDK provides an expressive interface for interacting with Loops's API.

License

Notifications You must be signed in to change notification settings

plutolinks/loops-php

Repository files navigation

Loops PHP

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.

About

The Loops PHP SDK provides an expressive interface for interacting with Loops's API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages