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

Материал из МойСклад
Перейти к: навигация, поиск

Содержание

Доступные REST-ресурсы

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

Назначение Метод Адрес Тело запроса Результат
Запрос объекта типа type с идентификатором id GET /ms/xml/{type}/{id} Отсутствует Код 200 и объект типа type, если объект найден, либо код 404 и пустой ответ, если объект не найден
Создание нового или обновление существующего объекта типа type PUT /ms/xml/{type} Объект типа type Объект типа type
Удаление DELETE /ms/xml/{type}/{id} Отсутствует Код 200 в случае успешного завершения операции и код 404, если объект типа type с идентификатором id не найден
Запрос списка объектов типа type GET /ms/xml/{type}/list Отсутствует Код 200 и коллекция объектов типа type
Обновление или создание объектов типа type PUT /ms/xml/{type}/list/update Коллекция объектов типа type Код 200 и коллекция идентификаторов созданных или обновленных объектов типа type
Удаление коллекции объектов типа type POST /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} на идентификатор объекта, если это необходимо для вызова данного сервиса.

Типы данных, доступные к обмену по REST

Допустимые значения для строки {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 безналичная выплата

Ограничения

Идентификаторы ограничены длиной 32 символа.

Большинство текстовых полей ограничено длиной 255 символов.

Поле 'Описание' (description) ограничено длиной 4096 символов.

Схема данных

Сервисы поддерживают обмен данными в формате XML, согласно схемы обмена данными сервиса МойСклад exchange-1.4.0-1.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

Обновления

Вы можете всегда увидеть описание последних изменений в API в специальном форуме - https://moysklad.zendesk.com/forums/20732298-api При необходимости Вы можете подписаться на рассылку новых статей из этого форума и получать информацию об обновлениях по почте.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты