Перейти к основному содержимому

Produman API (1.0)

Download OpenAPI specification:Download

Введение

API Продумáн.Касса позволяет интегрировать ваш интерфейс с кассой, а также взаимодействовать с данными, доступными в кабинете пользователя.

Для удобства разработана и поддерживается PHP-библиотека.

Аутентификация

Для прохождения процедуры аутентификации необходимо передавать HTTP-заголовок X-CLIENT-TOKEN с токеном, полученным в личном кабинете пользователя, а также заголовки X-APP-ID и X-APP-SECRET с данными, полученными при создании приложения. Для создания приложения напишите на почту kassa@produman.org.

Пагинация

Разбивка на страницы осуществляется на основе курсоров, чтобы упростить постепенный сбор информации. Ответы будут включать атрибут nextCursor с ненулевым значением, если существуют последующие записи. Используя это значение в качестве параметра cursor в следующем запросе, вы можете начать выборку с нужной вам позиции.

RateLimit

Во избежание перегрузки нашей инфраструктуры, введены ограничения на кол-во и частоту запросов к API по алгоритму "скользящего окна":

  • Не более 60 запросов в минуту.
  • Запросы Список операций, Данные операции, Список касс и Данные кассы считаются как 15 за 1.
  • Запрос Тестирование эндпоинта считается как 30 за 1.
  • Для оперативного получения данных по операциям и командам необходимо использовать вебхуки.

Квота и ее остаток указывается в заголовках ответа от сервиса в полях RateLimit-Limit и RateLimit-Remaining соответственно.

RateLimit считается не для всего приложения, а для каждого clientToken.

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

При возникновении ошибки обработки или выполнения запроса в качестве ответа будет возвращен один из отличных от 200 кодов ответа, а также тело ответа в JSON-формате с иденитификатором и описанием ошибки. Например, ошибка валидации параметров запрос вернется ответ 400 Bad Request и тело ответа:

{
    "message": "Request params validation error. Check request params.",
    "code": "VALIDATION_ERROR",
    "details": [
        "status: The value you selected is not a valid choice."
    ]
}

Возоможные http-коды ответов:

  • 200 ОК
  • 201 ОК (создано)
  • 204 ОК (нет содержимого)
  • 400 Запрос не прошел валидацию
  • 401 Не задан токен аутентификации
  • 402 Нет действующей подписки на кассу
  • 403 Недействительный токен аутентификации
  • 404 Ресурс не найден
  • 429 Исчерпан лимит запросов
  • 500 Внутренняя ошибка сервера

Интеграции

Методы для работы с интеграциями приложений

Создание интеграции

Метод позволяет создать интеграцию приложения с пользователем Продуман. Аккаунт пользователя определяется по переданному email

Authorizations:
(appIdappSecret)
Request Body schema: application/json
email
required
string <email>

Email аккаунта Продуман

Responses

Request samples

Content type
application/json
{
  • "email": "test@test.ru"
}

Response samples

Content type
application/json
{}

Данные интеграции

Метод позволяет получить подробные данные об интеграции

Authorizations:
(appIdappSecret)
path Parameters
id
required
string <uuid>

ID интеграции

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "clientToken": "on7ejt36x2otjprsayh6tgudm7jvr65dg6joesiitnsu4r5yxp",
  • "access": [ ]
}

Деактивация интеграции

Метод позволяет деактивировать текущую интеграцию

Authorizations:
(appIdappSecret)
path Parameters
id
required
string <uuid>

ID интеграции

Responses

Response samples

Content type
application/json
{
  • "message": "Request params validation error",
  • "code": "VALIDATION_ERROR",
  • "details": [
    ]
}

Справочники

Методы для работы со списками сущностей

Список касс

Метод позволяет получить список касс пользователя

Authorizations:
(clientTokenappIdappSecret)
query Parameters
status
string
Enum: "ACTIVE" "INACTIVE"

