Рассмотрим подробнее задачу подключения конфигурации на базе 1С к маркетплейсу «Эпицентр» через API. Разработчики часто сталкиваются с проблемой, когда при попытке отправить запрос (например, на получение списка категорий) сервер возвращает ошибку {"message":"No route configured"} или статус ответа 404. Проанализируем ситуацию и выясним причину, а также разберем по шагам правильную реализацию HTTP-запроса и особенности работы с данным API.
В исходном варианте ошибка возникает из-за неверного формирования URL-адреса и параметров самого запроса. Для отправки корректного GET-запроса к защищенному ресурсу необходимо правильно настроить HTTPСоединение с использованием ЗащищенноеСоединениеOpenSSL и передать необходимые заголовки авторизации.
Посмотрим на пример полностью рабочего кода для получения списка категорий:
Сайт = "api.epicentrm.com.ua";
Адрес = "v2/pim/categories?filter%5BhasChild%5D=false";
// Создаем защищенное соединение
Соединение = Новый HTTPСоединение(Сайт,,,,,, Новый ЗащищенноеСоединениеOpenSSL());
// Формируем заголовки
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "Bearer ВАШ_ТОКЕН_АВТОРИЗАЦИИ");
Заголовки.Вставить("accept", "application/json");
// Создаем и отправляем запрос
HTTPЗапрос = Новый HTTPЗапрос(Адрес, Заголовки);
HTTPОтвет = Соединение.Получить(HTTPЗапрос);
// Получаем ответ в виде строки
СтрокаJSON = HTTPОтвет.ПолучитьТелоКакСтроку();
Сообщить(СтрокаJSON);
Так как публичное API (Merchant API) Эпицентра работает в формате JSON, нам потребуется десериализовать полученный ответ для дальнейшей работы со структурами в 1С. Разберем по шагам, как это сделать при помощи объекта ЧтениеJSON:
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
// Читаем JSON в структуру 1С
СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
// После этого можно обходить коллекции и массивы в цикле
ЧтениеJSON.Закрыть();
При разработке полноценного обмена между 1С и маркетплейсом следует учитывать ряд специфических архитектурных и бизнес-правил площадки. Проанализируем самые важные из них.
false вплоть до полного завершения сделки. Разработчику необходимо учесть это, чтобы система 1С не блокировала отгрузку таких заказов в ожидании флага успешной оплаты.После успешной базовой настройки соединения (которую мы рассмотрели выше), вы сможете автоматизировать целый ряд рутинных процессов. Актуальное публичное API позволяет 1С автоматически передавать актуальные остатки и цены, оперативно менять статусы заказов, а также передавать созданные трек-номера (ТТН) логистических служб прямо в карточку заказа маркетплейса, что избавляет менеджеров от двойной работы.