---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/icap-services-api
---

# Прокси

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action
          width: 'auto'
        - text: Высокопроизводительный VCE
          theme: outlined
          url: https://docs.ideco.ru/api/vpp-v22/ru/ngfw/scontrol-api/proxy/
          width: 'auto'
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/services/proxy/
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

## ICAP

{% cut "Получение внешних списков ICAP-сервисов" %}

```
GET /proxy_backend/icap_services
```

**Ответ на успешный запрос:**

```json5
[
    {
        "id": "string",
        "name": "string",
        "enabled": true | false,
        "skip_on_failure": true | false,
        "on_overload": "block" | "bypass" | "wait" | "force",
        "uri_reqmod": "string" | null,
        "uri_respmod": "string" | null,
        "max_conn": "integer" | null,
        "connect_errors": "string",
        "connected": true | false
    },
    ...
]
```

* `id` - идентификатор ICAP-сервиса;
* `name` - название ICAP-сервиса;
* `enabled` - cтатус ICAP-сервиса:
  * `true` - включен;
  * `false` - выключен. 
* `skip_on_failure` - опция  **Игнорировать ошибки**:
  * `true` - включена;
  * `false` - выключена.
* `on_overload` - действие, если сервис перегружен:
  * `block` - возвращать пользователю страницу с ошибкой;
  * `bypass` - пропустить сервис;
  * `wait` - отправлять запросы в очередь;
  * `force` - отправлять запрос сервису принудительно.
* `uri_reqmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-запросов. Например, `icap://some.host:1344/some/req_service`;
* `uri_respmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-ответов. Например, `icap://some.host:1344/some/req_service`;
* `max_conn` - максимальное количество подключений к ICAP-сервису;
* `connect_errors` - ошибки подключения (через `;`);
* `connected` - подключение к ICAP-сервису:
  * `true` - успешно;
  * `false` - неудачно.

{% endcut %}


{% cut "Добавление внешних ICAP-сервисов" %}

```
POST /proxy_backend/icap_services
```

**Json-тело запроса:**:

```json5
{
    "name": "string",
    "enabled": true | false,
    "skip_on_failure": true | false,
    "on_overload": "block" | "bypass" | "wait" | "force",
    "uri_reqmod": "string" | null,
    "uri_respmod": "string" | null,
    "max_conn": "integer" | null
}
```

* `name` - название ICAP-сервиса;
* `enabled` - cтатус ICAP-сервиса:
  * `true` - включен;
  * `false` - выключен. 
* `skip_on_failure` - опция  **Игнорировать ошибки**:
  * `true` - включена;
  * `false` - выключена.
* `on_overload` - действие, если сервис перегружен:
  * `block` - возвращать пользователю страницу с ошибкой;
  * `bypass` - пропустить сервис;
  * `wait` - отправлять запросы в очередь;
  * `force` - отправлять запрос сервису принудительно.
* `uri_reqmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-запросов. Например, `icap://some.host:1344/some/req_service`;
* `uri_respmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-ответов. Например, `icap://some.host:1344/some/req_service`;
* `max_conn` - максимальное количество подключений к ICAP-сервису.

**Ответ на успешный запрос:**

```json5
{
  "id": "string"
}
```

* `id` - идентификатор ICAP-сервиса.


{% endcut %}


{% cut "Измение настроек внешнего ICAP-сервиса" %}

```
PUT  /proxy_backend/icap_services/<id ICAP-сервиса>
```

**Json-тело запроса:**:

```json5
{
    "name": "string",
    "enabled": true | false,
    "skip_on_failure": true | false,
    "on_overload": "block" | "bypass" | "wait" | "force",
    "uri_reqmod": "string" | null,
    "uri_respmod": "string" | null,
    "max_conn": "integer" | null
}
```

* `name` - название ICAP-сервиса;
* `enabled` - cтатус ICAP-сервиса:
  * `true` - включен;
  * `false` - выключен. 
* `skip_on_failure` - опция  **Игнорировать ошибки**:
  * `true` - включена;
  * `false` - выключена.
* `on_overload` - действие, если сервис перегружен:
  * `block` - возвращать пользователю страницу с ошибкой;
  * `bypass` - пропустить сервис;
  * `wait` - отправлять запросы в очередь;
  * `force` - отправлять запрос сервису принудительно.
* `uri_reqmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-запросов. Например, `icap://some.host:1344/some/req_service`;
* `uri_respmod` - уникальный URI внешнего ICAP-сервиса для проверки HTTP-ответов. Например, `icap://some.host:1344/some/req_service`;
* `max_conn` - максимальное количество подключений к ICAP-сервису.

**Ответ на успешный запрос:** 200 ОК

{% endcut %}

{% cut "Удаление внешнего ICAP-сервиса" %}

```
DELETE /proxy_backend/icap_services/<id ICAP-сервиса>
```

**Ответ на успешный запрос:** 200 ОК

{% endcut %}

{% cut "Перемещение ICAP-сервисов в таблице" %}

```
PATCH /proxy_backend/icap_services/move  
```

**Json-тело запроса:**:

```json5
{
  "_meta": {
    "id": "string",
    "anchor_item_id": "string",
    "insert_after": true | false
  }
}
```

* `id` - идентификатор ICAP-сервиса;
* `anchor_item_id` - идентификатор ICAP-сервиса, относительно которого будет перемещен указанный `id` ICAP-сервиса;
* `insert_after` - вставить сервис до или после `anchor_item_id`:
  * `true` - вставить сервис до `anchor_item_id`;
  * `false` -  вставить сервис после `anchor_item_id`.

**Ответ на успешный запрос:** 200 ОК

{% endcut %}