Фильтрация по статусу

  • ACTIVE - Активна

  • INACTIVE - Неактивна

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Данные о кассе

Метод позволяет получить подробные данные о кассе

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID кассы

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "АТОЛ 30Ф Тестовская",
  • "driver": "PRODUMAN",
  • "status": "ACTIVE",
  • "serialNumber": "0001222233334455",
  • "regNumber": "0001222233334455",
  • "fnNumber": "9961001244556677",
  • "ofdInn": "7841465198",
  • "ffdVersionKkm": "1.0",
  • "lineLength": 50,
  • "cashBalance": 1000,
  • "availableTaxationSystems": [ ],
  • "availablePaymentMethods": [ ],
  • "availablePaymentObjects": [ ],
  • "availableOperations": [
    ],
  • "availablePaymentSolutions": [
    ]
}

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

Метод позволяет получить список контрагентов

Authorizations:
(clientTokenappIdappSecret)
query Parameters
search
string <= 255 characters

Фильтрация по названию, ИНН или номеру телефона

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Список сотрудников

Метод позволяет получить список сотрудников, включая владельца

Authorizations:
(clientTokenappIdappSecret)
query Parameters
status
string
Enum: "ACTIVE" "INACTIVE"

Фильтрация по статусу

  • ACTIVE - Активен

  • INACTIVE - Неактивен

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Список категорий выплат и внесений

Метод позволяет получить список категорий выплат и внесений (для операций выплат и внесений)

Authorizations:
(clientTokenappIdappSecret)
query Parameters
type
string
Enum: "OUT" "IN"

Фильтрация по типу

  • IN - Внесение

  • OUT - Выплата

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Операции

Операции

Список операций

Метод позволяет получить список операций

Authorizations:
(clientTokenappIdappSecret)
query Parameters
status
string
Enum: "DRAFT" "IN_PROGRESS" "COMPLETE" "FAIL"

Фильтрация по статусу

  • DRAFT - Черновик

  • IN_PROGRESS - Выполняется

  • COMPLETE - Выполнена

  • FAIL - Не выполнена

operationType
string
Enum: "X_REPORT" "SHIFT_OPEN" "SHIFT_CLOSE" "KKT_INFO" "SELL" "CASH_IN" "CASH_OUT" "SELL_RETURN" "COPY_RECEIPT" "PRINT_SLIP" "CORRECTION_SELL" "CORRECTION_BUY" "CORRECTION_SELL_RETURN" "CORRECTION_BUY_RETURN" "SET_DATETIME" "ACQUIRING_REPORT" "BUY" "BUY_RETURN"

Фильтрация по типу

  • X_REPORT - X-отчет

  • SHIFT_OPEN - Открытие смены

  • SHIFT_CLOSE - Закрытие смены

  • KKT_INFO - Информация о ККТ

  • SELL - Приход

  • SELL_RETURN - Возврат прихода

  • BUY - Расход

  • BUY_RETURN - Возврат расхода

  • CASH_IN - Внесение

  • CASH_OUT - Выплата

  • COPY_RECEIPT - Копия чека

  • PRINT_SLIP - Печать слипа

  • CORRECTION_SELL - Коррекция (приход)

  • CORRECTION_SELL_RETURN - Коррекция (возврат прихода)

  • CORRECTION_BUY - Коррекция (расход)

  • CORRECTION_BUY_RETURN - Коррекция (возврат расхода)

  • SET_DATETIME - Установка даты и времени

  • ACQUIRING_REPORT - Эквайринговый отчет

cashboxId
string <uuid>

Фильтрация по кассе

createdById
string <uuid>

Фильтрация по сотруднику

orderId
string <uuid>
cashMovementCategoryId
string <uuid>

Фильтрация по категории выплат и внесений (для операций выплат и внесений)

createdAtFrom
string <Y-m-d H:i:s>

Фильтрация по дате создания ОТ

