Various Models Кастомные таблицы
Этот раздел документации описывает процесс работы с кастомными таблицами (Various Models) в платформе Accelera Loyalty.
Кастомные таблицы позволяют пользователям создавать и управлять собственными структурами данных для хранения и обработки информации, которая не покрывается стандартными сущностями платформы.
Основные моменты
1. Назначение кастомных таблиц
- Кастомные таблицы используются для создания пользовательских структур данных, которые могут быть необходимы для хранения специфической информации.
- Это полезно, когда стандартные сущности платформы не покрывают все потребности бизнеса.
3. Процесс создания кастомной таблицы
- Шаг 1. Авторизация в Accelera Loyalty API
- Шаг 2. Переход в раздел Various models
- Шаг 3. Создание новой таблицы через кнопку Add various model

-
Шаг 4. Заполнение полей
Various table name ID кастомной таблицы Title Название таблицы Description Описание таблицы Table indexes Тут указываются названия колонок, которые необходимо проиндексировать Columns Созданные колонки и их типы

- Шаг 5. Добавление колонок через кнопку Add column:
- Name: Название колонки.
- Type: Тип колонки (например, строка, число, дата).
- Шаг 6. Сохранение таблицы, кнопка
Save
Работа с кастомными таблицами
- Для работы с кастомными таблицами используются
методы, описанные вAPI Кастомные таблицы (Various Models) - Поддерживается фильтрация данных с помощью параметров GET-запросов. Примеры фильтров:
- Фильтрация по ID клиента:
internal/various/records/{{model_id}}?query={"client_id":"9031112233"} - Ограничение количества записей:
internal/various/records/{{model_id}}?query={"client_id":"9031112233"}&limit=1 - Фильтрация по дате и клиенту:
internal/various/records/{{model_id}}?query={"client_id": "ayuka"}, {"date": {"between": ["2024-05-31", "2024-06-30"]}}
- Фильтрация по ID клиента:
- Подробнее о поддерживаемых операторах фильтрации можно узнать по ссылке: sequelize-query-parser.
Загрузка данных в таблицу
-
Данные можно загружать в кастомные таблицы через CSV-файлы.
-
Требования к файлу:
- Формат CSV (UTF-8).
- Названия столбцов файла должны соответствовать названиям колонок в кастомной таблице.
-
Пример файла:
client_id,date,amount9031112233,2024-05-31,1009031112234,2024-06-01,200
Загрузка файла происходит при нажатии на кнопку Upload dataв правом верхнем углу на панели Панель управления сущностями.

Пример: Создание кастомной таблицы для транзакций
1. Цель
Создать таблицу для хранения данных о транзакциях клиентов с колонками:
client_id (ID клиента)date (дата транзакции)amount (сумма транзакции)status (статус транзакции: успешно/отклонено)
2. Шаги создания таблицы
- Авторизация в Accelera Loyalty API:
- Входим в систему с помощью API-ключа или через интерфейс администратора.
- Переход в раздел Various Models:
- В интерфейсе выбираем раздел Various models.
- Создание новой таблицы:
- Нажимаем кнопку Add various model.
- Заполняем поля:
- Various table name:
transactions - Title:
Транзакции клиентов - Description:
Таблица для хранения информации о транзакциях клиентов - Table indexes:
client_id, date(индексируем по ID клиента и дате для быстрого поиска)
- Various table name:
- Добавление колонок:
- Нажимаем кнопку Add column и заполняем поля для каждой колонки:
- Колонка 1:
- Name:
client_id - Type:
String(тип данных — строка)
- Name:
- Колонка 2:
- Name:
date - Type:
Date(тип данных — дата)
- Name:
- Колонка 3:
- Name:
amount - Type:
Integer(тип данных — число)
- Name:
- Колонка 4:
- Name:
status - Type:
String(тип данных — строка)
- Name:
- Колонка 1:
- Нажимаем кнопку Add column и заполняем поля для каждой колонки:
- Сохранение таблицы:
- Нажимаем кнопку Save.
- После успешного создания таблица появится в списке Панель управления сущностями.
3. Пример данных для таблицы
После создания таблицы можно загрузить данные. Пример CSV-файла для загрузки:
client_id,date,amount,status
9031112233,2024-05-31,100,успешно
9031112234,2024-06-01,200,отклонено
9031112235,2024-06-02,150,успешно4. Работа с данными через API
После создания таблицы можно использовать API для работы с данными. Примеры запросов:
После порта который задан в конфиге (отличается от порта самой лояльности) нужно добавить /v1
Пример:
http://192.168.1.121:3025/v1/internal/various/records/test_tbl- Добавление записи:
POST /internal/various/records/transactions
Body:
{
"client_id": "9031112236",
"date": "2024-06-03",
"amount": 300,
"status": "успешно"
}- Получение всех записей:
GET /internal/various/records/transactions- Фильтрация по ID клиента:
GET /internal/various/records/transactions?query={"client_id":"9031112233"}- Фильтрация по дате и статусу:
GET /internal/various/records/transactions?query={"date": {"between": ["2024-05-31",
"2024-06-30"]}, "status": "успешно"}- Обновление записи:
POST /internal/various/records/transactions?query={"client_id":"9031112233"}
Body:
{
"client_id": "9031112233",
"date": "2024-06-03",
"amount": 300,
"status": "отклонено"
}- Удаление записи:
DELETE /internal/various/records/transactions?query={"client_id":"9031112233"}- Удаление всех записей таблицы:
DELETE /internal/various/records/transactionsИтог
Этот пример показывает, как:
- Создать кастомную таблицу для хранения транзакций.
- Добавить колонки с нужными типами данных.
- Загрузить данные через CSV-файл.
- Работать с данными через API (добавление, фильтрация, обновление, удаление).