# Сброс значений контекстных переменных

| Codename                        | Метод API                                             | Задача                                                                         | Особенности                                                                                                                         | Endpoint                                                                                     |
| ------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| drop\_chat\_vars                | Удаление контекстных переменных из определенного Чата | Удалить из контекста Чата определенные пользовательские контекстные переменные | Нельзя удалить Системные контекстные переменные. При выполнении запроса через External Request заголовок Authorization не требуется | [https://admin.chatme.ai/api/platform/graphql](https://admin.chatme.ai/api/platform/graphql) |
| drop\_agent\_chats\_fullcontext | Сброс контекста по ID агента                          | Сбросить контекст Чатов определенного Агента во всех активных Чатах            | Не рекомендуется использовать внешний запрос на сброс контекста Чатов в этом же Агенте.                                             | [https://admin.chatme.ai/api/platform/graphql](https://admin.chatme.ai/api/platform/graphql) |

\


## Получение токена доступа

Для выполнения методов управления Агентом по API необходимо получить токен доступа, чтобы впоследствии использовать его в заголовке Authorization: Bearer: token. Для получения токена вам необходимо использовать локальное хранилище данных в консоли отладки в браузере.Получение токена на примере браузера Google Chrome:

1. Авторизуйтесь на Платформа и оставайтесь на той же вкладке браузера;
2. Зайдите в консоль отладки (клавиша F12 для Google Chrome);
3. Перейдите на вкладку Application;
4. В меню раскройте Local Storage;
5. Выберите [https://admin.chatme.ai](https://admin.chatme.ai);
6. Среди появившихся ключей найдите auth-token. Скопируйте значение этого ключа. Это и есть нужный токен.

Пример значения auth\_token: yFoWslOyB57U7Mh2QmYw7iHCcEwPr7oKMoae7zzHGCQ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-ruEjuWTGb8/81919648427badc01fff99dc8d7ab55fb78d1e360603ae9a3b54c4e199beb805ea6d109575bdf124fb5cce4108c949d09ee2797442fc6e4c897280bc2205b5e6ad8b33f932a8e74fcc59039e13372673d997554b54c6c085907e54f2f69a78a2adaf65f1)Токен перестает быть валидным после выхода пользователя – владельца токена из аккаунта на Платформе. При выполнении запроса с невалидным токеном вы получите ошибку.

## Удаление контекстных переменных из определенного чата

Данный метод API позволяет удалить из Контекст Чата определенные Пользовательские контекстные переменные и Канальные переменные.Данный метод можно использовать для удаления Контекстная переменная из Контекст Чата одного Агента через External Request в его Сценарий агента (например, для того чтобы удалить  Контекстная переменная перед прохождением Слота Slot Filling).Нельзя удалить Системная контекстная переменная, используя этот метод.

### Request Headers

```
Content-type: Application/graphqlAuthorization: Bearer: token
```

> При выполнении запроса через External Request заголовок Authorization не требуется.

### Request Body

```
mutation {resetChatContextVariables(chatId: chat_id,contextVariableNames: array)}
```

* chat\_id: идентификатор Чата на Платформе.
* array: массив текстовых элементов — названий Контекстная переменная, которые нужно удалить из Контекст Чата с указанным chat\_id.

Пример запроса

```
mutation {resetChatContextVariables(chatId: "6182a92db90c03eb5c66eed67f67219b9cf2158c",contextVariableNames: ["uname", "uage", "channel_id"])}
```

В приведенном примере запроса из Контекст Чата с chat\_id = 6182a92db90c03eb5c66eed67f67219b9cf2158c будут удалены Пользовательские контекстные переменные uname и uage.

> Если указанные в запросе Контекстная переменная не существуют в Контекст Чата и отправлен запрос на их удаление, ничего не произойдет.\
> Переменная channel\_id не подлежит удалению, так как является системной.

### Response

```
{"data": {"resetChatContext": true/false}}
```

В ответ на запрос на удаление Контекстная переменная из Контекст Чата Платформа возвращает результат поиска данного Чата. Если Чат с указанным chat\_id найден, Платформа вернет resetChatContext со значением true, иначе — false.

> Ответ Платформа не свидетельствует об успешном удалении Контекстная переменная, а только о том, что указанный chat\_id найден.

Пример ответа системы при запросе с невалидным токеном

```
{"data": null,"errors": [{"message": "ERR_AUTHENTICATION_REQUIRED","locations": ["locations": [{"line": 2,"column": 1}],"path": ["resetChatContextVariables"],"code": "ERR_AUTHENTICATION_REQUIRED"}]}
```

## Сброс контекста по ID Агента

Метод позволяет сбросить Контекстная переменная всех Чатов определенного Агента во всех Конечный канал.

> Не рекомендуется использовать метод через External Request для сброса Контекст Чата Агентом у самого себя — это приведет к непредсказуемому поведению во всех Чатах.

### Request Headers

```
Content-type: Application/jsonAuthorization: Bearer: token
```

### Request Body

```
{"query": "mutation {resetChatContext(agentId: agent_id )}"}
```

* agent\_id: идентификатор Агента на Платформа.

Пример запроса

```
{"query": "mutation {resetChatContext(agentId: 6660)}"}
```

### Response

```
{"data": {"resetChatContext": true}}
```

Если Агент с указанным agent\_id найден, Платформа вернет resetChatContext со значением true, иначе — false.

> Ответ Платформа не свидетельствует об успешном удалении Контекстная переменная, а только о том, что указанный chat\_id найден.

Пример ответа системы при запросе с невалидным токеном

```
{"data": null,"errors": [{"message": "ERR_AUTHENTICATION_REQUIRED","locations": [{"line": 1,"column": 11],"path": ["resetChatContext"],"code": "ERR_AUTHENTICATION_REQUIRED"}]}
```

\