createdAtTo
string <Y-m-d H:i:s>

Фильтрация по дате создания ДО

operationIds[]
Array of strings <uuid> [ 1 .. 50 ] items

Фильтрация по ID операций

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Создание операции

Метод создает операцию с заданным типом operationType

Authorizations:
(clientTokenappIdappSecret)
Request Body schema: application/json
operationType
required
string

Тип операции

  • X_REPORT - X-отчет

  • SHIFT_OPEN - Открытие смены

  • SHIFT_CLOSE - Закрытие смены

  • KKT_INFO - Информация о ККТ

  • SELL - Приход

  • SELL_RETURN - Возврат прихода

  • BUY - Расход

  • BUY_RETURN - Возврат расхода

  • CASH_IN - Внесение

  • CASH_OUT - Выплата

  • COPY_RECEIPT - Копия чека

  • PRINT_SLIP - Печать слипа

  • CORRECTION_SELL - Коррекция (приход)

  • CORRECTION_SELL_RETURN - Коррекция (возврат прихода)

  • CORRECTION_BUY - Коррекция (расход)

  • CORRECTION_BUY_RETURN - Коррекция (возврат расхода)

  • SET_DATETIME - Установка даты и времени

  • ACQUIRING_REPORT - Эквайринговый отчет

cashboxId
required
string <uuid>

ID кассы

createdById
required
string <uuid>

ID сотрудника

Responses

Request samples

Content type
application/json
Example
{
  • "operationType": "X_REPORT",
  • "cashboxId": "41fae9c8-dabb-4c22-b6b4-e0ba388688f1",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9"
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "number": 1,
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "operationType": "X_REPORT",
  • "status": "DRAFT",
  • "message": null,
  • "cashboxId": "41fae9c8-dabb-4c22-b6b4-e0ba388688f1",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "details": {
    }
}

Данные об операции

Метод позволяет получить подробные данные об операции

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID операции

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "number": 1,
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "operationType": "X_REPORT",
  • "status": "DRAFT",
  • "message": null,
  • "cashboxId": "41fae9c8-dabb-4c22-b6b4-e0ba388688f1",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "details": {
    }
}

Повторение операции

Метод позволяет запустить повтор выполнения операции, находящейся в статусе Не выполнена

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID операции

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "number": 1,
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "operationType": "X_REPORT",
  • "status": "DRAFT",
  • "message": null,
  • "cashboxId": "41fae9c8-dabb-4c22-b6b4-e0ba388688f1",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "details": {
    }
}

Редактирование операции с наличными на кассе

Метод редактирует операцию с наличными на кассе

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string
Request Body schema: application/json
cashMovementCategoryId
string or null <uuid>

Категория выплаты или внесения

comment
string or null <= 255 characters

Комментарий к операции

Responses

Request samples

Content type
application/json
{
  • "cashMovementCategoryId": "2e5b12b6-55b8-4299-86d4-e678aeca28a2",
  • "comment": null
}

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "number": 1,
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "operationType": "X_REPORT",
  • "status": "DRAFT",
  • "message": null,
  • "cashboxId": "41fae9c8-dabb-4c22-b6b4-e0ba388688f1",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "details": {
    }
}

Заказы

Заказы

Список заказов

Метод позволяет получить список заказов

Authorizations:
(clientTokenappIdappSecret)
query Parameters
id
string <= 255 characters

Фильтрация по ID, номеру или внешнему ID

createdAtFrom
string <Y-m-d H:i:s>

Фильтрация по дате создания ОТ

createdAtTo
string <Y-m-d H:i:s>

Фильтрация по дате создания ДО

totalAmountFrom
number <float>

Фильтрация по общей сумме ОТ

totalAmountTo
number <float>

Фильтрация по общей сумме ДО

cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Создание заказа

Метод создает новый заказ

Authorizations:
(clientTokenappIdappSecret)
Request Body schema: application/json
required
Array of objects (CreateOrderPosition)

