Описание API

API предназначен для обеспечения взаимодействия клиента с сайтом estore.oberig-it.com. Аутентификация клиента осуществляется по уникальному API-ключу. Дополнительная защита выполняется путем разграничения доступа по IP, для каждого из клиентов доступ будет разрешен только с определенных IP-адресов.

Клиент, отправляет HTTP-запросы на сервер API. Возможно использование методов GET, POST в HTTP-запросе. Данные передаются в кодировке UTF-8. В ответ на HTTP-запрос сервер отправляет HTTP-ответ клиенту в JSON-формате.

Формат запроса

Во всех запросах, кроме авторизации, передается обязательный параметр token={token} - уникальный ключ, полученный в результате авторизации

Формат ответа

Любой ответ от сервера представлен в JSON-формате. В случае успешного выполнения запроса возвращается необходимый набор ключей и значений, предназначенный для конкретного ответа на запрос. В случае ошибки возвращается массив содержащий код ошибки и ее текстовое описание.

Пример ответа при успешном выполнении операции запроса категорий:

{
    "success": [
        {
            "category_id": "1",
            "image": "http://mysite.com/image.jpg",
            "parent_id": "0",
            "name": "Категория 1"
        },
        {
            "category_id": "2",
            "image": "http://mysite.com/image2.jpg",
            "parent_id": "0",
            "name": "Категория 2"
        }
    ]
}
                        

Пример ответа при ошибке выполнения запроса:

{
    "error": [
        {
            "code": 1,
            "data": "Доступ запрещен!"
        }
    ]
}
                        

Авторизация

Метод проводит авторизацию клиента и возвращает {token}, необходимый для проведения остальных запросов

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/login

Входные параметры

Поле Тип Описание
key String API-ключ предоставленный клиенту

- обязательные поля

Успешный ответ

Поле Тип Описание
success String {token} - ключ текущей сессии
{
   "success": "KSicDOPVZnOuHwqa82HhNIlugWMVweaatCu"
}                                            

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Отсутствует ключ доступа!
3 Неверный ключ доступа!
{
   "error": [
      {
         "code": 3,
         "data": "Неверный ключ доступа!"
      }
   ]
}                                            

Получение списка категорий

Возвращает список всех категорий магазина

Метод: GET

URL: https://estore.oberig-it.com/index.php?route=api2/catalog/categories&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив категорий
category_id Int Уникальный идентификатор категории
image String Ссылка на изображение категории
parent_id Int Уникальный идентификатор родительской категории
name String Название категории
{
    "success": [
        {
            "category_id": "1",
            "image": "http://mysite.com/image.jpg",
            "parent_id": "0",
            "name": "Категория 1"
        },
        {
            "category_id": "2",
            "image": "http://mysite.com/image2.jpg",
            "parent_id": "0",
            "name": "Категория 2"
        }
    ]
}                                          

Ошибка

Код ошибки Описание
1 Доступ запрещен!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Получение списка товаров

Возвращает список товаров для выбранной категории

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/catalog/products&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
category_id Int Уникальный идентификатор категории

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив категорий
product_id Int Уникальный идентификатор товара
image String Ссылка на изображение товара
name String Название товара
description String Краткое описание товара
price Int Цена товара
price Int / Boolean

Цена товара со скидкой

  • (INT) Число - цена товара со скидкой
  • (Boolean) False - скидки не существует
minimum Int Минимальная сумма для заказа
href String Ссылка на страницу товара
{
    "success": [
        {
            "product_id": "1",
            "image": "http://mysite.com/image2.jpg",
            "name": "Тестовый товар 1",
            "description": "Lorem ipsum dolor sit amet, 
            consectetuer adipiscing elit. 
            Aenean commodo ligula eget dolor. 
            Aenean m..",
            "price": "100",
            "special": false,
            "minimum": "1",
            "href": "http://mysite.com/product_3"
        },
        {
            "product_id": "2",
            "image": "http://mysite.com/image2.jpg",
            "name": "Тестовый товар 2",
            "description": "Lorem ipsum dolor sit amet, 
            consectetuer adipiscing elit. Aenean commodo 
            ligula eget dolor. Aenean m..",
            "price": "100",
            "special": "80",
            "minimum": "1",
            "href": "http://mysite.com/product_2"
        }
    ]
}                                         

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Категория не выбрана!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Добавление товара в корзину

Добавляет выбранный товар в корзину

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/cart/add&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
product_id Int Уникальный идентификатор товара
quantity Int Количество товара

- обязательные поля

Успешный ответ

Поле Тип Описание
success Boolean true
{
    "success": true
}                                           

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Продукт не найден!
3 Не указан ID продукта!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Изменение количества товара в корзине

Изменяет количество выбранного товара в корзине

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/cart/edit&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
product_id Int Уникальный идентификатор товара
quantity Int Количество товара

- обязательные поля

Успешный ответ

Поле Тип Описание
success Boolean true
{
    "success": true
}                                           

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Не передан ID товара или количество товара!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Удаление товара из корзины

