Zenky API (v2)

Поддержка API: tech@zenky.io URL: https://openapi.zenky.io/v2/ License: MIT

Последнее обновление: Sat, 23 Mar 2024 21:16:00 GMT

Начало работы

API Zenky.io предоставляет обширный набор методов для работы практически со всеми сущностями системы.

Большинство операций, которые могут быть выполнены в панели управления магазином, можно реализовать с помощью API, в том числе наполнение каталога (создание, редактирование, удаление категорий, товаров, характеристик и т.д.).

Выполнение запросов

Базовый адрес для выполнения запросов к API - https://api.zenky.io/v2. Формат возвращаемых данных - JSON.

HTTP-методы

Каждый метод API может поддерживать один или несколько из перечисленных HTTP-методов:

  • GET для чтения информации;
  • POST для создания нового объекта или для выполнения команд (таких как отправка заказа);
  • PUT для изменения существующего объекта;
  • DELETE для удаления существующего объекта.

Заголовки

Все запросы к API должны выполняться с заголовком Accept: application/json. В некоторых случаях, если заголовок Accept не был передан или его значением не является строка application/json, вы можете получить в ответ HTML-код или перенаправление на внутренние страницы панели управления магазином.

ID магазина

Кроме того, все методы, которые так или иначе связаны с магазином, требуют передачи обязательного HTTP-заголовка X-Store-Id, значением которого должен быть указан идентификатор магазина, с которым в данный момент выполняется работа.

Ответы API

Любой успешный ответ обязательно содержит в себе корневое поле data, в котором, в зависимости от запроса, располагается тело ответа.

Если был выполнен запрос на получение списка объектов, то в поле data будет находиться массив объектов. Если же был выполнен запрос на получение одного объекта, то в поля data будет находиться объект.

Кроме того, на одном уровне с полем data может присутствовать поле meta - в основном оно используется для передачи информации о количестве страниц списка объектов.

Включения ответов

Кроме основной информации об объекте методы могут отдавать расширенную информацию о вложенных сущностях (т.н. включения ответов или includes). У каждого метода, который поддерживает такие включения, имеется свой список возможных включений, которые необходимо передавать с помощью параметра with. Если требуется вернуть несколько включений, их необходимо разделять запятыми.

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

Обработка ошибок

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

Возможные коды ошибок и способы их решения перечислены в описании методов.

Authentication

Bearer

Практически все методы работают без API-токенов в режиме чтения информации (запросы методом GET). Если же вам необходимо создавать, редактировать или удалять какую-либо информацию, вы должны предоставлять API-токен пользователя, имеющего доступ к указанному магазину.

Вы можете создать персональный API токен в соответствующем разделе панели администратора Zenky.

Передавайте созданный токен в HTTP-заголовке Authorization в формате Bearer <TOKEN>, заменив <TOKEN> на актуальное значение токена.

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

Магазин

Получить профиль магазина

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы магазина
contactsКонтакты магазина
citiesГорода
cities.settingsГорода и настройки
cities.scheduleГорода и режим работы
cities.contactsГорода и контакты
cities.stocksГорода и склады
cities.stocks.addressГорода, склады и адрес склада
cities.stocks.contactsГорода, склады и контакты склада
cities.stocks.scheduleГорода, склады и режим работы склада
cities.stocks.mediaГорода, склады и медиа-файлы склада
cities.delivery_zonesГорода и зоны доставки
settingsНастройки магазина
mobile_app_settingsНастройки канала продаж «Мобильное приложение»
query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Города

Получить список городов

Этот метод поддерживает следующие включения:

ВключениеОписание
settingsНастройки
scheduleРежим работы
contactsКонтакты
stocksСклады
stocks.addressСлады и адрес склада
stocks.contactsСклады и контакты склада
stocks.scheduleСклады и режим работы склада
stocks.mediaСклады и медиа-файлы склада
delivery_zonesЗоны доставки
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать город

Для выполнения этого запроса API токен должен иметь одно из следующих разрешений: catalog.write, catalog.manage.

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название города

timezone
string

Часовой пояс города (tzdata)

order_number_reset_at
string

Время сброса номеров заказов (ЧЧ)

lat
number <double>

Широта центра города

lng
number <double>

Долгота центра города

object

Настройки города

Responses

Request samples

