{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/JS_API/variables/response/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"9886128d-f806-5f99-9d7d-7d8222728ae0","excerpt":"$response Объект для заполнения поля  в ответах системы.  — список ответов, выведенных в процессе обработки реакций.  —  массив реплик чатбота, содержащий…","html":"<h1>$response</h1>\n<hr>\n<p>Объект для заполнения поля <code class=\"language-text\">$response</code> в ответах системы. <code class=\"language-text\">$response.replies</code> — список ответов, выведенных в процессе обработки реакций.</p>\n<p><code class=\"language-text\">replies</code> —  массив реплик чатбота, содержащий строго типизированные элементы. Предназначен для передачи ответов в различные каналы коммуникации, такие, как Телеграм, Фейсбук и др.</p>\n<p class='warn'>Ниже представлен список поддерживаемых платформой <code class=\"language-text\">replies</code>. Подробная иформация о формате ответа бота, параметрах, типах сообщений для каналов представлена в статье <a href=/1.10.3/docs/ru/bot_answers/about_bot_answers  >Типы ответов</a>.</p>\n</br>\n<h4>replies</h4>\n<p>Поддерживаемые элементы <code class=\"language-text\">replies</code>:</p>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#text\"><code class=\"language-text\">text</code></a> — простой текстовый ответ, каждый элемент выводится отдельным сообщением. Параметр <code class=\"language-text\">tts</code> задаёт текст ответа с разметкой для синтеза речи. Параметр <code class=\"language-text\">markup</code> задаёт способ форматирования.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"text\",\n  \"text\":\"....\",\n  \"tts\":\"....\",\n  \"markup\":\n    \"html|markdown|plain\"\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#text\"><code class=\"language-text\">buttons</code></a> — вывод кнопки.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">  \"type\":\"buttons\"\n  \"buttons\":[\n    {\n      \"text\":\"кнопка\",\n      другие поля будут переданы\n      непосредственно в мессенджер\n    }\n  ]\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#inlinebuttons\"><code class=\"language-text\">inlineButtons</code></a> — вывод inline-кнопки. Если заполнено поле <code class=\"language-text\">inlineButtons[].url</code>, по клику будет открыт указанный url.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"inlineButtons\"\n  \"buttons\":[\n    {\n      \"text\":\"кнопка\",\n      \"url\":\"http://ya.ru\"\n    }\n  ]\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#image\"><code class=\"language-text\">image</code></a> — вывод изображения.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"image\",\n  \"imageUrl\":\"http://...\"\n}</code></pre></div>\n</br>\n<ul>\n<li><code class=\"language-text\">link</code> — вывод ссылки.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"link\",\n  \"url\":\"http://...\"\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#raw\"><code class=\"language-text\">raw</code></a> — используется для передачи методов, специфичных для определенного канала. Обязательный параметр <code class=\"language-text\">body</code>: тело ответа, которое будет передано в чат-систему. Параметры, идентифицирующие пользователя в чате будут подставлены автоматически.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"raw\",\n  \"body\":{ ... },\n  \"method\":\"sendMessage\"\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#switch\"><code class=\"language-text\">switch</code></a> — переключает диалог клиента с бота на оператора.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"switch\",\n  \"firstMessage\":\"...\",\n  \"closeChatPhrases\": [\"..\"],\n  \"ignoreOffline\":true|false,\n\"oneTimeMessage\": true|false\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#location\"><code class=\"language-text\">location</code></a> — вывод координат. Параметры: <code class=\"language-text\">lat</code>, <code class=\"language-text\">lon</code>.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\": \"location\",\n  \"lat\": 59.934280,\n  \"lon\": 30.335099\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#timeout\"><code class=\"language-text\">timeout</code></a> — задает переход в состояние, если от пользователя нет ответа.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"timeout\",\n  \"interval\":10,\n  \"targetState\":\"/timedout\"\n}</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#dtmf\"><code class=\"language-text\">dtmf</code></a> — запрос набора DTMF-сообщения (цифры/символы в тоновом режиме). Только для телефонных звонков.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$response.replies.push({type:\"dtmf\"});</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#hangup\"><code class=\"language-text\">hangup</code></a> — прервать звонок. Только телефонных звонков.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$response.replies.push({type:\"hangup\"});</code></pre></div>\n</br>\n<ul>\n<li><a href=\"/1.10.3/docs/ru/bot_answers/message_types#htmlresponse\"><code class=\"language-text\">htmlResponse</code></a> используется для вывода визуальной составляющей навыков, созданных с использованием <a href=\"/1.10.3/docs/ru/channels/google_assistant/interactive_canvas\">Interactive Canvas</a>.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">{\n  \"type\":\"htmlResponse\",\n  \"updatedState\": \"some\",\n  \"suppressMic\":true|false,\n  \"url\": \"appUrl\"\n}</code></pre></div>\n</br>\n<h4>Примеры использования</h4>\n<ul>\n<li>Вывод изображения.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\">  <span class=\"token variableParameter\">script:</span>\n     $response.replies.push( {\n          type: \"image\",\n          imageUrl: \" https://testimageurl.jpg\",\n          text: \"Изображение\" (это поле опционально)\n      } )</code></pre></div>\n</br>\n<ul>\n<li>Вывод GIF анимации.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"> $response<span class=\"token punctuation\">.</span>replies <span class=\"token operator\">=</span> $response<span class=\"token punctuation\">.</span>replies <span class=\"token operator\">||</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n      $response<span class=\"token punctuation\">.</span>replies<span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n          <span class=\"token string-property property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"raw\"</span><span class=\"token punctuation\">,</span>\n          <span class=\"token string-property property\">\"body\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n              <span class=\"token string-property property\">\"animation\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"https://www.catgifpage.com/gifs/318.gif\"</span>\n          <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n          <span class=\"token string-property property\">\"method\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"sendAnimation\"</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</br>\n<ul>\n<li>Переключение диалога с бота на оператора.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">$response<span class=\"token punctuation\">.</span>replies <span class=\"token punctuation\">.</span><span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n     <span class=\"token literal-property property\">type</span><span class=\"token operator\">:</span><span class=\"token string\">\"switch\"</span><span class=\"token punctuation\">,</span>\n     <span class=\"token literal-property property\">phoneNumber</span><span class=\"token operator\">:</span><span class=\"token number\">74155</span><span class=\"token punctuation\">,</span>\n     <span class=\"token literal-property property\">closeChatPhrases</span><span class=\"token operator\">:</span> catchAll<span class=\"token punctuation\">.</span>closeChatPhrases<span class=\"token punctuation\">,</span>\n     <span class=\"token literal-property property\">firstMessage</span><span class=\"token operator\">:</span> $client<span class=\"token punctuation\">.</span>history<span class=\"token punctuation\">,</span>\n     <span class=\"token literal-property property\">destination</span><span class=\"token operator\">:</span> catchAll<span class=\"token punctuation\">.</span>operatorGroup<span class=\"token punctuation\">,</span>\n                    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n</br>\n<ul>\n<li>Пример изменения ответа в post-процессе при третьей попытке бота ответить одинаково.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token literal-property property\">init</span><span class=\"token operator\">:</span>\n    <span class=\"token function\">bind</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"postProcess\"</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">var</span> $session <span class=\"token operator\">=</span> $jsapi<span class=\"token punctuation\">.</span><span class=\"token function\">context</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>session<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">var</span> $response <span class=\"token operator\">=</span> $jsapi<span class=\"token punctuation\">.</span><span class=\"token function\">context</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>response<span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">var</span> answer <span class=\"token operator\">=</span> $response<span class=\"token punctuation\">.</span>replies <span class=\"token operator\">?</span> $response<span class=\"token punctuation\">.</span>replies<span class=\"token punctuation\">.</span><span class=\"token function\">reduce</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">answers<span class=\"token punctuation\">,</span> current</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            answers <span class=\"token operator\">+=</span> <span class=\"token string\">\" \"</span> <span class=\"token operator\">+</span> current<span class=\"token punctuation\">.</span>text<span class=\"token punctuation\">;</span>\n            <span class=\"token keyword\">return</span> answers<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>  <span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>$session<span class=\"token punctuation\">.</span>lastAnswer <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span>answer <span class=\"token operator\">==</span> $session<span class=\"token punctuation\">.</span>lastAnswer<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            $session<span class=\"token punctuation\">.</span>answerRepetition <span class=\"token operator\">=</span> $session<span class=\"token punctuation\">.</span>answerRepetition <span class=\"token operator\">||</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n            $session<span class=\"token punctuation\">.</span>answerRepetition <span class=\"token operator\">+=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n            $session<span class=\"token punctuation\">.</span>answerRepetition <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>$session<span class=\"token punctuation\">.</span>answerRepetition <span class=\"token operator\">==</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n            $response<span class=\"token punctuation\">.</span>replies <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">{</span>\n                <span class=\"token string-property property\">\"type\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"text\"</span><span class=\"token punctuation\">,</span>\n                <span class=\"token string-property property\">\"text\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Похоже мы ходим кругами. Может спросишь о чем-нибудь другом?\"</span>\n            <span class=\"token punctuation\">}</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        $session<span class=\"token punctuation\">.</span>lastAnswer <span class=\"token operator\">=</span> answer<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"$response"}]}},"pageContext":{"slug":"/docs/ru/JS_API/variables/response/","previous":{"fields":{"slug":"/docs/ru/JS_API/variables/session/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/JS_API/variables/request/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}