<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/components/global-use-cases/generic-dialog/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/components/global-use-cases/generic-dialog/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/generic-dialog/generic-dialog-v1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/generic-dialog/generic-dialog-v1/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-bot-generic-dialog-v1&#34;&gt;Aura Bot generic-dialog v1&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Dialog based on a simple configuration that allows managing several experiences for TV channels. This version is compatible with &lt;code&gt;channelData&lt;/code&gt; v1.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;generic-dialog&lt;/strong&gt;&lt;/em&gt; allows OBs to implement certain local use cases for Movistar Home, Movistar Plus and Set-top Box (STB) channels in an autonomous, agile and simple way with no code development, only by means of configuration.&lt;/p&gt;
&lt;p&gt;Use this &lt;em&gt;&lt;strong&gt;generic-dialog&lt;/strong&gt;&lt;/em&gt; if your &lt;code&gt;channelData&lt;/code&gt; version is &lt;a href=&#34;../../../../docs/components/request-response-model/channeldata-v1/&#34;&gt;v1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can check its source code in Github: &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/generic/src/generic-dialog.ts&#34;&gt;generic-dialog.ts&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;included-intents&#34;&gt;Included intents&lt;/h2&gt;
&lt;p&gt;The next table shows current intents available on &lt;em&gt;&lt;strong&gt;generic-dialog&lt;/strong&gt;&lt;/em&gt; and the previous library where the intent was set.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Intent&lt;/th&gt;
&lt;th&gt;Previous library&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;intent.common.goodbyes&lt;/td&gt;
&lt;td&gt;common&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.common.greetings&lt;/td&gt;
&lt;td&gt;common&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.common.help&lt;/td&gt;
&lt;td&gt;common&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.common.swearwords&lt;/td&gt;
&lt;td&gt;common&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.common.thankyous&lt;/td&gt;
&lt;td&gt;common&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.silent_mode_on&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.silent_mode_off&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.call_voicemail&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.add_contact&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.phone_pick_up&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.call&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.call_by_number&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.call_by_name&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.check_calls&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.redial&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.communications.ignore_calls&lt;/td&gt;
&lt;td&gt;communications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.domotics.light_on&lt;/td&gt;
&lt;td&gt;domotics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.domotics.light_off&lt;/td&gt;
&lt;td&gt;domotics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.ecommerce.add_to_wish_list&lt;/td&gt;
&lt;td&gt;ecommerce&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.miscellaneous.radio_turn_off&lt;/td&gt;
&lt;td&gt;miscellaneous&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.miscellaneous.time_check&lt;/td&gt;
&lt;td&gt;miscellaneous&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.miscellaneous.weather_forecast&lt;/td&gt;
&lt;td&gt;miscellaneous&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.miscellaneous.news_listen&lt;/td&gt;
&lt;td&gt;miscellaneous&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.navigation.section_show&lt;/td&gt;
&lt;td&gt;navigation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.navigation.back&lt;/td&gt;
&lt;td&gt;navigation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.navigation.next&lt;/td&gt;
&lt;td&gt;navigation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.navigation.previous&lt;/td&gt;
&lt;td&gt;navigation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.carousel.info&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.details&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.help&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.init&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.from_beginning&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.record&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.channel_down&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.channel_up&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.move_backwards&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.move_forwards&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.mute&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.unmute&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.stop&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.off&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.on&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.pause&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.resume&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.volume_down&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.volume_up&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.c2c&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.content_get_info&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.none&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.question_time_loc&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.search&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.search_similar&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.vod_epq_information&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.watching_now&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.tv.suggestions&lt;/td&gt;
&lt;td&gt;tv&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;intent.wifi.get_access&lt;/td&gt;
&lt;td&gt;wifi&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;generic-indexed-text&#34;&gt;Generic indexed text&lt;/h2&gt;
&lt;p&gt;Generic dialog implements an algorithm, which based on a dialog configuration, can customize its response. The &lt;code&gt;getIndexedText&lt;/code&gt; function returns a POEditor resource based on the dialog configuration&amp;rsquo;s setting &lt;code&gt;indexedResourceBase&lt;/code&gt; and the value &lt;code&gt;entity.entity&lt;/code&gt; obtained from the first entity. This functionality relies in those two values and will return an error if they are not present.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.exact-match.faq&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;settings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;indexedResourceBase&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;generic:faq-answer.&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;functions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;params&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;context&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;currentIntent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;persistentData&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;algorithm&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;getIndexedText&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this example, the reference that will be searched in POEditor will be &lt;code&gt;generic:faq-answer.X&lt;/code&gt;, where X is the identifier gathered from the first entity.&lt;/p&gt;
&lt;p&gt;Keep in mind that in &lt;code&gt;function.params&lt;/code&gt; there has to be an array of parameters that will be used in &lt;code&gt;getIndexedText&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;enabling-ai-resolution&#34;&gt;Enabling AI resolution&lt;/h2&gt;
&lt;p&gt;To enable the AI-based fallback mechanism, add the flag &lt;code&gt;enableAIResolution&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; inside the dialog configuration for the intent. This setting allows the dialog to use the ai recognizer when the NLP resolution returns no entities or when the Movistar Plus resolution returns no results.&lt;/p&gt;
&lt;p&gt;Example configuration:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.tv.search&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;settings&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;locales&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;core:flc.answer.error&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;enableAIResolution&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;needTvResolution&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;ai-fallback-resolution&#34;&gt;AI fallback resolution&lt;/h2&gt;
&lt;p&gt;When using generic-dialog v1 and needTvResolution is set to true, a fallback mechanism using AI services is available if &lt;code&gt;enableAIResolution&lt;/code&gt; is set to true in the dialog configuration.&lt;/p&gt;
&lt;p&gt;If NLP resolution returns no entities or when the Movistar Plus resolution returns no results, the system applies an AI-based fallback strategy (“triage”). This ensures robustness and continuity of the dialog flow.&lt;/p&gt;
&lt;p&gt;The fallback is triggered in two scenarios:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;No entities detected
If the intent requires TV resolution and no entities are returned by the NLP (intentResult.entities?.length === 0), the dialog calls the recognizeUsingAI function.
If a new intent is successfully recognized, the current dialog is replaced by the new one.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Movistar Plus resolution returns no results
When the intent and entities are passed to Movistar Plus Resolution but no valid result is obtained (GENERIC_MP_RESOLUTION_NO_RESULT_CODE), the system again invokes recognizeUsingAI.
A new intent will be attempted and, if available, the dialog is redirected accordingly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In both cases, the interaction origin is marked as InteractionOriginType.NoResults.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/generic-dialog/generic-dialog-v3/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/generic-dialog/generic-dialog-v3/</guid>
      <description>
        
        
        &lt;h1 id=&#34;aura-bot-generic-dialog-v3&#34;&gt;Aura Bot generic-dialog-v3&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Dialog based on a simple configuration that allows managing several experiences for TV channels. This version is compatible with &lt;code&gt;channelData&lt;/code&gt; v3.&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;generic-dialog-v3&lt;/strong&gt;&lt;/em&gt; allows OBs to implement certain local use cases for &lt;a href=&#34;../../../../docs/components/request-response-model/channeldata-v3/&#34;&gt;&lt;code&gt;channelData&lt;/code&gt; v3&lt;/a&gt; channels in an autonomous, agile and simple way with no code development, only by means of configuration.&lt;/p&gt;
