Основной класс для взаимодействия с API - Evgeek\Moysklad\MoySklad
. В минимальной конфигурации ему требуется только массив с credentials
.
use Evgeek\Moysklad\MoySklad;
use Evgeek\Moysklad\Formatters\ArrayFormat;
use Evgeek\Moysklad\Http\GuzzleSenderFactory;
//Минимум
$ms = new MoySklad(['token']);
//С подробностями
$ms = new MoySklad(
credentials: ['login', 'password'],
formatter: new ArrayFormat(),
requestSenderFactory: new GuzzleSenderFactory(
retries: 3,
exceptionTruncateAt: 4000
)
);
Массив, содержащий либо токен, либо логин и пароль.
Объект, преобразующий json-строку ответа от API в нужный формат, и наоборот - передаваемый payload в json-строку. Должен реализовывать \Evgeek\Moysklad\Formatters\JsonFormatterInterface
. Встроенные форматтеры - StdClassFormat
(по умолчанию), ArrayFormat
, StringFormat
и RecordFormat
. Все встроенные форматтеры могут принимать в качестве payload stdClass
, array
, string
и Record
.
Подробности о работе форматтеров находятся в соответствующем разделе документации.
Фабрика, создающая объект для отправки HTTP запросов. Библиотека для этих целей использует Guzzle. Фабрика внедряется через простой PSR-7
совместимый интерфейс Evgeek\Moysklad\Http\RequestSenderFactoryInterface
, поэтому не составит труда как просто настроить клиент Guzzle под свои предпочтения, так и реализовать собственный способ отправки.
Библиотека содержит встроенную фабрику GuzzleSenderFactory()
, принимающую следующие аргументы:
retries
- количество повторных попыток отправки запроса в случае неудачи. По умолчанию 0 (одна отправка, без повторных попыток). Задержка между повторами экспоненциальна.exceptionTruncateAt
- максимальный размер сообщения об ошибке. Значение Guzzle по умолчанию - 120 символов, чего во многих ситуациях недостаточно.requestOptions
- массив c Guzzle Request Options, можно задать, например,connect_timeout
иtimeout
- | Оглавление | Взаимодействие с API >> |
---|