---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/dialogs/alice/doc/ru/buttons.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/dialogs/alice/doc/ru/llms.txt

# Кнопки

{% include notitle [neuroexpert-button](_includes/reusables/neuroexpert-button-99270fdba323.md) %}


На устройствах с экраном вы можете предоставить пользователю дополнительные возможности для общения с навыком: давайте подсказки, побуждайте к действию, используйте кликабельные картинки.

В видеоуроке ниже разработчики рассказывают о реализации кнопок в ответе навыка.

<div style="
    border:1px solid #d1d5db;
    border-radius:20px;
    overflow:hidden;
    max-width:100%;
">
  <iframe src="https://runtime.strm.yandex.ru/player/video/vplvkurggslqijxive6t?autoplay=0&mute=0"
    frameborder="0"
    allowfullscreen
    style="
      display:block;
      width:100%;
      height:360px;
      "></iframe>
</div>

## Кнопки после ответа {#after-answer}

Текстовые саджесты выводятся после основного ответа навыка, описанного в свойствах `response.text` и `response.card`. Нажатие кнопки может обозначать вариант развития диалога, активировать ссылку на страницу в интернете или выполнить заданный программный код. Вы также можете добавить в текст кнопки эмодзи.

Чтобы добавить кнопки, в ответе навыка задайте свойство `response.buttons`.

```json
{
  "response": {
    ...
    "buttons": [
        {
            "title": "Надпись на кнопке �",
            "payload": {},
            "url": "https://example.com/",
            "hide": true
        }
    ],
    ...
  },
```

{% cut "Описание элементов" %}

`buttons` — кнопки, которые следует показать пользователю.

`title` — текст кнопки, обязательный атрибут. Если для кнопки не указано свойство `url`, текст кнопки будет отправлен навыку как реплика пользователя. Максимальная длина 64 символа.

`url` — адрес страницы, которую должна открыть кнопка. Максимальный объем ссылки 1024 байта.

`payload` — произвольный код на JSON, который Яндекс Диалоги должны отправить обработчику при нажатии. Максимальный объем кода 4096 байт.

`hide` — признак того, что кнопку нужно убрать после следующей реплики пользователя. Допустимые значения:

- `false` — кнопка должна оставаться активной (значение по умолчанию);
- `true` — кнопку нужно скрывать после нажатия.

{% endcut %}

{% cut "Пример ответа навыка" %}

![Пример ответа навыка с кнопкой](./_images/button-example-1.png)

{% endcut %}

## Изображение, на которое можно нажать {#image}

Чтобы [изображение в ответе навыка](https://yandex.ru/dev/dialogs/alice/doc/ru/resource-upload.md) реагировало на нажатие, задайте ему свойство `response.card.button`.

```json
{
  "response": {
    ...
    "card": {
      "type": "BigImage",
      ...
      "button": {
        "text": "Надпись на кнопке",
        "url": "http://example.com/",
        "payload": {}
      }
    }
  },
```

{% cut "Описание элементов" %}

`text` — текст, который будет отправлен навыку по нажатию на изображение в качестве команды пользователя. Максимум 64 символа.

`url` — URL, который должен открываться по нажатию изображения. Максимум 1024 байта. Если свойство `url` не указано, навык получит значение свойства `text`.

`payload` — произвольный код на JSON, который Яндекс Диалоги должны отправить обработчику при нажатии. Максимальный объем кода 4096 байт.

{% endcut %}

{% cut "Пример ответа навыка" %}

![Пример ответа навыка с изображением, на которое можно нажать](./_images/button-example-2.png)

{% endcut %}

## Кнопки под списком изображений {#under-image}

Если вам нужно вывести кнопки внизу списка изображений, задайте свойство `response.card.footer.button`.

```json
{
  "response": {
    ...
    "card": {
      "type": "ItemsList",
      ...
      "footer": {
        "text": "Текст блока под изображением.",
        "button": {
          "text": "Надпись на кнопке",
          "url": "https://example.com/",
          "payload": {}
        }
      }
    },
```

{% cut "Описание элементов" %} 

`footer` — кнопки под списком изображений.
 Игнорируется для типа карточки `ImageGallery`.

`text` — текст первой кнопки, обязательное свойство. Максимальная длина 64 символа.

`button` — дополнительная кнопка для списка изображений.

`text` — текст кнопки, обязателен для каждой кнопки. Максимум 64 символа. Если для кнопки не указано свойство `url`, по нажатию текст кнопки будет отправлен навыку как реплика пользователя.

`url` — URL, который должен открываться по нажатию изображения. Максимум 1024 байта.

`payload` — произвольный код на JSON, который Яндекс Диалоги должны отправить обработчику при нажатии. Максимальный объем кода 4096 байт.

{% endcut %}

{% cut "Пример ответа навыка" %} 

![Пример ответа навыка с кнопками под списком изображений](./_images/button-example-3.png)

{% endcut %}

## Полезные видео {#useful-video}

{% cut "Разработка прототипа голосового приложения (с 49:31)" %} 

<div style="
    border:1px solid #d1d5db;
    border-radius:20px;
    overflow:hidden;
    max-width:100%;
">
  <iframe src="https://runtime.strm.yandex.ru/player/video/vplvba3haj2wbsimewde?autoplay=0&mute=0"
    frameborder="0"
    allowfullscreen
    style="
      display:block;
      width:100%;
      height:360px;
      "></iframe>
</div>

{% endcut %}

{% include [index-support-button](_includes/index/id-index/support-button-5ad596e9261c.md) %}


