input: from typing import Dict, Any
  from flask import Flask, request, make_response
  import json
  import os
  
  app = Flask(__name__)
  
  @app.route('/webhook', methods=['POST'])
  def webhook() -> str:
      """
      A Flask app that listens for POST requests on the '/webhook' route. When a request is received,
      it extracts the necessary parameters from the request and calls the 'makeWebhookResult' function
      to generate a response. The response is a JSON object containing a 'speech' field with the text
      to be spoken by the voice assistant. The app runs on port 5000 in debug mode.
      
      Example:
      >>> request_body = {
          "result": {
              "action": "productos.sura",
              "parameters": {
                  "tipo_cliente": "particular"
              }
          }
      }
      >>> response = webhook()
      >>> json.loads(response)['speech']
      "Buscando productos para particular"
      """
      req = request.get_json(silent=True, force=True)
      res = makeWebhookResult(req)
      res = json.dumps(res, indent=4)
      r = make_response(res)
      r.headers['Content-Type'] = 'application/json'
      return r
  
  def makeWebhookResult(req: Dict[str, Any]) -> Dict[str, str]:
      result = req.get("result")
      parameters = result.get("parameters")
      
      action = req.get("result").get("action")
      speech = ""
      
      if action == "productos.sura":
          cliente = parameters.get("tipo_cliente")
          speech = "Buscando productos para " + cliente
      elif action == "producto.info":
          producto = parameters.get("producto")
          if producto == "hogar":
              url = "https://www.sura.com/soluciones-personas/seguro-hogar.aspx"
              speech = "Informacion sobre seguro de hogar obtenida"
          else:
              speech = "Buscando informacion del producto " + producto
      elif action == "planes.salud":
          speech = "Seguros Sura Colombia ofrece varios planes de salud"
      elif action == "info.especialistas":
          speech = "Profesionales encontrados para tu busqueda"
      elif action == "coberturas.producto":
          producto = parameters.get("productos")
          speech = "Buscando coberturas del producto: " + producto
      else:
          speech = " "
  
      return {
          "speech": speech,
          "displayText": speech,
          "source": "apiai-onlinestore-shipping"
      }
  
  if __name__ == '__main__':
      port = int(os.getenv('PORT', 5000))
      app.run(debug=True, port=port, host='0.0.0.0')
