8 800 250-04-32
+7 495 228-04-32

REST-сервис синхронизации данных

С помощью REST-сервиса синхронизации данных МойСклад может обмениваться с внешними сервисами любыми данными, хранящимися в базе данных компании-подписчика.

В приведенной ниже таблице описаны адреса REST-ресурсов и параметры для них:

НазначениеМетодАдресТело запросаРезультат
Запрос объекта типа type с идентификатором idGET/ms/xml/{type}/{id}ОтсутствуетКод 200 и объект типа type, если объект найден, либо код 404 и пустой ответ, если объект не найден.
Создание нового или обновление существующего объекта типа typePUT/ms/xml/{type}Объект типа typeОбъект типа type
УдалениеDELETE/ms/xml/{type}/{id}ОтсутствуетКод 200 в случае успешного завершения операции и код 404, если объект типа type с идентификатором id не найден.
Запрос списка объектов типа typeGET/ms/xml/{type}/listОтсутствуетКод 200 и коллекция объектов типа type
Обновление или создание объектов типа typePUT/ms/xml/{type}/list/updateКоллекция объектов типа typeКод 200 и коллекция идентификаторов созданных или обновленных объектов типа type
Удаление коллекции объектов типа typePOST/ms/xml/{type}/list/deleteколлекция идентификаторовКод 200

Для всех перечисленных сервисов базовым адресом является: https://online.moysklad.ru/exchange/rest

Например, адрес ресурса для получения (метод GET) или удаления (метод DELETE) приемки с идентификатором HHfndjsweuj6643nbf будет выглядеть так: https://online.moysklad.ru/exchange/rest/ms/xml/Supply/HHfndjsweuj6643nbf

В описании использованы подстановки в фигурных скобках. Для обращения к соответствующему сервису необходимо заменить строку вида {type} на название типа данных, а строку вида {id} на идентификатор объекта, если это необходимо для вызова данного сервиса.

Допустимые значения для строки {type}:

Справочники
Uomединица измерения
Goodтовар
GoodFolderпапка товаров и услуг
Serviceуслуга
Agentпапка контрагентов
Companyкомпания
MyCompanyорганизация
Personчастное лицо
Employeeсотрудник
Countryстрана
Consignmentсерия
Currencyвалюта
ProcessingPlanFolderпапка технологических карт
ProcessingPlanтехнологическая карта
Contractконтракт
Projectпроект
GtdГТД
Thingсерийный номер
LossReasonоснование списания
EnterReasonоснование оприходования
CustomEntityэлемент пользовательского справочника
Документы
Supplyприемка
Demandотгрузка
Lossсписание
Enterоприходование
SalesReturnвозврат покупателя
PurchaseReturnвозврат поставщику
CustomerOrderзаказ покупателя
PurchaseOrderзаказ поставщику
InternalOrderвнутренний заказ
ProcessingOrderзаказ на технологическую операцию
Processingтехнологическая операция
Moveперемещение
Inventoryинвентаризация
CashInкассовый приход
CashOutкассовая выплата
PaymentInбезналичный приход
PaymentOutбезналичная выплата

Сервисы поддерживают обмен данными в формате XML, согласно схемы обмена данными сервиса МойСклад exchange-1.3.0.xsd.

Коллекции объектов и идентификаторов должны передаваться в теге <collection></collection>. Например:

<?xml version="1.0" encoding="UTF-8"?>
<collection>
<id>8f3m688db546</id>
<id>22h346snfrfr</id>
</collection>

При запросе коллекций объектов может применяться фильтрация данных. Описание параметров фильтрации располагается на странице: Фильтрация данных в REST-сервисе.

Для работы с перечисленными сервисами требуется BASIC-авторизация. Пользователь, с именем и паролем которого будет происходить обращение к сервису, должен быть наделен правами на работу в административном разделе обмена данными. Для этого необходимо внести пользователя в стандартную группу "Возможность производить обмен данными".

Кириллическое имя пользователя и пароль при входе с BASIC-авторизацией работать не будут, так как в этом случае UTF-8 строка с именем и паролем интерпретируются как ASCII. Чтобы обойти это ограничение BASIC-авторизации, вы можете использовать вместо имени пользователя почтовый адрес, указанный при регистрации учетной записи. Если почтовый адрес указан в более чем одной учетной записи пользователя, то в качестве логина его использовать уже нельзя.

Пример загрузки заказа покупателя через REST API