Download the PHP package andrey-tech/sendpulse-api-php without Composer

On this page you can find all versions of the php package andrey-tech/sendpulse-api-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sendpulse-api-php

SendPulse API PHP Wrapper


Latest Stable Version Total Downloads License

Простая обертка на PHP7+ для работы с REST API сервиса SendPulse с троттлингом запросов, выводом отладочной информации в STDOUT и логированием в файл.

Содержание

Требования

Установка

Установка через composer:

или добавить

в секцию require файла composer.json.

Класс SendPulseAPI

Для работы с REST API SendPulse используется класс \App\SendPulse\SendPulseAPI.
При возникновении ошибок выбрасывается исключение класса \App\SendPulse\SendPulseAPIException.
В настоящее в классе частично реализованы методы для работы со следующими сервисами SendPulse:

Авторизация пользователя

Методы для авторизации пользователя находится в трейте \App\SendPulse\Auth:

Получение нового токена, по истечении его срока действия, происходит автоматически, когда в ответ на запрос к API SendPulse возвращается ответ с HTTP-статусом 401 Unauthorized.

Хранение токена

Сохранение и загрузка токена выполняется с помощью классов, реализующих интерфейс \App\SendPulse\TokenStorage\TokenStorageInterface.

Интерфейс TokenStorageInterface

Интерфейс \App\SendPulse\TokenStorage\TokenStorageInterface определяет два метода:

Класс TokenStorage

По умолчанию для сохранения и загрузки токенов используется класс \App\SendPulse\TokenStorage\TokenStorage, который хранит токены в отдельных файлах для каждого сочетания $clientId и $clientSecret, использованного при авторизации в методе auth(). Класс реализует интерфейс \App\SendPulse\TokenStorage\TokenStorageInterface и содержит собственные методы:

Дополнительные параметры устанавливаются через публичные свойства класса \App\SendPulse\TokenStorage\TokenStorage:

Свойство По умолчанию Описание
$mkdirMode 0755 Устанавливает режим доступа для создаваемого каталога файлов с токенами

При возникновении ошибок выбрасыватся исключение класса \App\SendPulse\TokenStorage\TokenStorageException.

Использование собственного класса для сохранения токенов

Пример использования собственного класса для сохранения токенов в базе данных:

Структура собственного класса \App\SendPulse\TokenStorage\DatabaseStorage:

Методы для работы с адресными книгами

Методы для работы с адресными книгами находятся в трейте \App\SendPulse\Addressbooks:

Примеры работы с адресными книгами:

Методы для работы с кампаниями

Методы для работы с кампаниями находятся в трейте \App\SendPulse\Campaigns:

Примеры работы с кампаниями:

Методы для работы с шаблонами

Методы для работы с шаблонами находятся в трейте \App\SendPulse\Templates:

Примеры работы с шаблонами:

Методы для работы с SMTP сервисом

Методы для работы с SMTP сервисом находятся в трейте \App\SendPulse\Smtp:

Примеры работы с SMTP сервисом:

Вспомогательные методы класса

Примеры использования вспомогательных методов:

Вспомогательные классы

Класс HTTP

Класс \App\HTTP\HTTP обеспечивает:

При возникновении ошибок выбрасывается исключение с объектом класса \App\HTTP\HTTPException.

Дополнительные параметры

Дополнительные параметры устанавливаются через публичные свойства объекта класса \App\HTTP\HTTP:

Свойство По умолчанию Описание
$debugLevel \App\HTTP\HTTP::DEBUG_NONE Устанавливает уровень вывода отладочной информации о запросах в STDOUT (битовая маска, составляемая из значений DEBUG_NONE, DEBUG_URL, DEBUG_HEADERS, DEBUG_CONTENT)
$throttle 0 Максимальное число HTTP запросов в секунду (0 - троттлинг отключен)
$addBOM false Добавлять маркер ВОМ UTF-8 (EFBBBF) к запросам в формате JSON
$useCookies false Использовать cookies в запросах
$cookieFile 'temp/cookies.txt' Путь к файлу для хранения cookies
$verifySSLCertificate true Включить проверку SSL/TLS-сертификата сервера
$SSLCertificateFile 'cacert.pem' Устанавливает файл SSL/TLS-сертификатов X.509 корневых удостоверяющих центров (CA) в формате РЕМ (установка в null означает использовать файл, указанный в параметре curl.cainfo файла php.ini)
$userAgent 'HTTP-client/3.x.x' Устанавливает НТТР заголовок UserAgent в запросах
$curlConnectTimeout 60 Устанавливает таймаут соединения, секунды
$curlTimeout 60 Устанавливает таймаут обмена данными, секунды
$successStatusCodes [ 200 ] Коды статуса НТТР, соответствующие успешному выполнению запроса

Пример использования класса

Примеры отладочных сообщений

Класс DebugLogger

Класс \App\DebugLogger\DebugLogger обеспечивает логирование запросов и ответов к API SendPulse в файл.
При возникновении ошибок выбрасывается исключение с объектом класса \App\DebugLogger\DebugLoggerException.

Методы класса

Дополнительные параметры

Дополнительные параметры устанавливаются через публичные свойства класса \App\DebugLogger\DebugLogger:

Нестатическое свойство По умолчанию Описание
$isActive false Включает или выключает логирование для конкретного файла, задаваемого параметром $logFileName метода instance()
Статическое свойство По умолчанию Описание
$logFileDir temp/ Устанавливает каталог, в котором сохраняются лог-файлы
mkdirMode 0755 Устанавливает режим доступа для создаваемых каталогов для хранения лог файлов в виде восьмеричного числа
$uniqIdLength 7 Длина уникального буквенно-цифрового [a-z0-9]+ идентификатора объекта класса DebugLogger для сохранения в лог файле, позволяющего находить записи, созданные одним и тем же процессом

Пример использования класса

Пример результатов логирования

Формат заголовков лога

Автор

© 2020-2021 andrey-tech

Лицензия

Данный код распространяется на условиях лицензии MIT.


All versions of sendpulse-api-php with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
ext-curl Version *
ext-json Version *
andrey-tech/http-client-php Version ^3.0
andrey-tech/debug-logger-php Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package andrey-tech/sendpulse-api-php contains the following files

Loading the files please wait ....