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

Evolutrix CRM Rest API | Commerce (1.0.0)

Download OpenAPI specification:Download

Описание Rest API — методов для взаимодействия с серверной стороной модуля Commerce.

Коллекция Postman со всеми методами.

Расширение ядра

Модуль расширяет некоторые API методы ядра системы. Ниже перечислены соответствующие изменения:

  • Метод получения классов типов дополнительно возвращает типы PRODUCT_GENERAL_TYPE, PRODUCT_SUB_TYPE и PRODUCT_SUB_SUB_TYPE.

  • Параметр class метода создания типов дополнительно принимает значения PRODUCT_GENERAL_TYPE, PRODUCT_SUB_TYPE и PRODUCT_SUB_SUB_TYPE.

  • Метод получения классов статусов дополнительно возвращает статус OFFER_STATUS.

  • Параметр class метода создания статусов дополнительно принимает значение OFFER_STATUS.

  • Метод создания календарных событий принимает дополнительное поле orders.

    Пример поля orders
    "orders": [ // Массив сделок, которые должны быть привязаны к создаваемому календарному событию.
          {
              "title": "Тестовая услуга", // Произвольное название сделки (обязательно при отсутствии поля `offer_id`)
              "is_paid": false, // Флаг оплаты сделки
              "status_id": 4, // Статус оказания сделки
              "price": 1000 // Цена сделки
          },
          {
              "offer_id": 1, // Идентификатор коммерческого предложения, по которому оказывается сделка.
              "is_paid": false, // Флаг оплаты сделки
              "status_id": 4, // Статус оказания сделки
              "price": 1000 // Цена сделки
          }
    ]
    
  • Метод обновления календарных событий принимает дополнительное поле orders:

    Пример поля orders
    "orders": [ // Массив сделок, которые должны быть привязаны к создаваемому календарному событию.
          {
              "id": 1, // Идентификатор ранее привязанной сделки. Для создания новой сделки необходимо оставить это поле пустым.
              "title": "Тестовая услуга", // Произвольное название сделки (обязательно при отсутствии поля `offer_id`)
              "is_paid": false, // Флаг оплаты сделки
              "status_id": 4, // Статус оказания сделки
              "price": 1000 // Цена сделки
          },
          {
              "id": 2, // Идентификатор ранее привязанной сделки. Для создания новой сделки необходимо оставить это поле пустым.
              "offer_id": 1, // Идентификатор коммерческого предложения, по которому оказывается сделка.
              "is_paid": false, // Флаг оплаты сделки
              "status_id": 4, // Статус оказания сделки
              "price": 1000 // Цена сделки
          }
    ]
    
  • Метод просмотра данных календарного события, метод создания календарных событий и метод обновления календарных событий, Метод просмотра календарных событий за период, Метод просмотра календарных событий и других календарных сущностей за период возвращает дополнительное поле orders:

    Пример поля orders
    "orders": [
        {
            "id": 1, // Идентификатор сделки, привязанной к календарному событию.
            "title": "Тестовая услуга", // Заголовок сделки, привязанной к календарному событию.
            "is_paid": false, // Признак оплаты сделки, привязанной к календарному событию.
            "price": 1000, // Цена сделки, привязанной к календарному событию.
            "status": { // Статус сделки, привязанной к календарному событию.
                "id": 4,
                "title": "Запланировано",
                "class": "OFFER_STATUS",
                "position": 1,
                "color": "#cccccc",
                "icon": null,
                "is_system": true,
                "created_at": "2024-09-20T07:21:44.000000Z",
                "updated_at": "2024-09-20T07:21:44.000000Z"
            },
            "offer": null, // Коммерческое предложение, привязанное к сделке.
            "created_at": "2024-09-25T13:08:01.000000Z", // Дата и время привязки сделки к календарному событию.
            "updated_at": "2024-09-25T13:08:01.000000Z" // Дата и время обновления сделки, привязанной к календарному событию.
        },
        {
            "id": 2, // Идентификатор сделки, привязанной к календарному событию.
            "title": "Тестовое предложение", // Заголовок сделки, привязанной к календарному событию.
            "is_paid": true, // Признак оплаты сделки, привязанной к календарному событию.
            "price": 311299.2, // Цена сделки, привязанной к календарному событию.
            "status": { // Статус сделки, привязанной к календарному событию.
                "id": 4,
                "title": "Запланировано",
                "class": "OFFER_STATUS",
                "position": 1,
                "color": "#cccccc",
                "icon": null,
                "is_system": true,
                "created_at": "2024-09-20T07:21:44.000000Z",
                "updated_at": "2024-09-20T07:21:44.000000Z"
            },
            "offer": { // Коммерческое предложение, привязанное к сделке.
                "id": 1,
                "title": "Тестовое предложение",
                "base_price": 346388,
                "total_price": 311299.2,
                "discount_type": null,
                "discount_value": null,
                "created_at": "2024-09-23T08:53:53.000000Z",
                "updated_at": "2024-09-24T12:20:55.000000Z"
            },
            "created_at": "2024-09-25T13:08:01.000000Z", // Дата и время привязки сделки к календарному событию.
            "updated_at": "2024-09-25T13:08:01.000000Z" // Дата и время обновления сделки, привязанной к календарному событию.
        }
    ]
    
  • В поле result->calendar_event_types->statuses фоновой задачи, созданной методом генерации статистики обращений, добавлено поле orders_total_price с суммой всех сделок календарных событий с соответствующим статусом.

  • Метод получения списка клиентов принимает дополнительные параметры фильтрации:

    • offers_created_at_from string - клиент должен иметь коммерческое приложение, созданное после указанной даты (включительно)
    • offers_created_at_to string - клиент должен иметь коммерческое приложение, созданное до указанной даты (включительно)
    • offers_price_from string - клиент должен иметь коммерческое приложение, итоговая сумма которого начинается от указанного числа (включительно)
    • offers_price_to string - клиент должен иметь коммерческое приложение, итоговая сумма которого не превышает указанное число (включительно)
    • offers_has_products integer[] - массив идентификаторов товаров/услуг - клиент должен иметь коммерческое приложение, СОДЕРЖАЩЕЕ любой из указанных товаров/услуг
    • offers_has_no_products integer[] - массив идентификаторов товаров/услуг - клиент должен иметь коммерческое приложение, НЕ СОДЕРЖАЩЕЕ ни одно из указанные товаров/услуг
    • offers_has_price_lists integer[] - массив идентификаторов прайс-листов - клиент должен иметь коммерческое приложение, СВЯЗАННОЕ с одним из указанных прайс-листов
    • offers_has_no_price_lists integer[] - массив идентификаторов прайс-листов - клиент должен иметь коммерческое приложение, НЕ СВЯЗАННОЕ ни с одним из указанных прайс-листов
    • offers_has_lead_statuses integer[] - массив идентификаторов статусов - клиент должен иметь коммерческое приложение, ИМЕЮЩЕЕ один из указанных статусов
    • offers_has_no_lead_statuses integer[] - массив идентификаторов статусов - клиент должен иметь коммерческое приложение, НЕ ИМЕЮЩЕЕ ни один из указанных статусов

    Указанные параметры фильтрации дополняют друг друга, т.е. каждый из этих параметров при передаче добавляет к условию на наличие коммерческих предложений соответствующее ограничение.

