Доставки
Мы работаем только через POST-запросы
Обратите внимание, что цены в webhook доставки не передаются. При необходимости подсчетов ориентируйтесь на ваши идентификаторы товара.
IMSHOP.IO передаёт состав корзины, город (и страну), а также промокод и идентификатор пользователя, если они есть, в ответ IMSHOP.IO ожидает список доступных способов доставки.
Этот запрос отправляется не только в тех случаях, когда список доставок нужно вывести пользователю. Список доставок также нужен (повторно) перед финальным запросом оформления заказа.
Формат запроса и пример
Пример
POST
https://api-imshop.store.ru/v1/deliveries
Описание формата
outletId
— идентификатор магазинаstaffId
— идентификатор сотрудникаaddress
— адрес магазинаcity
— городinstallId
— идентификатор установки приложения на устройстве (из системы imshop)externalUserId
— идентификатор покупателя на стороне клиента, если тот авторизован в мобильном приложении,null
по умолчаниюcountry
— ISO код страны,RU
bonusesSpent
- списанные бонусыposition
— источник вызова хука, (checkout, deliveryWidget), можно использовать для определения где вызван хук и передавать в карточку товара уменьшенную выборку или отсортировав по другомуskipPickupLocations
— если этот параметр передан, и он равенtrue
, то в ответе достаточно передать только способ самовывоза, и не передавать все доступные точки получения заказаitems
- список товаров в корзинеid
— идентификатор товара в IMSHOP.IOconfigurationId
— идентификатор товарного предложения в системе клиента (идентификатор из фида)privateId
— идентификатор товара в системе клиента (group_id
из фида)quantity
— количествоprice
— изначальная цена товараdiscount
— скидка, если есть. по умолчанию0
name
— название товараsubtotal
— итоговая стоимость с учетом скидок
addressData
— полная информация о адресе, прошедшая валидацию DaDatakladr
— Классификатор адресов Российской Федерации, определяющий город и улицуapt
— номер квартирыhouseKladr
— не ориентируйтесь на это поле Классификатор адресов Российской Федерации, определяющий конкретный дом, по умолчаниюnull
, ситуативно DaData может передавать данное поле заполненнымregion
— регионfias
— ФИАС города и улицыvalue
— адрес полностьюcityFias
— ФИАС городаareaFias
— ФИАС-код районаstreetKladr
— Классификатор адресов Российской Федерации, определяющий улицуregionKladr
— Классификатор адресов Российской Федерации, определяющий регионregionFias
— ФИАС определяющий регионcity_kladr
— Классификатор адресов Российской Федерации, определяющий городstreetFias
— ФИАС определяющий улицуzip
— индекс домаsettlement
— населенный пунктsettlementFias
— ФИАС-код населенного пунктаbeltwayDistance
— расстояние от кольцевой в км (только если заполненbeltwayHit
)lat
— широтаlon
— долготаsettlementKladr
— Классификатор адресов Российской Федерации, определяющий населенный пунктhouse
— номер домаcity
— название городаcityKladr
— Классификатор адресов Российской Федерации, определяющий городbeltwayHit
— внутри кольцевой ( INMKAD - на территории МКАД, OUT_MKAD - за территорией МКАД)area
— район в регионеfias_code
— не заполняется, используйтеfias_id
street
— название улицыareaKladr
— Классификатор адресов Российской Федерации, определяющий районsettlementWithType
— улица с типомfias_id
— ФИАС-код адреса (идентификатор адреса)
Формат ответа и примерЕсли в ответе не будут отданы ВСЕ ❗обязательные поля - в приложении не отобразятся доставки
Пример ответа:
Описание формата
deliveries
— список доступных способов доставки, массив❗
id
— идентификатор, строка (обязательное поле)❗
title
— название, строка (обязательное поле)description
— описание, строка❗
type
— тип (delivery
,pickup
— доставка или самовывоз) (обязательное поле)hasPickupLocations
— способ доставки требует выбора пункта самовывоза (особенно важно при ответе на запросы соskipPickupLocations
=true
)❗
price
— минимальная цена, цифра (обязательное поле)priceLabel
— цена в свободной форме; строка; приоритетнее поляprice
❗
min
— минимальный срок доставки (0
- сегодня,1
- завтра,2
-послезавтра,3
- от 3 дней) (обязательное поле)max
— максимальный срок доставки (0
- сегодня,1
- завтра итд)timeLabel
— время доставки в виде текста (отображается на экране выбора способа доставки)locations
— список ПВЗ (еслиtype
=pickup
и требуется выбор пункта самовывоза, и в запросе не переданskipPickupLocations
=true
)❗
id
— идентификатор самовывоза, строка (обязательное поле)❗
title
— название, строка (обязательное поле)❗
address
— адрес, строка (обязательное поле)❗
city
— город, строка (обязательное поле)time
— расписание / время работы, строкаsubway
— ближайшая станция метро, строкаmall
— название ТЦ, если не указывается в полеtitle
❗
lat
— широта для отображения на карте, строка (обязательное поле)❗
lon
— долгота для отображения на карте, строка (обязательное поле)❗
price
— цена доставки в этот ПВЗ, цифра (обязательное поле)❗
min
— ожидаемое время доставки (0
- сегодня), цифра (обязательное поле)timeLabel
— время доставки в виде текста (отображается на экране выбора пункта получения заказа и на экране описания пункта самовывоза), строка
groupName
— (опционально) идентификатор для группировки, строка (способы доставки, у которых значение группы совпадает, схлопываются в один пункт; после его выбора, пользователь увидит все пункты, входящие в эту группу)
Last updated