# API сервиса Webim

В данной статье собраны ответы на вопросы, связанные с работой с **API** сервиса **Webim**.

**Вопрос**: Почему один посетитель видит сообщения другого?
> **Ответ**: Вероятнее всего, посетители были авторизованы на сайте и имели одинаковые ID. Поле ID должно быть уникальным для каждого авторизованного пользователя. Ознакомиться с идентификацией авторизованных пользователей Вы можете в [данной статье](https://webim.ru/kb/dev/identification/id-2-0.html).

**Вопрос**: Как открывать чат сервиса **Webim** при входе на страницу?
> **Ответ**: Для этого на странице необходимо вызвать метод ```webim.api.chat.start()```. Но мы не рекомендуем так делать на часто посещаемых страницах, чтобы избежать избыточной нагрузки на сервис. Примеры кода — в статье [Как открыть страницу сайта сразу с развёрнутым чатом](https://webim.ru/kb/dev/open-chat-on-page-load.html).

**Вопрос**: Можно ли сделать ссылку, которая открывает страницу нашего сайта с уже развёрнутым чатом?
> **Ответ**: Готовой ссылки для этого нет, но её можно собрать самостоятельно: добавить в адрес страницы собственный параметр и на стороне сайта вызывать ```webim.api.chat.start()```, если параметр присутствует. Как это сделать, описано в статье [Как открыть страницу сайта сразу с развёрнутым чатом](https://webim.ru/kb/dev/open-chat-on-page-load.html).

**Вопрос**: Можно ли скачать файл из чата, используя API?

> **Ответ**: Да, это возможно с помощью эндпоинта `/file` [**Stored Data API**](https://webim.ru/kb/dev/api/stored-data/overview.html).

**Вопрос**: Если мы отправляем данные пользователя в объекте webim_visitor, а потом пользователь меняет их в профиле, как обновить их в виджете чата?
> **Ответ**: После изменения данных необходимо вызвать метод ```webim.api.onProvidedVisitorChanged()```. При этом для него необходимо верно [рассчитать хэш](https://webim.ru/kb/dev/identification/visitor-fields-calculator.html) (если только ему не присваивается значение `null`).

**Вопрос**: Почему нет доступа к API?
> **Ответ**: У этой проблемы может быть несколько причин. Во-первых, проверьте, подключена ли данная тарифная опция на вашем аккаунте. Если опция подключена, то убедитесь, что создаёте запросы к API из-под учётной записи администратора.

**Вопрос**: Что будет, если с помощью **External API 1.0** для подключения внешних роботов к сервису **Webim** передать параметр `has_answer: false` и сообщение одновременно?
> **Ответ**: Переданное сообщение не будет отображено у пользователя. При этом чат сразу перейдёт с робота в общую очередь.
!!! Note "N.B."
    Начиная с версии **Webim** 10.8, сообщение будет отображено у пользователя и в РМО, после чего чат будет передан с бота в общую очередь (оператору).
**Вопрос**: Почему объект `webim_visitor` не передаётся через **JS API** в чат?
> **Ответ**: Удостоверьтесь, что он появляется до инициализации чата.

**Вопрос**: Почему не заполняются поля с данными посетителя в ходе диалога?
> **Ответ**: Если в начале диалога передать пустые поля (например, `phone:''`) в сервис Webim с помощью **JS API** чата, посетитель больше не сможет их заполнить. Мы рекомендуем не передавать пустые поля.

**Вопрос**: На что срабатывает обработчик закрытия чата?
> **Ответ**: Только на окончательное закрытие чата. О нём можно подробнее прочесть [здесь](https://webim.ru/kb/for-admins/closing-dialogs.html).

---

Источник: https://webim.ru/kb/faq/api-service.html