Расширение модулей

Модуль расширяет некоторые API методы других модулей. Ниже перечислены соответствующие изменения:

Прайс-листы

Описание методов для взаимодействия с прайс-листами.

index

Возвращает список прайс-листов.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинации).

sort_by
string
Default: "id"
Enum: "id" "title" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

ids
Array of integers

Массив идентификаторов прайс-листов. В случае передачи этого параметра игнорирует прочие параметры и возвращает прайс-листы с указанными идентификаторами. Не более 50 идентификаторов в одном запросе.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новый прайс-лист.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRICE_LIST_STORE
Authorizations:
BearerToken
Request Body schema: multipart/form-data
required

Данные прайс-листа

title
required
string

Название прайс-листа

description
string

Описание прайс-листа

stamp_with_details_file
file

Файл с изображением печати с реквизитами прайс-листа

stamp_confirmation_file
file

Файл с изображением подтверждающей подпись печати прайс-листа

Array of objects

Массив основных типов товаров/услуг с указанием максимального размера скидки в рамках прайс-листа

Responses

Request samples

Content type
multipart/form-data
{
  "title": "Новый прайс-лист",
  "description": "Описание нового прайс-листа",
  "stamp_with_details_file": "stamp.png",
  "stamp_confirmation_file": "sign.png",
  "product_general_type_discounts": [
    {
      "product_general_type_id": 20,
      "max_discount": "25"
    }
  ]
}

Response samples

Content type
application/json
{}

bulk destroy

Массовое удаление прайс-листов.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRICE_LIST_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

Возвращает данные прайс-листа.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
path Parameters
priceListId
required
integer

Идентификатор прайс-листа

Responses

Response samples

Content type
application/json
{}

update

