/api/login
Описание метода
- Метод позволяет получить токен, использующийся для работы в системе,
- Для получения токена необходимо использовать пользователя Личного Кабинета,
- Создать пользователя возможно через интерфейс ЛК,
- Один и тот же пользователь может использоваться и для работы в UI, и для работы через API, но рекомендуется использовать для этих целей различными пользователями,
- Сессия живет 24 часа, все сессии меньше 24 часов удаляются, а если клиент в эти 24 часа обращается сессия обновит срок.
Запрос
POST api/login
Параметр | Передается в | Пример |
---|---|---|
username | Body | test@mail.com |
password | Body | test@mail.com |
Пример запроса:
curl --location --request POST 'https://lk.licensium.online/api/login' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=test@mail.com' \
--data-urlencode 'password=test@mail.com'
Ответ
Параметр | Пример | Комментарий |
---|---|---|
api_token | 808bb056ebd9aecddfc83de71g | Данный токен необходим для работы других методов API |
Формат позитивного ответа:
{
"api_token": "808bb056ebd9aecddfc83de71g"
}
Формат негативного ответа:
{
"error": "Такой логин и/или пароль не существует!"
}
/api/sale/list
Назначение метода
Получение информации о проведенных продажах. Ни один параметр не обязателен. По умолчанию (без применения параметров) отдает 20 последних продаж.
Запрос
GET api/sale/list
Параметр | Передается в | Значение | Пример | Комментарий |
---|---|---|---|---|
Authorization | Header | token | Bearer 0bce3a11199ff67bd636ec446e | Используется для авторизации |
sale_status | Params | [0, 1, all] | all | "1" -- только активные продажи, "0" -- только отмененные продажи, "all" -- все продажи (значение по умолчанию) |
sort | Params | Str | s.id | Параметр используется в комбинации с параметром "order" и отражает, по какому полю будет идти сортировка. В настоящий момент поддерживается сортировка по полям: - "s.id" -- ID продажи (в системе порядковая сквозная нумерация, данное значение используется по умолчанию) - "s.total" -- сумма продажи, - ".s.commission_total" -- сумма комиссии, - "s.date_added" -- дата добавления записи. |
order | Params | [ASC, DESC] | ASC | Параметр используется в комбинации с параметром "sort". По умолчанию "DESC". |
limit | Params | Int | 100 | Максимальный лимит = "1000". По умолчанию = "20". |
page | Params | Int | 2 | Номер страницы выдачи. По умолчанию "1". |
date_start | Params | \y\y\y\y-\m\m-\d\d | 2021-03-01 | Фильтр даты "от" |
date_end | Params | \y\y\y\y-\m\m-\d\d | 2021-03-31 | Фильтр даты "до" |
Пример минимального запроса:
curl --location --request GET 'https://lk.licensium.online/api/sale/list' \
--header 'Authorization: Bearer 0bce3a11199ff67bd636er446f' \
--header 'Content-Type: multipart/form-data'
Пример запроса с параметрами:
curl --location --request GET 'https://lk.licensium.online/api/sale/list?sale_status=all&sort=s.id&order=ASC&limit=100&page=1' \
--header 'Authorization: Bearer 0bce3a11199ff67bd636er446f' \
--header 'Content-Type: multipart/form-data'
Ответ
Возвращается массив продаж с краткой информацией по каждой продаже.
Поле | Значение | Пример | Комментарий |
---|---|---|---|
sale_id | Str | "47740" | ID продажи, может применяться в других методах API |
name | Str | "Barbie Безе 1шт" | |
commission_percent | Int | 20 | |
commission_total | Float | 19.8 | |
total | Float | 99 | |
currency_code | Str | "RUB" | |
date_added | "\d\d\d\d-\m\m-\d\d \h\h:\m\m:\s\s" | "2021-04-01 18:57:36" | |
status | [1, 0] | 1 | Статус продажи. 1 -- активная продажа, 0 -- возвращенная. |
Пример ответа:
[
{
"sale_id": "47740",
"name": "Barbie Безе 2шт",
"commission_percent": 20,
"commission_total": 80,
"total": 400,
"currency_code": "RUB",
"date_added": "2021-04-01 18:57:36",
"status": "0"
},
{
"sale_id": "47739",
"name": "Enchantimals Безе 1шт",
"commission_percent": 20,
"commission_total": 20,
"total": 100,
"currency_code": "RUB",
"date_added": "2021-04-01 18:55:12",
"status": "1"
}
]
/api/sale/info
Описание метода
Метод отдает детальную информацию по конкретной продаже.
Запрос
GET api/sale/info
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | Header | Bearer 0bce3a11199ff67bd636ec446e | |
sale_id | Params | 47743 | Номер продажи. Получить номер можно методами api/sale/list и api/sale/add |
Пример запроса:
curl --location --request GET 'https://lk.licensium.online/api/sale/info?sale_id=47743' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--header 'Content-Type: multipart/form-data'
Пример ответа:
{
"delivery": {
"address": "1-й Колобовский переулок, 27/3 ст3",
"delivery_date": "2021-04-02 00:00:00",
"sale_id": "47744",
"type": "Доставка",
"type_id": "2",
"date_added": "2021-04-02 12:48:39",
"date_modified": "2021-04-02 12:48:39"
},
"sale_info": {
"id": "47744",
"internal_order": "31415926525897932384626",
"client_id": "0",
"delivery_id": null,
"comment": "комментарий",
"commission_percent": 20,
"commission_total": 100,
"currency_code": "RUB",
"name": "АЛАДДИН худ. м/ф Торт на заказ 1шт",
"total": 500,
"status": "1",
"sale_channel": "Выставка/Ярмарка",
"sale_channel_id": "1",
"production_date": "2021-03-30 00:00:00",
"date_added": "2021-04-02 12:48:39",
"date_modified": "2021-04-02 12:48:39",
"products": [
{
"id": "115507",
"status": "1",
"name": "АЛАДДИН худ. м/ф",
"licensor": "Disney",
"licensor_id": "1",
"brand": "АЛАДДИН худ. м/ф",
"brand_id": "2",
"unit": "шт",
"unit_id": "1",
"type": "Торт на заказ",
"type_id": "1",
"quantity": "1.0000 шт",
"production_date": "2021-03-30 00:00:00",
"price": 500,
"discount_percent": 0,
"total": 500
}
]
}
}
Расшифровка ответа:
Поле | Пример значения | Комментарий |
---|---|---|
delivery | Объект с информацией о доставке (Она может быть задана при продаже) | |
delivery.address | 1-й Колобовский переулок, 27/3 ст3 | |
delivery.delivery_date | 2021-04-02 00:00:00 | |
delivery.sale_id | 47744 | |
delivery.type | Доставка | |
delivery.type_id | 2 | |
delivery.date_added | 2021-04-02 12:01:58 | |
delivery.date_modified | 2021-04-02 12:01:58 | |
sale_info | Детали продажи | |
sale_info.id | 47743 | ID продажи в Системе SweetClub |
sale_info.internal_order | 31415926525897932384626 | Номер, использующийся в системе учета производителя |
sale_info.client_id | 0 | |
sale_info.delivery_id | null | |
sale_info.comment | комментарий | |
sale_info.commission_percent | 20 | |
sale_info.commission_total | 100 | Итоговая сумма комиссии по данной продаже. Может содержать копейки |
sale_info.currency_code | RUB | |
sale_info.name | АЛАДДИН худ. м/ф Торт на заказ 1шт | |
sale_info.total | 500 | Итоговая сумма продажи |
sale_info.status | 1 | Статус продажи (1 = активна, 0 = отменена) |
sale_info.sale_channel | Выставка/Ярмарка | |
sale_info.sale_channel_id | 1 | |
sale_info.production_date | 2021-03-30 00:00:00 | |
sale_info.date_added | 2021-04-02 12:01:58 | |
sale_info.date_modified | 2021-04-02 12:01:58 | |
products | Массив продуктов в данной продаже. Содержит минимум один объект | |
sale_info.products.id | 115506 | ID продукта в Системе SweetClub |
sale_info.products.status | 1 | Статус продукта (1 = активен, 0 = отменен) |
sale_info.[].products.name | АЛАДДИН худ. м/ф | |
sale_info.[].products.licensor | Disney | |
sale_info.[].products.licensor_id | 1 | |
sale_info.[].products.brand | АЛАДДИН худ. м/ф | |
sale_info.[].products.brand_id | 2 | |
sale_info.[].products.unit | шт | |
sale_info.[].products.unit_id | 1 | |
sale_info.[].products.type | Торт на заказ | |
sale_info.[].products.type_id | 1 | |
sale_info.[].products.quantity | 1.0000 шт | Штуки и упаковки будут всегда целочисленными, весовой товар может быть дробным |
sale_info.[].products.production_date | 2021-03-30 00:00:00 | |
sale_info.[].products.price | 500 | Стоимость 1 единицы или килограмма |
sale_info.[].products.discount_percent | 0 | Скидка % |
sale_info.[].products.total | 500 | Итоговая стоимость данного товара |
/api/sale/qr
Описание метода
Метод отдает qr-кода по конкретной продаже.
Запрос
GET api/sale/qr
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | Header | Bearer 0bce3a11199ff67bd636ec446e | |
sale_id | Params | 47743 | Номер продажи. Получить номер можно методами api/sale/list и api/sale/add |
Пример запроса:
curl --location --request GET 'https://lk.licensium.online/api/sale/qr?sale_id=47743' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--header 'Content-Type: multipart/form-data'
Пример ответа:
{
"qr": "https://qr.licensium.online/image/sticker/api/1626270929.archive.65001Barbie_Tort_na_zakaz_06_06_2021.zip"
}
Расшифровка ответа:
Поле | Пример значения | Комментарий |
---|---|---|
qr | https://qr.licensium.online/image/sticker/api/1626270929.archive.65001Barbie_Tort_na_zakaz_06_06_2021.zip | Ссылка на архив с qr-кода. Архив актуальный 1 час. |
/api/sale/add
Описание метода
Метод регистрации продажи в Системе.
Запрос
POST api/sale/add
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
brand_id | form | 2 | Доступные бренды, по которым можно производить продажи можно получить из метода api/brand/list |
product_type | form | 1 | Доступные для бренда варианты можно получить из метода api/brand/info , потом можно сохранить эти данные у себя, они меняются крайне редко |
product_quantity | form | 1 | Количество произведенной продукции (может быть float 0.7 , но только для весового товара) |
product_unit | form | 1 | Шт = 1, Кг = 2, Набор = 3 |
product_in_unit | form | 10 | Число продуктов в наборе (имеет смысл только если product_unit = 3 ) |
product_price | form | 500 | Стоимость 1 единицы продукта |
sale_channel_id | form | 1 | Канал продаж. Доступные для бренда варианты можно получить из метода api/brand/info , потом можно сохранить эти данные у себя, они меняются крайне редко |
production_date | form | 2021-03-30 | Дата производства |
delivery_date | form | 2021-04-02 | Дата доставки |
not_production_date | form | 0 | Если указать этот параметр, то дата производства будет равна 0, используется для товаров, где есть надпись "Дату производства смотри на упаковке". |
internal_order | form | 31415926525897932384626 | Внутренний номер, использующийся в учете товара производителем |
comment | form | комментарий | Комментарий |
delivery_type_id | form | 2 | Способ доставки: 1 = самовывоз, 2 = доставка |
delivery_address | form | Москва, ул. Краснознаменская, 27/3 ст3 | Адрес доставки |
Пример минимального корректного запроса:
curl --location --request POST 'https://lk.licensium.online/api/sale/add' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--form 'brand_id="2"' \
--form 'product_type="1"' \
--form 'product_quantity="1"' \
--form 'product_unit="2"' \
--form 'product_price="500"' \
--form 'sale_channel_id="1"' \
--form 'production_date="2021-03-30"' \
--form 'delivery_date="2021-04-02"'
Пример запроса со всеми возможными полями:
curl --location --request POST 'https://lk.licensium.online/api/sale/add' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--form 'brand_id="2"' \
--form 'product_type="1"' \
--form 'product_quantity="1"' \
--form 'product_unit="2"' \
--form 'product_in_unit="1"' \
--form 'product_price="500"' \
--form 'sale_channel_id="1"' \
--form 'production_date="2021-03-30"' \
--form 'delivery_date="2021-04-02"' \
--form 'not_production_date="0"' \
--form 'internal_order="31415926525897932384626"' \
--form 'comment="комментарий"' \
--form 'delivery_type_id="2"' \
--form 'delivery_address="Москва, ул. Краснознаменская, 27/3 ст3"' \
--form 'delivery_at="2021-04-02"'
Пример ответа:
{
"sales_id": [
47744
],
"success": "Заказ создан",
"error": []
}
Расшифровка ответа:
Поле | Пример значения | Комментарий |
---|---|---|
sales_id | [47744] | Массив из ID созданных продаж |
/api/brand/list
Описание метода
Метод получения списка активных брендов и их ID.
Для получения детальной информации по бренду необходимо использовать метод api/brand/info
.
Бренды, отсутствующие на данный момент в ответе недоступны для проведения продажи.
Запрос
GET api/brand/list
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
Пример запроса:
curl --location --request GET 'https://lk.licensium.online/api/brand/list' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--header 'Content-Type: multipart/form-data'
Ответ
Поле | Тип данных | Пример | Комментарий |
---|---|---|---|
brand_id | 1 | По данному ID можно будет применить запрос вида api/brand/info&brand_id=1 . Сейчас используется числовой ID, но стоит воспринимать его как строку, т.к. возможно применение UUID или иного формата в будущем. |
|
brand_name | 101 ДАЛМАТИНЕЦ | Человекочитаемое название |
Пример ответа:
[
{
"brand_id": "1",
"brand_name": "101 ДАЛМАТИНЕЦ"
},
{
"brand_id": "2",
"brand_name": "АЛАДДИН худ. м/ф"
},
{
"brand_id": "3",
"brand_name": "АЛИСА В ЗАЗЕРКАЛЬЕ фильм 2016г"
},
{
"brand_id": "4",
"brand_name": "АЛИСА В СТРАНЕ ЧУДЕС худ. м/ф"
}
]
/api/brand/info
Описание метода
Метод выдает информацию по конкретному бренду, включая информацию, необходимую для проведения продажи.
Запрос
GET api/brand/info&brand_id=1
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
Пример запроса:
curl --location --request GET 'https://lk.licensium.online/api/brand/info?brand_id=1' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--header 'Content-Type: multipart/form-data'
Ответ
Поле | Пример | Комментарий |
---|---|---|
brand_id | 1 | ID соответсвует поисковому запросу |
brand_name | 101 ДАЛМАТИНЕЦ | |
licensor_name | Disney | |
licensor_id | 1 | |
sale_channels | Массив каналов продаж, доступных для данного бренда | |
sale_channels.sale_channel_id | 1 | ID канала продаж необходим для проведения продажи |
sale_channels.name | Выставка/Ярмарка | |
product_type | Массив видов продукта, доступных для данного бренда | |
product_type.title | Безе | |
product_type.value | 4 | ID типа продукта необходим для проведения продажи |
product_type.units | Массив единиц измерения, доступных для данного вида продукта | |
product_type.units.title | шт | |
product_type.units.value | 1 | ID единицы измерения необходим для проведения продажи |
Пример ответа:
[
{
"brand_id": "1",
"brand_name": "101 ДАЛМАТИНЕЦ",
"licensor_name": "Disney",
"licensor_id": "1",
"sale_channels": [
{
"sale_channel_id": "1",
"name": "Выставка/Ярмарка"
},
{
"sale_channel_id": "2",
"name": "Детский/тематический парк"
}
],
"product_type": [
{
"title": "Безе",
"value": "4",
"units": [
{
"title": "шт",
"value": "1"
},
{
"title": "кг",
"value": "2"
},
{
"title": "набор",
"value": "3"
}
]
},
{
"title": "Вафельная печать",
"value": "15",
"units": [
{
"title": "шт",
"value": "1"
}
]
}
]
}
]
/api/refund/reasons
Описание метода
Метод отдает массив возможных причин для возврата продукции. Список вариантов меняется крайне редко, поэтому можно воспользоваться методом один раз и сохранить ID причин возвратов себе как константы.
Запрос
GET api/refund/reasons
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
Пример запроса:
curl --location --request GET 'https://lk.licensium.online/api/refund/reasons' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--header 'Content-Type: multipart/form-data'
Ответ
Поле | Тип данных | Пример | Комментарий |
---|---|---|---|
return_reasons.name | Str | Провел продажу два и более раз | |
return_reasons.return_reason_id | Str | 4 | Используется в методе api/refund/add |
Пример ответа:
{
"return_reasons": [
{
"return_reason_id": "4",
"name": " Провел продажу два и более раз"
},
{
"return_reason_id": "2",
"name": "Другое (укажите в комментарии)"
},
{
"return_reason_id": "5",
"name": "Клиент отказался от заказа"
},
{
"return_reason_id": "3",
"name": "Не правильно указаны данные"
}
]
}
/api/refund/add
Описание метода
Метод возврата ранее проведенной продажи. После возврата продажа более не учитывается при выставлении счета за месяц.
Запрос
POST api/refund/add
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
sale_id | Form | 47749 | Номер продажи, подлежащий возврату |
return_reason_id | Form | 3 | ID причины возврата. Полный список причин можно получить методом api/refund/reasons |
comment | Form | Случайно ввела неверную цену | Комментарий необязателен, но может быть рассмотрен нашими менеджерами для улучшения сервиса |
Пример запроса:
curl --location --request POST 'https://lk.licensium.online/api/refund/add' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--form 'sale_id="47749"' \
--form 'return_reason_id="3"' \
--form 'comment="Случайно ввела неверную цену"'
Ответ
Поле | Тип данных | Пример | Комментарий |
---|---|---|---|
error | Object | "sale_id": "Возврат не произведен. Не корректный sale_id" | Возвращается в случае невозможности провести операцию |
success | Str | Возврат произведен. | Если вернулось поле, то этого уже достаточно для подтверждения успеха. Текст поля может отличаться от приведенного в примере. |
Пример позитивного ответа:
{
"success": "Возврат произведен."
}
Пример негативного ответа:
{
"error": {
"sale_id": "Возврат не произведен. Не корректный sale_id"
}
}
/api/refund_product/add
Описание метода
Метод возврата товара из ранее проведенной продажи. После возврата товар более не учитывается при выставлении счета за месяц.
Запрос
POST api/refund_product/add
Параметр | Передается в | Пример | Комментарий |
---|---|---|---|
Authorization | token | Bearer 0bce3a11199ff67bd636ec446e | Передается в header |
product_id | Form | 47749 | Номер товара, подлежащего возврату |
return_reason_id | Form | 3 | ID причины возврата. Полный список причин можно получить методом api/refund/reasons |
comment | Form | Случайно ввела неверную цену | Комментарий необязателен, но может быть рассмотрен нашими менеджерами для улучшения сервиса |
Пример запроса:
curl --location --request POST 'https://lk.licensium.online/api/refund_product/add' \
--header 'Authorization: Bearer 3fa2dec643cbf182dd1e241e71' \
--form 'product_id="47749"' \
--form 'return_reason_id="3"' \
--form 'comment="Случайно ввела неверную цену"'
Ответ
Поле | Тип данных | Пример | Комментарий |
---|---|---|---|
error | Object | "product_id": "Возврат не произведен. Не корректный product_id" | Возвращается в случае невозможности провести операцию |
success | Str | Возврат произведен. | Если вернулось поле, то этого уже достаточно для подтверждения успеха. Текст поля может отличаться от приведенного в примере. |
Пример позитивного ответа:
{
"success": "Возврат произведен."
}
Пример негативного ответа:
{
"error": {
"sale_id": "Возврат не произведен. Не корректный product_id"
}
}