Download the PHP package ktscript/moysklad without Composer
On this page you can find all versions of the php package ktscript/moysklad. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ktscript/moysklad
More information about ktscript/moysklad
Files in ktscript/moysklad
Package moysklad
Short Description PHP SDK MoySklad API 1.2 AddOn
License MIT
Homepage https://github.com/ktscript/moysklad
Informations about the package moysklad
PHP SDK Moysklad API 1.2 AddOn
Введение:
Данная библиотека предназначена для удобной работы с API Remap версии 1.2 МоегоСклада. Она содержит набор функций, позволяющий совершать базовые операции над сущностями (создание, чтение, изменение, удаление).
Установка
composer require ktscript/moysklad
composer dump-autoload
Пример работы
1. Начало работы
Основной класс, посредством которого осуществляется работа с SDK: MoySklad\ApiClient
.
Для того, чтобы начать работу, требуется создать экземпляр этого класса, передав в конструктор поля:
- адрес хоста API (
online.moysklad.ru
) - флаг принудительного соединения по https
- логин в формате [имя пользователя]@[название компании] и пароль или готовый token для доступа к API:
2. Работа с сущностями
2.1. Получение сущностей
Для доступа к эндпоинтам отдельных сущностей используется метод ApiClient->entity()
,
который возвращает базовый клиент для сущностей.
Этот объект позволяет получить клиент для работы с конкретной сущностью.
Например, чтобы получить список всех контрагентов или одного контрагента, достаточно выполнить следующий код:
Список возможных фильтров:
- EntityFilter - фильтр по сущности, можно назначить нескольким полям
- Limit - лимит для пагинации, максимальное значение 1000
- Offset - позиция начала отображения
- Order - сортировка, может быть назначена по нескольким полям
- Search - фильтр поиска, который принимает только значение
- StandardFilter - стандартный фильтр поле|значение, можно назначить нескольким полям Работа с фильтрами:
Массив фильтров передается аргументом при вызове методов клиентов сущностей, там где это возможно.
2.2. Создание сущностей
Чтобы отправить запрос к API на создание сущности, достаточно создать объект класса, заполнить необходимые поля,
и затем при помощи соответствующего клиента вызвать метод create()
, передав в качестве параметра созданный объект:
После выполнения кода и при успешном создании вернется объект product, с заполенными полями, полученными из ответа API (id
, href
и др.).
2.3. Изменение сущностей
Для изменения уже созданной сущности используются метод editById()
или editByEntity()
клиента сущности:
2.4. Вложенные сущности
Работа с вложенными сущностями производится при помощи специальных методов клиентов сущностей. Например, метод получения аккаунтов или аккаунта контрагента:
Полностью аналогично производится работа с остальными методами.
В некоторых сущностях имеются свойства - вложенные сущности (например у контрагента есть полный адрес),
такие вложенные сущности, как полный адрес, при ответе с API заполняются только метаданными,
для того чтобы заполнить ее основные свойства необходимо вызвать метод fetch()
:
Метод fetch()
есть у каждой сущности, его можно использовать и для простого обновления сущности.
Дальнейшее знакомство
Список доступных методов и сущностей, а также накладываемые ограничения по работе с API можно узнать в Moysklad API 1.2 Doc
Перечень изменений :
2022-09-08: Добавлена возможность работы с Заявками поставщика (purchaseorder) пример работы:
2022-09-20: Добавлена возможность выборки единого варианта, метод first() пример работы:
где name - полe по которому осуществляется выборка, можно указывать любые желаемые (code, id и т.д.)
-Заменен вариант обращения по части заявок поставщику, productEnter() заменен на enter(), чтобы логика не отличалась от документации Мой Склад.
2022-09-24: -Устранены проблемы срабатывания исключания jms на пустые поля.
2022-09-25: Добавлен метод fill() пример работы:
2022-09-26: Добавлена сущность supply (приемка) пример работы:
2023-05-14: Добавлены эндпоинты
2023-12-20: актуализировано api
2024-04-26: Добавлена сущность demand (отгрузка) пример работы:
2024-06-25: актуализировано api в части авторизации
2024-07-17: добавлены сущности Processing, ProcessingMaterial, ProcessingPlan, ProcessingPlanFolder, ProcessingPlanMaterial, ProcessingPlanProduct, ProcessingPlanStage, ProcessingProcess, ProductionTask, ProductionTaskPosition, ProductionTaskProduct и клиенты для работы с ними
2024-07-17: доработан сериализатор
2024-07-23: добавлены сущности ProcessingOrder, ProcessingOrderPosition и клиенты для работы с ними
All versions of moysklad with dependencies
guzzlehttp/guzzle Version ^7.0
ext-json Version *
jms/serializer Version ^3.10
doctrine/annotations Version ^1.11
yogarine/doctrine-annotation-autoload Version ^0.3.0