Обновляет данные прайс-листа.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRICE_LIST_STORE
Authorizations:
BearerToken
path Parameters
priceListId
required
integer

Идентификатор прайс-листа

Request Body schema: multipart/form-data
required

Данные прайс-листа

title
required
string

Название прайс-листа

description
string

Описание прайс-листа

stamp_with_details_file_remove
boolean

Признак необходимости удаления файла с изображением печати с реквизитами прайс-листа (true - удаление требуется, false - не требуется)

stamp_confirmation_file_remove
boolean

Признак необходимости удаления файла с изображением подтверждающей подпись печати прайс-листа (true - удаление требуется, false - не требуется)

stamp_with_details_file
file

Файл с изображением печати с реквизитами прайс-листа

stamp_confirmation_file
file

Файл с изображением подтверждающей подпись печати прайс-листа

Array of objects

Массив основных типов товаров/услуг с указанием максимального размера скидки в рамках прайс-листа

Responses

Request samples

Content type
multipart/form-data
{
  "title": "Новый прайс-лист",
  "description": "Описание нового прайс-листа",
  "stamp_with_details_file": "stamp.png",
  "stamp_confirmation_file": "sign.png",
  "stamp_with_details_file_remove": true,
  "stamp_confirmation_file_remove": true,
  "product_general_type_discounts": [
    {
      "product_general_type_id": 20,
      "max_discount": "25"
    }
  ]
}

Response samples

Content type
application/json
{}

destroy

Удаляет прайс-лист.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRICE_LIST_DESTROY
Authorizations:
BearerToken
path Parameters
priceListId
required
integer

Идентификатор прайс-листа

Responses

Response samples

Content type
application/json
{}

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

Описание методов для взаимодействия с товарами/услугами.

index

Возвращает список товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "title" "sku" "price" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

price_lists
Array of integers

Массив идентификаторов прайс-листов.

general_types
Array of integers

Массив идентификаторов основных типов товаров/услуг.

sub_types
Array of integers

Массив идентификаторов доп. типов 1 товаров/услуг.

sub_sub_types
Array of integers

Массив идентификаторов доп. типов 2 товаров/услуг.

no_general_type
boolean

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

no_sub_type
boolean

Признак необходимости поиска товаров/услуг без доп. типа 1.

no_sub_sub_type
boolean

Признак необходимости поиска товаров/услуг без доп. типа 2.

ids
Array of integers

Массив идентификаторов товаров/услуг. В случае передачи этого параметра игнорирует прочие параметры и возвращает товары/услуги с указанными идентификаторами. Не более 50 идентификаторов в одном запросе.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новый товар/услугу.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
Request Body schema: application/json
required

Данные товара

title
required
string

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

public_title
string

Публичное название товара/услуги

sku
string

Артикул товара/услуги

price
required
number

Цена товара/услуги

price_list_id
required
integer

Идентификатор прайс-листа товара/услуги

general_type_id
integer

Идентификатор основного типа товара/услуги

sub_type_id
integer

Идентификатор доп. типа 1 товара/услуги

sub_sub_type_id
integer

Идентификатор доп. типа 2 товара/услуги

Responses

Request samples