Номенклатура заказа

createdById
required
string <uuid>

ID сотрудника

externalId
required
string

Внешний ID заказа

  • Показывается пользователю в интерфейсах для идентификации заказа
taxationSystem
required
string
Enum: "OSN" "USN_INCOME" "USN_INCOME_OUTCOME" "ESN" "PATENT"

Система налогообложения

  • OSN - ОСН

  • USN_INCOME - УСН Доход

  • USN_INCOME_OUTCOME - УСН Доход-Расход

  • ESN - ЕСН

  • PATENT - Патент

(CreateOrderClient (object or null))
(CreateOrderDelivery (object or null))

Responses

Request samples

Content type
application/json
{
  • "positions": [
    ],
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "externalId": "6719516710",
  • "taxationSystem": "OSN",
  • "client": {
    },
  • "delivery": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "externalId": "6719516710",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "number": 1,
  • "totalAmount": 100,
  • "taxationSystem": "OSN",
  • "client": {
    },
  • "delivery": {
    },
  • "positions": [ ]
}

Данные о заказе

Метод позволяет получить подробные данные о заказе

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID заказа

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "externalId": "6719516710",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "number": 1,
  • "totalAmount": 100,
  • "taxationSystem": "OSN",
  • "client": {
    },
  • "delivery": {
    },
  • "positions": [ ]
}

Обновление заказа

Метод обновляет существующий заказ (перезаписываются все данные заказа)

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID заказа

Request Body schema: application/json
required
Array of objects (CreateOrderPosition)

Номенклатура заказа

createdById
required
string <uuid>

ID сотрудника

externalId
required
string

Внешний ID заказа

  • Показывается пользователю в интерфейсах для идентификации заказа
taxationSystem
required
string
Enum: "OSN" "USN_INCOME" "USN_INCOME_OUTCOME" "ESN" "PATENT"

Система налогообложения

  • OSN - ОСН

  • USN_INCOME - УСН Доход

  • USN_INCOME_OUTCOME - УСН Доход-Расход

  • ESN - ЕСН

  • PATENT - Патент

(CreateOrderClient (object or null))
(CreateOrderDelivery (object or null))

Responses

Request samples

Content type
application/json
{
  • "positions": [
    ],
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "externalId": "6719516710",
  • "taxationSystem": "OSN",
  • "client": {
    },
  • "delivery": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  • "externalId": "6719516710",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "number": 1,
  • "totalAmount": 100,
  • "taxationSystem": "OSN",
  • "client": {
    },
  • "delivery": {
    },
  • "positions": [ ]
}

Удаление заказа

Метод позволяет удалить заказ

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID заказа

Responses

Response samples

Content type
application/json
{
  • "message": "Request params validation error",
  • "code": "VALIDATION_ERROR",
  • "details": [
    ]
}

Вебхуки

Вебхуки и методы для работы с эндпоинтами вебхуков приложений

Приложение может добавить эндпоинты, на которые в будущем будут отправляться вебхуки при наступлении каких-то событий.

Недоставленные вебхуки имеют механизм повторной отправки. Частота зависит от типа события event:

  • CASHBOX_DATA_CHANGED и INTEGRATION_* - повторные 2 попытки сразу же после первой неудачной.

  • OPERATION_* - повторные 2 попытки сразу после первой неудачной, а далее через минуту после начала, через 5 мин, 15 мин, 6 часов, 12 часов, 24 часа.

Тайм-аут получения ответа на вебхук - 1,5 секунды. Если за это время запрос не прошел, он считается недоставленным.

Вебхук для событий

Вебхук используется для получения данных при наступлении событий, заданных в эндпоинтах

header Parameters
Content-Type
required
string
Default: application/json;charset=utf-8

Формат и способ предоставления данных

Authorization
string^(Bearer|Basic) [a-zA-Z0-9_=-]+$
Example: Bearer dG9rZW4=

