# Методы api
# api.request()
### Выполнить HTTP запрос
```JavaScript
api.request(string $method, string $uri, $requestOptions = [], $httpClientConfig = [], $body = null, $jsonBody = null, $headers = [], bool $isForceAddJsonHeaders = false)
```
##### Описание:
Выполняет HTTP запрос, с помощью Guzzle.
##### Атрибуты:
Имя | Тип | Описание |
method | string | Метод запроса |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
body | array|object|string|null | Тело запроса |
jsonBody | array|object|null | JSON тело запроса |
headers | array|object | Заголовки запроса |
isForceAddJsonHeaders | bool | Добавление заголовков Json |
##### Возвращает:
**mixed** — ответ запроса
или
**ResponseInterface** — объект Response
или
**null** — если таких данных не существует.
# api.post()
### Выполнить HTTP POST запрос
```JavaScript
api.post(string $uri, $body = [], $requestOptions = [], $headers = [], $httpClientConfig = [])
```
##### Описание:
Выполняет HTTP POST запрос, с помощью Guzzle.
##### Атрибуты:
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
body | array|object|null | Тело запроса |
headers | array|object | Заголовки запроса |
##### Возвращает:
**string** — ответ запроса в формате строки
или
**null** — если таких данных не существует.
# api.get()
### Выполнить HTTP GET запрос
```JavaScript
api.get(string $uri, $requestOptions = [], $headers = [], $httpClientConfig = [])
```
##### Описание:
Выполняет HTTP GET запрос, с помощью Guzzle.
##### Атрибуты:
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
headers | array|object | Заголовки запроса |
##### Возвращает:
**string** — ответ запроса в формате строки
или
**null** — если таких данных не существует.
# api.getJson()
### Выполнить HTTP GET запрос
```JavaScript
api.getJson(string $uri, $jsonBody = null, $headers = [], $requestOptions = [], $httpClientConfig = [])
```
##### Описание:
Выполняет HTTP GET запрос с jsonBody, с помощью Guzzle.
##### Атрибуты:
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
jsonBody | array|object|null | Json тело запроса |
headers | array|object | Заголовки запроса |
##### Возвращает:
**array** — ответ запроса в формате массива
или
**null** — если таких данных не существует.
# api.postJson()
### Выполнить HTTP POST запрос
```JavaScript
api.postJson(string $uri, $jsonBody = [], $headers = [], $requestOptions = [], $httpClientConfig = [])
```
##### Описание:
Выполняет HTTP POST запрос с jsonBody, с помощью Guzzle.
##### Атрибуты:
Имя | Тип | Описание |
uri | string | Url запроса |
requestOptions | array|object | Опции запроса |
httpClientConfig | array|object | Набор параметров для включения или выключения различных возможностей Http Client |
jsonBody | array|object | Json тело запроса |
headers | array|object | Заголовки запроса |
##### Возвращает:
**array** — ответ запроса в формате массива
или
**null** — если таких данных не существует.
# api.getHttpConfig()
### Получить HTTP Config
```JavaScript
api.getHttpConfig()
```
##### Описание:
Возвращает HTTP Config.
##### Возвращает:
**array** — HTTP Config в формате массива.
# api.setHttpConfig()
### Установить HTTP Config
```JavaScript
api.setHttpConfig($config)
```
##### Описание:
Устанавливает HTTP Config.
##### Атрибуты:
Имя | Тип | Описание |
config | array|object|string | HTTP Config |
##### Возвращает:
**array** — HTTP Config в формате массива.
# api.getRequestOptions()
### Получить параметры HTTP запроса
```JavaScript
api.getRequestOptions()
```
##### Описание:
Возвращает параметры HTTP запроса.
##### Возвращает:
**array** — параметры HTTP запроса в формате массива.
# api.setRequestOptions()
### Установить параметры HTTP запроса
```JavaScript
api.setRequestOptions($options)
```
##### Описание:
Устанавливает параметры HTTP запроса.
##### Атрибуты:
Имя | Тип | Описание |
options | array|object|string | Параметры HTTP запроса |
##### Возвращает:
**array** — параметры HTTP запроса в формате массива.
# api.getHeaders()
### Получить заголовки HTTP запроса
```JavaScript
api.getHeaders()
```
##### Описание:
Возвращает заголовки HTTP запроса.
##### Возвращает:
**array** — заголовки HTTP запроса в формате массива.
# api.setHeaders()
### Установить заголовки HTTP запроса
```JavaScript
api.setHeaders($headers)
```
##### Описание:
Устанавливает заголовки HTTP запроса.
##### Атрибуты:
Имя | Тип | Описание |
headers | array|object | Заголовки HTTP запроса |
##### Возвращает:
**array** — заголовки HTTP запроса в формате массива.
# api.getProxyUrl()
### Получить Proxy Url HTTP запроса
```JavaScript
api.getProxyUrl()
```
##### Описание:
Возвращает Proxy Url HTTP запроса.
##### Возвращает:
**string** — Proxy Url HTTP запроса в формате строки
или
**null** — если данные не найдены.
# api.setProxyUrl()
### Установить Proxy Url HTTP запроса
```JavaScript
api.setProxyUrl($proxyUrl)
```
##### Описание:
Устанавливает Proxy Url HTTP запроса.
##### Атрибуты:
Имя | Тип | Описание |
proxyUrl | string | Proxy Url HTTP запроса |
##### Возвращает:
**string** — Proxy Url HTTP запроса в формате строки
или
**null** — если данные не найдены.
# api.getLastResponseCode()
### Получить код последнего ответа HTTP запроса
```JavaScript
api.getLastResponseCode()
```
##### Описание:
Возвращает код последнего ответа HTTP запроса.
##### Возвращает:
**int** — код ответа HTTP запроса.
# api.getLastResponseContent()
### Получить содержимое последнего ответа HTTP запроса
```JavaScript
api.getLastResponseContent()
```
##### Описание:
Возвращает содержимое последнего ответа HTTP запроса.
##### Возвращает:
**string** — содержимое ответа HTTP запроса
или
**null** — если данные не найдены.
# api.getLastJsonResponse()
### Получить последний ответ HTTP запроса в формате JSON
```JavaScript
api.getLastJsonResponse()
```
##### Описание:
Возвращает последний ответ HTTP запроса в формате JSON.
##### Возвращает:
**array** — ответ HTTP запроса в формате JSON
или
**null** — если данные не найдены.
# api.getLastResponse()
### Получить последний ответ HTTP запроса
```JavaScript
api.getLastResponse()
```
##### Описание:
Возвращает последний ответ HTTP запроса.
##### Возвращает:
**mixed** — ответ HTTP запроса
или
**ResponseInterface** — ответ HTTP запроса
или
**null** — если данные не найдены.
# api.setTimeout()
### Установить время задержки для HTTP запросов
```JavaScript
api.setTimeout(float $timeout)
```
##### Описание:
Устанавливает время задержки для HTTP запросов.
##### Атрибуты:
Имя | Тип | Описание |
timeout | float | Время задержки |
##### Возвращает:
**float** — время задержки.
# api.getTimeout()
### Получить время задержки для HTTP запросов
```JavaScript
api.getTimeout()
```
##### Описание:
Возвращает время задержки для HTTP запросов.
##### Возвращает:
**float** — время задержки.
# api.isExceptionThrown()
###
```JavaScript
api.isExceptionThrown()
```
##### Описание:
##### Возвращает:
**bool** — .
# api.getLastResponseTime()
### Получить время последнего ответа HTTP запроса
```JavaScript
api.getLastResponseTime()
```
##### Описание:
Возвращает время последнего ответа HTTP запроса.
##### Возвращает:
**float** — время ответа.
# api.getLastErrorBody()
### Получить содержимое ошибки последнего ответа HTTP запроса
```JavaScript
api.getLastErrorBody(bool $isAutoConvertToJson = true)
```
##### Описание:
Возвращает содержимое ошибки последнего ответа HTTP запроса.
##### Атрибуты:
Имя | Тип | Описание |
isAutoConvertToJson | bool | Конвертация в Json |
##### Возвращает:
**string** — содержимое ошибки в формате строки
или
**array** — содержимое ошибки в формате массива
или
**null** — если данные не найдены.
# api.callEndpoint()
### Вызвать внешнее API из чат-бота
```JavaScript
api.callEndpoint(
string $externalApiEndpointCode,
string|null $uri = null,
string|null $method = null,
string|null $format = null,
array|object|string|null $body = null,
array|object|string|null $headers = [],
array|object|string|null $requestOptions = [],
array|object|string|null $httpClientConfig = [],
string|null $proxyUrl = null
)
```
##### Описание:
Вызывает внешнее API из чат-бота.
##### Атрибуты:
Имя | Тип | Описание |
externalApiEndpointCode | string | Внешний код эндпоинта |
uri | string|null | Url запроса |
method | string|null | Метод запроса |
format | string|null | Формат запроса |
body | array|object|string|null | Тело запроса |
headers | array|object|string|null | Заголовки запроса |
requestOptions | array|object|string|null | Параметры запроса |
httpClientConfig | array|object|string|null | Набор параметров для включения или выключения различных возможностей Http Client |
proxyUrl | string|null | Proxy Url HTTP запроса |
##### Возвращает:
**string** — ответ запроса в формате строки
или
**array** — ответ запроса в формате массива
или
**null** — если данные не найдены.
# api.enableExceptions()
### Включить исключения для HTTP запросов
```JavaScript
api.enableExceptions()
```
##### Описание:
Включает исключения для HTTP запросов.
##### Возвращает:
**self** — включение исключений.
# api.disableExceptions()
### Выключить исключения для HTTP запросов
```JavaScript
api.disableExceptions()
```
##### Описание:
Выключает исключения для HTTP запросов.
##### Возвращает:
**self** — выключение исключений.
# api.enableContinueCallEndpointOnJsError()
### Включить вызов эндпоинта при ошибке JS
```JavaScript
api.enableContinueCallEndpointOnJsError()
```
##### Описание:
Включает вызов эндпоинта при ошибке JS.
##### Возвращает:
**self** — включение вызова.
# api.disableContinueCallEndpointOnJsError()
### Выключить вызов эндпоинта при ошибке JS
```JavaScript
api.disableContinueCallEndpointOnJsError()
```
##### Описание:
Выключает вызов эндпоинта при ошибке JS.
##### Возвращает:
**self** — выключение вызова.
# api.getIsContinueCallEndpointOnJsError()
### Получить режим вызова эндпоинта при ошибке JS
```JavaScript
api.getIsContinueCallEndpointOnJsError()
```
##### Описание:
Возвращает режим вызова эндпоинта при ошибке JS.
##### Возвращает:
**bool** — режим вызова.