Content type
application/json
{
  • "title": "Новый товар",
  • "public_title": "Новый товар",
  • "sku": "a123456789",
  • "price": 69926,
  • "price_list_id": 1,
  • "general_type_id": 20,
  • "sub_type_id": 8,
  • "sub_sub_type_id": 8
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

bulk destroy

Массовое удаление товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

Возвращает данные товара/услуги.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
path Parameters
productId
required
integer

Идентификатор товара/услуги

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные товара/услуги.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
path Parameters
productId
required
integer

Идентификатор товара/услуги

Request Body schema: application/json
required

Данные товара

title
required
string

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

public_title
string

Публичное название товара/услуги

sku
string

Артикул товара/услуги

price
required
number

Цена товара/услуги

price_list_id
required
integer

Идентификатор прайс-листа товара/услуги

general_type_id
integer

Идентификатор основного типа товара/услуги

sub_type_id
integer

Идентификатор доп. типа 1 товара/услуги

sub_sub_type_id
integer

Идентификатор доп. типа 2 товара/услуги

Responses

Request samples

Content type
application/json
{
  • "title": "Новый товар",
  • "public_title": "Новый товар",
  • "sku": "a123456789",
  • "price": 69926,
  • "price_list_id": 1,
  • "general_type_id": 20,
  • "sub_type_id": 8,
  • "sub_sub_type_id": 8
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет товар/услугу.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_DESTROY
Authorizations:
BearerToken
path Parameters
productId
required
integer

Идентификатор товара/услуги

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Группы товаров/услуг

Описание методов для взаимодействия с группами товаров/услуг.

index

Возвращает список групп товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "title" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

price_lists
Array of integers

Массив идентификаторов прайс-листов.

ids
Array of integers

Массив идентификаторов товаров/услуг. В случае передачи этого параметра игнорирует прочие параметры и возвращает товары/услуги с указанными идентификаторами. Не более 50 идентификаторов в одном запросе.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новую группу товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
Request Body schema: application/json
required

Данные группы товаров/услуг

title
required
string

Название группы товаров/услуг

description
string

Описание группы товаров/услуг

price_list_id
required
number

Идентификатор прайс-листа группы товаров/услуг

Array of objects

Массив товаров/услуг с указанием количества в рамках группы товаров/услуг

Responses

Request samples

Content type
application/json
{
  • "title": "Новая группа товаров/услуг",
  • "description": "Описание группы товаров/услуг",
  • "price_list_id": 1,
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

bulk destroy

Массовое удаление групп товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

Возвращает данные группы товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
Authorizations:
BearerToken
path Parameters
productGroupId
required
integer

Идентификатор группы товаров/услуг

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные группы товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
path Parameters
productGroupId
required
integer

Идентификатор группы товаров/услуг

Request Body schema: application/json
required

Данные группы товаров/услуг

title
required
string

Название группы товаров/услуг

description
string

Описание группы товаров/услуг

price_list_id
required
number

Идентификатор прайс-листа группы товаров/услуг

Array of objects

Массив товаров/услуг с указанием количества в рамках группы товаров/услуг

Responses

Request samples

Content type
application/json
{
  • "title": "Новая группа товаров/услуг",
  • "description": "Описание группы товаров/услуг",
  • "price_list_id": 1,
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет группу товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_DESTROY
Authorizations:
BearerToken
path Parameters
productGroupId
required
integer

Идентификатор группы товаров/услуг

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Импорт товаров/услуг

Описание методов для импорта товаров/услуг.

index

Возвращает список импортируемых товаров/услуг.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

batch_id
required
number

Идентификатор фоновой задачи, в рамках которой выполняется импорт.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

upload

Создаёт фоновую задачу для импорта товаров/услуг из Excel-файла.

Обработка Excel-файла происходит в фоновом режиме, в качестве ответа возвращается объект фоновой задачи.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE
Authorizations:
BearerToken
Request Body schema: multipart/form-data
required

Данные импортируемых товаров/услуг

file
required
string

Excel-файл с импортируемыми товарами/услугами

price_list_id
required
number

Идентификатор прайс-листа импортируемых товаров/услуг

Responses

Request samples

Content type
multipart/form-data
{
  "file": "products.xslx",
  "price_list_id": "1"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

confirm

Подтверждает корректность обработки Excel-файла с импортируемыми товарами/услугами и сохраняет их (товары/услуги) в базу данных.

  • Если передан параметр remove_other_product со значением true, товары/услуги указанного в методе upload прайс-листа, отсутствующие в Excel-файле, будут удалены.
  • Если передан параметр create_types со значением true, будут созданы типы импортируемых товаров/услуг, отсутствующие в базе данных.

Обработка импортируемых товаров/услуг происходит в фоновом режиме, в качестве ответа возвращается объект фоновой задачи.

Требуются права доступа:

  • PRODUCT_SHOW
  • PRODUCT_STORE

Положительные значения параметров remove_other_product и create_types требуют права доступа PRODUCT_DESTROY и TYPE_STORE соответственно.

Authorizations:
BearerToken
Request Body schema: application/json
required

Параметры импорта товаров/услуг

batch_id
required
number

Идентификатор фоновой задачи, в рамках которой выполняется импорт

remove_other_product
boolean

Флаг необходимости удаления товаров/услуг указанного прайс-листа, отсутствующих в Excel-файле

create_types
boolean

Флаг необходимости создания типов импортируемых товаров/услуг, отсутствующих в базе данных

Responses

Request samples

Content type
application/json
{
  • "batch_id": 1,
  • "remove_other_product": 1,
  • "create_types": 1
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Классы акций

Описание методов для взаимодействия с классами акций.

index

Возвращает список классов акций.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Акции

Описание методов для взаимодействия с акциями.

index

Возвращает список акций.

Требуются права доступа:*

  • OFFER_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "title" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

ids
Array of integers

Массив идентификаторов акций. В случае передачи этого параметра игнорирует прочие параметры и возвращает бонусы с указанными идентификаторами. Не более 50 идентификаторов в одном запросе.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новую акцию.

Требуются права доступа:

  • OFFER_SHOW
  • PROMOTION_STORE

Параметр data зависит от класса создаваемой акции. // todo примеры

Authorizations:
BearerToken
Request Body schema: application/json
required

Данные акции

title
required
string

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

description
string

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

promotion_class_id
required
number

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

data
object

Доп. параметры акции

Responses

Request samples

Content type
application/json
{
  • "title": "Бонус за наличие направления",
  • "description": "",
  • "promotion_class_id": 1,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

bulk destroy

Массовое удаление акций.

Требуются права доступа:

  • OFFER_SHOW
  • PROMOTION_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

Возвращает данные акции.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
path Parameters
promotionId
required
integer

Идентификатор акции

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные акции.

Требуются права доступа:

  • OFFER_SHOW
  • PROMOTION_STORE

Параметр data зависит от класса создаваемой акции. // todo примеры

Authorizations:
BearerToken
path Parameters
promotionId
required
integer

Идентификатор акции

Request Body schema: application/json
required

Данные акции

title
required
string

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

description
string

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

promotion_class_id
required
number

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

data
object

Доп. параметры акции

Responses

Request samples

Content type
application/json
{
  • "title": "Бонус за наличие направления",
  • "description": "",
  • "promotion_class_id": 1,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет акцию.

Требуются права доступа:

  • OFFER_SHOW
  • PROMOTION_DESTROY
Authorizations:
BearerToken
path Parameters
promotionId
required
integer

Идентификатор акции

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Классы бонусов

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

index

Возвращает список классов бонусов.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Бонусы

Описание методов для взаимодействия с бонусами.

index

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

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "title" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

ids
Array of integers

Массив идентификаторов бонусов. В случае передачи этого параметра игнорирует прочие параметры и возвращает бонусы с указанными идентификаторами. Не более 50 идентификаторов в одном запросе.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новый бонус.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_STORE

Параметр data зависит от класса создаваемого бонуса. // todo примеры

Authorizations:
BearerToken
Request Body schema: application/json
required

Данные бонуса

title
required
string

Название бонуса

description
string

Описание бонуса

lifetime
number

Время действия бонусной транзакции

bonus_class_id
required
number

Идентификатор класса бонуса

data
object

Доп. параметры бонуса

Responses

Request samples

Content type
application/json
{
  • "title": "Бонусы за репосты",
  • "description": "",
  • "lifetime": 3600,
  • "bonus_class_id": 1,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

bulk destroy

Массовое удаление бонусов.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

Возвращает данные бонуса.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken
path Parameters
bonusId
required
integer

Идентификатор бонуса

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные бонуса.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_STORE

Параметр data зависит от класса создаваемого бонуса. // todo примеры

Authorizations:
BearerToken
path Parameters
bonusId
required
integer

Идентификатор бонуса

Request Body schema: application/json
required

Данные бонуса

title
required
string

Название бонуса

description
string

Описание бонуса

lifetime
number

Время действия бонусной транзакции

bonus_class_id
required
number

Идентификатор класса бонуса

data
object

Доп. параметры бонуса

Responses

Request samples

Content type
application/json
{
  • "title": "Бонусы за репосты",
  • "description": "",
  • "lifetime": 3600,
  • "bonus_class_id": 1,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет бонус.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_DESTROY
Authorizations:
BearerToken
path Parameters
bonusId
required
integer

Идентификатор бонуса

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

preview

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

Требуются права доступа:

    • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken
path Parameters
bonusId
required
integer

Идентификатор бонуса

Request Body schema: application/json
required

Данные предпросмотра бонуса

client_id
required
integer

Идентификатор клиента

Responses

Request samples

Content type
application/json
{
  • "client_id": 1
}

Response samples

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

Бонусные транзакции

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

index

Возвращает список бонусных транзакций.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "purpose" "status" "amount" "expired_at" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

clients
Array of integers

Массив идентификаторов клиентов, которые должны быть связаны с бонусной транзакцией

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новую бонусную транзакцию.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_TRANSACTION_STORE

При создании бонусной транзакции на основе бонуса может быть создано несколько бонусных транзакций. Возвращает массив бонусных транзакций.

Authorizations:
BearerToken
Request Body schema: application/json
required

Данные бонусной транзакции

client_id
required
number

Идентификатор клиента, к которому относится бонусная транзакция

bonus_id
number

Идентификатор бонуса (если бонусная транзакция начисляется по бонусу)

description
string

Описание бонусной транзакции (за что начислен/списан бонус). Обязательно для заполнения при отсутствии параметра bonus_id.

purpose
string
Enum: "cashing" "payment"

Назначение бонусной транзакции (cashing - для обналичивания, payment - только для оплаты). Обязательно для заполнения при отсутствии параметра bonus_id.

amount
number

Сумма начисляемых бонусов (положительное число при начислении, отрицательное число при списании). Обязательно для заполнения при отсутствии параметра bonus_id.

expired_at
string

Срок действия бонусной транзакции (дата окончания срока действия).

params
object

Параметры бонуса (указывается при заполенном параметре bonus_id в зависимости от типа бонуса). // todo примеры

Responses

Request samples

Content type
application/json
{
  • "client_id": 14,
  • "bonus_id": "",
  • "params": { },
  • "description": "Бонусы за направления",
  • "purpose": "payment",
  • "amount": 8538.7,
  • "expired_at": "26.09.2030"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

show

Возвращает данные бонусной транзакции.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
Authorizations:
BearerToken
path Parameters
bonusTransactionId
required
integer

Идентификатор бонусной транзакции

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

accept

Изменяет статус бонусной транзакции, находящейся в ожидании решения клиента, на "Принято".

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • BONUS_TRANSACTION_STORE
Authorizations:
BearerToken
path Parameters
bonusTransactionId
required
integer

Идентификатор бонусной транзакции

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Коммерческие предложения

Описание методов для взаимодействия с коммерческими предложениями.

pdf

Возвращает коммерческое предложение в формате PDF

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
query Parameters
show_details_stamp
integer

Флаг необходимости отображения штампа с реквизитами прайс-листа

show_signature
string

Флаг необходимости отображения подписей специалистов

show_signature_stamp
string

Флаг необходимости отображения печати на подписях специалистов

signature_stamp_by_price_list
boolean

Флаг необходимости использования по умолчанию в качестве печати на подписях специалистов печать, указанную в прайс-листе (даже если у специалиста есть собственная печать)

Responses

Response samples

Content type
application/pdf
file.pdf

index

Возвращает список коммерческих предложений.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "title" "base_price" "total_price" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

price_lists
Array of arrays

Массив идентификаторов прайс-листов.

clients
Array of integers

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

leads
Array of integers

Массив идентификаторов обращений

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новое коммерческое предложение.

Требуются права доступа:

  • OFFER_SHOW

  • OFFER_STORE

  • При отсутствии права CLIENT_SHOW поле client_id будет проигнорировано.

  • При отсутствии права LEAD_SHOW поле lead_id будет проигнорировано.

  • При отсутствии права USER_SHOW поле users будет проигнорировано.

  • При отсутствии права PRODUCT_SHOW поле products будет проигнорировано.

Authorizations:
BearerToken
Request Body schema: application/json
required

Данные коммерческого предложения

title
required
string

Название коммерческого предложения

price_list_id
required
number

Идентификатор прайс-листа

client_id
required
number

Идентификатор клиента

lead_id
required
number

Идентификатор обращения клиента

discount_value
number

Размер скидки

discount_type
string

Тип скидки (fixed - фиксированная, percent - процентная)

product_general_types
Array of arrays

Массив основных типов товаров/услуг с указанием бонусной скидки по ним (не более 50)

promotions
Array of arrays

Массив идентификаторов акций (не более 50)

products
required
Array of arrays

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

users
required
Array of arrays

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

Responses

Request samples

Content type
application/json
{
  • "title": "Тестовое предложение",
  • "discount_type": "percent",
  • "discount_value": 1,
  • "price_list_id": 1,
  • "client_id": 14,
  • "lead_id": 468,
  • "product_general_types": [
    ],
  • "promotions": [
    ],
  • "products": [
    ],
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

bulk destroy

Массовое удаление коммерческих предложений.

Требуются права доступа:

  • OFFER_SHOW
  • OFFER_DESTROY
Authorizations:
BearerToken
Request Body schema: application/json
required
ids
required
Array of integers

Массив идентификаторов

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true,
  • "data": { },
  • "message": "ОК"
}

show

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

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные коммерческого предложения.

Требуются права доступа:*

  • OFFER_SHOW

  • OFFER_STORE

  • При отсутствии права CLIENT_SHOW поле client_id коммерческого предложения останется без изменений.

  • При отсутствии права LEAD_SHOW поле lead_id коммерческого предложения останется без изменений.

  • При отсутствии права USER_SHOW поле users коммерческого предложения останется без изменений.

  • При отсутствии права PRODUCT_SHOW поле products коммерческого предложения будет изменено только в пределах тех товаров/услуг, которые уже были привязаны к коммерческому предложению на момент выполнения запроса.

Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

Request Body schema: application/json
required

Данные коммерческого предложения

cashout_percentage
required
number

Процент клиента-участника в партнёрской программе

Responses

Request samples

Content type
application/json
{
  • "cashout_percentage": 5
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет коммерческое предложение.

Требуются права доступа:

  • OFFER_SHOW
  • OFFER_DESTROY
Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

metrics

Возвращает метрики коммерческого предложения.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

clone

Создаёт копию коммерческого предложения.

Требуются права доступа:

  • OFFER_SHOW

  • OFFER_STORE

  • При отсутствии права CLIENT_SHOW поле client_id будет проигнорировано.

  • При отсутствии права LEAD_SHOW поле lead_id будет проигнорировано.

Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

Request Body schema: application/json
required

Параметры копирования

mode
string
Default: "same_target"
Enum: "same_target" "new_target"

Режим копирования - same_target для копирования с теми же клиентом/обращением, new_target для копирования с новыми клиентом/обращением.

client_id
number

Идентификатор клиента нового коммерческого предложения. Игнорируется при параметре mode = same_target. Обязательный параметр при параметре mode = new_target.

lead_id
number

Идентификатор обращения клиента нового коммерческого предложения. Игнорируется при параметре mode = same_target.

Responses

Request samples

Content type
application/json
{
  • "mode": "same_target",
  • "client_id": 14,
  • "lead_id": 468
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

precalculate

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

Если передан параметр offer_id - игнорирует прочие параметры и возвращает расчёт цены коммерческого предложения с указанным идентификатором. В противном случае возвращает расчёт цены коммерческого предложения с указанными параметрами.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
Request Body schema: application/json
required

Данные коммерческого предложения

offer_id
number

Идентификатор коммерческого предложения

price_list_id
number

Идентификатор прайс-листа. Обязательно для заполнения, если не указан параметр offer_id.

client_id
number

Идентификатор клиента. Обязательно для заполнения, если не указан параметр offer_id.

discount_value
number

Размер скидки

discount_type
string

Тип скидки (fixed - фиксированная, percent - процентная). Обязательно для заполнения, если указан параметр discount_value.

product_general_types
Array of arrays

Массив основных типов товаров/услуг с указанием бонусной скидки по ним (не более 50)

promotions
Array of arrays

Массив идентификаторов акций (не более 50)

products
Array of arrays

Массив товаров/услуг с указанием количества, цены и признака наличия процентной скидки (не более 500). Обязательно для заполнения, если не указан параметр offer_id.

Responses

Request samples

Content type
application/json
{
  • "offer_id": "",
  • "price_list_id": 5,
  • "client_id": 1,
  • "discount_value": 10,
  • "discount_type": "percent",
  • "product_general_types": [
    ],
  • "promotions": [
    ],
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

calendar events

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

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

  • Возвращается не более 5 меток календарного события,
  • Возвращается не более 2 клиентов календарного события.

Требуются права доступа:

  • OFFER_SHOW
Authorizations:
BearerToken
path Parameters
offerId
required
integer

Идентификатор коммерческого предложения

query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "start_at" "end_at" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Участники программы лояльности

Описание методов для взаимодействия с участниками программы лояльности.

index

Возвращает список клиентов-участников программы лояльности.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • CLIENT_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "full_name" "cashout_percentage" "balance" "cashing" "pending_balance" "pending_cashing" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

show

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

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • CLIENT_SHOW
Authorizations:
BearerToken
path Parameters
loyaltyClientId
required
integer

Идентификатор клиента-участника программы лояльности

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные клиента-участника программы лояльности.

Требуются права доступа:

  • BONUS_TRANSACTION_SHOW
  • CLIENT_SHOW
  • CLIENT_STORE
Authorizations:
BearerToken
path Parameters
loyaltyClientId
required
integer

Идентификатор клиента-участника программы лояльности

Request Body schema: application/json
required

Данные коммерческого предложения

cashout_percentage
required
number

Процент клиента-участника в партнёрской программе

Responses

Request samples

Content type
application/json
{
  • "cashout_percentage": 5
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Параметры шаблона КП

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

index

Возвращает список конфигураций шаблона коммерческих предложений.

Требуются права доступа:

  • OFFER_TEMPLATE_STORE
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

sort_by
string
Default: "id"
Enum: "id" "created_at" "updated_at"

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

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

keys
Array of strings
Items Value: "offer-template-under-products-text"

Массив ключей конфигураций (для фильтрации).

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

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

В качестве параметра configId допускаются только идентификаторы конфигов, полученные в методе get.

Требуются права доступа:

  • OFFER_TEMPLATE_STORE
Authorizations:
BearerToken
path Parameters
configId
required
integer

Идентификатор конфига

Request Body schema: application/json
required

Данные конфига

value
required
string

Содержимое параметра

Responses

Request samples

Content type
application/json
{
  • "value": "План лечения действителен в течение 3-х месяцев."
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Статистика

Описание методов для взаимодействия со статистикой.

orders

Создаёт фоновую задачу на расчёт статистики сделок.

Требуются права доступа:

  • STATISTIC_SHOW
  • ORDERS_STATISTIC_SHOW

Если не передан параметр order_at_from и/или order_at_to, будет сгенерирована статистика за всё время.

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

При успешном расчёте статистики полученный объект фоновой задачи будет иметь следующую структуру поля result:

{
  "type": "orders_statistic", // Тип статистики
  "params": { // Параметры, с учётом которых рассчитана статистики
    "order_at_from": "01.01.2025",
    "order_at_to": "31.12.2025"
  },
  "orders": {
    "total": 4, // Всего сделок
    "calendar_events_ids": [1, 2, 3, 4] // Идентификаторы календарных событий, привязанных к сделкам
  },
  "income": 1000, // Сумма стоимостей всех сделок
  "income_paid": 400, // Сумма стоимостей всех оплаченных сделок
  "income_not_paid": 600, // Сумма стоимостей всех неоплаченных сделок
  "average_cost": 250, // Средняя стоимость сделки
  "orders_statuses": [ // Статусы сделок по месяцам
    {
      "month": "01.2025", // Месяц/год
      "paid": [ // Оплаченные сделки
        {
          "id": 1, // Идентификатор статуса сделки
          "title": "Оказано", // Заголовок статуса сделки
          "color": "#cccccc", // Цвет статуса сделки
          "orders_price": 400, // Сумма сделок с указанным статусом
          "orders_total": 2, // Всего сделок с указанным статусом
          "calendar_events_ids": [1, 2] // Идентификаторы календарных событий, связанных со сделками с указанным статусом
        }
      ],
      "not_paid": [ // Неоплаченные сделки
        {
          "id": 1, // Идентификатор статуса сделки
          "title": "Оказано", // Заголовок статуса сделки
          "color": "#cccccc", // Цвет статуса сделки
          "orders_price": 600, // Сумма сделок с указанным статусом
          "orders_total": 2, // Всего сделок с указанным статусом
          "calendar_events_ids": [3, 4] // Идентификаторы календарных событий, связанных со сделками с указанным статусом
        }
      ]
    }
  ],
  "calendar_event_types": [ // Типы календарных событий, связанных со сделками
    {
      "id": 1, // Идентификатор типа календарного события
      "title": "Консультация первичная", // Заголовок типа календарного события
      "color": "#fff", // Цвет типа календарного события
      "statuses": [ // Статусы календарных событий
        {
          "id": 1, // Идентификатор статуса календарного события
          "title": "Запланировано", // Заголовок статуса календарного события
          "color": "#cccccc", // Цвет статуса календарного события
          "calendar_events_total": 2, // Всего календарных событий с соответствующим типом и статусом
          "calendar_events_ids": [1, 2], // Идентификаторы календарных событий с соответствующим типом и статусом
          "orders_total_price": 1234 // Сумма сделок, связанных с календарными событиями с соответствующим типом и статусом
        }
      ]
    }
  ]
}
Authorizations:
BearerToken
Request Body schema: application/json
required

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

order_at_from
string

Минимальная дата сделки в формате dd.mm.YYYY.

order_at_to
string

Максимальная дата сделки в формате dd.mm.YYYY.

Responses

Request samples

Content type
application/json
{
  • "order_at_from": "01.01.2025",
  • "order_at_to": "31.01.2025"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Виджеты

Описание методов для взаимодействия с виджетами.

orders statistic

Выводит данные для виджета "Статистика".

Authorizations:
BearerToken
query Parameters
year
required
integer

Год в формате YYYY

refresh
required
boolean

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

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

orders statistic calendar events

Выводит календарные события для виджета "Статстика".

Authorizations:
BearerToken
query Parameters
batch_id
required
integer

Идентификатор очереди

status_id
required
integer

Идентификатор статуса

month
required
integer

Месяц выборки. Например: 1 - январь

is_paid
required
boolean

Флаг, указывающий, оплачен ли заказ

page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинация).

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}