Секретный ключ для авторизации вебхуков Продуман в стороннем сервисе

  • Токен для Bearer авторизации

  • Связка логин:пароль для Basic авторизации в формате base64

Параметр необязателен - допускается работа с вебхуками без авторизации

Request Body schema: application/json
event
required
string

Событие, по которому отправляется вебхук

  • OPERATION_COMPLETED - Операция выполнена

  • OPERATION_FAILED - Операция завершилась с ошибкой

  • INTEGRATION_TERMINATED - Отключение интеграции

  • INTEGRATION_REQUEST_COMPLETED - Подключение интеграции

  • CASHBOX_DATA_CHANGED - Изменение данных кассы

createdAt
required
string <date-time>

Дата и время события

(WebhookOperationCompleted (object or null))

Responses

Request samples

Content type
application/json
Example
{
  • "event": "OPERATION_COMPLETED",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "content": {
    }
}

Список эндпоинтов

Метод позволяет получить список эндпоинтов для вебхуков

Authorizations:
(appIdappSecret)
query Parameters
limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

cursor
string <uuid>

ID первой записи выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Создание эндпоинта

Метод создает новый эндпоинт для вебхука

Authorizations:
(appIdappSecret)
Request Body schema: application/json
status
required
string
Enum: "ACTIVE" "INACTIVE"

Статус

  • ACTIVE - Активен

  • INACTIVE - Неактивен

url
required
string <= 255 characters

URL

  • Не допускается использование эндпоинтов с самоподписанными SSL сертификатами

  • Тестирование эндпоинта допускает игнорирование проверки SSL сертификата (переменная skipVerify)

authType
required
string

Тип авторизации

  • NO - Без авторизации

  • BEARER_TOKEN - Bearer token

  • BASIC_AUTH - Basic Authentication

events
required
Array of strings non-empty
Items Enum: "OPERATION_COMPLETED" "OPERATION_FAILED" "INTEGRATION_TERMINATED" "INTEGRATION_REQUEST_COMPLETED" "CASHBOX_DATA_CHANGED"

События, по которым отправляется вебхук

  • OPERATION_COMPLETED - Операция выполнена

  • OPERATION_FAILED - Операция завершилась с ошибкой

  • INTEGRATION_TERMINATED - Отключение интеграции

  • INTEGRATION_REQUEST_COMPLETED - Подключение интеграции

  • CASHBOX_DATA_CHANGED - Изменение данных кассы

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "status": "ACTIVE",
  • "authType": "NO",
  • "events": [ ]
}

Данные об эндпоинте

Метод позволяет получить подробные данные об эндпоинте для вебхука

Authorizations:
(appIdappSecret)
path Parameters
id
required
string <uuid>

ID эндпоинта для вебхука

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "status": "ACTIVE",
  • "authType": "NO",
  • "events": [ ]
}

Обновление эндпоинта

Метод обновляет существующий эндпоинт для вебхука (перезаписываются все данные эндпоинта)

Authorizations:
(appIdappSecret)
path Parameters
id
required
string <uuid>

ID эндпоинта для вебхука

Request Body schema: application/json
status
required
string
Enum: "ACTIVE" "INACTIVE"

Статус

  • ACTIVE - Активен

  • INACTIVE - Неактивен

url
required
string <= 255 characters

URL

  • Не допускается использование эндпоинтов с самоподписанными SSL сертификатами

  • Тестирование эндпоинта допускает игнорирование проверки SSL сертификата (переменная skipVerify)

authType
required
string

Тип авторизации

  • NO - Без авторизации

  • BEARER_TOKEN - Bearer token

  • BASIC_AUTH - Basic Authentication

events
required
Array of strings non-empty
Items Enum: "OPERATION_COMPLETED" "OPERATION_FAILED" "INTEGRATION_TERMINATED" "INTEGRATION_REQUEST_COMPLETED" "CASHBOX_DATA_CHANGED"

