Разработка API электронного каталога товаров

Задача:

Создание единой базы продукции и API интерфейса для рынка России и СНГ. Подключение партнеров компании к сервису.

 
 

Что мы разработали:

  • Консолидация и обработка данных из различных источников (глобальная база данных, база по хранению файлов каталогов, SAP сервис компании, CSV/XLS-загрузки);
  • Обмен данными с каталогом РАЭК;
  • Категоризация продукции с помощью ETIM-формата;
  • Автоматическая система уведомлений;
  • Разработка документированного API-интерфейса для доступа к единой базе;
  • Интеграция базы с дистрибьюторами;
  • Создание обучающего материала для интеграции с сервисом;
  • Сервис авторизации к данным по token;
  • Статистика по скачанным данным из единой базы.
  • Единая база данных продукции для электротехнической компании

Продукция компании насчитывает более 100 линеек продуктов, более 500 категорий и более 200 000 единиц продукции, сведения о них хранятся в 7 различных системах, разбросанных по всему миру.

7 систем хранения информации

Загрузка данных из xls/cvt - файлов

Выгрузки из SAP

Хренение в единой базе товаров

Выгрузка данных пользователями

Отправка и получение данных изРАЭК

Основные проблемы, с которыми сталкиваются партнеры, пытаясь найти информацию по продукции:

В связи с этим, перед нами встала задача по разработке глобальной базы данных с закрытым доступом для партнеров и поставщиков.

Разработка архитектуры

Для консолидации и хранения большого количества данных была разработана специальная серверная и программная инфраструктура, которая позволяет оставаться сервису не только стабильным, но и быстрым при большом количестве сессий.

Для обмена данных был разработан веб и API* интерфейс.

*API -программный интерфейс, который позволяет зарегистрированному пользователю отправить запрос и получить массив данных для дальнейшей работы с ними. Для гибкости работы отправляемый запрос может содержать в себе уточняющие параметры.

Для сбора данных были разработаны следующие методы получения информации:

*ETIM (Elektro-Technisches Informations Modell) - международный стандарт для унификации и классификации электротехнической продукции. Код ETIM описывает, в какой категории должен быть товар и его основные свойства. Например, ETIM EC001590, EF002169, EF00007 говорит о том, что это выключатель из пластика цвета титан .

Разработка API интерфейса для обмена данными

Разработанные методы API позволяют выполнить запрос либо по одному товару (по конкретному референсу), либо по списку товаров. Это очень удобно, если требуется обновить конкретную линейку продукции.

Для получения данных по API пользователь выполняет запрос к сервису вида:

  • Формат XML или JSON
  • Название метода
  • Аргумент

В зависимости от запроса система отдает данные в виде XML или Json массива. Ниже мы привели наиболее популярные методы.

Получение списка товаров

Метод используется для наполнении интернет-магазина. Одним запросом можно получить все сведения по товарам (наименование товара, описание, характеристики, фотографии, документы и т.д.).

  • Референс товара
  • Сведения о регионе полученных данных
  • Описание товара
  • Фотографии товара
  • Характеристики товара
  • Ссылка на сертификат
  • Дата окончания срока действия сертификата

Получение изображений товаров

Фотографии товаров часто обновляются. Отдельный метод API позволяет быстро получить все картинки для товара или целой линейки продукции.

  • Референс товара
  • Описание товара
  • Сссылка на изображение
  • Формат изображения

Получение актуальных цен на товары

Цены на товары зависят от региона продажи и могут обновляться каждый день. Удобный метод позволяет быстро получить актуальные цены на товар (тариф поставщика).

  • Сведения о цене товара и последней даты обновления

Получение остатков на складах

У производителя оборудования несколько складов. Поэтому в результате запроса данные по остаткам выводятся с разбивкой по складу или региону.

  • Наименование склада
  • Количество остатков на складе
  • Дата полученных сведений

Получение сертификатов на продукцию

Многие электротехнические устройства подлежат сертификации, и партнерам необходимо своевременно получать актуальную информацию о выпуске разрешительной документации на продукцию. Этот метод позволяет одним запросом получить список сертификатов по интересующей продукции.

  • Наименование склада
  • Дата полученных сведений
  • Количество остатков на складе
  • Количество остатков на складе

Получение свойств товара для электротехнической продукции

