Коллекции
Last updated
Last updated
IMSHOP Retail Protocol (IRP) является объектом интеллектуальной собственности ООО «АЙ ЭМ СОЛЮШНЗ» (IMSHOP) и защищён как объект авторского права. Свидетельство о депонировании произведения № 023-014461 от 16 января 2023 г. подтверждает исключительные права ООО «АЙ ЭМ СОЛЮШНЗ» на данные технологии.
IMSHOP Retail Protocol создан по заказу ООО «АЙ ЭМ СОЛЮШНЗ». Использование IMSHOP Retail Protocol допустимо только при взаимодействии с ООО "АЙ ЭМ СОЛЮШНЗ" и наличии действующего лицензионного договора. Более подробно можно ознакомиться здесь.
Коллекции позволяют отображать привязанные к профилю пользователя сущности (товары и пр.) и позволяют реализовать такие разделы, как, например, "Мой гараж", "Мои дети" и др.
Обратитесь к вашему product-менеджеру для подключения интеграций.
Клиентское приложение запрашивает коллекции при каждом заходе в приложение и при свайпе на обновление в разделе профиля.
Сервер получает внешний userId и список идентификаторов отключенных коллекций, по умолчанию пустой.
В ответ сервер передает коллекции пользователя. Все поля обязательны, если в описании не указано обратное.
collectionId – string, идентификатор коллекции
createdOn – string, Unix-timestamp создания коллекции, необязательно
updatedOn – string, Unix-timestamp обновления коллекции, необязательно
title – string, название коллекции в приложении
units – список элементов коллекции
unitId – идентификатор элемента
metadata – список характеристик. Первый элемент списка используется как заголовок в карточке элемента.
id – string, идентификатор характеристики
title – string, заголовок характеристики
value – string, значение характеристики
inputType – string, тип редактирования характеристики. Необязательно. Необходимо использовать, если поле доступно для редактирования. Допустимые значения: number
для ввода числового значения и string
для ввода текста.
measurementUnitSuffix – string, единица измерения, необязательно. Например, если вы хотите передать километраж, который доступен для редактирования, то необходимо передать в поле value
значение километража, а в measurementUnitSuffix
передать единицы измерения (например, "км"). В остальных случаях значение вместе с единицами измерения можно передать напрямую в value
.
alerts – список уведомлений по элементу. Необязательно.
title – заголовок уведомления
value – текст уведомления
orders – список заказов/услуг по элементу. Необязательно.
orderId – string, идентификатор заказа
title – string, заголовок заказа
totalPrice – number, общая стоимость заказа
positions – список позиций заказа
title – string, наименование
price – number, стоимость позиции
createdOn – string, Unix-timestamp создания элемента, необязательно
updatedOn – string, Unix-timestamp обновления элемента, необязательно
При запросе на редактирования элемента коллекции сервер получает следующее сообщение:
userId – string, внешний индентификатор пользователя
collectionId – string, идентификатор редактируемой коллекции
unitId – string, идентификатор редактируемого элемента
entries – список всех характеристик элемента, включая отредактированные пользователем
В ответе сервер возвращает успех/неуспех редактирования полей:
В ответе также можно передать ошибки по отдельным идентификаторам полей (как в поле id
в элементе массива metadata
):
И алерт в случае какой-либо другой ошибки, например, ошибки сервера: