<aside> ℹ️ В случае несоответствия языковых версий документации приоритетной считается версия на украинском языке.

</aside>

Шлюз: http(s)://<DOMAIN>/api/

Логин и пароль –  необходимо создать в админ панели сайта, вкладка Настройки-Админы.

API работает по протоколу HTTP/HTTPs. Функции передаются через адресную строку в виде “http://<DOMAIN>/api/<FUNCTION>/”.

Если сайт находится на https, то необходимо обращаться к API указывая протокол https.

Например: https://<DOMAIN>/api/<FUNCTION>/

Параметры для функции можно передавать двумя способами:

Тип Нюансы Пример
JSON POST (рекомендуется) Необходимо передать в заголовке запроса поле Content-type: application/json, для корректной обработке данных на сервере. Параметры необходимо передавать в теле запроса в формате JSON {“param_1”:”1”,”param_2”:”4”}
POST (устаревший) Передается стандартно соответственно спецификациям HTTP 1.1 (в теле запроса). Обязательно нужно передавать Заголовок Content-type: multipart/form-data или Content-type: application/x-www-form-urlencoded param_1=2&param_2=4

Названия полей и значения необходимо передавать в кодировке UTF-8. Результат также возвращается в кодировке UTF-8.

<aside> ℹ️ Важно

При использовании кодировки UTF-8 в запросах необходимо данные передавать без BOM строки.

Для ответов в кодировке UTF-8 также возвращается без BOM

Также настоятельно рекомендуется использовать запросы JSON POST с Content-type: application/json заголовком

</aside>

Начиная с Хорошопа версии 3.8.0 если Вы отдаете контент через JSON POST метод в кодировке отличной от UTF-8 то необходимо это явно указать в заголовке (например: "Content-type: application/json; charset=windows-1251").

Если Вам необходимо получить ответ от сервера в кодировке отличной от UTF-8, то также необходимо указать заголовок Accept-Charset с указанием нужной кодировки (см. https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.2)

Ответ всегда возвращается в формате JSON. Содержит поля:

Поле Предназначение Описание
status Отображает статус выполненого запроса Возможные значения:
“OK” - выполнение функции прошло успешно;
“UNAUTHORIZED” - требуется авторизация или не передан токен;
“AUTHORIZATION_ERROR” - ошибка при авторизации;
“EXCEPTION" - ошибка сервера;
“ERROR” - какая либо ошибка (пояснение может быть в поле response.message);
“EMPTY” - нет результатов после выполнения функции;
“UNDEFINED_FUNCTION” - вызов несуществующей функции,
“HTTP_ERROR" - HTTP ошибка (поле response.code содержит HTTP код, response.message - пояснение к коду ошибки)
response Содержит ответ сервера в зависимости от статуса и функции