Данная документация содержит описание методов API Кабинета Дримкас.
Аттрибут | Значение |
---|---|
Базовый адрес | https://kabinet.dreamkas.ru/api |
Формат | JSON |
Кодировка | UTF-8 |
Все запросы к API, содержащие тело (POST, PUT, PATCH) должны выполняться с заголовком
Content-Type: application/json
. В противном случае, вы будете получать 400 ошибку, так как тело запроса не будет корректно обработано.
Авторизация
Для вызова большинства методов требуется авторизация.
По Cookies
Этот режим используется по умолчанию. Когда пользователь вводит логин/пароль в форме авторизации, в браузере выставляется Cookie, которая в дальнейшем используется для идентификации пользователя в API.
Все публичное API описанное в данной документации так или иначе используется самим Кабинетом Дримкас.
Поэтому если у Вас возникают вопросы по работе того или иного метода, то вы всегда можете подсмотреть реализацию через инструменты отладки браузера в соответствующем разделе Кабинета.
По токену
Это наиболее предпочтительный способ авторизации. Для запросов к API вам понадобится (внимание!) токен.
Получить его можно двумя способами: 1. Сгенерировать лично в настройках аккаунта. 2. Пройти OAuth авторизацию в одном из интеграционных решений. В этом случае созданный токен будет автоматически передан приложению, и оно сможет управлять вашим аккаунтом в ограниченном режиме. Например, приложение не сможет создавать/удалять устройства (кассы) в вашем аккаунте, изменять пароль, и т.д.
Для авторизации требуется передавать заголовок Authorization: Bearer {TOKEN}
при каждом вызове API.
Пример: Authorization: Bearer f7bf8f74-c225-46be-9d92-a4e6380d25b4
.
Удобство авторизации по токенам заключается в том, что вы не раскрываете логин/пароль вашего аккаунта, можете создать множество токенов и в любой момент запретить доступ приложения к вашему аккаунту, просто удалив нужный токен.
Фрагмент кода на PHP
$token = 'f7bf8f74-c225-46be-9d92-a4e6380d25b4';
$headers = array(
'Authorization: Bearer '.$token,
);
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $headers);
Базовая HTTP авторизация
Базовая авторизация подойдет для случаев, когда вы пишете приватную интеграцию, которую не планируется тиражировать, т.к. для ее работы вам потребуется логин и пароль аккаунта. Мало кто станет доверять интеграциям, которые просят логин/пароль аккаунта пользователя.
Для авторизации при каждом вызове API требуется передавать заголовок: Authorization: Basic {base64(логин:пароль)}
Пример: Для пары логин:пароль test@example.com:123456
заголовок будет выглядеть так Authorization: Basic dGVzdEBleGFtcGxlLmNvbToxMjM0NTY=
Фрагмент кода на PHP
$login = 'test@example.com';
$password = '123456';
$headers = array(
'Authorization: Basic '.base64_encode($login.':'.$password),
);
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $headers);
Авторизация приложений
Этот тип авторизации может быть использован интеграционными решениями для вызова сервисных методов, например, для создания пользователей.
Авторизация аналогична базовой. Для авторизации при каждом вызове API требуется передавать заголовок: Authorization: Basic {base64(client_id:client_secret)}
Подписка на обновления
Некоторые операции могут занимать достаточно продолжительное время.
Например, давайте рассмотрим фискализацияю чека по API. Когда вы отправляете чек, мы ставим его в очередь. Касса с определенной периодичностью стучится в наш шлюз и забирает на выполнение адресованные ей задачи. Иногда интернет-соединение на кассе теряется, она может перезагружаться или на ней в данный момент работает кассир. Как бы там ни было, моментально выполнить запрос нельзя. Для этого, при запросе
В Кабинете Дримкас реализованы два принципиально отличающихся способа получения информации об изменениях в аккаунте.
Поллинг
Наиболее подходит для решений, которые не имеют статичного IP-адреса в сети Интернет. Для реализации этого способа вам необходимо реализовать планировщик (cron), который будет с некоторой периодичностью опрашивать API на предмет изменений.
Такое решение наиболее востребовано при фискализации чеков по API. При отправке запроса, вы получаете ответ со статусом 202 Accepted
и идентификатором операции. На этом этапе ваш запрос еще не выполнен, он только добавлен в очередь. Фактически, запрос будет считаться выполненым, только когда касса сама сообщит об этом. Таким образом, в ответе вы получаете своеобразный трек-номер, к которому мы все привыкли на почте.
Используя данный идентификатор, с определенной периодичностью (10-20-30 сек.) вам следует проверять (поллить) результат операции (см. API Операции).
Вебхуки
Вебхуки наиболее предпочтительный способ подписи на изменения. Старайтесь всегда использовать этот метод, если это возможно.
Для работы вам необходимо на вашей стороне реализовать метод (endpoint url), в который Кабинет будет присылать уведомления посредством HTTP-запросов. После чего в настройках Кабинета вы указываете этот URL, так же события, по которым Кабинет будет отправлять уведомления.
Подробнее о формате читайте в разделе “Вебхуки”.
Описание ошибок
Первое правило бойцовского клуба: если вы не получили в ответе статус 2ХХ, то что-то пошло не так.
Клиентские ошибки (4XX)
Возникают в случае обнаружения ошибок в запросе клиента. Типичные ситуации: - неверный запрос;
-
ошибки валидации;
-
доступ запрещен;
-
требуется авторизация;
Наиболее частые ошибки
Статус | Описание | Способы устранения |
---|---|---|
400 | Ошибка валидации | Проверьте правильность введенных данных. |
401 | Требуется авторизация | Проверьте, правильно ли реализован блок авторизации. |
403 | Доступ запрещен | Авторизованному объекту запрещен доступ к ресурсу. Например, пытаетесь отредактировать чужую кассу. |
404 | Ресурс не найден | Проверить правильность написания ресурса, к которому обращаетесь. |
410 | Ресурс удален | Попытка получить доступ к удаленным данным, например, операциям, которые были заверешены более месяца назад. |
429 | Достигнут лимит запросов | Слишком много однотипных запросов, подождите немного и повторите попытку. |
Клиентские ошибки, как правило, выдаются с пояснениями.
Пример ответа с ошибкой
{
"status": 400,
"code": "E_VALIDATION_FAILED",
"message": "Ошибка валидации",
"data": {
"errors": [
{
"code": "E_PRODUCT_NAME_EMPTY",
"message": "Наименование товара не должно быть пустым"
}
]
}
}
Серверные ошибки (5ХХ)
Серверная ошибка. Типичные ситуации: - ведутся технические работы;
- произошел сбой на сервере;
В этом случае, как правило, просто следует повторить запрос немного позднее.
Если ошибка повторяется на проятяжении длительного времени, обратитесь в поддержку.
Фискализация чеков по API
Требования:
-
ККТ привязана к Кабинету Дримкас
-
Наличие боевого ФН в ККТ
Процесс фискализации
Процесс фискализации по API является асинхронным. ККТ выходит на связь и забирает задачи приблизительно раз в минуту.
При запросе в API Кабинета мы добавляем к чеку уникальный идентификатор операции (OperationID
), чек ставим в очередь и ожидаем пока ККТ придет за ним, а в ответе на запрос
отдаем присвоенный идентификатор, по которому вы в дальнейшем сможете отслеживать процесс фискализации (подробнее про статусы вы можете прочитать в описании метода).
Узнать о состоянии фискализации вы можете одним из двух способов:
-
периодически (но не чаще, чем раз в 30 секунд) опрашивать API операций с полученным
OperationID
-
добавить вебхук с подпиской на операции и чеки в Кабинете и реализовать на своей стороны обработчик (см. API вебхуков)
Простейший сценарий
-
Выполните
POST /api/v1/receipts
с корректно сформированным телом. HTTP статус202
означает, что ваш чек успешно помещен в очередь. Иной код означает ошибку, подробности которой будут указаны в теле ответа. -
Сохраните в вашем хранилище идентификатор операции из тела ответа.
-
Выполняйте периодический опрос
GET /api/v1/operations/{id}
до тех пор, пока не получите статус успеха или ошибки. -
В теле операции в атрибуте
data
будет содержаться информация, взависимости от статуса. При ошибке - пояснение об ошибке, при успехе - идентификатор чека в Кабинете по этой операции.
Новые теги ФФД и способы расчета
Частичная предоплата
Может быть выполнена только для позиций чека.
Теги:
-
1214 = 2
-
777 = 1200 (где 1200 - сумма предоплаты в копейках)
Полная предоплата
Может быть выполнена только для позиций чека.
Теги:
- 1214 = 1
Авансовые платежи
Например, для продажи сертификатов и подарочных карт.
В позиции передать теги:
- 1214 = 3
Проведение оплаты сертификатом, подарочной картой
В корне чека передать теги:
- 1215 = 1500 (где 1500 - сумма оплаченная сертификатом или подарочной картой)
Другие примеры
Ознакомиться с ними можно по следующей ссылке
Набор всех возможных ошибок:
TAX_MODE_IS_EMPTY
- не указана СНО
UNKNOWN_DOCUMENT_TYPE
- неверный тип документа (приход/расход, возврат прихода/расхода)
UNKNOWN_POSITION_TYPE
- неверный тип позиции
WRONG_PAYMENT_TYPE
- неверный тип оплаты (нал/безнал)
UNSUPPORTED_PAYMENT_TYPE
- одновременная оплата нал и безнал невозможна
KKT_NOT_AUTHORIZED
- ККТ не авторизована (нет пользователя)
FS_CONNECTION_ERROR
- отсутствие связи с ФН
KKT_NOT_FISCAL
- нефискальный режим
SHIFT_IS_CLOSE
- смена закрыта
OFD_DISCONNECT_30_DAYS
- отсутствует связь с ОФД 30 дней (фискализация чеков невозможна)
FS_TIMEOUT
- таймаут ФН
FS_WRONG_DATE
- неверная дата и время
FS_SHIFT_MORE_THEN_24H
- смена более 24 ч
Часто возникающие проблемы
-
Неверно сформирован запрос. В таком случае сервер не вернет идентификатор операции и чек не улетит на кассу
-
Разработчик не имеет понятия, что такое операции, как с ними работать. Читайте шаги сценария, пункт 2
-
Вы видите
PENDING
и не знаете, что с ним делать? Обновите статус операции, рано или поздно он изменится либо наSUCCESS
, либо наERROR
-
Вы видите
ERROR
и не понимаете, что с ним делать? В свойствеdata
указана подробная причина проблемы. -
Смена на кассе закрывается в самый ненужный момент? Укажите в настройках ККТ включить опцию “автооткрытие смены”
-
Отправка чека два раза подряд. Для Кабинета каждое отправленное задание будет проходить обработку. Вам необходимо контролировать это на своей стороне.
OAuth2
Для интеграции со сторонними сервисами Кабинет Дримкас поддерживает OAuth2 авторизацию. Простейший пример реализации на Node.js можно найти здесь.
Для начала работы вам потребуется
client_id
иclient_secret
. Их можно запросить через техподдержку Дримкас.
Разработчик приложения должен разместить на своем ресурсе ссылку на запрос авторизации.
Запрос на авторизацию
После перехода по этой ссылке, пользователю будет предложено подтвердить авторизацию.
При согласии, он будет переадресован по адресу, указанному в redirect_uri
.
В обработчике следует проверить наличие параметров code
и error
.
Если code
пришел, а error
пустой, то пользователь подтвердил авторизацию и нужно получить
для него access_token
с использованием которого ваше приложение сможет осуществлять действия
в аккаунте пользователя Кабинета.
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
client_id | number | Да | Идентификатор приложения. |
redirect_uri | string | Да | Обработчик результата авторизации |
Получение токена
При выполнении данного запроса, вы получите access_token
для работы с аккаунтом авторизовавшегося пользователя.
Этот токен следует сохранить в вашей системе и в дальнейшем использовать его для запросов, когда нужно
произвести какие либо действия в аккаунте пользователя Кабинета Дримкас.
Токен не имеет ограничения по времени действия. Однако, пользователь в любой момент может отменить интеграцию, удалив выданный токен в настройках. В этом случае ваше приложение утратит возможность работать с аккаунтом данного пользователя. Обязательно учитывайте это, чтобы не спамить API бесполезными запросами, т.к. на них всегда будет отдаваться ошибка авторизации. Как только Вы получили статус
401 Unauthorized
- можете считать, что пользователь отменил интеграцию. Удалите токен в своей системе и попросите его авторизоваться заново.
Товары
Предоставляет методы для управления товарами в аккаунте пользователя
Штрихкоды
У штрихкодов длиной 8, 12, 13, 18 символов проверяется контрольная сумма, на соответствие EAN8, UPC, EAN13, EAN13+5 форматам соответственно
Допускаются 5-значные цифровые строки для мерных товаров
Все остальные вариации можно хранить в vendorCodes - артикулы
Единица товара
Единица товара quantity
измеряется в тысячных и значение этого поля следует воспринимать по-разному, в завимисости от типа товара type
Примеры
type | quantity | значение |
---|---|---|
SCALABLE | 1 | 1 грамм |
SCALABLE | 200 | 200 грамм |
SCALABLE | 1000 | 1 кг |
COUNTABLE | 1000 | 1 шт |
ALCOHOL | 1000 | 1 бутылка/банка |
Если алкоголь продается в розлив, то нужно установить параметр volume = 0
,
тогда значение quantity = 200
, будет означать, что продукт продается в розлив по 200 мл
Работа с коллекцией
Получение списка товаров
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
limit | number | Нет | Количество записей в ответе |
offset | number | Нет | Смещение |
Создание товаров
Данный метод поддерживает создание одного или нескольких товаров.
Для создания одного товара тело запроса должно содержать объект с данными товара.
Для создания нескольких товаров нужно передать массив вида [{ Товар 1 }, { Товар 2 }, { Товар3 }]
.
При массовом добавлении товаров тело ответа содержит результат для каждого переданного товара.
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
||||||||||||||||||||||||
barcodes | array | Штрихкоды. Если длина 8, 12, 13, 18 то проверяется на контрольную сумму Пример:
["AB_1234", "00000001"]
|
||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Множественное редактирование
Множественное удаление
Позволяет выполнить удаление нескольких товаров одним запросом
Работа с экземпляром товара
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | string | Да | Идентификатор товара |
Информация о товаре
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
||||||||||||||||||||||||
barcodes | array | Штрихкоды. Если длина 8, 12, 13, 18 то проверяется на контрольную сумму Пример:
["AB_1234", "00000001"]
|
||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
||||||||||||||||||||||||
createdAt | string | Дата создания Пример:2017-05-05T14:15:01.239Z
|
||||||||||||||||||||||||
updatedAt | string | Дата последнего изменения Пример:2017-05-05T14:15:01.239Z
|
Редактирование товара
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
||||||||||||||||||||||||
barcodes | array | Штрихкоды. Если длина 8, 12, 13, 18 то проверяется на контрольную сумму Пример:
["AB_1234", "00000001"]
|
||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Удаление товара
Товары V2
/v2/products
Список товаров
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
limit | number | Нет | Количество записей в ответе, по умолчанию 100 |
offset | number | Нет | Смещение |
Создание товаров
Данный метод поддерживает создание одного или нескольких товаров.
Для создания одного товара тело запроса должно содержать объект с данными товара.
Для создания нескольких товаров нужно передать массив вида [{ Товар 1 }, { Товар 2 }, { Товар 3 }]
.
При массовом добавлении товаров тело ответа содержит результат для каждого переданного товара.
Параметры тела запроса
Параметр | Тип | Описание | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
|||||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
|||||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
|||||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
|||||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
|||||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
|||||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
|||||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
|||||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
|||||||||||||||||||||||||||
barcodes | array | Штрихкоды. Только длины 8, 12, 13, 18. Проверяется на контрольную сумму Пример:
["12341238"]
|
|||||||||||||||||||||||||||
vendorCodes | array | Артикулы, никаких валидаций Пример:
["AB_1234"]
|
|||||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Множественное редактирование
Множественное удаление
/v2/products/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | string | Да | Идентификатор |
Информация о товаре
Параметры тела ответа
Параметр | Тип | Описание | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
|||||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
|||||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
|||||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
|||||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
|||||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
|||||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
|||||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
|||||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
|||||||||||||||||||||||||||
barcodes | array | Штрихкоды. Только длины 8, 12, 13, 18. Проверяется на контрольную сумму Пример:
["12341238"]
|
|||||||||||||||||||||||||||
vendorCodes | array | Артикулы, никаких валидаций Пример:
["AB_1234"]
|
|||||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
|||||||||||||||||||||||||||
createdAt | string | Дата создания Пример:2017-05-05T14:15:01.239Z
|
|||||||||||||||||||||||||||
updatedAt | string | Дата последнего изменения Пример:2017-05-05T14:15:01.239Z
|
Редактирование товара
Параметры тела запроса
Параметр | Тип | Описание | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | UUID товара (если не передан, UUID будет сгенерирован автоматически). Указывать UUID можно только при создании товара. Изменить идентификатор товара после создания нельзя. Пример:b0381fe4-4428-4dcb-8169-c8bbcab59626
|
|||||||||||||||||||||||||||
name | string | Название По умолчанию:Новый товар
|
|||||||||||||||||||||||||||
type | enum | Тип продукта Принимает одно из значений
|
|||||||||||||||||||||||||||
departmentId | number | ID отдела магазина |
|||||||||||||||||||||||||||
quantity | number | Единица товара Пример:1000
|
|||||||||||||||||||||||||||
prices | array | Цена для каждого устройства
|
|||||||||||||||||||||||||||
price | number | Цена товара для новых устройств (если не указать, будет взято максимальное значение из |
|||||||||||||||||||||||||||
isMarked | boolean | Признак маркированного товара. Если true, касса при продаже попросит отсканировать код маркировки. Пример:true
|
|||||||||||||||||||||||||||
meta | object | Дополнительные данные о товаре, в зависимости от типа
|
|||||||||||||||||||||||||||
barcodes | array | Штрихкоды. Только длины 8, 12, 13, 18. Проверяется на контрольную сумму Пример:
["12341238"]
|
|||||||||||||||||||||||||||
vendorCodes | array | Артикулы, никаких валидаций Пример:
["AB_1234"]
|
|||||||||||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Удаление товара
Магазины
Предоставляет методы для управления магазинами пользователя.
Основное предназначение магазинов - логическая группировка устройств в Кабинете
/shops
Список магазинов
Создание магазина
Параметры тела запроса
Параметр | Тип | Описание |
---|---|---|
name | string | Название магазина Пример:Магазин №1
|
sort | number | Индекс сортировки (для отображения) Пример:999
|
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
name | string | Название магазина Пример:Магазин №1
|
sort | number | Индекс сортировки (для отображения) Пример:999
|
id | number | Идентификатор Пример:1
|
Множественное редактирование
/shops/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор магазина |
Информация о магазине
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
name | string | Название магазина Пример:Магазин №1
|
sort | number | Индекс сортировки (для отображения) Пример:999
|
id | number | Идентификатор Пример:1
|
Редактирование магазина
Параметры тела запроса
Параметр | Тип | Описание |
---|---|---|
name | string | Название магазина Пример:Магазин №1
|
sort | number | Индекс сортировки (для отображения) Пример:999
|
Удаление магазина
Устройства
Предоставляет методы для работы с подключенными устройствами
/devices
Список устройств
Создание кассы (доступно только для приложений)
Параметры тела запроса
Параметр | Тип | Описание | ||||
---|---|---|---|---|---|---|
uuid | string | UUID кассы |
||||
modelCode | enum | На данный момент доступен только Дримкас-ф Принимает одно из значений
|
||||
callback | string | URL, куда будет вызван вебхук после подключения кассы |
/devices/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор устройства |
Информация об устройстве
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
name | string | Название |
groupId | number | Идентификатор магазина |
sort | number | Индекс сортировки (для отображения) |
id | number | Идентификатор |
timezoneOffset | number | Часовой пояс кассы , смещение в минутах от UTC |
Редактирование устройства
Параметры тела запроса
Параметр | Тип | Описание |
---|---|---|
name | string | Название |
groupId | number | Идентификатор магазина |
sort | number | Индекс сортировки (для отображения) |
Отделы
Предоставляет методы для управления отделами пользователя.
Основное предназначение отделов - логическая группировка товаров в Кабинете
/departments
Список отделов
Создание отдела
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела Пример:Хлебобулочные изделия
|
||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела Пример:Хлебобулочные изделия
|
||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
||||||||||||||||||
id | number | Идентификатор отдела |
/departments/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор отдела |
Информация об отделе
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела Пример:Хлебобулочные изделия
|
||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
||||||||||||||||||
id | number | Идентификатор отдела |
Редактирование отдела
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела Пример:Хлебобулочные изделия
|
||||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Удаление отдела
Удаление отдела не влечёт за собой удаление товаров внутри, они будут перенесены в отдел “Без отдела”
Отделы V2
Предоставляет методы для управления отделами пользователя.
Основное предназначение отделов - логическая группировка товаров в Кабинете
/v2/departments
Список отделов
Создание отдела
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела |
||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела |
||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
||||||||||||||||
id | number | Идентификатор отдела |
/v2/departments/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор отдела |
Информация об отделе
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела |
||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
||||||||||||||||
id | number | Идентификатор отдела |
Редактирование отдела
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | string | Название отдела |
||||||||||||||||
tax | enum | Налог Принимает одно из значений
|
Удаление отдела
Удаление отдела не влечёт за собой удаление товаров внутри, они будут перенесены в отдел “Без отдела”
Чеки
Набор методов для работы с чеками.
/receipts
Чеки за период
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
from | string | Нет | Дата в ISO формате. По умолчанию 00:00:00 текущего дня |
to | string | Нет | Дата в ISO формате. По умолчанию 23:59:59 текущего дня |
offset | number | Нет | Смещение |
limit | number | Нет | Количество. Максимальное значение 1000 |
devices | string | Нет | список идентификаторов устройств |
Параметры тела ответа
Параметр | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Фактические значения, с которыми был выполнен запрос
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data | array | Данные о продажах
|
Фискализация чека
Среднее время фискализации чека составляет 30 секунд.
Параметры тела запроса
Параметр | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
externalId | string | Внешний идентификатор (UUIDv4) операции. Необязательный параметр. Позволяет избежать неопределенности в ситуациях, когда клиент теряет интернет-соединение в момент запроса на фискализацию. Внешний идентификатор можно использовать в качестве основного идентификатора в методе GET /api/operations/:id. Клиент должен гарантировать уникальность передаваемого идентификатора. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deviceId | number | Идентификатор устройства, которое будет использовано для фискализации Пример:1385
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | enum | Тип операции Принимает одно из значений
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
timeout | number | Таймаут фискализации в минутах. Не менее 5 минут, по умолчанию - 240 минут (4 часа). Если в течение этого времени не удастся произвести фискализацию, то операция будет отменена с ошибкой. Пример:5
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxMode | enum | Система налогообложения Принимает одно из значений
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
positions | array | Позиции, максимальное количество равно 100.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payments | array | Информация об оплате
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags | array | Теги ФФД
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
attributes | object | Информация о покупателе. По этим параметрам ОФД отправит электронный чек покупателю. Требуется указать как минимум 1 параметр.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total | object | Сумма чека
|
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | Идентификатор операции (см. API Операции) Пример:5956889136fdd7733f19cfe6
|
||||||||||
externalId | string | Внешний идентификатор (UUIDv4) (не обязательно) Пример:2b964ebc-5f03-4a9b-86ff-7e9371611386
|
||||||||||
createdAt | string | Дата формирования Пример:2017-06-20 12:01:47.990Z
|
||||||||||
status | enum | Статус операции Принимает одно из значений
|
/receipts/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | string | Да | Идентификатор чека |
Информация о чеке
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | Идентификатор чека |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | enum | Тип чека Принимает одно из значений
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
amount | number | Сумма чека в копейках |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
discount | number | Сумма скидок в копейках (уже учтена в amount, т.е. клиент заплатил столько, сколько указано amount) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deviceId | number | Идентификатор ККТ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shopId | number | Идентификатор магазина |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
operationId | string | Идентификатор операции, если чек был пробит через интернет-магазин. Может отсутствовать. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shiftId | number | Номер смены |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
number | number | Номер чека в смене |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
localDate | string | Локальное время кассы во время пробития чека |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
date | string | Время пробития чека |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payments | array | Детальная информация об оплате
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
positions | array | Позиции в чеке
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cashier | object | Информация о кассире
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
correctionData | object | Данные чека коррекции.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkURL | string | Сайт проверки чека Пример:www.nalog.ru
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fiscalDocumentNumber | string | Фискальный номер документа Пример:200
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fiscalDocumentSign | string | Фискальный признак документа Пример:2147483647
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fnNumber | string | Номер фискального накопителя Пример:9999078900001712
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
registryNumber | string | Регистрационный номер ККТ Пример:0000000001056589
|
Внесения/Изъятия
Возвращает информацию о внесениях и изъятиях за определенный интервал времени
/encashments{?from,to,limit,offset,devices}
Данные о внесениях и изъятиях
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
from | string | Нет | Дата в ISO формате. По умолчанию 00:00:00 текущего дня |
to | string | Нет | Дата в ISO формате. По умолчанию 23:59:59 текущего дня |
offset | number | Нет | Смещение |
limit | number | Нет | Количество. Максимальное значение 1000 |
devices | string | Нет | список идентификаторов устройств |
Параметры тела ответа
Параметр | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query | object | Фактические значения, с которыми был выполнен запрос
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data | array | Данные об изъятиях и внесениях
|
Кассиры
Возвращает список кассиров
/cashiers{?limit,offset}
Данные о кассирах
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
limit | number | Нет | Количество записей для вывода |
offset | number | Нет | Смещение |
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tabNumber | string | Табельный номер, уникален в рамках кассы Пример:88990
|
||||||||||||||||||||||
name | string | Имя Пример:Иванов Петр Олегович
|
||||||||||||||||||||||
inn | string | ИНН кассира Пример:1234567890
|
||||||||||||||||||||||
card | string | Номер карты кассира Пример:046563
|
||||||||||||||||||||||
password | string | Хэш пароля (ГОСТ 34.11.94) Пример:31544A084DBE2595147669E6088AF2413374A87D880432961CCDA1E729F6F913
|
||||||||||||||||||||||
role | string | Должность кассира Пример:Продавец-консультант
|
||||||||||||||||||||||
permissions | array | Полномочия Принимает одно из значений
|
Смены
Возвращает список смен
/shifts{?from,to,devices,is_closed,limit,offset}
Список смен
Возвращает список смен.
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
from | string | Нет | Дата "от" (в ISO формате), открытие смены, не localDate, а UTC |
to | string | Нет | Дата "до" (в ISO формате), открытие смены, не localDate, a UTC |
offset | number | Нет | Смещение. |
limit | number | Нет | Количество. (макс. - 1000, по умолчанию - 100). |
devices | string | Нет | Список идентификаторов устройств (если нужно выбрать смены для конкретных устройств). |
is_closed | boolean | Нет | Если передать истинное значение (например: yes, y, true, 1), то будут показаны только закрытые смены. Если требуется отобразить только открытые смены, то следует передать ложное значение (no, n, false, 0). Если параметр не передан, то будут возвращены все смены (закрытые и открытые) |
Операции
Набор методов для получения информации о статусе выполнения заданий.
Некоторые методы API (например, фискализация чека) возвращают HTTP-статус 202 Accepted
, это означает, что запрос был принят в обработку, но его выполнение может занять некоторое время.
В ответ на такие запросы в теле приходит идентификатор операции, по которому потом можно получить результат выполнения операции.
/operations
Список последних операций
/operations/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор операции |
Информация о статусе операции
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | Идентификатор операции (см. API Операции) Пример:5956889136fdd7733f19cfe6
|
||||||||||||||||||
externalId | string | Внешний идентификатор (UUIDv4) (не обязательно) Пример:2b964ebc-5f03-4a9b-86ff-7e9371611386
|
||||||||||||||||||
createdAt | string | Дата формирования Пример:2017-06-20 12:01:47.990Z
|
||||||||||||||||||
status | enum | Статус операции Принимает одно из значений
|
||||||||||||||||||
completedAt | string | Дата завершения Пример:2017-06-20 12:03:12.440Z
|
||||||||||||||||||
data | object | Дополнительные данные
|
Вебхуки
Предоставляет методы для управления вебхуками.
HTTP-статус ответа на вебхук должен быть в диапазоне 200-299. Если ваш сервер ответит другим кодом, то вебхук не будет считаться успешно выполненным и спустя некоторое время будет произведена повторная попытка его выполнения.
При ошибке выполнения вебхука, спустя некоторое время будут предприниматься дополнительные попытки через разные интервалы времени. На текущий момент это: - сразу
-
через 5 сек
-
через 1 минуту
-
через 1 час
-
через 3 часа
-
через 24 часа
/webhooks
Список вебхуков
Создание вебхука
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
url | string | Ссылка, куда Кабинет отправит запрос |
||||||||||||||||||||||||
types | object | Типы объектов, на которых можно подписаться
|
||||||||||||||||||||||||
isActive | boolean | Состояние вебхука. Если не активен - не будет вызываться Пример:true
|
/webhooks/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | string | Да | Идентификатор вебхука, UUIDv4 |
Информация о вебхуке
Параметры тела ответа
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
url | string | Ссылка, куда Кабинет отправит запрос |
||||||||||||||||||||||||
types | object | Типы объектов, на которых можно подписаться
|
||||||||||||||||||||||||
isActive | boolean | Состояние вебхука. Если не активен - не будет вызываться Пример:true
|
||||||||||||||||||||||||
id | string | Идентификатор вебхука, UUIDv4 |
Редактирование вебхука
Параметры тела запроса
Параметр | Тип | Описание | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
url | string | Ссылка, куда Кабинет отправит запрос |
||||||||||||||||||||||||
types | object | Типы объектов, на которых можно подписаться
|
||||||||||||||||||||||||
isActive | boolean | Состояние вебхука. Если не активен - не будет вызываться Пример:true
|
Удаление вебхука
Пример выполнения вебхука
Пример тела вебхука
Параметры тела запроса
Параметр | Тип | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
action | enum | Тип действия Принимает одно из значений
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | enum | Тип сущности Принимает одно из значений
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data | object | Объект измененной сущности. Содержит поля сущности, как описано это в документации выше. В случае удаления - приходит с ключом id
|
Пользователи
Для создания пользователей требуется Application
авторизация. Пользователи, создаваемые приложениями - это
полноценные аккаунты Кабинета, но с небольшими отличиями: - подтверждение аккаунта в Кабинете не требуется (аккаунт уже активирован)
-
при создании аккаунта, пользователь не получит приветственных писем о регистрации
-
для аккаунта пароль генерируется автоматически, приложение не может его указать/изменить
-
для пользователя автоматически генерируется Bearer токен, которым может пользоваться приложение, для выполнения запросов от имени этого аккаунта
Пользователь, при желании, может получить доступ к аккаунту через процедуру восстановления пароля.
При регистрации пользователей крайне рекомендуется использовать адрес, который использовался пользователем при регистрации в сервисе самого приложения. При регистрации аккаунтов на рандомные/временные адреса, вы поставите под угрозу безопасность пользователя.
/users
Создание пользователя
Параметры тела запроса
Параметр | Тип | Описание |
---|---|---|
name | string | Имя пользователя Пример:Василий
|
string | E-mail пользователя Пример:mail@example.com
|
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
userId | number | Идентификатор пользователя Пример:58835
|
accessToken | string | Токен доступа (Bearer) пользователя, сгенерированный для приложения, которое выполнило запрос Пример:523cbe0f-99da-4f31-91b7-3f9754aeb04b
|
Профиль
Набор методов для получения информации об аккаунте пользователя
/user/pin
Получение кода для привязки кассы
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
code | number | Пятизначный код привязки, который нужно ввести на устройстве Пример:42638
|
ttl | number | Оставшееся время жизни кода в секундах Пример:1773
|
Клиенты
Методы для управления клиентами
/clients
Список клиентов
Создание клиента
Параметры тела запроса
Параметр | Тип | Описание |
---|---|---|
id | string | Идентификатор клиента в формате UUID (любой версии). Если не передан, будет сгенерирован автоматически. Пример:276421f5-0a84-4c2c-a84d-96eb8b57dd55
|
phone | string | Номер телефона Пример:79441118833
|
string | Адрес электронной почты Пример:user@example.com
|
|
name | string | Имя Пример:Павел
|
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
id | string | Идентификатор клиента в формате UUID (любой версии). Если не передан, будет сгенерирован автоматически. Пример:276421f5-0a84-4c2c-a84d-96eb8b57dd55
|
phone | string | Номер телефона Пример:79441118833
|
string | Адрес электронной почты Пример:user@example.com
|
|
name | string | Имя Пример:Павел
|
createdAt | string | Дата создания клиента в формате ГГГГ-ММ-ДД Пример:2017-11-14
|
avatar | string | Ссылка на аватар Пример:https://kabinet-static.dreamkas.ru/assets/avatars/24.svg
|
seed | number | Случайное число для выбора аватара (ID аватара = seed % 24). Можно явно выставить значение в диапазоне [0;23], чтобы явно выбрать аватар для клиента. Пример:84736438
|
/clients/{id}
Параметры строки запроса
Параметр | Тип | Обяз. | Описание |
---|---|---|---|
id | number | Да | Идентификатор клиента |
Информация о клиенте
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
id | string | Идентификатор клиента в формате UUID (любой версии). Если не передан, будет сгенерирован автоматически. Пример:276421f5-0a84-4c2c-a84d-96eb8b57dd55
|
phone | string | Номер телефона Пример:79441118833
|
string | Адрес электронной почты Пример:user@example.com
|
|
name | string | Имя Пример:Павел
|
createdAt | string | Дата создания клиента в формате ГГГГ-ММ-ДД Пример:2017-11-14
|
avatar | string | Ссылка на аватар Пример:https://kabinet-static.dreamkas.ru/assets/avatars/24.svg
|
seed | number | Случайное число для выбора аватара (ID аватара = seed % 24). Можно явно выставить значение в диапазоне [0;23], чтобы явно выбрать аватар для клиента. Пример:84736438
|
Обновление клиента
Параметры тела ответа
Параметр | Тип | Описание |
---|---|---|
id | string | Идентификатор клиента в формате UUID (любой версии). Если не передан, будет сгенерирован автоматически. Пример:276421f5-0a84-4c2c-a84d-96eb8b57dd55
|
phone | string | Номер телефона Пример:79441118833
|
string | Адрес электронной почты Пример:user@example.com
|
|
name | string | Имя Пример:Павел
|
createdAt | string | Дата создания клиента в формате ГГГГ-ММ-ДД Пример:2017-11-14
|
avatar | string | Ссылка на аватар Пример:https://kabinet-static.dreamkas.ru/assets/avatars/24.svg
|
seed | number | Случайное число для выбора аватара (ID аватара = seed % 24). Можно явно выставить значение в диапазоне [0;23], чтобы явно выбрать аватар для клиента. Пример:84736438
|