События, по которым отправляется вебхук

  • OPERATION_COMPLETED - Операция выполнена

  • OPERATION_FAILED - Операция завершилась с ошибкой

  • INTEGRATION_TERMINATED - Отключение интеграции

  • INTEGRATION_REQUEST_COMPLETED - Подключение интеграции

  • CASHBOX_DATA_CHANGED - Изменение данных кассы

Responses

Request samples

Content type
application/json
Example
{}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdAt": "2023-01-01T00:00:00+03:00",
  • "status": "ACTIVE",
  • "authType": "NO",
  • "events": [ ]
}

Удаление эндпоинта

Метод позволяет удалить эндпоинт для вебхука

Authorizations:
(appIdappSecret)
path Parameters
id
required
string <uuid>

ID эндпоинта для вебхука

Responses

Response samples

Content type
application/json
{
  • "message": "Request params validation error",
  • "code": "VALIDATION_ERROR",
  • "details": [
    ]
}

Тестирование эндпоинта

Метод отправляет вебхук с тестовыми данными (при наличии ранее добавленного эндпоинта с заданным событием)

Authorizations:
(appIdappSecret)
Request Body schema: application/json
event
required
string
Enum: "OPERATION_COMPLETED" "OPERATION_FAILED" "INTEGRATION_TERMINATED" "INTEGRATION_REQUEST_COMPLETED" "CASHBOX_DATA_CHANGED"

Событие, по которому отправляется вебхук

  • OPERATION_COMPLETED - Операция выполнена

  • OPERATION_FAILED - Операция завершилась с ошибкой

  • INTEGRATION_TERMINATED - Отключение интеграции

  • INTEGRATION_REQUEST_COMPLETED - Подключение интеграции

  • CASHBOX_DATA_CHANGED - Изменение данных кассы

skipVerify
boolean
Default: false

Игнорировать ли проверку SSL при отправке тестового вебхука

Responses

Request samples

Content type
application/json
{
  • "event": "OPERATION_COMPLETED",
  • "skipVerify": false
}

Response samples

Content type
application/json
{
  • "message": "Request params validation error",
  • "code": "VALIDATION_ERROR",
  • "details": [
    ]
}

Асинхронные операции

Методы для управления асинхронными операциями

Список асинхронных операций

Метод позволяет получить список асинхронных операций согласно заданному фильтру

Authorizations:
(clientTokenappIdappSecret)
query Parameters
cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Создание асинхронной операции

Метод позволяет создать новую асинхронную операцию

  • При неудачном выполнении какой-либо задачи, остальные задачи будут установлены в статус CANCELED
Authorizations:
(clientTokenappIdappSecret)
Request Body schema: application/json
type
required
string
Value: "PRODUCTS_EXPORT_OPERATION"

Тип асинхронной операции

  • PRODUCTS_EXPORT_OPERATION - Экспорт справочника номенклатуры

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdAt": "2024-01-01T00:00:00+03:00",
  • "updatedAt": "2024-01-01T00:00:00+03:00",
  • "status": "CREATED",
  • "type": "PRODUCTS_EXPORT_OPERATION",
  • "asyncTasks": [
    ]
}

Просмотр асинхронной операции

Метод позволяет получить данные об асинхронной операции по id

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID асинхронной задачи

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "createdAt": "2024-01-01T00:00:00+03:00",
  • "updatedAt": "2024-01-01T00:00:00+03:00",
  • "status": "CREATED",
  • "type": "PRODUCTS_EXPORT_OPERATION",
  • "asyncTasks": [
    ]
}

Товары и услуги

Методы для работы с товарами и услугами (product-categories)

Список категорий товаров и услуг

Метод позволяет получить список категорий товаров и услуг

Authorizations:
(clientTokenappIdappSecret)
query Parameters
cursor
string <uuid>

ID первой записи выборки

limit
integer [ 1 .. 50 ]
Default: 10

