Праздничное настроение с HostCMS!
Дарим скидки до 20% при приобретении лицензий
и скидки на продление периода поддержки*

Выдано 119513 лицензий

Общая информация

REST API является простым интерфейсом управления информацией без использования каких-либо дополнительных внутренних прослоек.

Адрес REST-интерфейса

Интерфейс размещается по адресу https://вашсайт/api/, затем указывается версия API, например, https://вашсайт/api/v1/.

Версии интерфейса v1 и v1.0 являются синонимами.

Авторизация

Авторизация реализована с использованием токенов, выдаваемых сотруднику через центр администрирования. Токен имеет статус активности, дату начала и дату окончания действия (опционально).

В HTTP-заголовке Authorization указывается токен в формате "Bearer {token}", например:

Authorization: Bearer 615e0465f7c8005b6bbfd00876dfbab9

Особенности авторизации в режиме CGI/FastCGI

В режиме CGI и Apache 2.4.13 и старше для включения передачи заголовка Authorization внесите в .htaccess директиву

CGIPassAuth On

В более ранних версиях Apache внесите в .htaccess после RewriteBase /

RewriteCond %{HTTP:Authorization} .+
RewriteCond %{REQUEST_URI} ^/api.*
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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

По умолчанию используется JSON, вы можете его явно указать в HTTP-заголовке запроса

Content-Type: application/json

Допускается использование XML, в этом случае укажите

Content-Type: application/xml

Виды запросов

  • GET - используется для извлечения информации;
  • POST - используется для создания ресурсов;
  • PUT - используется для обновления ресурсов;
  • DELETE - используется для удаления ресурсов;
  • OPTIONS - используя для получение информации о ресурсе.

Выборка ресурсов с использованием метода GET

GET /api/v1.0/shops — получить все магазины всех сайтов. В результат будут добавлены не более 25 магазинов.

Ограничение выборки и задание смещения производится GET-параметрами limit (по умолчанию 25) и offset (по умолчанию 0).

GET /api/v1.0/shops/?limit=10 — получить первые 10 магазинов.

GET /api/v1.0/shops/?limit=5&offset=10 — получить следующие 5 магазинов, начиная с десятого.

Выборка элементов, являющихся дочерними другому элементу:

GET /api/v1.0/sites/1/shops/ — получить все магазины сайта с идентификатором 1. В результат будут добавлены не более 25 магазинов.

GET /api/v1.0/sites/1/shops/?orderBy=id DESC — получить все магазины сайта с идентификатором 1, упорядоченные в порядке убывания идентификатора.

Задание сортировки происходит GET-параметром orderBy, в значении содержащего название поле или название поле и направление сортировки (по умолчанию ASC). Опции orderBy=id и orderBy=id ASC идентичны. Допускается указание нескольких сортировок, в этом случае указывается в виде массива ?orderBy[]=field1 DESC&orderBy[]=field2 ASC

GET /api/v1.0/shops/3/ — получить данные о магазине с идентификатором 3.

Фильтрация выборки

Ограничение выборки осуществляется с помощью передачи GET-параметров, виде параметр=значение, например, выбрать все оплаченные заказы в первом магазине:

GET /api/v1.0/shops/1/shop_orders/?paid=1

Количество задаваемых параметров фильтрации не ограничено.

Создание ресурсов методом POST

POST /api/v1.0/shops/ — создание нового магазина

POST /api/v1.0/shops/1/shop_items/ — создание нового товара в первом магазине

Данные о создаваемом элементе передаются в виде JSON. В ответе будет указан идентификатор созданной записи.

Изменение ресурсов методом PUT

PUT /api/v1.0/shop_items/123/ — редактирование товара с идентификатором 123.

Вызов методов у ресурсов:

PUT /api/v1.0/shop_orders/17/paid/ — установить оплачено (вызвать метод paid()) у заказа с идентификатором 17.

Удаление ресурсов методом DELETE

DELETE /api/v1.0/shop_items/123/ — удаление товара с идентификатором 123.

Получение информации о ресурсу методом OPTIONS

OPTIONS /api/v1.0/shop_items/ — получить информацию о ресурсе shop_items

Вывод ошибок

При возникновении ошибки, в элементе error возвращается code с указанием кода ошибки и message с текстом ошибки.

Не нашли ответ на свой вопрос в документации? Направьте обращение в или онлайн чат.