Content type
application/json
{
  • "name": "Улан-Удэ",
  • "timezone": "Asia/Irkutsk",
  • "order_number_reset_at": "00",
  • "lat": 51.836438566112,
  • "lng": 107.57642430078,
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить город

Этот метод поддерживает следующие включения:

ВключениеОписание
settingsНастройки
scheduleРежим работы
contactsКонтакты
stocksСклады
stocks.addressСлады и адрес склада
stocks.contactsСклады и контакты склада
stocks.scheduleСклады и режим работы склада
stocks.mediaСклады и медиа-файлы склада
delivery_zonesЗоны доставки
path Parameters
city
required
string

ID города

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить город

Authorizations:
path Parameters
city
required
string

ID города

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название города

timezone
string

Часовой пояс города (tzdata)

order_number_reset_at
string

Время сброса номеров заказов (ЧЧ)

lat
number <double>

Широта центра города

lng
number <double>

Долгота центра города

object

Настройки города

Responses

Request samples

Content type
application/json
{
  • "name": "Улан-Удэ",
  • "timezone": "Asia/Irkutsk",
  • "order_number_reset_at": "00",
  • "lat": 51.836438566112,
  • "lng": 107.57642430078,
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить город

Authorizations:
path Parameters
city
required
string

ID города

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Склады

Получить список складов

Этот метод поддерживает следующие включения:

ВключениеОписание
addressАдрес склада
contactsКонтакты склада
scheduleРежим работы склада
mediaМедиа-файлы склада
external_identifierВнешний идентификатор
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Создать склад

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название склада

display_name
string

Публичное название склада

description
string

Описание склада

hidden
boolean

Флаг скрытия склада

object

Адрес склада

images_id
Array of strings

ID изображений

Responses

Request samples

Content type
application/json
{
  • "name": "Еврозона",
  • "display_name": "ТЦ «Еврозона»",
  • "description": null,
  • "hidden": false,
  • "address": {
    },
  • "images_id": [
    ]
}

Response samples

Content type
application/json
{}

Получить склад

Этот метод поддерживает следующие включения:

ВключениеОписание
addressАдрес склада
contactsКонтакты склада
scheduleРежим работы склада
mediaМедиа-файлы склада
external_identifierВнешний идентификатор
path Parameters
stock
required
string

ID склада

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменить склад

Authorizations:
path Parameters
stock
required
string

ID склада

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название склада

display_name
string

Публичное название склада

description
string

Описание склада

hidden
boolean

Флаг скрытия склада

object

Адрес склада

images_id
Array of strings

ID изображений

Responses

Request samples

Content type
application/json
{
  • "name": "Еврозона",
  • "display_name": "ТЦ «Еврозона»",
  • "description": null,
  • "hidden": false,
  • "address": {
    },
  • "images_id": [
    ]
}

Response samples

Content type
application/json
{}

Удалить склад

Authorizations:
path Parameters
stock
required
string

ID склада

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Зоны доставки

Получить список зон доставки

path Parameters
city
string

ID города

query Parameters
count
integer

Количество записей

page
integer

Номер страницы

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать зону доставки

Authorizations:
path Parameters
city
string

ID города

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
stock_id
string

ID склада

visible
boolean

Статус отображения зоны

active
boolean

Статус работы зоны

name
string

Название зоны

Array of objects

Координаты вершин зоны

description
string

Описание зоны

color
string

HEX-код цвета зоны

min_price
number

Минимальная сумма заказа

free_delivery_price
number

Минимальная сумма заказа для бесплатной доставки

delivery_price
number

Стоимость платной доставки

delivery_time
string

Среднее время доставки

Responses

Request samples

Content type
application/json
{
  • "stock_id": "94c72ed9-d25e-4bda-947b-340eae97462e",
  • "visible": true,
  • "active": true,
  • "name": "Первая зона",
  • "coordinates": [
    ],
  • "description": "Первая зона",
  • "color": "#21c07b",
  • "min_price": "2000",
  • "free_delivery_price": "2500",
  • "delivery_price": "500",
  • "delivery_time": "1 час"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить зону доставки

path Parameters
city
required
string

ID города

deliveryZone
required
string

ID зоны доставки

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить зону доставки

Authorizations:
path Parameters
city
required
string

ID города

deliveryZone
required
string

ID зоны доставки

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
stock_id
string

ID склада

visible
boolean

Статус отображения зоны

active
boolean

Статус работы зоны

name
string

Название зоны

Array of objects

Координаты вершин зоны

description
string

Описание зоны

color
string

HEX-код цвета зоны

min_price
number

Минимальная сумма заказа

free_delivery_price
number

Минимальная сумма заказа для бесплатной доставки

delivery_price
number

Стоимость платной доставки

delivery_time
string

Среднее время доставки

Responses

Request samples

Content type
application/json
{
  • "stock_id": "94c72ed9-d25e-4bda-947b-340eae97462e",
  • "visible": true,
  • "active": true,
  • "name": "Первая зона",
  • "coordinates": [
    ],
  • "description": "Первая зона",
  • "color": "#21c07b",
  • "min_price": "2000",
  • "free_delivery_price": "2500",
  • "delivery_price": "500",
  • "delivery_time": "1 час"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить зону доставки

Authorizations:
path Parameters
city
required
string

ID города

deliveryZone
required
string

ID зоны доставки

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Проверить вхождение адреса

С помощью этого метода можно проверить в какую зону доставки входит указанный адрес.

path Parameters
city
required
string

ID города

deliveryZone
required
string

ID зоны доставки

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
delivery_address
string

Полный адрес доставки одной строкой

Responses

Request samples

Content type
application/json
{
  • "delivery_address": "г. Улан-Удэ, ул. Жердева, 104Б"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Категории

Получить дерево категорий

Этот метод поддерживает следующие включения:

ВключениеОписание
settingsНастройки категории
mediaМедиа-файлы категории
seoSEO
external_identifierВнешний идентификатор
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Получить список категорий

Этот метод поддерживает следующие включения:

ВключениеОписание
settingsНастройки категории
mediaМедиа-файлы категории
seoSEO
external_identifierВнешний идентификатор

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

featured
boolean

Вернуть только избранные категории

visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Статус отображения категорий
* Параметр доступен только сотрудникам магазина

treeview
boolean

Вернуть дерево категорий вместо обычного списка

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Создать категорию

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название категории

description
string

Описание категории

parent_id
string

ID родительской категории

hidden
boolean

Скрытая категория

featured
boolean

Избранная категория

cover_image_id
string

ID изображения обложки

object

Настройки категории

Responses

Request samples

Content type
application/json
{
  • "name": "Смартфоны",
  • "description": "<p>Смартфоны различных производителей.</p>",
  • "parent_id": null,
  • "hidden": false,
  • "featured": true,
  • "cover_image_id": "29201a65-3228-47a9-9a6b-44c1ba3c5e02",
  • "settings": {
    }
}

Response samples

Content type
application/json
{}

Получить категорию

Этот метод поддерживает следующие включения:

ВключениеОписание
settingsНастройки категории
mediaМедиа-файлы категории
seoSEO
external_identifierВнешний идентификатор
path Parameters
category
required
string

ID категории

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменить категорию

Authorizations:
path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название категории

description
string

Описание категории

parent_id
string

ID родительской категории

hidden
boolean

Скрытая категория

featured
boolean

Избранная категория

cover_image_id
string

ID изображения обложки

object

Настройки категории

Responses

Request samples

Content type
application/json
{
  • "name": "Смартфоны",
  • "description": "<p>Смартфоны различных производителей.</p>",
  • "parent_id": null,
  • "hidden": false,
  • "featured": true,
  • "cover_image_id": "29201a65-3228-47a9-9a6b-44c1ba3c5e02",
  • "settings": {
    }
}

Response samples

Content type
application/json
{}

Удалить категорию

Authorizations:
path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Получить список характеристик для категории

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

path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Получить список групп характеристик для категории

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

path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Характеристики

Получить список характеристик

Этот метод поддерживает следующие включения:

ВключениеОписание
valuesЗначения характеристики
values.external_identifierЗначения и их внешние идентификаторы
external_identifierВнешний идентификатор характеристики

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

only_filterable
boolean

Вернуть только фильтры

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать характеристику

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название характеристики

field_type
string
Enum: "select" "multiple_select" "checkboxes" "radios" "range" "text"

Тип поля

range_type
string
Enum: "integer" "float"

Тип диапазона

filterable
boolean

Характеристика является фильтром

Array of objects

Список значений характеристики

Responses

Request samples

Content type
application/json
{
  • "name": "Объём оперативной памяти",
  • "field_type": "checkboxes",
  • "filterable": true,
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить характеристику

Этот метод поддерживает следующие включения:

ВключениеОписание
valuesЗначения характеристики
values.external_identifierЗначения и их внешние идентификаторы
external_identifierВнешний идентификатор характеристики
path Parameters
feature
required
string

ID характеристики

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить характеристику

Authorizations:
path Parameters
feature
required
string

ID характеристики

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название характеристики

field_type
string
Enum: "select" "multiple_select" "checkboxes" "radios" "range" "text"

Тип поля

range_type
string
Enum: "integer" "float"

Тип диапазона

filterable
boolean

Характеристика является фильтром

Array of objects

Список значений характеристики

Responses

Request samples

Content type
application/json
{
  • "name": "Объём оперативной памяти",
  • "field_type": "checkboxes",
  • "filterable": true,
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить характеристику

Authorizations:
path Parameters
feature
required
string

ID характеристики

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Группы характеристик

Получить список групп характеристик

Этот метод поддерживает следующие включения:

ВключениеОписание
featuresХарактеристики
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

visibility
string
Enum: "visible" "hidden" "all"

Отображение групп

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать группу характеристик

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
visible
boolean

Отображение группы

name
string

Название группы

description
string

Описание группы

Responses

Request samples

Content type
application/json
{
  • "visible": true,
  • "name": "Внешний вид",
  • "description": "Внешний вид устройств."
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить группу характеристик

Этот метод поддерживает следующие включения:

ВключениеОписание
featuresХарактеристики
Authorizations:
path Parameters
featuresGroup
required
string

ID группы характеристик

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить группу характеристик

Authorizations:
path Parameters
featuresGroup
required
string

ID группы характеристик

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
visible
boolean

Отображение группы

name
string

Название группы

description
string

Описание группы

Responses

Request samples

Content type
application/json
{
  • "visible": true,
  • "name": "Внешний вид",
  • "description": "Внешний вид устройств."
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить группу характеристик

Authorizations:
path Parameters
featuresGroup
required
string

ID группы характеристик

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Коллекции товаров

Получить список коллекций

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы коллекций

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
sortingПо заданной сортировке (asc)
-sortingПо заданной сортировке (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Статус отображения коллекций
* Параметр доступен только сотрудникам магазина

app_visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Статус отображения коллекций в моб. приложении
* Параметр доступен только сотрудникам магазина

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Создать коллекцию

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название коллекции

description
string

Описание коллекции

selection_type
string
Enum: "manual" "criterias"

Тип отбора товаров (manual – ручной отбор, criterias – отбор по критериям)

criteria_match
string
Enum: "all" "any"

Тип сравнения критериев (all – все критерии, режим «AND», any – любой критерий, режим «OR»)

show_in_mobile
boolean

Показывать в мобильном приложении (по умолчанию – false)

hidden
boolean

Скрытая коллекция (по умолчанию – false)

cover_image_id
string

ID изображения-обложки коллекции

Array of objects

Список критериев отбора товаров (если тип отбора – criterias)

products
Array of strings

Список товаров (если тип отбора – manual)

Responses

Request samples

Content type
application/json
{
  • "name": "Аксессуары",
  • "description": "В комплекте нет зарядника? Легко исправить!",
  • "selection_type": "criterias",
  • "criteria_match": "all",
  • "hidden": false,
  • "show_in_mobile": true,
  • "criteria": [
    ]
}

Response samples

Content type
application/json
{}

Получить коллекцию

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы коллекции
path Parameters
collection
required
string

ID коллекции

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменить коллекцию

Authorizations:
path Parameters
collection
required
string

ID коллекции

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название коллекции

description
string

Описание коллекции

selection_type
string
Enum: "manual" "criterias"

Тип отбора товаров (manual – ручной отбор, criterias – отбор по критериям)

criteria_match
string
Enum: "all" "any"

Тип сравнения критериев (all – все критерии, режим «AND», any – любой критерий, режим «OR»)

show_in_mobile
boolean

Показывать в мобильном приложении (по умолчанию – false)

hidden
boolean

Скрытая коллекция (по умолчанию – false)

cover_image_id
string

ID изображения-обложки коллекции

Array of objects

Список критериев отбора товаров (если тип отбора – criterias)

removed_criteria
Array of strings

ID удалённых критериев

products
Array of strings

Список товаров (если тип отбора – manual)

removed_products
Array of strings

ID удалённых товаров

Responses

Request samples

Content type
application/json
{
  • "name": "Аксессуары",
  • "description": "В комплекте нет зарядника? Легко исправить!",
  • "selection_type": "criterias",
  • "criteria_match": "all",
  • "hidden": false,
  • "show_in_mobile": true,
  • "criteria": [
    ],
  • "removed_criteria": [
    ]
}

Response samples

Content type
application/json
{}

Удалить коллекцию

Authorizations:
path Parameters
collection
required
string

ID коллекции

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Группы товаров

Получить список групп товаров

Этот метод поддерживает следующие включения:

ВключениеОписание
productsТовары
products.variantsТовары и их варианты
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать группу товаров

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название группы

products
Array of strings

ID товаров

Responses

Request samples

Content type
application/json
{
  • "name": "Айфоны",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить группу товаров

Этот метод поддерживает следующие включения:

ВключениеОписание
productsТовары
products.variantsТовары и их варианты
path Parameters
group
required
string

ID группы товаров

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить группу товаров

Authorizations:
path Parameters
group
required
string

ID группы товаров

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название группы

products
Array of strings

ID товаров

Responses

Request samples

Content type
application/json
{
  • "name": "Айфоны",
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить группу товаров

Authorizations:
path Parameters
group
required
string

ID группы товаров

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Опции вариантов

Получить список опций вариантов

Этот метод поддерживает следующие включения:

ВключениеОписание
valuesЗначения опции
values.external_identifierЗначения и внешний идентификатор
external_identifierВнешний идентификатор
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать опцию вариантов

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название опции

Array of objects

Значения опции

Responses

Request samples

Content type
application/json
{
  • "name": "Объём оперативной памяти",
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить опцию вариантов

Этот метод поддерживает следующие включения:

ВключениеОписание
valuesЗначения опции
values.external_identifierЗначения и внешний идентификатор
external_identifierВнешний идентификатор
path Parameters
option
required
string

ID опции вариантов

query Parameters
with
string

Список включений

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить опцию вариантов

path Parameters
option
required
string

ID опции вариантов

Request Body schema: application/json
name
string

Название опции

Array of objects

Значения опции

Responses

Request samples

Content type
application/json
{
  • "name": "Объём оперативной памяти",
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить опцию вариантов

path Parameters
option
required
string

ID опции вариантов

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Типы цен

Получить список типов цен

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
kindПо виду (asc)
-kindПо виду (desc)
nameПо названию (asc)
-nameПо названию (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать тип цены

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название типа цены

kind
string
Enum: "retail" "wholesale" "purchase"

Вид типа цены

Responses

Request samples

Content type
application/json
{
  • "name": "Розничная",
  • "kind": "retail"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить тип цены

path Parameters
type
required
string

ID типа цены

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить тип цены

Authorizations:
path Parameters
type
required
string

ID типа цены

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название типа цены

Responses

Request samples

Content type
application/json
{
  • "name": "Розничная"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить тип цены

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
422price_types.in_useВозникает при попытке удалить тип цены, с которым связаны цены.Отвязать цены от этого типа цены.
422price_types.retailВозникает при попытке удалить единственный тип цены с назначением "Розничная" (retail).Создать дополнительный тип цены с назначением "Розничная" (retail) и повторить удаление.
Authorizations:
path Parameters
type
required
string

ID типа цены

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Модификаторы

Получить список модификаторов

Этот метод возвращает только одиночные (не привязанные ни к одной группе) модификаторы.

Этот метод поддерживает следующие включения:

ВключениеОписание
external_identifierВнешний идентификатор

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
display_nameПо публичному названию (asc)
-display_nameПо публичному названию (desc)
priceПо цене (asc)
-priceПо цене (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать модификатор

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название модификатора

display_name
string

Публичное название модификатора

string or number

Цена модификатора

sku
string

Артикул модификатора

Responses

Request samples

Content type
application/json
{
  • "name": "Подар. упаковк.",
  • "display_name": "Подарочная упаковка",
  • "price": 100,
  • "sku": "GIFT-WRAPPING-01"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить модификатор

Этот метод поддерживает следующие включения:

ВключениеОписание
external_identifierВнешний идентификатор
Authorizations:
path Parameters
modifier
required
string

ID модификатора

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить модификатор

Authorizations:
path Parameters
modifier
required
string

ID модификатора

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название модификатора

display_name
string

Публичное название модификатора

string or number

Цена модификатора

sku
string

Артикул модификатора

Responses

Request samples

Content type
application/json
{
  • "name": "Подар. упаковк.",
  • "display_name": "Подарочная упаковка",
  • "price": 100,
  • "sku": "GIFT-WRAPPING-01"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить модификатор

Authorizations:
path Parameters
modifier
required
string

ID модификатора

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Группы модификаторов

Получить список групп модификаторов

Этот метод поддерживает следующие включения:

ВключениеОписание
modifiersМодификаторы
modifiers.external_identifierМодификаторы и их внешние идентификаторы
external_identifierВнешний идентификатор

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
display_nameПо публичному названию (asc)
-display_nameПо публичному названию (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать группу модификаторов

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название группы

display_name
string

Публичное название группы

Array of objects

Список модификаторов

Responses

Request samples

Content type
application/json
{
  • "name": "Apple Care",
  • "display_name": "План «Apple Care»",
  • "modifiers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить группу модификаторов

Этот метод поддерживает следующие включения:

ВключениеОписание
modifiersМодификаторы
modifiers.external_identifierМодификаторы и их внешние идентификаторы
external_identifierВнешний идентификатор
Authorizations:
path Parameters
group
required
string

ID группы

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить группу модификаторов

Authorizations:
path Parameters
group
required
string

ID группы

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название группы

display_name
string

Публичное название группы

Array of objects

Список модификаторов

Responses

Request samples

Content type
application/json
{
  • "name": "Apple Care",
  • "display_name": "План «Apple Care»",
  • "modifiers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить группу модификаторов

Authorizations:
path Parameters
group
required
string

ID группы

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Товары

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

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaИзображения товара
categoriesКатегории
categories.seoКатегории и SEO
featuresХарактеристики
features_groupsГруппы характеристик
modifiersМодификаторы
modifiers_groupsГруппы модификаторов
variantsВарианты товара
variants.pricesВарианты и цены
variants.dimensionsВарианты и габариты
variants.remaindersВарианты и остатки
variants.option_valuesВарианты и значения опций вариантов
variants.option_values.optionВарианты, значения и опции вариантов
variants.external_identifierВарианты и внешние идентификаторы
variants.modifiersВарианты и модификаторы
variants.modifiers_groupsВарианты и группы модификаторов
settingsНастройки товара
seoSEO
external_identifierВнешний идентификатор

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
priceПо цене (asc)
-priceПо цене (desc)
manualПо заданной сортировке (asc)
-manualПо заданной сортировке (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

category_id
string

ID категории

features
Array of strings

ID значений характеристик (ключи - ID характеристик)

f
Array of strings

Алиасы значений характеристик (ключи – алиасы характеристик). Несколько значений можно разделять запятой.

city_id
string

ID города (несовместим с stock_id)

stock_id
string

ID склада (несовместим с city_id)

collection_id
string

ID коллекции товаров

group_id
string

ID группы товаров

context_type
string

Тип контекста

context_id
string

ID контекста

number or string

Минимальная цена

number or string

Максимальная цена

visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Видимость товаров
* Параметр доступен только сотрудникам магазина

featured_categories
boolean

Товары из избранных категорий

promotion_reward
string
Default: "no"
Enum: "yes" "no" "all"

Товары-подарки за акции

context_type
string
Enum: "category" "group" "variant_option" "variant_option_value"

Тип контекста товаров (используется вместе с context_id)

context_id
string

ID контекста товаров (используется вместе с context_type)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать товар

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название товара

description
string

Описание товара

unit_type
string
Enum: "piece" "gram" "kilogram" "meter"

Единица измерения

weight
number

Вес в граммах

override_quantity_step
boolean

Перезаписать шаг изменения товара в корзине

quantity_step
number <float>

Шаг изменения товара в корзине (от 0.1 до 1.0 включительно). Требует передачи override_quantity_step=true

images_id
Array of strings

ID изображений

hidden
boolean

Скрытый товар

ordering_enabled
boolean

Товар доступен для заказа

promotion_reward
boolean

Товар является подарком за акцию

vat_mode
string

Статус НДС

vat
integer

Ставка НДС

Array of objects

Список вариантов

categories
Array of strings

Список ID категорий

Array of objects

Список характеристик

Array of objects

Список модификаторов

Array of objects

Список модификаторов

object

Настройки товара

Responses

Request samples

Content type
application/json
{
  • "name": "Apple iPhone 12 Pro Max",
  • "description": "Это iPhone 12 Pro Max.",
  • "unit_type": "piece",
  • "weight": 226,
  • "images_id": [
    ],
  • "hidden": false,
  • "ordering_enabled": true,
  • "promotion_reward": false,
  • "vat_mode": "enabled",
  • "vat": 20,
  • "variants": [
    ],
  • "categories": [
    ],
  • "features": [
    ],
  • "modifiers": [
    ],
  • "modifiers_groups": [
    ],
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить товар

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaИзображения товара
categoriesКатегории
categories.seoКатегории и SEO
featuresХарактеристики
modifiersМодификаторы
modifiers_groupsГруппы модификаторов
variantsВарианты товара
variants.pricesВарианты и цены
variants.dimensionsВарианты и габариты
variants.remaindersВарианты и остатки
variants.option_valuesВарианты и значения опций вариантов
variants.option_values.optionВарианты, значения и опции вариантов
variants.external_identifierВарианты и внешние идентификаторы
variants.modifiersВарианты и модификаторы
variants.modifiers_groupsВарианты и группы модификаторов
settingsНастройки товара
seoSEO
external_identifierВнешний идентификатор
path Parameters
product
required
string

ID товара

query Parameters
with
string

Список включений

stock_id
string

ID склада

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить товар

Authorizations:
path Parameters
product
required
string

ID товара

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название товара

description
string

Описание товара

unit_type
string
Enum: "piece" "gram" "kilogram" "meter"

Единица измерения

weight
number

Вес в граммах

override_quantity_step
boolean

Перезаписать шаг изменения товара в корзине

quantity_step
number <float>

Шаг изменения товара в корзине (от 0.1 до 1.0 включительно). Требует передачи override_quantity_step=true

images_id
Array of strings

ID изображений

hidden
boolean

Скрытый товар

ordering_enabled
boolean

Товар доступен для заказа

promotion_reward
boolean

Товар является подарком за акцию

vat_mode
string

Статус НДС

vat
integer

Ставка НДС

Array of objects

Список вариантов

categories
Array of strings

Список ID категорий

Array of objects

Список характеристик

Array of objects

Список модификаторов

Array of objects

Список модификаторов

object

Настройки товара

Responses

Request samples

Content type
application/json
{
  • "name": "Apple iPhone 12 Pro Max",
  • "description": "Это iPhone 12 Pro Max.",
  • "unit_type": "piece",
  • "weight": 226,
  • "images_id": [
    ],
  • "hidden": false,
  • "ordering_enabled": true,
  • "promotion_reward": false,
  • "vat_mode": "enabled",
  • "vat": 20,
  • "variants": [
    ],
  • "categories": [
    ],
  • "features": [
    ],
  • "modifiers": [
    ],
  • "modifiers_groups": [
    ],
  • "settings": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить товар

Authorizations:
path Parameters
product
required
string

ID товара

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

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

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

path Parameters
product
required
string

ID товара

variant
required
string

ID варианта товара

query Parameters
city_id
string

ID текущего города.

stock_id
string

ID выбранного склада.

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
Array of objects

Выбранные модификаторы

Responses

Request samples

Content type
application/json
{
  • "modifiers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Адреса

Получить подсказки адресов

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
query
string

Строка поиска адреса

city_id
string

Город, в котором нужно искать адреса

count
number

Количество записей (по умолчанию 5, не более 20)

Responses

Request samples

Content type
application/json
{
  • "query": "улан-удэ, жердева 104б",
  • "count": 10
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Статусы заказов

Получить список статусов заказов

Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать статус заказа

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название статуса

progress_bar_name
string

Название статуса для прогресс-бара

kind
string
Enum: "pending" "awaiting_payment" "submitted" "exported" "packing" "ready" "awaiting_delivery" "delivering" "delivered" "rejected" "cancelled" "completed" "custom"

Назначение статуса

color
string

Цвет статуса (HEX)

visible
boolean

Флаг отображения (по умолчанию true)

roles
Array of strings
Items Enum: "manager" "cashier" "courier"

Роли сотрудников, которым доступен статус (если не указано, доступен всем). Владельцу магазина доступны все статусы.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "progress_bar_name": "string",
  • "kind": "pending",
  • "color": "string",
  • "visible": true,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить статус заказов

Authorizations:
path Parameters
orderStatus
required
string

ID статуса

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить статус заказа

Authorizations:
path Parameters
orderStatus
required
string

ID статуса

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Название статуса

progress_bar_name
string

Название статуса для прогресс-бара

kind
string
Enum: "pending" "awaiting_payment" "submitted" "exported" "packing" "ready" "awaiting_delivery" "delivering" "delivered" "rejected" "cancelled" "completed" "custom"

Назначение статуса

color
string

Цвет статуса (HEX)

visible
boolean

Флаг отображения (по умолчанию true)

roles
Array of strings
Items Enum: "manager" "cashier" "courier"

Роли сотрудников, которым доступен статус (если не указано, доступен всем). Владельцу магазина доступны все статусы.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "progress_bar_name": "string",
  • "kind": "pending",
  • "color": "string",
  • "visible": true,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить статус заказа

Authorizations:
path Parameters
orderStatus
required
string

ID статуса

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Заказы

Получить список заказов

Этот метод поддерживает следующие включения:

ВключениеОписание
variantsПозиции заказа
variants.variantПозиции заказа и варианты товаров
variants.variant.external_identifierПозиции, варианты и внешние идентификаторы
variants.variant.option_valuesПозиции, варианты и значения опций вариантов
variants.variant.option_values.optionПозиции, варианты, значения и опции вариантов
variants.modifiersПозиции и выбранные модификаторы товаров
variants.modifiers.modifierПозиции, выбранные модификаторы и оригинальные модификаторы
variants.modifiers.modifier.external_identifierПозиции, модификаторы, ориг. модификаторы и внешн. идентификаторы
variants.modifiers.modifiers_groupПозиции, выбранные модификаторы и оригинальные группы модификаторов
variants.modifiers.modifiers_group.external_identifierПозиции, модификаторы, группы и внешн. идентификаторы
variants.productПозиции заказа и товары
variants.product.external_identifierПозиции заказа, товары и внешние идентификаторы
variants.product.mediaПозиции заказа, товары и изображения
variants.product.categoriesПозиции заказа, товары и категории
cityГород
city.settingsГород и настройки
stockСклад
stock.external_identifierСклад и внешний идентификатор
customerПокупатель
customer.external_identifierПокупатель и внешний идентификатор
delivery_addressАдрес доставки
delivery_zoneЗона доставки
statusesИстория изменения статусов
statuses.statusИстория статусов и оригинальные статусы
statuses_progressПрогресс изменения статусов
paymentsПлатёжные транзакции
payments_summaryСводная информация о платежах
deliver_at_localОтложенное время доставки по местному времени
management_tokenРасширенный токен заказа (включение доступно только сотрудникам магазина)
delivery_intervalИнтервал доставки
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

submitted_from
string

Начальная дата оформления заказа (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

submitted_till
string

Конечная дата оформления заказа (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

order_status_id
string

ID статуса заказа (можно перечислять несколько через запятую)

city_id
string

ID города

submission_period
string

Период оформленных заказов. Поддерживаются следующие периоды: сутки (24h), неделя (7d), месяц (30d), год (1y). Не рекомендуется использовать вместе с submitted_from/submitted_till.

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать заказ

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
city_id
string

ID города

Responses

Request samples

Content type
application/json
{
  • "city_id": "dcb2f209-c9a4-482c-8427-fc6e651e3ddf"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить заказ

Этот метод поддерживает следующие включения:

ВключениеОписание
variantsПозиции заказа
variants.variantПозиции заказа и варианты товаров
variants.variant.external_identifierПозиции, варианты и внешние идентификаторы
variants.variant.option_valuesПозиции, варианты и значения опций вариантов
variants.variant.option_values.optionПозиции, варианты, значения и опции вариантов
variants.modifiersПозиции и выбранные модификаторы товаров
variants.modifiers.modifierПозиции, выбранные модификаторы и оригинальные модификаторы
variants.modifiers.modifier.external_identifierПозиции, модификаторы, ориг. модификаторы и внешн. идентификаторы
variants.modifiers.modifiers_groupПозиции, выбранные модификаторы и оригинальные группы модификаторов
variants.modifiers.modifiers_group.external_identifierПозиции, модификаторы, группы и внешн. идентификаторы
variants.productПозиции заказа и товары
variants.product.external_identifierПозиции заказа, товары и внешние идентификаторы
variants.product.mediaПозиции заказа, товары и изображения
variants.product.categoriesПозиции заказа, товары и категории
cityГород
city.settingsГород и настройки
stockСклад
stock.external_identifierСклад и внешний идентификатор
customerПокупатель
customer.external_identifierПокупатель и внешний идентификатор
delivery_addressАдрес доставки
delivery_zoneЗона доставки
statusesИстория изменения статусов
statuses.statusИстория статусов и оригинальные статусы
statuses_progressПрогресс изменения статусов
paymentsПлатёжные транзакции
payments_summaryСводная информация о платежах
deliver_at_localОтложенное время доставки по местному времени
management_tokenРасширенный токен заказа (включение доступно только сотрудникам магазина)
delivery_intervalИнтервал доставки
path Parameters
order
required
string

ID заказа

query Parameters
with
string

Список включений

token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить заказ

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
city_id
string

ID города

delivery_method
string
Enum: "delivery" "pickup" "on_premise"

Способ доставки

stock_id
string

ID склада для самовывоза или заказа в заведении

deliver_at
string

Дата отложенной доставки в часовом поясе города (в формате YYYY-MM-DD HH:MM)

notes
string

Комментарии к заказу

object

Покупатель заказа

object

Адрес доставки

object

Информация о заказе в заведении

Array of objects

Список платежей

Responses

Request samples

Content type
application/json
{
  • "city_id": "dcb2f209-c9a4-482c-8427-fc6e651e3ddf",
  • "delivery_method": "delivery",
  • "deliver_at": "2021-07-20 19:00",
  • "notes": "Позвонить перед выездом курьера.",
  • "customer": {
    },
  • "delivery_address": {
    },
  • "payments": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Повторить заказ

Этот метод позволяет повторить ранее оформленный заказ.

В новый заказ будут скопированы все доступные для заказа товары из исходного заказа (включая модификаторы товаров). К новому заказу так же будут привязаны покупатель и способ доставки (связанный склад или адрес доставки).

Этот метод можно вызвать только с передачей API-токена покупателя, который оформлял заказ.

Если у магазина отключена возможность повтора заказов, метод завершится с ошибкой.

В ответе на запрос будут возвращены идентификатор и токен нового заказа.

Передавайте ID текущего заказа в поле current_order_id, чтобы получить websocket-уведомление о копировании заказа (orders.repeated).

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
503orders.repeat.failedНевозможно повторить выбранный заказ. В поле `meta` может содержаться код причины ошибки (поле `reason`).Проверить, что повтор заказов подключён для магазина.
403orders.repeat.invalid_customer_profileВыбранный заказ был оформлен другим покупателем.Убедиться, что передаётся токен аутентифицированного покупателя, который оформлял выбранный заказ.
422orders.repeat.must_be_submittedПовторить можно только оформленные заказы.Не отображать кнопку «Повторить заказ» для заказов, которые ещё не были оформлены.
Authorizations:
path Parameters
order
required
string

ID заказа

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
current_order_id
string

ID текущего заказа

Responses

Request samples

Content type
application/json
{
  • "current_order_id": "9a6857af-f758-497a-ade4-dcb9bd038252"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Отменить заказ

Этот метод позволяет отменить заказ. Возможность отмены заказа необходимо проверять в boolean-поле can_cancel структуры заказа.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
403orders.cant_be_cancelledИстекли условия, при которых можно отменить заказ.Не отображать кнопку «Отменить заказ» для заказов, которые нельзя отменить (поле `can_cancel` у заказов).
Authorizations:
path Parameters
order
required
string

ID заказа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Сменить статус заказа

Authorizations:
path Parameters
order
required
string

ID заказа

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
order_status_id
string

ID статуса заказов

is_system
boolean

Флаг системного изменения. Под системным изменением подразумевается переход статуса без участия покупателя или сотрудника магазина.

Responses

Request samples

Content type
application/json
{
  • "order_status_id": "9733aee2-bb78-4ef2-a069-cbcdcec6087b",
  • "is_system": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Позиции

Добавить товары к заказу

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
product_variant_id
string

ID варианта товара

quantity
integer

Количество

promotion_id
string

ID акции, с которой связан добавляемый подарок

promotion_reward_id
string

ID подарка акции, с которым связан добавляемый вариант

Array of objects

Список модификаторов

Responses

Request samples

Content type
application/json
{
  • "product_variant_id": "b11f7b7f-5f41-4bc2-97fa-7df49225a2ba",
  • "quantity": 1,
  • "promotion_id": "7c2efbaf-ed05-4981-9748-b94a1b78ad33",
  • "promotion_reward_id": "9f5934fb-ed3c-42fe-8dd4-ae3f12699957",
  • "modifiers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить товары из заказа

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
product_variant_id
string

ID варианта товара

quantity
integer

Количество

promotion_id
string

ID акции, с которой связан удаляемый подарок

promotion_reward_id
string

ID подарка акции, с которым связан удаляемый вариант

Array of objects

Список модификаторов

Responses

Request samples

Content type
application/json
{
  • "product_variant_id": "b11f7b7f-5f41-4bc2-97fa-7df49225a2ba",
  • "quantity": 1,
  • "promotion_id": "7c2efbaf-ed05-4981-9748-b94a1b78ad33",
  • "promotion_reward_id": "9f5934fb-ed3c-42fe-8dd4-ae3f12699957",
  • "modifiers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Проверить актуальность корзины

Этот метод позволяет проверить актуальность корзины по следующим параметрам:

  • Корректность цен. Если у товаров из корзины изменилась цена, проблемные товары могут быть удалены;
  • Полное наличие остатков. Если какие-либо товары в корзине отсутствуют в полном составе на складах (в зависмости от настроек магазина), проблемные товары могут быть удалены;
  • Недоступность товаров. Если у каких-либо товаров была отключена возможность заказа, проблемые товары могут быть удалены.

В зависимости от настроек магазина, в поле action будет строка none (корзина не менялась) либо cleanup (проблемые товары были удалены). Если произошло удаление товаров, вам следует перезагрузить весь заказ и уведомить покупателя, что состав корзины изменился.

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Настройки

Настройки заказа

Метод возвращает список опций, способов доставки и способов оплаты, которые доступны для выбранного заказа.

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Оформление (Checkout API)

Привязать покупателя к заказу

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
object

Телефон покупателя (обязателен, если нет токена аутентификации)

first_name
string

Имя покупателя

last_name
string

Фамилия покупателя

gender
string
Enum: "female" "male" "other"

Пол покупателя

birth_date
string

Дата рождения покупателя (в формате YYYY-MM-DD)

Responses

Request samples

Content type
application/json
{
  • "phone": {
    },
  • "first_name": "Иван",
  • "gender": "male",
  • "birth_date": "1991-09-20"
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Указать способ доставки заказа

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
delivery_method
string
Enum: "delivery" "pickup" "on_premise"

Способ доставки

object

Адрес доставки (обязателен, если delivery_methoddelivery)

stock_id
string

ID склада (обязателен, если delivery_methodpickup или on_premise)

object

Информация о заказе в заведении (обязателен, если delivery_methodon_premise)

deliver_at
string

Дата отложенной доставки в часовом поясе города (в формате YYYY-MM-DD HH:MM)

object

Интервал доставки

Responses

Request samples

Content type
application/json
{
  • "delivery_method": "delivery",
  • "delivery_address": {
    },
  • "deliver_at": "2021-07-20 19:00"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Указать интервал доставки заказа

Используйте этот метод, если интервал доставки невозможно указать вместе со способом доставки (например, если вы запросили у покупателя способ доставки до наполнения корзины).

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
object

Интервал доставки

Responses

Request samples

Content type
application/json
{
  • "delivery_interval": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Указать способ оплаты заказа

Используйте этот метод для передачи одного основного способа оплаты (cash, credit-card, mobile_bank, cloudpayments или card_token) и (опционально) суммы оплаты бонусами (bonuses).

Если покупатель списывает бонусы, вам необходимо передать сумму списания в поле amount объекта оплаты бонусами. Для остальных способов оплаты это поле заполнять не нужно – оно будет проигнорировано на сервере.

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

Бонусы и платежи по токену (card_token) не списываются после вызова этого метода. Списание произойдёт только во время оформления заказа.

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

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
Array of objects

Список способов оплаты

Responses

Request samples

Content type
application/json
{
  • "payments": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Предпросмотр бонусов

Используйте этот метод, чтобы получить оставшуюся сумму к оплате после применения бонусов.

Если в параметре amount будет передана сумма бонусов, превышающая лимит списания (из-за ограничений на процент оплаты или из-за нехватки баланса), в поле bonuses будет указана максимальная сумма списания.

В поле unpaid будет указана оставшаяся сумма к оплате. Если сумма равна нулю, это означает, что заказ может быть полностью оплачен бонусами и основной способ оплаты можно не передавать.

Внимание: этот метод не регистрирует платёжные транзакции и не списывает бонусы.

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

required
string or number

Сумма бонусов для списания

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Сводка о заказе

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Оформить заказ

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

Если поле confirmation_required установлено в true, необходимо выполнить подтверждение заказа кодом из SMS, который был отправлен покупателю (см. раздел «Подтверждение»). Первоначальная отправка кода выполняется автоматически.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
503orders.submission.disabledПриём заказов временно недоступен для этого магазина.Включить приём заказов (если вы владелец магазина), оформить заказ в рабочее время.
422orders.no_cityК заказу не привязан город.Привязать город к заказу и повторить процесс оформления заказа.
422orders.already_submittedЭтот заказ уже был оформлен ранее.После оформления каждого заказа следует создавать новый и работать с ним.
401orders.checkout.authentication_requiredТребуется аутентификация покупателя.Заказ нужно оформлять только после регистрации или входа покупателя в свой аккаунт.
422orders.no_customerПокупатель не найден.Убедиться, что покупатель был привязан.
503security.banЗапрос не может быть выполнен из-за блокировки телефона или IP-адреса.Дождаться снятия блокировки или написать письмо на tech@zenky.io, если блокировка была ошибочной.
422orders.invalid_delivery_methodВыбранный способ доставки отключен у магазина.Включить в настройках магазина нужный способ доставки или использовать другой доступный.
422orders.stock_missingСклад самовывоза не указан.Передать ID склада самовывоза.
422orders.delivery.city_stock_mismatchВыбранный склад самовывоза не относится к выбранному городу.Передать ID склада самовывоза, который относится к выбранному городу, или изменить город.
422addresses.not_specifiedАдрес доставки не указан.Убедиться, что адрес доставки был задан до оформления.
422orders.on_premise.table_missingНе указан номер стола.Убедиться, что номер стола в заведении был задан до оформления.
422orders.delivery_address.out_of_deliveryАдрес доставки не входит ни в одну зону доставки.Привязать другой адрес или изменить границы зоны доставки в панели управления магазином.
422orders.min_price.too_lowСумма заказа меньше минимальной суммы для оформления.Добавить товары, чтобы сумма заказа стала равна и больше минимальной суммы или изменить минимальную суммму для оформления.
422orders.payments.invalid_methodВыбранный способ оплаты недоступен.Включить в настройках магазина нужный способ оплаты или привязать другой доступный.
422orders.payments.amount_is_not_enoughСумма зарегистрированных платежей меньше суммы заказа.Зарегистрировать способы оплаты ещё раз или отключить проверку суммы оплаты в настройках магазина. Если покупатель изменяет корзину после регистрации платежей, их нужно регистрировать заново.
422orders.payments.amount_exceeds_total_priceПереданная сумма платежей превышает сумму заказа.Изменить сумму платежей или отключить проверку суммы оплаты в настройках магазина.
422orders.products.ordering_disabledНекоторые товары недоступны для заказа.Убрать из корзины недоступные для заказа товары или отключить блокировку в редактировании товара.
422orders.products.out_of_stockНекоторых товаров нет в наличии.Изменить содержание корзины или изменить настройку проверки наличия товаров в панели управления магазином.
422orders.products.price_mismatchУ некоторых товаров изменилась цена после добавления в корзину.Изменить содержание корзины или изменить настройку проверки соответствия цен в панели управления магазином.
422orders.promotions.extra_rewardsВ заказе содержатся лишние товары-подарки за акции.Удалить лишние товары-подарки за акции.
503loyalty.disabledПрограмма лояльности отключена.Убрать из списка платежей оплату бонусами.
503loyalty.not_availableAPI программы лояльности недоступен.Обратиться в техподдержку, передав ID заказа.
404orders.payments.card_token.not_foundТокен сохранённой карты не найден.Убедитесь, что передаётся корректный ID токена сохранённой карты. Обратитесь в техподдержку, передав ID заказа, ID токена сохранённой карты и полный ответ сервера.
404orders.payments.card_token.invalid_acquiringНеизвестный сервис эквайринга.Обратитесь в техподдержку, передав ID заказа и ID токена сохранённой карты.
503orders.payments.card_token.failedОплата по токену карты не удалась.Обратитесь в техподдержку, передав ID заказа и ID токена сохранённой карты.
503acquiring.not_availableСервис эквайринга не подключен.Подключить эквайринг в панели управления магазином.
path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
notes
string

Комментарий к заказу

persons_count
number

Количество персон

Responses

Request samples

Content type
application/json
{
  • "notes": "Без палочек.",
  • "persons_count": 2
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Подтверждение

Подтвердить номер телефона

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
code
integer

Код подтверждения из SMS

Responses

Request samples

Content type
application/json
{
  • "code": 0
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Повторно отправить код подтверждения в SMS

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Платежи

Список способов оплаты

Метод возвращает список способов оплаты, которые доступны для выбранного заказа. Если запрос отправляется от имени аутентифицированного покупателя, в списке могут быть ранее сохранённые карты (метод card_token).

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Предпросмотр платежей

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
Array of objects

Список платежей

Responses

Request samples

Content type
application/json
{
  • "payments": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Создать платёж

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
method
string
Enum: "cash" "credit-card" "mobile_bank" "cloudpayments" "card_token" "bonuses"

Способ оплаты

string or number

Сумма оплаты

string or number

Купюра к оплате (только для способа оплаты cash)

card_token_id
string

ID токена сохранённой карты (только для способа card_token)

save_card
boolean

Запомнить карту (только для способа cloudpayments)

confirmation_method
string
Enum: "pin" "sms"

Способ подтверждения списания бонусов (только для способа bonuses)

Responses

Request samples

Content type
application/json
{
  • "method": "bonuses",
  • "amount": 200,
  • "confirmation_method": "pin"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить неподтверждённый платёж

Этот метод возвращает существующий неподтверждённый платёж с указанными параметрами или создаёт новый. Может быть использован для предотвращения создания дублирующих платежей с одними и теми же параметрами.

path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
method
string
Enum: "cash" "credit-card" "mobile_bank" "cloudpayments" "card_token" "bonuses"

Способ оплаты

string or number

Сумма оплаты

string or number

Купюра к оплате (только для способа оплаты cash)

card_token_id
string

ID токена сохранённой карты (только для способа card_token)

save_card
boolean

Запомнить карту (только для способа cloudpayments)

confirmation_method
string
Enum: "pin" "sms"

Способ подтверждения списания бонусов (только для способа bonuses)

Responses

Request samples

Content type
application/json
{
  • "method": "bonuses",
  • "amount": 200,
  • "confirmation_method": "pin"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить онлайн-чек

Метод возвращает данные для создания онлайн-чека CloudPayments.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
422orders.payments.unsupported_receipt_methodЭтот способ оплаты не поддерживает создание чеков.Запросить онлайн-чек для транзакции, которая поддерживает создание чеков.
query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

order
required
string

ID заказа

payment
required
string

ID платежа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Подтвердить платёж

Этот метод используется только для подтверждения списания бонусов.

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

order
required
string

ID заказа

payment
required
string

ID платежа

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
code
integer

Код подтверждения платежа (ПИН покупателя или код из SMS)

Responses

Request samples

Content type
application/json
{
  • "code": 1234
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Отменить платёж

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

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

order
required
string

ID заказа

payment
required
string

ID платежа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Выполнить возврат платежа

Этот метод требует передачи ПИН-кода сотрудника магазина.

Authorizations:
query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

order
required
string

ID заказа

payment
required
string

ID платежа

header Parameters
X-User-Pin
required
string

ПИН сотрудника магазина

X-Store-Id
required
string

ID магазина

Request Body schema: application/json
string or number

Сумма возврата (если не указана, выполняется полный возврат)

force
boolean

Выполнить форсированный возврат (без возможности отмены операции возврата)

Responses

Request samples

Content type
application/json
{
  • "amount": 1000,
  • "force": false
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Отменить возврат платежа

Этот метод требует передачи ПИН-кода сотрудника магазина. Форсированные возвраты отменить нельзя.

Authorizations:
query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

order
required
string

ID заказа

payment
required
string

ID платежа

header Parameters
X-User-Pin
required
string

ПИН сотрудника магазина

X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Сборка

Сборка заказа позволяет указывать фактическое количество товара, которое есть на складе. Если при сборке было указано меньшее количество товара, чем в исходном заказе, общая стоимость будет пересчитана.

Фактическое количество может быть указано как для произвольных товаров (в этом случае у неотмеченных товаров количество не будет изменено), так и для всех (обязательная сборка всех товаров включается в настройках магазина).

Если после сборки стоимость заказа была пересчитана, автоматически произойдёт частичное возмещение онлайн-платежей (двухстадийные платежи будут возмещены моментально, одностадийные — до нескольких рабочих дней).

Собрать позицию заказа

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

Authorizations:
path Parameters
order
required
string

ID заказа

orderVariant
required
string

ID позиции заказа

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
quantity
integer

Количество собранного товара

Responses

Request samples

Content type
application/json
{
  • "quantity": 2
}

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Предпросмотр новой стоимости собранного заказа.

Этот метод позволяет узнать новую стоимость заказа после того, как были собраны товары.

Authorizations:
path Parameters
order
required
string

ID заказа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Завершить сборку заказа

Метод используется для завершения процесса сборки и обновления стоимости заказа.

Authorizations:
path Parameters
order
required
string

ID заказа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Оформление (устар.)

Оформить заказ

Устаревший метод

Внимание: этот метод признан устаревшим и не рекомендован к использованию в новых интеграциях. Вместо этого используйте набор методов в разделе «Оформление (Checkout API)». Этот метод будет удалён в API v3.

Если заказ оформляется на доставку, в поле delivery_address должен быть один из следующих объектов:

  1. Объект с единственным полем id — если заказ оформляется на уже существующий адрес покупателя. Запрос в этом случае должен выполняться с API-токеном покупателя, иначе запрос завершится с ошибкой;
  2. Объект с обязательным полем address, в котором должен быть указан полный адрес доставки до дома (включая город/населённый пункт, микрорайон (если есть), улицу (если есть), номер дома и корпус (если есть)). Вместе с адресом можно передать подъезд, квартиру, этаж, наличие домофона и заметку;
  3. Объект с отдельными полями адреса (city, street, house и т.д.).

Если запрос выполнется с API-токеном покупателя, то адрес будет сохранён в его профиль. Если у покупателя уже есть такой адрес, он будет переиспользован.

Если запрос выполняется без API-токена, адрес будет привязан только к заказу, в профиль покупателя он не сохранится, существующий адрес не будет переиспользован.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
503orders.submission.disabledПриём заказов временно недоступен для этого магазина.Включить приём заказов (если вы владелец магазина), оформить заказ в рабочее время.
422orders.already_submittedЭтот заказ уже был оформлен ранее.После оформления каждого заказа следует создавать новый и работать с ним.
422customers.phone_requiredНеобходимо передать телефон покупателя.Передать телефон покупателя в корректном формате.
503security.banЗапрос не может быть выполнен из-за блокировки телефона или IP-адреса.Дождаться снятия блокировки или написать письмо на tech@zenky.io, если блокировка была ошибочной.
404cities.not_foundГород не найден.Убедиться, что передаётся корректный ID города.
422addresses.resolver.failedНе удалось распознать адрес доставки.Убедиться, что адрес передан без ошибок. Обратиться в техподдержку с указанием проблемного адреса и ID заказа.
422orders.invalid_delivery_methodВыбранный способ доставки отключен у магазина.Включить в настройках магазина нужный способ доставки или использовать другой доступный.
422addresses.not_specifiedАдрес доставки не указан.Передать адрес доставки.
422orders.stock_missingСклад самовывоза не указан.Передать ID склада самовывоза.
422orders.delivery.city_stock_mismatchВыбранный склад самовывоза не относится к выбранному городу.Передать ID склада самовывоза, который относится к выбранному городу, или изменить город.
422orders.delivery_address.out_of_deliveryАдрес доставки не входит ни в одну зону доставки.Указать другой адрес или изменить границы зоны доставки в панели управления магазином.
422orders.min_price.too_lowСумма заказа меньше минимальной суммы для оформления.Добавить товары, чтобы сумма заказа стала равна и больше минимальной суммы или изменить минимальную суммму для оформления.
422orders.products.out_of_stockНекоторых товаров нет в наличии.Изменить содержание корзины или изменить настройку проверки наличия товаров в панели управления магазином.
422orders.products.ordering_disabledНекоторые товары недоступны для заказа.Убрать из корзины недоступные для заказа товары или отключить блокировку в редактировании товара.
422orders.payments.invalid_methodВыбранный способ оплаты отключен у магазина.Включить в настройках магазина нужный способ оплаты или использовать другой доступный.
422orders.payments.amount_is_not_enoughПереданной суммы платежей недостаточно для оплаты заказа.Изменить сумму платежей или отключить проверку суммы оплаты в настройках магазина.
422orders.payments.amount_exceeds_total_priceПереданная сумма платежей превышает сумму заказа.Изменить сумму платежей или отключить проверку суммы оплаты в настройках магазина.
422orders.promotions.extra_rewardsВ заказе содержатся лишние товары-подарки за акции.Удалить лишние товары-подарки за акции.
422orders.payments.already_paidЗаказ уже был полностью оплачен.Обратиться в техподдержку, передав ID заказа.
503loyalty.disabledПрограмма лояльности отключена.Убрать из списка платежей оплату бонусами.
422orders.no_customerПокупатель не найден.Убедиться, что передан номер телефона покупателя или его ID.
503loyalty.not_availableAPI программы лояльности недоступен.Обратиться в техподдержку, передав ID заказа.
404orders.payments.card_token.not_foundТокен сохранённой карты не найден.Убедитесь, что передаётся корректный ID токена сохранённой карты. Обратитесь в техподдержку, передав ID заказа, ID токена сохранённой карты и полный ответ сервера.
404orders.payments.card_token.invalid_acquiringНеизвестный сервис эквайринга.Обратитесь в техподдержку, передав ID заказа и ID токена сохранённой карты.
503orders.payments.card_token.failedОплата по токену карты не удалась.Обратитесь в техподдержку, передав ID заказа и ID токена сохранённой карты.
503acquiring.not_availableСервис эквайринга не подключен.Подключить эквайринг в панели управления магазином.
path Parameters
order
required
string

ID заказа

query Parameters
token
string

Токен заказа (для неаутентифицированных запросов)

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
city_id
string

ID города

delivery_method
string
Enum: "delivery" "pickup" "on_premise"

Способ доставки

stock_id
string

ID склада для самовывоза или заказа в заведении

deliver_at
string

Дата отложенной доставки в часовом поясе города (в формате YYYY-MM-DD HH:MM)

notes
string

Комментарии к заказу

object

Покупатель заказа

object

Адрес доставки

object

Информация о заказе в заведении

Array of objects

Список платежей

Responses

Request samples

Content type
application/json
{
  • "city_id": "dcb2f209-c9a4-482c-8427-fc6e651e3ddf",
  • "delivery_method": "delivery",
  • "deliver_at": "2021-07-20 19:00",
  • "notes": "Позвонить перед выездом курьера.",
  • "customer": {
    },
  • "delivery_address": {
    },
  • "payments": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Аутентификация

Регистрация нового покупателя

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.registration.referrer.not_foundУчетная запись пригласившего вас пользователя не найдена.Использовать другой код приглашения (`referrer_code`) или ID пригласившего пользователя (`referrer_id`).
422auth.already_registeredЭта учётная запись уже зарегистрирована.Использовать другой номер телефона.
503security.banЗапрос не может быть выполнен из-за блокировки телефона или IP-адреса.Дождаться снятия блокировки или написать письмо на tech@zenky.io, если блокировка была ошибочной.
422customers.phone_requiredНужно указать номер телефона покупателя.Убедиться, что номер телефона передан.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

password
string

Пароль покупателя (от 8 символов)

first_name
string

Имя покупателя

last_name
string

Фамилия покупателя

gender
string
Enum: "female" "male" "other"

Пол покупателя

birth_date
string

Дата рождения покупателя (в формате YYYY-MM-DD)

referrer_code
string

Код приглашения для программы «Пригласи друга» (вместо referrer_id)

referrer_id
string

ID пользователя для программы «Пригласи друга» (вместо referrer_code)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU",
  • "password": "1jEIjf3bnW",
  • "first_name": "Иван",
  • "last_name": "Иванов",
  • "referrer_code": "MiniatureSilverStilt"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Подтверждение регистрации

В ответе этого метода присутствует недокументированное поле user с объектом пользователя. Не используйте это поле, так как оно будет удалено в следующей версии API.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.user_not_foundУчётная запись не найдена.Убедиться, что передан правильный номер телефона.
422auth.registration.already_confirmedЭта учётная запись уже подтверждена.Использовать другой номер телефона для подтверждения.
403auth.registration.invalid_confirmation_codeНеправильный код подтверждения регистрации.Убедиться, что передан правильный код подтверждения.
422auth.registration.password_requiredНужно указать пароль.Убедиться, что пароль был передан во время регистрации или во время подтверждения.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

number or string

Код подтверждения

password
string

Пароль покупателя (от 8 символов)

first_name
string

Имя покупателя

last_name
string

Фамилия покупателя

gender
string
Enum: "female" "male" "other"

Пол покупателя

birth_date
string

Дата рождения покупателя (в формате YYYY-MM-DD)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU",
  • "code": "1234",
  • "password": "1jEIjf3bnW",
  • "first_name": "Иван",
  • "last_name": "Иванов"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Повторно выслать код подтверждения регистрации

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.user_not_foundУчётная запись не найдена.Убедиться, что передан правильный номер телефона.
422auth.registration.already_confirmedЭта учётная запись уже подтверждена.Использовать другой номер телефона для подтверждения.
503security.banЗапрос не может быть выполнен из-за блокировки телефона или IP-адреса.Дождаться снятия блокировки или написать письмо на tech@zenky.io, если блокировка была ошибочной.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Запросить код для сброса пароля

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.user_not_foundУчётная запись не найдена.Убедиться, что передан правильный номер телефона.
503auth.password_reset.not_availableСброс пароля недоступен для этой учётной записи.Ошибка возникает только на системных демо-аккаунтах.
503security.banЗапрос не может быть выполнен из-за блокировки телефона или IP-адреса.Дождаться снятия блокировки или написать письмо на tech@zenky.io, если блокировка была ошибочной.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Установить новый пароль

В ответе этого метода присутствует недокументированное поле user с объектом пользователя. Не используйте это поле, так как оно будет удалено в следующей версии API.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.user_not_foundУчётная запись не найдена.Убедиться, что передан правильный номер телефона.
503auth.password_reset.not_availableСброс пароля недоступен для этой учётной записи.Ошибка возникает только на системных демо-аккаунтах.
422auth.password_reset.code_expiredКод сброса пароля истёк.Запросить новый код сброса пароля.
422auth.password_reset.invalid_codeНеправильный код сброса пароля.Указать правильный код сброса пароля.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

number or string

Код сброса пароля

password
string

Новый пароль (от 8 символов)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU",
  • "code": "1234",
  • "password": "LHP5q2HuNc"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Вход в аккаунт

В ответе этого метода присутствует недокументированное поле user с объектом пользователя. Не используйте это поле, так как оно будет удалено в следующей версии API.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404auth.user_not_foundУчётная запись не найдена.Убедиться, что передан правильный номер телефона.
403auth.registration.confirmation_requiredНужно подтвердить номер телефона, указанный при регистрации.Перенаправить покупателя на страницу подтверждения регистрации.
403auth.invalid_passwordНеправильный пароль.Убедиться, что передан правильный пароль.
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

password
string

Пароль покупателя (от 8 символов)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU",
  • "password": "1jEIjf3bnW"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Проверка телефона

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

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Страна телефона (ISO 3166-1 alpha-2)

Responses

Request samples

Content type
application/json
{
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Профиль покупателя

Просмотр профиля покупателя

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы
settingsНастройки профиля
Authorizations:
query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменение профиля покупателя

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
422customers.birth_date.forbiddenДату рождения изменять нельзя.Сообщить покупателю, что он может изменить дату рождения, обратившись к представителям магазина.
422auth.invalid_passwordНеправильный пароль.Убедиться, что в поле `current_password` передан правильный пароль (требуется, если покупатель хочет изменить пароль).
Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
first_name
string

Имя покупателя

last_name
string

Фамилия покупателя

gender
string
Enum: "female" "male" "other"

Пол покупателя

birth_date
string

Дата рождения покупателя (в формате YYYY-MM-DD)

password
string

Новый пароль покупателя (от 8 символов)

current_password
string

Текущий пароль покупателя (требуется, если заполнено поле password)

Responses

Request samples

Content type
application/json
{
  • "first_name": "Иван",
  • "last_name": "Иванов"
}

Response samples

Content type
application/json
{}

Удаление профиля покупателя

Этот метод удаляет все адреса доставки покупателя, привязанные карты и обнуляет баланс бонусов. Номер телефона становится доступным для новой регистрации.

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
403auth.invalid_passwordУказан неправильный пароль.Убедиться, что в поле `password` передан правильный пароль.
Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
password
string

Пароль покупателя

Responses

Request samples

Content type
application/json
{
  • "password": "secretsecret"
}

Настройки покупателя

Просмотр настроек профиля покупателя

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменение настроек профиля покупателя

Этот метод обновляет только те настройки, ключи которых были переданы в запросе.

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
object

Объект с изменяемыми настройками

Responses

Request samples

Content type
application/json
{
  • "settings": {
    }
}

Response samples

Content type
application/json
{}

Адреса покупателя

Получить список адресов покупателя

Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать адрес покупателя

В поле delivery_address должен быть один из следующих объектов:

  1. Если магазин использует DaData.ru, объект с обязательным полем address, в котором должен быть указан полный адрес доставки до дома (включая город/населённый пункт, микрорайон (если есть), улицу (если есть), номер дома и корпус (если есть)). Вместе с адресом можно передать подъезд, квартиру, этаж, наличие домофона и заметку;
  2. Если магазин не использует DaData.ru, объект с отдельными полями адреса (city, street, house и т.д.).

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
422addresses.resolver.failedНе удалось определить адрес доставки.Убедиться, что адрес введён правильно и полностью.
Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
object

Адрес покупателя

Responses

Request samples

Content type
application/json
{
  • "delivery_address": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить адрес покупателя

В поле delivery_address должен быть один из следующих объектов:

  1. Если магазин использует DaData.ru, объект с обязательным полем address, в котором должен быть указан полный адрес доставки до дома (включая город/населённый пункт, микрорайон (если есть), улицу (если есть), номер дома и корпус (если есть)). Вместе с адресом можно передать подъезд, квартиру, этаж, наличие домофона и заметку;
  2. Если магазин не использует DaData.ru, объект с отдельными полями адреса (city, street, house и т.д.).

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404addresses.not_foundАдрес не найден.Убедиться, что адрес относится к покупателю.
422addresses.resolver.failedНе удалось определить адрес доставки.Убедиться, что адрес введён правильно и полностью.
Authorizations:
path Parameters
address
required
string

ID адреса

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
object

Адрес покупателя

Responses

Request samples

Content type
application/json
{
  • "delivery_address": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить адрес покупателя

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404addresses.not_foundАдрес не найден.Убедиться, что адрес относится к покупателю.
Authorizations:
path Parameters
address
required
string

ID адреса

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Способы оплаты покупателя

Получить список карт покупателя

Authorizations:
query Parameters
count
integer

Количество записей

page
integer

Номер страницы

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Удалить карту покупателя

Возможные ошибки API

Во время выполнения этого запроса вы можете столкнуться со следующими ошибками:

HTTPКодПричинаРешение
404orders.payments.card_token.not_foundСохранённая карта не найдена.Убедиться, что карта относится к покупателю.
Authorizations:
path Parameters
cardToken
required
string

ID карты

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Заказы покупателя

Получить список заказов покупателя

Этот метод поддерживает следующие включения:

ВключениеОписание
variantsПозиции заказа
variants.variantПозиции заказа и варианты товаров
variants.variant.external_identifierПозиции, варианты и внешние идентификаторы
variants.variant.option_valuesПозиции, варианты и значения опций вариантов
variants.variant.option_values.optionПозиции, варианты, значения и опции вариантов
variants.modifiersПозиции и выбранные модификаторы товаров
variants.modifiers.modifierПозиции, выбранные модификаторы и оригинальные модификаторы
variants.modifiers.modifier.external_identifierПозиции, модификаторы, ориг. модификаторы и внешн. идентификаторы
variants.modifiers.modifiers_groupПозиции, выбранные модификаторы и оригинальные группы модификаторов
variants.modifiers.modifiers_group.external_identifierПозиции, модификаторы, группы и внешн. идентификаторы
variants.productПозиции заказа и товары
variants.product.external_identifierПозиции заказа, товары и внешние идентификаторы
variants.product.mediaПозиции заказа, товары и изображения
variants.product.categoriesПозиции заказа, товары и категории
cityГород
city.settingsГород и настройки
stockСклад
stock.external_identifierСклад и внешний идентификатор
customerПокупатель
customer.external_identifierПокупатель и внешний идентификатор
delivery_addressАдрес доставки
delivery_zoneЗона доставки
statusesИстория изменения статусов
statuses.statusИстория статусов и оригинальные статусы
statuses_progressПрогресс изменения статусов
paymentsПлатёжные транзакции
payments_summaryСводная информация о платежах
deliver_at_localОтложенное время доставки по местному времени
management_tokenРасширенный токен заказа (включение доступно только сотрудникам магазина)
delivery_intervalИнтервал доставки
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

submitted_from
string

Начальная дата оформления заказа (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

submitted_till
string

Конечная дата оформления заказа (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

order_status_id
string

ID статуса заказа (можно перечислять несколько через запятую)

city_id
string

ID города

submission_period
string

Период оформленных заказов. Поддерживаются следующие периоды: сутки (24h), неделя (7d), месяц (30d), год (1y). Не рекомендуется использовать вместе с submitted_from/submitted_till.

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Программа лояльности

Получить актуальный баланс бонусов

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить список транзакций программы лояльности

Authorizations:
query Parameters
count
integer

Количество записей

page
integer

Номер страницы

type
string
Enum: "increase" "decrease"

Тип транзакции (increase – пополнение, decrease – списание)

status
string
Enum: "pending" "confirmed" "cancelled" "refunded"

Статус транзакции (pending – ожидает подтверждения, confirmed – подтверждена, cancelled – отменена, refunded – возвращена).

reason
string
Enum: "manual" "cashback" "referral_reward" "recruit_reward" "payment" "cancellation" "refund" "adjustment" "welcome_bonuses" "promotion_reward" "external"

Причина создания транзакции

order_id
string

ID связанного заказа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Покупатели

Получить список покупателей

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо фамилии и по имени (asc)
-nameПо фамилии и по имени (desc)
first_nameПо имени (asc)
-first_nameПо имени (desc)
last_nameПо фамилии (asc)
-last_nameПо фамилии (desc)
emailПо email (asc)
-emailПо email (desc)
phoneПо телефону (asc)
-phoneПо телефону (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Получить профиль покупателя

Этот метод поддерживает следующие включения:

ВключениеОписание
mediaМедиа-файлы
Authorizations:
path Parameters
customer
required
string

ID покупателя

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Бонусы

Получить транзакции программы лояльности

Authorizations:
path Parameters
customer
required
string

ID покупателя

query Parameters
count
integer

Количество записей

page
integer

Номер страницы

type
string
Enum: "increase" "decrease"

Тип транзакции (increase – пополнение, decrease – списание)

status
string
Enum: "pending" "confirmed" "cancelled" "refunded"

Статус транзакции (pending – ожидает подтверждения, confirmed – подтверждена, cancelled – отменена, refunded – возвращена).

reason
string
Enum: "manual" "cashback" "referral_reward" "recruit_reward" "payment" "cancellation" "refund" "adjustment" "welcome_bonuses" "promotion_reward" "external"

Причина создания транзакции

order_id
string

ID связанного заказа

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Отменить транзакцию программы лояльности

Authorizations:
path Parameters
customer
required
string

ID покупателя

transaction
required
string

ID транзакции

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить баланс покупателя

Authorizations:
path Parameters
customer
required
string

ID покупателя

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
type
string
Enum: "increase" "decrease"

Тип операции (increase: пополнение, decrease: списание)

amount
number

Сумма пополнения или списания

reason
string
Enum: "manual" "cashback" "referral_reward" "recruit_reward" "payment" "cancellation" "refund" "adjustment" "welcome_bonuses" "promotion_reward" "external"

Причина операции

order_id
string

ID связанного заказа

Responses

Request samples

Content type
application/json
{
  • "type": "increase",
  • "amount": 150,
  • "reason": "referral_reward"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить баланс покупателя по телефону

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
phone
string

Номер телефона покупателя

phone_country
string

Код страны телефона покупателя (ISO 3166-1 alpha-2)

type
string
Enum: "increase" "decrease"

Тип операции (increase: пополнение, decrease: списание)

amount
number

Сумма пополнения или списания

reason
string
Enum: "manual" "cashback" "referral_reward" "recruit_reward" "payment" "cancellation" "refund" "adjustment" "welcome_bonuses" "promotion_reward" "external"

Причина операции

order_id
string

ID связанного заказа

Responses

Request samples

Content type
application/json
{
  • "phone": 79640000000,
  • "phone_country": "RU",
  • "type": "increase",
  • "amount": 150,
  • "reason": "referral_reward"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Выполнить корректировку балансов

Этот метод позволяет выполнить корректировку балансов нескольких покупателей за раз. Так же он может использоваться для массового импорта покупателей, если импорт через CSV невозможен.

За один запрос можно передать не более 50 покупателей.

У каждого передаваемого покупателя обязательно должны быть указаны либо поле id (ID покупателя Zenky), либо два поля – phone и phone_country (если ID покупателя неизвестен). Так же обязательна передача поля balance (со значением 0 или больше).

  • В случае, если был передан ID, но покупателя с таким ID не существует, корректировка для этой записи не будет выполнена;
  • В случае, если был передан номер телефона, но покупателя с таким номером не существует, он будет создан автоматически.

В ответе будет присутствовать массив customers, в котором будут перечислены все обработанные покупатели. Вы можете использовать это поле для сопоставления «телефон – ID», если вам это необходимо.

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
Array of objects

Список покупателей

Responses

Request samples

Content type
application/json
{
  • "customers": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Программа лояльности

Получить настройки

Корневое поле enabled является глобальным флагом. Если его значением является false, все операции, так или иначе связанные с программой лояльности (отображение баланса, оплата бонусами, отображение списка транзакций и т.д.) должны быть полностью отключены.

То же самое относится к полю referral_program.enabled. При значении false всё, что связано с программой "Пригласи друга" должно быть отключено.

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить список бонусных уровней

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Акции

Акции делятся на 2 части: контентная (объект Offer) и функциональная (объект Promotion). Контентные данные используются в баннерах на сайтах и в приложениях, а так же в статьях, которые дают подбробные описания того, как работает акция.

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

Запуск проверки выполненных акций должен выполняться вручную по команде с сайта/приложения. Результат проверки будет доставлен в клиентское приложение через вебсокеты (см. подробнее в разделе "Проверка акций").

Получить список акций

Этот метод поддерживает следующие включения:

ВключениеОписание
titleВнутренний заголовок
cityГород
bannersБаннеры
articleСтатья
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Создать акцию

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
city_id
string

ID города

title
string

Внутренний заголовок акции

object

Баннеры акции

object

Статья акции

Responses

Request samples

Content type
application/json
{
  • "city_id": null,
  • "title": "Акция в день рождения",
  • "banners": {
    },
  • "article": {
    }
}

Response samples

Content type
application/json
{}

Получить акцию

Этот метод поддерживает следующие включения:

ВключениеОписание
titleВнутренний заголовок
cityГород
bannersБаннеры
articleСтатья
path Parameters
offer
required
string

ID акции

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменить акцию

Authorizations:
path Parameters
offer
required
string

ID акции

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
city_id
string

ID города

title
string

Внутренний заголовок акции

object

Баннеры акции

object

Статья акции

Responses

Request samples

Content type
application/json
{
  • "city_id": null,
  • "title": "Акция в день рождения",
  • "banners": {
    },
  • "article": {
    }
}

Response samples

Content type
application/json
{}

Удалить акцию

Authorizations:
path Parameters
offer
required
string

ID акции

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Получить правила акции

Этот метод поддерживает следующие включения:

ВключениеОписание
limitersРасписание по дням недели
rulesПравила акции
rules.contextПравила акции и контекст
rewardsНаграды акции
rewards.contextНаграды акции и контекст
rewards.rewardНаграды акции и награда
path Parameters
offer
required
string

ID акции

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить правила акции

Authorizations:
path Parameters
offer
required
string

ID акции

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
api_client
string
Enum: "web" "mobile" "api" "desktop_cashier" "mobile_cashier"

Источник заказа

stock_id
string

ID склада

delivery_method
string
Enum: "delivery" "pickup"

Способ доставки

enabled
boolean

Акция активна

timezone
string

Часовой пояс (tzdata)

exclusive
boolean

Уникальная акция

priority
integer

Приоритет акции

birthday
boolean

Акция на день рождения

days_before_birthday
integer

Кол-во дней до дня рождения (1-365)

days_after_birthday
integer

Кол-во дней после дня рождения (1-365)

birthday_limit
integer

Лимит использования акции на день рождения

total_limit
integer

Глобальный лимит использования акции (среди всех покупателей)

order_limit
integer

Количество повторений акции внутри заказа

started_at
string

Дата начала работы акции (YYYY-MM-DD HH:MM)

finished_at
string

Дата окончания работы акции (YYYY-MM-DD HH:MM)

Array of objects

Расписание по дням недели

Array of objects

Правила акции

Array of objects

Награды акции

Responses

Request samples

Content type
application/json
{
  • "api_client": "mobile",
  • "stock_id": null,
  • "delivery_method": "pickup",
  • "enabled": true,
  • "timezone": "Asia/Irkutsk",
  • "exclusive": false,
  • "priority": 0,
  • "birthday": false,
  • "days_before_birthday": 0,
  • "days_after_birthday": 0,
  • "birthday_limit": 0,
  • "total_limit": null,
  • "order_limit": 5,
  • "started_at": "2021-01-01 00:00",
  • "finished_at": "2021-12-31 23:59",
  • "limiters": [
    ],
  • "rules": [
    ],
  • "rewards": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Статьи

Получить список статей в блоге

Этот метод поддерживает следующие включения:

ВключениеОписание
categoryКатегория статей
mediaМедиа-файлы статьи

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

category_id
string

ID категории статей

publication
string
Default: "published"
Enum: "published" "unpublished" "all"

Статус публикации статей
* Параметр доступен только сотрудникам магазина

visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Статус отображения статей
* Параметр доступен только сотрудникам магазина

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Создать статью

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
title
string

Заголовок статьи

intro
string

Вводный текст статьи

body
string

Текст статьи

article_category_id
string

ID категории статей

cover_image_id
string

ID изображения обложки статьи

published
boolean

Статус публикации статьи

visible
boolean

Статус отображения статьи

Responses

Request samples

Content type
application/json
{
  • "title": "Lorem Ipsum",
  • "intro": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
  • "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
  • "article_category_id": "45cf50d3-deff-4000-8c7e-d4225a34cfd3",
  • "cover_image_id": "84d7f10a-e513-4361-a911-031f635a3fda",
  • "published": true,
  • "visible": true
}

Response samples

Content type
application/json
{}

Получить статью

Этот метод поддерживает следующие включения:

ВключениеОписание
categoryКатегория статей
mediaМедиа-файлы статьи
path Parameters
article
required
string

ID статьи

query Parameters
with
string

Список включений

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{}

Изменить статью

Authorizations:
path Parameters
article
required
string

ID статьи

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
title
string

Заголовок статьи

intro
string

Вводный текст статьи

body
string

Текст статьи

article_category_id
string

ID категории статей

cover_image_id
string

ID изображения обложки статьи

published
boolean

Статус публикации статьи

visible
boolean

Статус отображения статьи

Responses

Request samples

Content type
application/json
{
  • "title": "Lorem Ipsum",
  • "intro": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
  • "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
  • "article_category_id": "45cf50d3-deff-4000-8c7e-d4225a34cfd3",
  • "cover_image_id": "84d7f10a-e513-4361-a911-031f635a3fda",
  • "published": true,
  • "visible": true
}

Response samples

Content type
application/json
{}

Удалить статью

Authorizations:
path Parameters
article
required
string

ID статьи

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Категории статей

Получить список категорий статей

Этот метод поддерживает следующие поля сортировки (передаются в параметре order_by):

ПолеОписание
nameПо названию (asc)
-nameПо названию (desc)
visibilityПо статусу отображения (asc)
-visibilityПо статусу отображения (desc)
created_atПо дате создания (asc)
-created_atПо дате создания (desc)
updated_atПо дате изменения (asc)
-updated_atПо дате изменения (desc)
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

visibility
string
Default: "visible"
Enum: "visible" "hidden" "all"

Статус отображения категорий статей
* Параметр доступен только сотрудникам магазина

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать категорию статей

Authorizations:
header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
visible
boolean

Статус отображения категории

name
string

Название категории

Responses

Request samples

Content type
application/json
{
  • "visible": true,
  • "name": "Новости"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить категорию статей

path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изменить категорию статей

Authorizations:
path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
visible
boolean

Статус отображения категории

name
string

Название категории

Responses

Request samples

Content type
application/json
{
  • "visible": true,
  • "name": "Новости"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить категорию статей

Authorizations:
path Parameters
category
required
string

ID категории

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Обратная связь

Получить список запросов обратной связи

Authorizations:
query Parameters
with
string

Список включений

count
integer

Количество записей

page
integer

Номер страницы

search
string

Строка поиска

order_by
string

Поле сортировки

created_from
string

Начальная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

created_till
string

Конечная дата создания (поддерживаемые форматы: YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD)

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Создать запрос обратной связи

Поле email должно быть указано, если поле phone не указано (и наоборот). Поле phone_country должно быть указано, если передаётся поле phone.

header Parameters
X-Store-Id
required
string

ID магазина

Request Body schema: application/json
name
string

Имя пользователя

email
string

Email

phone
string

Номер телефона

phone_country
string

Код страны телефона (ISO 3166-1 alpha-2)

comment
string

Текст запроса

Responses

Request samples

Content type
application/json
{
  • "name": "Иван Иванов",
  • "email": "example@example.org",
  • "phone": "+7 (964) 123-45-67",
  • "phone_country": "RU",
  • "comment": "Перезвоните мне."
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Получить запрос обратной связи

Authorizations:
path Parameters
feedback
required
string

ID запроса

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Удалить запрос обратной связи

Authorizations:
path Parameters
feedback
required
string

ID запроса

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Объявления

Получить активное объявление

Этот метод позволяет запросить активное объявление для показа пользователю. Если подходящего объявления нет, то в поле data будет значение null.

query Parameters
city_id
string

ID активного города для показа объявления

header Parameters
X-Store-Id
required
string

ID магазина

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Изображения

Загрузить новый файл

Для загрузки файла необходимо передать файл в поле file или его URL в поле URL. Если переданы оба поля, будет использован загруженный файл.

Authorizations:
Request Body schema: application/json
file
file

Загружаемое изображение

url
string

URL загружаемого изображения

owner_type
string

Тип владельца изображения

owner_id
string

ID владельца изображения

collection
string

Название коллекции

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Удалить загруженное изображение

Authorizations:
path Parameters
medium
required
string

ID изображения

query Parameters
token
required
string

Токен доступа к изображению, полученный после загрузки файла.

Responses

Response samples

Content type
application/json
{
  • "message": "Unauthenticated."
}

Импорт данных

Импорт категорий

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список категорий

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт характеристик

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список характеристик

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт опций вариантов

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список опций вариантов

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт модификаторов

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список модификаторов

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт групп модификаторов

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список групп модификаторов

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт складов

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список складов

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Импорт товаров

path Parameters
token
required
string

Токен синхронизации

Request Body schema: application/json
Array of objects

Список товаров

Responses

Request samples

Content type
application/json
{
  • "payload": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Приложения

Получить настройки приложения

Этот метод требует передачи API-токена пользователя-создателя приложения или передачи токена приложения в параметре token.

path Parameters
application
required
string

ID приложения

query Parameters
with
string

Список включений

token
string

Токен приложения

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Зарегистрировать настройки приложения

Этот метод требует передачи API-токена пользователя-создателя приложения или передачи токена приложения в параметре token.

path Parameters
application
required
string

ID приложения

query Parameters
token
string

Токен приложения

Request Body schema: application/json
Array of objects

Список групп настроек

Responses

Request samples

Content type
application/json
{
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Мета-данные списка

object
{}

Ошибка API

Ошибка выполнения операции. Возникает при дополнительных проверках данных (после валидации) или при невозможности продолжить выполнение запроса.

Такие ошибки имеют уникальный код и текст сообщения, по которым можно определить причину ошибки и способ её устранения. Список возможных ошибок может быть перечислен в документации к конкретному методу API.

object
{
  • "error": {
    }
}

Ошибка валидации

Ошибка валидации входных данных. Возникает в том случае, если вы передали некорректные данные или не передали их вообще.

Исправить их проще всего – нужно изучить проблемные поля и свериться с документацией для исправления передаваемых данных.

message
string

Сообщение об ошибке

object

Список ошибок валидации

{
  • "message": "The given data was invalid.",
  • "errors": {
    }
}

Дата и время

timezone
string

Название часового пояса (tzdata)

datetime_utc
string

Дата и время в часовом поясе UTC

datetime
string

Дата и время в указанном часовом поясе

datetime_at
string

Отформатированное представление даты и времени в указанном часовом поясе

date
string

Дата в формате DD.MM.YYYY

diff
string

Строковое представление разницы с текущим временем

timestamp
integer

UNIX-таймштамп

iso_utc
string

Дата и время в часовом поясе UTC в формате ISO 8601

iso
string

Дата и время в указанном часовом поясе в формате ISO 8601

{
  • "timezone": "Asia/Irkutsk",
  • "datetime_utc": "2021-07-13 06:47:27",
  • "datetime": "2021-07-13 14:47:27",
  • "datetime_at": "13.07.2021 в 14:47",
  • "date": "13.07.2021",
  • "diff": "5 минут назад",
  • "timestamp": 1626158847,
  • "iso_utc": "2021-07-13T06:47:27+00:00",
  • "iso": "2021-07-13T14:47:27+08:00"
}

Телефон

e164
string

Номер телефона в формате E.164

international
string

Номер телефона в международном формате

national
string

Номер телефона в национальном формате

country
string

Код страны (ISO 3166-1 alpha-2)

{
  • "e164": "+79641234567",
  • "international": "+7 964 123-45-67",
  • "national": "+7 (964) 123-45-67",
  • "country": "RU"
}

Цена

value
integer

Сумма в копейках

short
string

Отформатированная цена без валюты

trimmed
string

Отформатированная цена без пробелов и спец. символов

full
string

Отформатированная цена с валютой

object

Валюта

{
  • "value": 7999000,
  • "short": "79 990",
  • "trimmed": "79990",
  • "full": "79 990₽",
  • "currency": {
    }
}

Медиа-файл

id
string

ID медиа-файла

url
string

URL оригинального файла

object
{}