Ограничение на размер выборки

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "nextCursor": "53a4a333-2825-45a4-80d2-5f430d088f36"
}

Создание категории товаров и услуг

Метод создает новую категорию товаров и услуг

Authorizations:
(clientTokenappIdappSecret)
Request Body schema: application/json
name
required
string <= 64 characters

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

taxationSystem
string or null
Enum: "OSN" "USN_INCOME" "USN_INCOME_OUTCOME" "ESN" "PATENT"

Система налогообложения

  • OSN - ОСН

  • USN_INCOME - УСН Доход

  • USN_INCOME_OUTCOME - УСН Доход-Расход

  • ESN - ЕСН

  • PATENT - Патент

vat
string or null
Enum: "WITHOUT" "0" "5" "5_105" "7" "7_107" "10" "10_110" "20" "20_120"

Ставка НДС

  • WITHOUT - Без НДС

  • 0 - 0%

  • 5 - 5%

  • 5_105 - 5/105

  • 7 - 7%

  • 7_107 - 7/107

  • 10 - 10%

  • 10_110 - 10/110

  • 20 - 20%

  • 20_120 - 20/120

parentCategoryId
string or null <uuid>

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

Responses

Request samples

Content type
application/json
{
  • "name": "Одежда",
  • "taxationSystem": "OSN",
  • "vat": "WITHOUT",
  • "parentCategoryId": "acdf37b5-b785-42a1-be6f-0a9504c832f1"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Одежда",
  • "parentCategoryId": "acdf37b5-b785-42a1-be6f-0a9504c832f1",
  • "taxationSystem": "OSN",
  • "vat": "string"
}

Данные о категории товаров и услуг

Метод позволяет получить подробные данные о категории товаров и услуг

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID категории товаров и услуг

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Одежда",
  • "parentCategoryId": "acdf37b5-b785-42a1-be6f-0a9504c832f1",
  • "taxationSystem": "OSN",
  • "vat": "string"
}

Обновление категории товаров и услуг

Метод обновляет существующую категорию товаров и услуг (перезаписываются все данные категории товаров и услуг)

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID категории товаров и услуг

Request Body schema: application/json
name
required
string <= 64 characters

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

taxationSystem
string or null
Enum: "OSN" "USN_INCOME" "USN_INCOME_OUTCOME" "ESN" "PATENT"

Система налогообложения

  • OSN - ОСН

  • USN_INCOME - УСН Доход

  • USN_INCOME_OUTCOME - УСН Доход-Расход

  • ESN - ЕСН

  • PATENT - Патент

vat
string or null
Enum: "WITHOUT" "0" "5" "5_105" "7" "7_107" "10" "10_110" "20" "20_120"

Ставка НДС

  • WITHOUT - Без НДС

  • 0 - 0%

  • 5 - 5%

  • 5_105 - 5/105

  • 7 - 7%

  • 7_107 - 7/107

  • 10 - 10%

  • 10_110 - 10/110

  • 20 - 20%

  • 20_120 - 20/120

parentCategoryId
string or null <uuid>

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

Responses

Request samples

Content type
application/json
{
  • "name": "Одежда",
  • "taxationSystem": "OSN",
  • "vat": "WITHOUT",
  • "parentCategoryId": "acdf37b5-b785-42a1-be6f-0a9504c832f1"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Одежда",
  • "parentCategoryId": "acdf37b5-b785-42a1-be6f-0a9504c832f1",
  • "taxationSystem": "OSN",
  • "vat": "string"
}

Удаление категории товаров и услуг

Метод позволяет удалить категорию товаров и услуг

Authorizations:
(clientTokenappIdappSecret)
path Parameters
id
required
string <uuid>

ID категории товаров и услуг

Responses

Response samples

Content type
application/json
{
  • "message": "Request params validation error",
  • "code": "VALIDATION_ERROR",
  • "details": [
    ]
}