Unstructured Data — работа с неструктурированными данными

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

Для этих целей можно использовать таблицу неструктурированных данных.

Описание полей таблицы:

id — идентификатор записи (число);

variable — наименование переменной (строка);

key — ключевое значение внутри переменной (строка), уникальное в рамках variable;

data — данные в формате JSON (необязательное поле).

Запрос getData

GET https://[домен]/engine/unstructured/getData

где [домен] — адрес вашего интернет-магазина;

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

API вернет список записей из таблицы. Если ни один из параметров (id, variable, key) не указан, то вернутся все записи. Если указан id, API вернёт только одну запись. Если указаны несколько параметров, вернёт результаты отбора по всем указанным параметрам.

Пример запроса getData

{
"variable": "card"
}

Описание полей JSON структуры запроса getData:

id — идентификатор записи;

variable — наименование переменной;

key — ключевое значение.

Пример ответа сервера на запрос getData:

{
    "success": true,
    "data": [

                {"id": "1", "variable": "card", "key": "85236", "data": {}},
          {"id": "2", "variable": "card", "key": "85238", "data": {}}
      ]
}

Запрос setData

POST https://[домен]/engine/unstructured/setData

где [домен] — адрес вашего интернет-магазина;

В теле запроса ожидается JSON структура с перечнем значений параметров для записи/обновления.

API запишет данные или обновит их, если данные с такими id или таким сочетанием key и variable уже были записаны ранее.

Примеры запроса setData

Пример 1

{
    "data": [

                {"variable": "card", "key": "85236", "data": {"type": "Дисконтная"}},
          {"variable": "card", "key": "85238", "data": {"type": "Накопительная"}}
      ]
}

В примере 1 в результате выполнения запроса запишутся данные о дувух картах или, если такие данные (с такими же variable и key) уже были, обновятся.

Пример 2

{
    "data": [

                {"id": "1", "data": {"type": "Дисконтная", "balance": 345}},
          {"id": "2", "data": {"type": "Накопительная", "balance": 860}}
    ]
}

В примере 2 в результате выполнения запроса запишутся данные о дувух картах или, если такие данные (с такими же id) уже были, обновятся.

Описание полей JSON структуры запроса setData:

id — идентификатор записи;

variable — наименование переменной;

key — ключевое значение;

data — данные в формате JSON (не обязательно).

Пример ответа сервера на запрос setData:

{
    "success": true,
    "data": [

                {"id": "1"},
          {"id": "2"}
      ]
}

Запрос delData

GET https://[домен]/engine/unstructured/delData

где [домен] — адрес вашего интернет-магазина;

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

API удалит записи из таблицы. Если ни один из параметров (id, variable, key) не указан, то удаления не произойдёт. Если указан id, API удалит только одну запись. Если указаны несколько параметров, удалит записи по результаты отбора по всем указанным параметрам.

Пример запроса delData

{
"variable": "card"
}

Описание полей JSON структуры запроса getData:

id — идентификатор записи;

variable — наименование переменной;

key — ключевое значение.

Пример ответа сервера на запрос getData:

{
    "success": true

}