webmasterskaya/php-unisender-api

dev-master 2024-02-28 15:38 UTC

This package is auto-updated.

Last update: 2024-04-28 16:06:12 UTC


README

PHP API для интеграции сервиса для рассылок Unisender по API. Интеграция с Unisender API значительно упрощает решение задач по email-маркетингу, позволяет полностью абстрагироваться от сетевого уровня и работать непосредственно с методами API.

Unisender API — это специальный интерфейс для разработчиков, который позволяет интегрировать возможности электронной рассылки практически с любым открытым веб-сервисом.

API для массовых email-рассылок позволяет управлять списками контактов, создавать и отправлять разные типы сообщений, смотреть статистику, а также предоставляет возможности для работы партнеров.

Пользоваться API можно бесплатно на любом аккаунте. Чтобы получить доступ к API для email-рассылок нужен ключ, который можно скопировать в личном кабинете.

DISCLAIMER

Сколько решений для работы с http api вы знаете? Можно бесконечно перечислять библиотеки, которые делают одно и то же: guzzlehttp/guzzle, php-http/curl-client, symfony/http-client, laminas/laminas-http и ещё десятки других!

А какое из них используете вы? А какое используют зависимости вашего проекта? Сколько библиотек, для реализации одного и того же PSR вы тянете в свой проект?

В отличие от большинства решений в интернете, эта библиотека не принуждает вас к использованию какой-либо конкретной реализации PSR-18, что делает её гораздо более гибкой и упрощает интеграцию в любое приложение.

Перед началом работы

  • Требуется PHP 7.4 или выше.
  • Требуется наличие реализации PSR-18 (HTTP Client).

В SDK применяется спецификация PSR-18 (HTTP-client). Это значит, что в вашем проекте должны быть зарегистрированы классы, реализующие эту спецификацию (например, Guzzle).

Для автоматического обнаружения зависимостей используются пакеты psr-discovery. Подробнее, об автоматическом обнаружении зависимостей

Установка

Установка осуществляется с помощью пакетного менеджера Composer

composer require webmasterskaya/php-unisender-api

Инициализация

Для начала работы, создайте экземпляр клиента:

$client = new \Webmasterskaya\Unisender\Client(string $api_key[, ?array $options]);

Параметры:

  • api_key (string): API-ключ к вашему кабинету. Получить ключ можно в личном кабинете.
  • options (array): массив с настройками клиента. Опциональное. По-умолчанию - пустой массив. Допустимые поля:
    • lang (string): язык сообщений сервера API (в данный момент поддерживается ru, en, ua). По-умолчанию - ru.

Названия методов SDK совпадает с методами API, которые описаны в документации.

Доступные методы

Автоматическое обнаружение зависимостей

Ознакомиться со списком автоматически обнаруживаемых библиотек можно по ссылкам ниже:

Если в списке автоматического обнаружения нет библиотеки, используемой на вашем проекте, то её нужно зарегистрировать самостоятельно. Подробнее, о ручной регистрации зависимостей

Ручная регистрация зависимостей

Пример регистрации HttpClient в Bitrix

\PsrDiscovery\Implementations\Psr18\Clients::add(
    \PsrDiscovery\Entities\CandidateEntity::create(
        'bitrix/main',
        '~23',
        static function (string $class = '\Bitrix\Main\Web\HttpClient') {
            return new $class;
        }
    )
);

Пример регистрации HttpClient в Joomla

\PsrDiscovery\Implementations\Psr18\Clients::add(
    \PsrDiscovery\Entities\CandidateEntity::create(
        'joomla/http',
        '~3',
        static function (string $class = '\Joomla\Http\Http') {
            return new $class;
        }
    )
);