Полностью удаляет выбранный товар из корзины

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/cart/remove&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
cart_id Int Уникальный идентификатор товара в корзине

- обязательные поля

Успешный ответ

Поле Тип Описание
success Boolean true
{
    "success": true
}                                           

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Не передан ID товара!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Очистка корзины

Удаляет все товары из корзины

Метод: GET

URL: https://estore.oberig-it.com/index.php?route=api2/cart/clear&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации

- обязательные поля

Успешный ответ

Поле Тип Описание
success Boolean true
{
    "success": true
}                                           

Ошибка

Код ошибки Описание
1 Доступ запрещен!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Получение данных о товарах в корзине

Возвращает список товаров в корзине на момент запроса

Метод: GET

URL: https://estore.oberig-it.com/index.php?route=api2/cart/products&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив итогов и товаров
products Array Массив товаров
     cart_id Int Уникальный идентификатор товара в корзине
     product_id Int Уникальный идентификатор товара в каталоге
     name String Название товара
     quantity Int Количество товара в корзине
     price Int Цена за единицу товара
     total Int Суммарная стоимость товара
     stock Boolean

Статус наличия товара

false/true (true - товара недостаточно на складе или его нет в наличии)

     minimum Boolean

false/true (true - товара недостаточно для минимального заказа (добавьте больше единиц товара в корзину))

total Int Общая стоимость
{
    "success": {
        "products": [
            {
                "cart_id": "62",
                "product_id": "2",
                "name": "Тестовый товар 2",
                "quantity": "10",
                "price": "100",
                "total": "1000",
                "stock": false,
                "minimum": true
            }
        ],
        "total": 1000
    }
}                                         

Ошибка

Код ошибки Описание
1 Доступ запрещен!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Оформление заказа

Возвращает данные о заказе, список товаров и заказанных ключей

Метод: GET

URL: https://estore.oberig-it.com/index.php?route=api2/checkout&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив информации о заказе
order_id Int Уникальный идентификатор заказа
products Array Массив товаров
     product_id Int Уникальный идентификатор товара в каталоге
     name String Название товара
     quantity Int Количество заказанных единиц товара
     price Int Цена за единицу товара
     total Int Суммарная стоимость товара
     keys Array Массив ключей для текущего товара
         order_key_id Int Уникальный идентификатор ключа
         order_id Int Уникальный идентификатор заказа
         product_id Int Уникальный идентификатор товара
         value String Ключ
total Int Общая стоимость заказа
{
    "success": {
        "order_id": 22,
        "products": [
            {
                "product_id": "54",
                "name": "Тестовый товар 2",
                "quantity": "5",
                "price": 100,
                "total": 500,
                "keys": [
                    {
                        "order_key_id": "91",
                        "order_id": "22",
                        "product_id": "54",
                        "value": "TEST-TEST-TEST-TEST99"
                    },
                    {
                        "order_key_id": "92",
                        "order_id": "22",
                        "product_id": "54",
                        "value": "TEST-TEST-TEST-TEST9"
                    }
                ]
            }
        ],
        "total": 500
    }
}                                        

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Корзина пуста!
3 В наличии недостаточно товаров для заказа!
4 В корзине недостаточно товаров для заказа!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Оформление заказа (Упрощенное)

Возвращает данные о заказе, список товаров и заказанных ключей

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/checkout/simple&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
product_id Int Уникальный идентификатор товара

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив информации о заказе
order_key_id Int Уникальный идентификатор ключа
order_id Int Уникальный идентификатор заказа
product_id Int Уникальный идентификатор товара
value String Ключ
{
    "success": {
        "order_key_id": "91",
        "order_id": "22",
        "product_id": "54",
        "value": "TEST-TEST-TEST-TEST99"
    }
}                                        

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Продукт не найден!
3 Не указан ID продукта!
4 Корзина пуста!
5 В наличии недостаточно товаров для заказа!
6 В корзине недостаточно товаров для заказа!
7 Продукт не доступен для заказа по API!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}                                            

Получение ключей из заказа

Возвращает список товаров и заказанных ключей

Метод: POST

URL: https://estore.oberig-it.com/index.php?route=api2/order&token={token}

Входные параметры

Поле Тип Описание
token String Ключ текущей сессии, полученный при авторизации
order_id Int Уникальный идентификатор заказа

- обязательные поля

Успешный ответ

Поле Тип Описание
success Array Массив информации о заказе
keys Array Массив ключей
     order_key_id Int Уникальный идентификатор ключа
     order_id Int Уникальный идентификатор заказа
     product_id Int Уникальный идентификатор товара
     value String Ключ
{                                       
    "success": {
        "keys": [
            {
                "order_key_id": "91",
                "order_id": "22",
                "product_id": "54",
                "value": "TEST-TEST-TEST-TEST99"
            }
        ]
    } 
}											

Ошибка

Код ошибки Описание
1 Доступ запрещен!
2 Не указан ID заказа!
3 Ключи не найдены!
{
   "error": [
      {
         "code": 1,
         "data": "Доступ запрещен!"
      }
   ]
}