Для классификации электротехнического оборудования применена классификация ETIM, который является международным стандартом обозначения свойств товаров и позволяет в виде общепринятых кодов передавать данные по цвету, материалу, размерам, классу и т.д. Результат запроса, представленный ниже, отображает пример с получением свойств по одному товару:

  • Референс
  • Приоритетная версия ETIM
  • ETIM класс товара
  • Описание ETIM класса
  • ETIM свойство товара
  • Описание ETIM свойства
  • Значение ETIM свойства
  • Описание ETIM значения на русском и английском языках

Получение обновлений по товарам

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

  • Референс товара
  • Приоритетная версия ETIM
  • Обновленный ID ETIM свойства
  • Обновленное описание ETIM свойства
  • Значение ETIM свойства

Связанные референсы

Одной из важнейших задач при разработке базы была настройка связей между товарами, так как многие из них являются связанными комплектующими одного устройства или аксессуарами. При создании связей товаров необходимо было учитывать, что многие товары связаны между собой определенными техническими параметрами или моделями и, если связь будет настроена неверно, то это может привести к тому, что устройство не будет работать исправно - это может привести к различного рода поломкам и авариям.

Решением данной задачи стала разработка узлов связи, которые позволяют настраивать связь на различных уровнях, начиная от товарных линеек и заканчивая отдельными референсами. Помимо этого была добавлена функция сортировки связанных товаров, чтобы партнеры могли получать данные по аналогичным товарам из этой же или других линеек с учетом или без учета цвета и материалов продукции.

Данные по связям между товарами партнеры могут получать при помощи специального метода, который принимает и обрабатывает запросы как по одному референсу, так и по группе. Метод возвращает данные по всем референсам, связанным с тем, который партнеры задают в запросе.

  • Референс товара
  • Описание товара
  • Ссылка на изображение
  • Приоритетная версия ETIM
  • ETIM класс товара
  • ETIM свойство товара
  • Описание ETIM свойства
  • Значение ETIM свойства
  • Описание значения на русском и английском языках

Разработка веб-интерфейса

Для удобства в работе с сервисом был разработан веб-интерфейс, который позволяет без знания программирования получить все сведения о товаре.

  • Поиск товаров по одному или нескольким референсам в базе API
  • Функционал массовой выгрузки данных по товарам
  • Поиск товаров по референсу в выбранной линейке
  • Поиск и сортировка товаров по описанию на разных языках
  • Сортировка товаров по странам, в которых они продаются
  • Сортировка товаров по тарифам
  • Поиск товаров по группам в рамках выбранной линейки
  • Поиск товаров по ETIM классам

Вид карточки товара

  • Функционал выгрузки сертификатов, изображений и других дополнительных материалов по товару
  • Аналоги товара и аксессуары из других линеек
  • Данные по сертификатам товара и области их применения
  • Данные по товару в соответствии с международным стандартом ETIM

Отдельный интерфейс для управления сертификатами на продукцию, который позволяет:

  • Сортировка сертификатов по типу, по стране применения
  • Настройка поиска по референсу,
    серии или ETIM классу устройств;
  • Сортировка сертификатов по сроку действия
  • Сортировка сертификатов по типу
  • Функционал выгрузки одного или нескольких сертификатов
  • Интерактивный поиск устройств по референсу, серии или ETIM классу
  • Просмотр сертификата в веб-интерфейсе без скачивания

Подробнее о сервисе
учета сертификатов
читайте в нашем кейсе

Читать

Запуск и тестирование нагрузки

Разработанный сервис ориентирован на одновременное подключение и скачивание материалов для большого количества пользователей. В процессе работы была создана серверная инфраструктура, которая прошла проверку на нагрузочное тестирование. Помимо всего прочего была увеличена пропускная способность каналов связи.


Разработка подробной документации для API

Для подобных сервисов, ориентированных на использование партнерами, важно предоставлять подробную и понятную документацию.

  • Команда API
  • Описание команды
  • Форма запроса с командой
  • Описание параметров, которые необходимо передать в качестве аргумента
  • Пример ответа API на запрос с командой
  • Описание параметров, получаемых в ответе API
  • Пример реального запроса
  • Пример ответа API на запрос

Для этого мы не просто написали подробную документацию, но пошли дальше и разработали понятные How-to для быстрого старта работы с нашим сервисом.

  • Типовая задача
  • Пример реального кода

Прочитав такой документ, даже неопытный програист сможет быстро интегрировать API в свой интернет-магазин либо онлайн каталог. В документации How-to приведены примеры для самых типовых задач, таких как:

Посмотрите еще один короткий кейс

Подписаться на обновления

Нам будет приятно, если вы захотите подписаться на обновления наших проектов
Теперь вы подписаны на обновления кейсов.