&lt;p&gt;You can check its source code in Github: &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/generic/src/v3/generic-v3-dialog.ts&#34;&gt;generic-v3-dialog.ts&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;differences-between-generic-dialog-v1-and-v3&#34;&gt;Differences between generic dialog v1 and v3&lt;/h2&gt;
&lt;p&gt;These are the main differences in comparison with the &lt;a href=&#34;../../../../docs/components/global-use-cases/generic-dialog/generic-dialog-v1/&#34;&gt;&lt;em&gt;&lt;strong&gt;generic-dialog&lt;/strong&gt;&lt;/em&gt; v1&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Deprecated fields in dialog&amp;rsquo;s settings (&lt;code&gt;dialogLibraries.dialogs.triggerConditions.settings&lt;/code&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;, &lt;code&gt;payload&lt;/code&gt;, &lt;code&gt;addEntitiesToPayload&lt;/code&gt;, &lt;code&gt;sound&lt;/code&gt;, &lt;code&gt;payloadType&lt;/code&gt; and &lt;code&gt;isFullScreen&lt;/code&gt; are no longer used.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;action&lt;/code&gt;, &lt;code&gt;payload&lt;/code&gt; and &lt;code&gt;sound&lt;/code&gt; configurations will be transformed to the new actions format and added to the new field &lt;code&gt;actions&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;New field &lt;code&gt;actions&lt;/code&gt;: This field contains the configuration of all the actions returned inside the &lt;code&gt;channelData&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;generic-dialog-environment-variables&#34;&gt;Generic dialog environment variables&lt;/h2&gt;
&lt;h3 id=&#34;generic&#34;&gt;Generic&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Property&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Type&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Scope&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;TV_VOLUME_LEVELS_UP_DOWN&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;number&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;Number of points at which the volume can be raised and lowered. By default &lt;code&gt;5&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;TV_MOVE_SECONDS_BACKWARD_FORWARD&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;number&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;Number of seconds in which user can forward or rewind a video. By default &lt;code&gt;60&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;strong&gt;WIFI_FP_SMART_WIFI_ENDPOINT&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL &lt;strong&gt;Kernel&lt;/strong&gt; endpoint endpoint to interact with smart wifi API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;TV_TIMER_RECOGNIZER_FIRST_ENTITY_CONFIG&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;Configuration of the recognition of entities with timer content in first position to calculate number of seconds. By default: &lt;code&gt;1 4:0.25,3 4s:0.75,4 de hora:0.25,hora:1.0,media:0.5,medio:0.5,minuto:1.0,un:1.0,un 4:0.25,una:1.0&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;| &lt;em&gt;TV_TIMER_RECOGNIZER_SECOND_ENTITY_CONFIG&lt;/em&gt; | string | Local | Configuration of recognition of entities with timer content in second position to calculate number of seconds. By default: &lt;code&gt;1 4:0.25,3 4s:0.75,4 de hora:0.25,hora:1.0,media:0.5,medio:0.5,minuto:1.0,un:1.0,un 4:0.25,una:1.0,4:0.25&lt;/code&gt;. |&lt;/p&gt;
&lt;h2 id=&#34;generic-dialog-utilities&#34;&gt;Generic dialog utilities&lt;/h2&gt;
&lt;p&gt;There are several functions that implement different requirements for the generic-dialog such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;calculateSecondLevels&lt;/code&gt;: Calculate the value in seconds in case the entity type is not expressed in this format: &lt;code&gt;ent.time_length_sec&lt;/code&gt;.
Right now it only converts minutes into seconds.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getIndexedText&lt;/code&gt;: Get the text&amp;rsquo;s reference with information about the entity value.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getInfoWifiPlus&lt;/code&gt;: Retrieve Wi-Fi info.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getSecondsLevelsWithTimerRecognizer&lt;/code&gt;: Calculates the total number of seconds, based on the provided timer entities, making a recognition and conversion of them depending on the configuration of each country. The configuration is added in the environment variables: &lt;code&gt;TV_TIMER_RECOGNIZER_FIRST_ENTITY_CONFIG&lt;/code&gt; and &lt;code&gt;TV_TIMER_RECOGNIZER_SECOND_ENTITY_CONFIG&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;getWifiInfo&lt;/code&gt;: Manage Wi-Fi data by setting the persistentData and the value of movistarPlusResolution.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ai-fallback-resolution&#34;&gt;AI fallback resolution&lt;/h2&gt;
&lt;p&gt;The configuration and fallback mechanism for AI resolution in &lt;strong&gt;generic-dialog-v3&lt;/strong&gt; are the same as in &lt;a href=&#34;../../../../docs/components/global-use-cases/generic-dialog/generic-dialog-v1&#34;&gt;generic-dialog v1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The only difference is in the second fallback condition:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In &lt;strong&gt;generic-dialog v1&lt;/strong&gt;, the fallback is triggered when &lt;em&gt;Movistar Plus resolution&lt;/em&gt; returns no results.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;generic-dialog v3&lt;/strong&gt;, the fallback is triggered when the &lt;strong&gt;complex logic resolution&lt;/strong&gt; process returns no results.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All other aspects (configuration with &lt;code&gt;enableAIResolution&lt;/code&gt;, marking the interaction origin as &lt;code&gt;InteractionOriginType.NoResults&lt;/code&gt;, and redirecting to the new dialog) remain exactly the same.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
