Ir al contenido principal

Валантис

API

Аутентификация запросов.

Аутентификация запросов происходит за счет авторизационной строки, которая передается в параметре заголовка X-Auth.
Значение X-Auth формируется по следующему шаблону: md5(пароль_таймштамп)
Таймштамп представляет собой текущую дату UTC с точностью до дня в формате год, месяц, день без разделителей.
Пароль и таймштамп разделяются символом подчеркивания.
Пример: md5("password_20230821")
В случае, если авторизационная строка сформирована некорректно, будет возвращен HTTP код 401

Методы.

Работа с API осуществляется через POST на указанный адрес и порт.
Тело запроса представляет собой json содержащий имя метода action и опциональный набор параметров params.
Пример:

{
	"action": "filter",
	"params": {"price": 17500.0}
}

Если запрос не содержит ошибок, на него приходит синхронный ответ в формате JSON.
Результат работы метода возвращается по ключу result.
Пример:

{
    "result": [
        "59a9b5b4-6546-417f-9c0a-7ec1b9385af1",
        "271aa4c2-70be-4a03-9e20-1fbebb2aa79f",
        "12d19cdd-a58a-41bf-b387-3c8c3d08a40a",
    ]
}

Если в запросе содержаться ошибки, то будет возвращен HTTP код 400


get_ids - метод возвращает упорядоченный список идентификаторов товаров.
Далее по выбранным идентификаторам можно запросить подробную информацию о товаре.
По умолчанию возвращает идентификаторы всех имеющиеся товаров.
Параметры:
offset - положительное целое число. Определяет смещение относительно начала списка.
limit - положительное целое число. Определяет желаемое число возвращаемых записей.

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

{
	"action": "get_ids",
	"params": {"offset": 10, "limit": 3}
}

Пример ответа:

{
    "result": [
        "18e4e3bd-5e60-4348-8c92-4f61c676be1f",
        "711837ec-57f6-4145-b17f-c74c2896bafe",
        "6c972a4a-5b91-4a98-9780-3a19a7f41560"
    ]
}


get_items - возвращает упорядоченный список товаров со всеми характеристиками, если переданы идентификаторы товаров.
Максимум 100 записей.
Если нужно получить более 100, необходимо выполнить запрос несколько раз. Без передачи идентификаторов возвращает null
Параметры:
ids - упорядоченный список строк. Определяет идентификаторы товаров, которые будут возвращены.
Пример запроса:

{
    "action": "get_items",
    "params": {"ids": ["1789ecf3-f81c-4f49-ada2-83804dcc74b0"]}
}

Пример ответа:

{
    "result": [
        {
            "brand": null,
            "id": "1789ecf3-f81c-4f49-ada2-83804dcc74b0",
            "price": 16700.0,
            "product": "Золотое кольцо с бриллиантами"
        }
    ]
}


get_fields - без параметров возвращает упорядоченный список имеющихся полей товаров.
При передаче параметра field возвращает упорядоченный список значений данного поля товаров.
Параметры:
field - строка. Должна содержать действительное название поля товара.
offset - положительное целое число. Определяет смещение относительно начала списка.
limit - положительное целое число. Определяет желаемое число возвращаемых записей.
Пример запроса:

{
    "action": "get_fields",
    "params": {"field": "brand", "offset": 3, "limit": 5}
}

Пример ответа:

{
    "result": [
        null,
        null,
        "Piaget",
        null,
        null
    ]
}


filter - используется для фильтрации.
Возвращает упорядоченный список идентификаторов товаров, соответствующих заданному значению.
Параметры:
В качестве параметра может использоваться любое поле возвращаемое методом get_fields без параметров.
В качестве значения должен использоваться тип данных соответствующий полю.
Для поля product будет проверяться вхождение параметра в строку.
Для остальных полей проверяется строгое соответствие.
Пример запроса:

{
    "action": "filter",
    "params": {"price": 17500.0}
}

Пример ответа:

{
    "result": [
        "59a9b5b4-6546-417f-9c0a-7ec1b9385af1",
        "271aa4c2-70be-4a03-9e20-1fbebb2aa79f",
    ]
}