# Как инициировать выход из учетной записи в виджете программно?
# Симптомы

Есть ли возможность инициировать выход из учетной записи (логаут, logout)  в виджете программно?

Есть ли API для выхода из учетной записи виджета?

# Решение

Да, инициировать выход из учетной записи виджета можно программно, используя стандартное браузерное API [window.postMessage](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) на DOM объекте iframe:

```jsx
const iframe = document.getElementById("swarmica_widget_iframe_id");
iframe.contentWindow.postMessage({ type: "LOGOUT_WIDGET" }, "*");
```

Например, вот так может выглядеть код для выхода из учетной записи при нажатии кнопки:

```html
<!-- parent HTML --> 
<button id="logoutWidgetBtn">
  Logout widget
</button>

<!-- start embedded Swarmica widget script -->
<iframe src="..." id="swarmica_widget_iframe_id" style="position: fixed; right: 12px; bottom: 12px; width: 56px; height: 56px; overflow: hidden; "
  allowTransparency="true"
  frameborder="0"
  allowTransparency="true" frameborder="0"></iframe>
<!-- rest of embed code -->
<script>
  const iframe = document.getElementById("swarmica_widget_iframe_id")
  iframe.onload = () => {
    renderWidget("swarmica_widget_iframe_id")
  }
  document.getElementById("swarmica_widget_iframe_id").addEventListener("click", 
    () => {
            if (!iframe || !iframe.contentWindow) return;
            iframe.contentWindow.postMessage({ type: "LOGOUT_WIDGET" }, "*")
  });
</script>
<!-- end embedded Swarmica widget scripts -->
```

:::info
Для использования этого API необходимо установить обновление [v5.7.2](https://support.swarmica.com/article/ru/1237-obnovlenie-v57x.html) или выше
:::