input: 
  from typing import Dict
  
  def makeWebhookResult(req: Dict) -> Dict:
      """Generate a response for the webhook POST request by extracting necessary parameters and calling the corresponding action.
      The response should be a JSON object containing a 'speech' field with the text to be spoken by the voice assistant.
      
      >>> makeWebhookResult({'result': {'action': 'productos.sura', 'parameters': {'tipo_cliente': 'VIP'}}})
      {'speech': 'Buscando productos para VIP', 'displayText': 'Buscando productos para VIP', 'source': 'apiai-onlinestore-shipping'}
      
      >>> makeWebhookResult({'result': {'action': 'producto.info', 'parameters': {'producto': 'hogar'}}})
      {'speech': '<div class="textRightColumn">...</div>', 'displayText': '<div class="textRightColumn">...</div>', 'source': 'apiai-onlinestore-shipping'}
      """
      result = req.get("result")
      parameters = result.get("parameters")
      speech = ""
      
      if req.get("result").get("action") == "productos.sura":
          cliente = parameters.get("tipo_cliente")
          speech = "Buscando productos para " + cliente
          
      elif req.get("result").get("action") == "producto.info":
          producto = parameters.get("producto")
          if (producto=="hogar"):
              url = "https://www.sura.com/soluciones-personas/seguro-hogar.aspx"
              r = urllib2.urlopen(url).read()
              soup = BeautifulSoup(r, 'html.parser')
              contenido = soup.find_all("div",class_="textRightColumn")
              if (len(contenido)==0):
                  speech = "No encontrado"
              else:
                  speech = str(contenido[0])
          else:
              speech = "Buscando informacion del producto " + producto
              
      elif req.get("result").get("action") == "planes.salud":
          url = "https://api.segurossura.com.co/public/v1/directory/products"
          myResponse = requests.get(url)
  
          if(myResponse.ok):
              jData = json.loads(myResponse.text)
              
          speech = "Seguros Sura Colombia ofrece los siguientes planes de salud: \n"
          
          for plan in jData:
              speech = speech + "\n" + plan["nombreField"].title()
              
      elif req.get("result").get("action") == "info.especialistas":
          producto = parameters.get("plan-salud")
          ciudad = parameters.get("ciudad")
          especialidad = parameters.get("especialidad")
          
          url = "https://api.segurossura.com.co/public/v1/directory/search/" + producto + "/" + ciudad + "?speciality=" + especialidad + "&firstname=&secondname=&firstlastname=&secondlastname="
          myResponse = requests.get(url)
  
          if(myResponse.ok):
              jData = json.loads(myResponse.text)
          
          speech = "Los profesionales que coinciden con tu busqueda son: \n"
  
          for medico in jData:
              speech = speech + "\n" + medico["nombreField"] + "\n Direccion: " + medico["direccionField"].title() + "\n Telefono: " + medico["telefonoField"] + "\n"
              
      elif req.get("result").get("action") == "coberturas.producto":
          producto = parameters.get("productos")
          speech = "Buscando coberturas del producto: " + producto
      else:
          speech =" "
  
      return {
          "speech": speech,
          "displayText": speech,
          "source": "apiai-onlinestore-shipping"
      }
  
output:     return {
          "speech": speech,
          "displayText": speech,
          "source": "apiai-onlinestore-shipping"
      }