Документация Accelera

Various Models Кастомные таблицы

Этот раздел документации описывает процесс работы с кастомными таблицами (Various Models) в платформе Accelera Loyalty.

Кастомные таблицы позволяют пользователям создавать и управлять собственными структурами данных для хранения и обработки информации, которая не покрывается стандартными сущностями платформы.

Основные моменты

1. Назначение кастомных таблиц

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

3. Процесс создания кастомной таблицы

  • Шаг 1. Авторизация в Accelera Loyalty API
  • Шаг 2. Переход в раздел Various models
  • Шаг 3. Создание новой таблицы через кнопку Add various model

  • Шаг 4. Заполнение полей

    Various table nameID кастомной таблицы
    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"]}}
  • Подробнее о поддерживаемых операторах фильтрации можно узнать по ссылке: sequelize-query-parser.

Загрузка данных в таблицу

  • Данные можно загружать в кастомные таблицы через CSV-файлы.

  • Требования к файлу:

    • Формат CSV (UTF-8).
    • Названия столбцов файла должны соответствовать названиям колонок в кастомной таблице.
  • Пример файла:
    client_id,date,amount

    9031112233,2024-05-31,100

    9031112234,2024-06-01,200

trigger_catalog_doc.csv 286

Загрузка файла происходит при нажатии на кнопку Upload dataв правом верхнем углу на панели Панель управления сущностями.

Пример: Создание кастомной таблицы для транзакций

1. Цель

Создать таблицу для хранения данных о транзакциях клиентов с колонками:

  • client_id (ID клиента)
  • date (дата транзакции)
  • amount (сумма транзакции)
  • status (статус транзакции: успешно/отклонено)

2. Шаги создания таблицы

  1. Авторизация в Accelera Loyalty API:
    • Входим в систему с помощью API-ключа или через интерфейс администратора.
  2. Переход в раздел Various Models:
    • В интерфейсе выбираем раздел Various models.
  3. Создание новой таблицы:
    • Нажимаем кнопку Add various model.
    • Заполняем поля:
      • Various table nametransactions
      • TitleТранзакции клиентов
      • DescriptionТаблица для хранения информации о транзакциях клиентов
      • Table indexesclient_id, date (индексируем по ID клиента и дате для быстрого поиска)
  4. Добавление колонок:
    • Нажимаем кнопку Add column и заполняем поля для каждой колонки:
      • Колонка 1:
        • Nameclient_id
        • TypeString (тип данных — строка)
      • Колонка 2:
        • Namedate
        • TypeDate (тип данных — дата)
      • Колонка 3:
        • Nameamount
        • TypeInteger (тип данных — число)
      • Колонка 4:
        • Namestatus
        • TypeString (тип данных — строка)
  5. Сохранение таблицы:
    • Нажимаем кнопку 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
  1. Добавление записи:
POST /internal/various/records/transactions
Body:
{
  "client_id": "9031112236",
  "date": "2024-06-03",
  "amount": 300,
  "status": "успешно"
}
  1. Получение всех записей:
GET /internal/various/records/transactions
  1. Фильтрация по ID клиента:
GET /internal/various/records/transactions?query={"client_id":"9031112233"}
  1. Фильтрация по дате и статусу:
GET /internal/various/records/transactions?query={"date": {"between": ["2024-05-31",
"2024-06-30"]}, "status": "успешно"}
  1. Обновление записи:
POST /internal/various/records/transactions?query={"client_id":"9031112233"}
Body:
{
  "client_id": "9031112233",
  "date": "2024-06-03",
  "amount": 300,
  "status": "отклонено"
}
  1. Удаление записи:
DELETE /internal/various/records/transactions?query={"client_id":"9031112233"}
  1. Удаление всех записей таблицы:
DELETE /internal/various/records/transactions

Итог

Этот пример показывает, как:

  1. Создать кастомную таблицу для хранения транзакций.
  2. Добавить колонки с нужными типами данных.
  3. Загрузить данные через CSV-файл.
  4. Работать с данными через API (добавление, фильтрация, обновление, удаление).

На этой странице