API реализовано в соответствии с протоколом JSONAPI.
Все методы API, кроме Token доступны только авторизованным пользователям. Для вызова этих методов необходимо отправлять HTTP заголовок, содержащий токен JWT:
Он представляет собой json-массив объектов с условиями сортировки:
Типы данных
Доступные типы данных:
Ограничение нагрузки на REST API
В REST API действует ограничение на количество запросов с одного IP в единицу времени. При превышении лимита в 1000 запросов в минуту возвращается ошибка 429:
HTTP/1.1 Error 429: Too Many Attempts{"errors": [ {"status": 429,"title": "Too Many Attempts." } ]}
В случае получения такого сообщения клиент должен сделать паузу на 1 минуту и уменьшить частоту запросов.
Методы API
Токен
Получить токен
POSThttps://api.loymaxsc.net/token
Метод для получения авторизационного токена. Токен необходим для выполнения запросов к API. Полученный токен отправляется в заголовке запроса:
Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Метод для регистрации профиля клиента клиента по его идентификатору в мастер-системе.
ВАЖНО: Повторный вызов запроса для уже имеющегося в базе local_id обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения профиля клиента по его идентификатору в мастер-системе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для управления подпиской клиента по его идентификатору в мастер-системе.
ВАЖНО: Подписка на категории рассылок, по которым код не передан не обновляется.
Разрешено только для авторизованных пользователей с ролью API.
Метод возвращает информацию о бонусах клиента по его идентификатору в мастер-системе:
- Количество активных бонусов;
- Количество бонусов, которые ожидают активации;
- Количество бонусов, которые ожидают деактивации;
- Ближайшую дату деактивации бонусов;
- Ближайшее количество деактивируемых бонусов.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения бонусов клиента по его идентификатору в мастер-системе пользователя.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Разрешено только для авторизованных пользователей с ролью API.
Метод для регистрации чека (заказа/транзакции), либо обновления существующего чека (заказа/транзакции) по его local_id.
ВАЖНО: Повторный вызов запроса для уже имеющегося в базе local_id обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Помимо явно перечисленных выше параметров строка чека также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя платформы.
Метод для изменения чека (заказа/транзакции) по его идентификатору в мастер-системе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
HTTP/1.1 404 Not found
{
"errors": [
{
"status": "404",
"code": "404",
"title": "Nothing found"
}
]
}
HTTP/1.1 500 Internal Server Error
{
"errors": [
{
"status": 500,
"title": "Internal server error"
}
]
}
Зарегистрировать событие
POSThttps://api.loymaxsc.net/event
Метод для создания нового события.
Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения события по его идентификатору в мастер-системе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Разрешено только для авторизованных пользователей с ролью API.
Метод для записи web-событий, таких как регистрация, авторизация в системе, просмотр карточки в МП, просмотр продуктовой категории, просмотр продукта, добавление продукта в корзину, удаление продукта из корзины, очистка корзины, завершение оформления заказа, регистрация произвольного события.
Разрешено только для авторизованных пользователей с ролью API.
Метод для создания нового продукта.
ВАЖНО: Повторный вызов запроса для уже имеющегося в базе local_id обновляет все поля. Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения продукта по его идентификатору в мастер-системе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для создания новой продуктовой категории.
ВАЖНО: Повторный вызов запроса для уже имеющегося в базе local_id обновляет все поля. Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения категории по её идентификатору в мастер-системе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
HTTP/1.1 500 Internal Server Error
{
"errors": [
{
"status": 500,
"title": "Internal server error"
}
]
}
Метка
Создать метку
POSThttps://api.loymaxsc.net/customer/:id/marker/
Метод для привязки метки к указанному клиенту (если метки с таким именем нет, создаётся).
Разрешено только для авторизованных пользователей с ролью API.
Метод для получения списка меток, которыми отмечен клиент, по идентификатору этого клиента.
Разрешено только для авторизованных пользователей с ролью API.
HTTP/1.1 500 Internal Server Error
{
"errors": [
{
"status": 500,
"title": "Internal server error"
}
]
}
Создать новую группу промокодов
POSThttps://api.loymaxsc.net/promocode-group
Метод для создания новой группы промокодов, либо обновления существующей группы промокодов по её local_id.
ВАЖНО: Повторный вызов запроса для уже имеющегося в базе local_id обновляет все поля. Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения группы промокодов по её id в Платформе. Если требуется изменить группу по её local_id, следует использовать метод POST.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для создания нового справочника.
Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения справочника по его id в Платформе. Если требуется изменить справочник по его local_id, следует использовать метод POST.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Метод для создания нового элемента в справочнике.
Поля, которые не передавались в запросе, будут заполнены пустыми значениями, либо значениями по умолчанию.
Разрешено только для авторизованных пользователей с ролью API.
Метод для изменения элемента справочника по его id в Платформе.
ВАЖНО: Запрос обновляет все поля. Поля, которые не передавались в запросе, будут обновлены пустыми значениями, либо значениями по умолчанию.
Помимо явно перечисленных ниже параметров запрос также может содержать любые параметры, имеющиеся в решении и/или индивидуальной конфигурации пользователя Платформы.
Разрешено только для авторизованных пользователей с ролью API.
Токен. Указывается токен от Google, Apple или Harmony в зависимости от клиентской платформы.
Authorization*
String
Bearer TOKEN
Content-Type*
String
application/json
application/vnd.api+json
device_id*
String
Уникальный идентификатор устройства
source_id
Number
Идентификатор источника событий
local_id*
number
Идентификатор клиента в мастер-системе пользователя
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
local_id*
number
Идентификатор клиента в мастер-системе пользователя
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
string
Идентификатор чека в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Authorization
string
Bearer TOKEN
Content-Type
string
application/json
application/vnd.api+json
local_id
string
Идентификатор чека (заказа/транзакции) в мастер-системе пользователя
client_id
string
Идентификатор клиента в мастер-системе пользователя
number
string
Номер чека (заказа/транзакции)
status_name
string
Наименование статуса заказа, транзакции
date*
string
Дата чека (заказа/транзакции) (в строковом формате)
items_cnt
number
Количество продуктов в чеке (заказе/транзакции). Речь идёт о количестве единиц
items_sum
number
Сумма чека (заказа/транзакции)
items
array
Состав чека (заказа/транзакции)
Атрибут
Тип
Назначение
local_id
String
Идентификатор строки заказа / строки транзакции в мастер-системе пользователя
product_id
String
Идентификатор продукта в мастер-системе пользователя
price
Number
Стоимость продукта
cnt
Number
Количество продукта
sum
Number
Сумма по строке
id*
string
Идентификатор чека в мастер-системе
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/json
application/vnd.api+json
local_id*
string
Идентификатор чека (заказа/транзакции) в мастер-системе пользователя
client_id
string
Идентификатор клиента в мастер-системе пользователя
number
string
Номер чека (заказа/транзакции)
status_name
string
Наименование статуса заказа, транзакции
date*
string
Дата чека (заказа/транзакции) (в строковом формате)
items_cnt
number
Количество продуктов в чеке (заказе/транзакции). Речь идёт о количестве единиц
items_sum
number
Сумма чека (заказа/транзакции)
items
array
Состав чека (заказа/транзакции)
Content-Type
string
application/vnd.api+json или application/json
Authorization
string
Bearer TOKEN
id*
string
Идентификатор события в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/json
client_id
number
Идентификатор клиента в информационной системе пользователя. Если идентификатор не задан, то событие считается "системным", то есть относящимся ко всем клиентам
name*
string
Имя события (текстовый идентификатор)
date*
string
Дата события (в строковом формате)
context
object
Структура, содержащая контекст события. На контекст можно ссылаться в сообщениях с помощью макросов
id*
string
Идентификатор события в мастер-системе
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/json
client_id
string
Идентификатор клиента в информационной системе пользователя. Если идентификатор не задан, то событие считается "системным", то есть относящимся ко всем клиентам
name
string
Имя события (текстовый идентификатор)
date*
string
Дата события (в строковом формате)
context
object
Структура, содержащая контекст события. На контекст можно ссылаться в сообщениях с помощью макросов
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
client_id*
string
Идентификатор клиента в мастер-системе пользователя
source_code
string
Идентификатор источника событий
session_id*
string
Идентификатор сеанса
date*
string
Дата web-события
name*
string
Наименование web-события
category_id
string
Идентификатор продуктовой категории
product_id
string
Идентификатор продукта в мастер-системе пользователя
quantity
float
Количество единиц продукта
price
float
Стоимость продукта
container
string
Наименование контейнера в который помещено событие
source_id
string
Идентификатор источника событий
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
string
Идентификатор продукта в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
name*
string
Название продукта
local_id*
string
Идентификатор продукта в мастер-системе
category_id
string
Идентификатор продуктовой категории в мастер-системе
id*
string
Идентификатор продукта в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
name*
string
Название продукта
local_id*
string
Идентификатор продукта в мастер-системе пользователя
category_id
string
Идентификатор продуктовой категории в мастер- системе пользователя
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
string
Идентификатор категории в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
name*
string
Название продуктовой категории
local_id*
string
Идентификатор категории в мастер-системе пользователя
parent_id
string
Идентификатор родительской категории в мастер-системе пользователя
id*
string
Идентификатор категории в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
name*
string
Название категории
local_id*
string
Идентификатор категории в мастер-системе пользователя
parent_id
string
Идентификатор родительской категории в мастер-системе пользователя
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор рассылки в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор e-mail-рассылки
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор рассылки в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer Token
id*
number
Идентификатор SMS-рассылки
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор рассылки в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор push-рассылки
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
String
application/vnd.api+json или application/json
Authorization*
String
Bearer TOKEN
device_id*
String
Уникальный идентификатор устройства
*
String
state*
String
Статус push-уведомления:
Delivered - доставлено;
Read - прочитано.
message_id*
String
Идентификатор push-уведомления, который можно получить из payload.
source_id
number
Идентификатор источника событий
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор опроса в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
type*
string
Тип контактов
Допустимые значения: "email", "phone"
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json
application/json
name*
string
Название метки (текстовый идентификатор)
client_id*
number
Идентификатор клиента в Платформе
id*
string
Идентификатор клиента в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json
application/json
name*
string
Название метки (текстовый идентификатор)
client_id*
number
Идентификатор клиента в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор группы промокодов в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
name*
string
Наименование группы промокодов
local_id*
string
Идентификатор группы промокодов в мастер-системе
id*
number
Идентификатор группы промокодов в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
local_id*
string
Идентификатор группы промокодов в мастер-системе пользователя
name*
string
Наименование группы промокодов
id*
number
Идентификатор группы промокодов в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
local_id*
number
Идентификатор группы промокодов в мастер-системе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
id*
number
Идентификатор справочника в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
Authorization*
string
Bearer TOKEN
Content-Type*
string
application/json
name*
string
Имя справочника
code*
string
Мнемонический код справочника
id*
number
Идентификатор справочника в Платформе
Content-Type*
string
application/vnd.api+json или application/json
Authorization*
string
Bearer TOKEN
local_id*
string
Идентификатор справочника в мастер-системе пользователя