output:     if action == "cotizar.producto":
          producto = parameters.get("producto")
          precio = parameters.get("precio")
          speech = f"El precio del producto {producto} es {precio}"
      elif action == "contacto.sura":
          speech = "Puedes contactarnos a través de nuestro sitio web o llamando al 01 8000 51 8000"
      elif action == "sucursales.sura":
          ciudad = parameters.get("ciudad")
          speech = f"Buscando sucursales de Sura en {ciudad}"
      elif action == "atencion.cliente":
          speech = "Nuestro equipo de atención al cliente está disponible las 24 horas del día"
      elif action == "reclamos.sura":
          speech = "Para hacer un reclamo, por favor visite nuestra página de reclamos en línea"
      elif action == "seguros.vehiculos":
          speech = "Ofrecemos seguros para vehículos con coberturas completas"
      elif action == "seguros.viaje":
          speech = "Tenemos seguros de viaje con coberturas internacionales"
      elif action == "seguros.vida":
          speech = "Ofrecemos seguros de vida con beneficios adicionales"
      elif action == "seguros.empresas":
          speech = "Tenemos soluciones de seguros para empresas"
      elif action == "seguros.mascotas":
          speech = "Ofrecemos seguros para mascotas con coberturas especiales"
      elif action == "seguros.tecnologia":
          speech = "Tenemos seguros para dispositivos tecnológicos"
      elif action == "seguros.eventos":
          speech = "Ofrecemos seguros para eventos con coberturas personalizadas"
      elif action == "seguros.agricultura":
          speech = "Tenemos seguros para la agricultura con coberturas específicas"
      elif action == "seguros.energia":
          speech = "Ofrecemos seguros para la industria de la energía"
      elif action == "seguros.transporte":
          speech = "Tenemos seguros para el transporte con coberturas completas"
      elif action == "seguros.construccion":
          speech = "Ofrecemos seguros para la construcción con coberturas especiales"
      elif action == "seguros.salud.empresas":
          speech = "Tenemos seguros de salud para empresas con beneficios adicionales"
      elif action == "seguros.salud.familia":
          speech = "Ofrecemos seguros de salud para la familia con coberturas completas"
      elif action == "seguros.salud.individual":
          speech = "Tenemos seguros de salud individual con coberturas personalizadas"
      elif action == "seguros.salud.estudiantes":
          speech = "Ofrecemos seguros de salud para estudiantes con beneficios adicionales"
      elif action == "seguros.salud.viajeros":
          speech = "Tenemos seguros de salud para viajeros con coberturas internacionales"
      elif action == "seguros.salud.empresas.grandes":
          speech = "Ofrecemos seguros de salud para grandes empresas con coberturas especiales"
      elif action == "seguros.salud.empresas.medianas":
          speech = "Tenemos seguros de salud para medianas empresas con beneficios adicionales"
      elif action == "seguros.salud.empresas.pequenas":
          speech = "Ofrecemos seguros de salud para pequeñas empresas con coberturas completas"
      elif action == "seguros.salud.empresas.nuevas":
          speech = "Tenemos seguros de salud para nuevas empresas con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras":
          speech = "Ofrecemos seguros de salud para empresas innovadoras con beneficios adicionales"
      elif action == "seguros.salud.empresas.tecnologicas":
          speech = "Tenemos seguros de salud para empresas tecnológicas con coberturas especiales"
      elif action == "seguros.salud.empresas.financieras":
          speech = "Ofrecemos seguros de salud para empresas financieras con coberturas completas"
      elif action == "seguros.salud.empresas.manufactureras":
          speech = "Tenemos seguros de salud para empresas manufactureras con beneficios adicionales"
      elif action == "seguros.salud.empresas.servicios":
          speech = "Ofrecemos seguros de salud para empresas de servicios con coberturas personalizadas"
      elif action == "seguros.salud.empresas.comerciales":
          speech = "Tenemos seguros de salud para empresas comerciales con coberturas especiales"
      elif action == "seguros.salud.empresas.educativas":
          speech = "Ofrecemos seguros de salud para empresas educativas con coberturas completas"
      elif action == "seguros.salud.empresas.sanitarias":
          speech = "Tenemos seguros de salud para empresas sanitarias con beneficios adicionales"
      elif action == "seguros.salud.empresas.gubernamentales":
          speech = "Ofrecemos seguros de salud para empresas gubernamentales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.no.lucrativas":
          speech = "Tenemos seguros de salud para empresas no lucrativas con coberturas especiales"
      elif action == "seguros.salud.empresas.internacionales":
          speech = "Ofrecemos seguros de salud para empresas internacionales con coberturas completas"
      elif action == "seguros.salud.empresas.multinacionales":
          speech = "Tenemos seguros de salud para empresas multinacionales con beneficios adicionales"
      elif action == "seguros.salud.empresas.transnacionales":
          speech = "Ofrecemos seguros de salud para empresas transnacionales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.globales":
          speech = "Tenemos seguros de salud para empresas globales con coberturas especiales"
      elif action == "seguros.salud.empresas.emergentes":
          speech = "Ofrecemos seguros de salud para empresas emergentes con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.financieras":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras":
          speech = "Tenemos seguros de salud para empresas innovadoras manufactureras con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.servicios":
          speech = "Ofrecemos seguros de salud para empresas innovadoras de servicios con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.comerciales":
          speech = "Tenemos seguros de salud para empresas innovadoras comerciales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.educativas":
          speech = "Ofrecemos seguros de salud para empresas innovadoras educativas con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.sanitarias":
          speech = "Tenemos seguros de salud para empresas innovadoras sanitarias con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.gubernamentales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras gubernamentales con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.no.lucrativas":
          speech = "Tenemos seguros de salud para empresas innovadoras no lucrativas con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.internacionales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras internacionales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.multinacionales":
          speech = "Tenemos seguros de salud para empresas innovadoras multinacionales con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.transnacionales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras transnacionales con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.globales":
          speech = "Tenemos seguros de salud para empresas innovadoras globales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.emergentes":
          speech = "Ofrecemos seguros de salud para empresas innovadoras emergentes con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.financieras":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas financieras con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.manufactureras":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas manufactureras con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.servicios":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas de servicios con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.comerciales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas comerciales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.educativas":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas educativas con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.sanitarias":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas sanitarias con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.gubernamentales":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas gubernamentales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.no.lucrativas":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas no lucrativas con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.internacionales":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas internacionales con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.multinacionales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas multinacionales con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.transnacionales":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas transnacionales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.globales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras tecnológicas globales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.tecnologicas.emergentes":
          speech = "Tenemos seguros de salud para empresas innovadoras tecnológicas emergentes con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.manufactureras":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras manufactureras con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.servicios":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras de servicios con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.comerciales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras comerciales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.educativas":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras educativas con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.sanitarias":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras sanitarias con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.gubernamentales":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras gubernamentales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.no.lucrativas":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras no lucrativas con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.internacionales":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras internacionales con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.multinacionales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras multinacionales con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.transnacionales":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras transnacionales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.financieras.globales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras financieras globales con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.financieras.emergentes":
          speech = "Tenemos seguros de salud para empresas innovadoras financieras emergentes con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.servicios":
          speech = "Ofrecemos seguros de salud para empresas innovadoras manufactureras de servicios con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.comerciales":
          speech = "Tenemos seguros de salud para empresas innovadoras manufactureras comerciales con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.educativas":
          speech = "Ofrecemos seguros de salud para empresas innovadoras manufactureras educativas con coberturas personalizadas"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.sanitarias":
          speech = "Tenemos seguros de salud para empresas innovadoras manufactureras sanitarias con coberturas especiales"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.gubernamentales":
          speech = "Ofrecemos seguros de salud para empresas innovadoras manufactureras gubernamentales con coberturas completas"
      elif action == "seguros.salud.empresas.innovadoras.manufactureras.no.lucrativas":
          speech = "Tenemos seguros de salud para empresas innovadoras manufactureras no lucrativas con beneficios adicionales"
      elif action == "seguros.salud.empresas.innovadoras.manufact