input: Write a function to create a Python Flask app that listens for POST requests on the '/webhook' route. The function should extract necessary parameters from the request and call the 'makeWebhookResult' function to generate a response. The response should be a JSON object containing a 'speech' field with the text to be spoken by the voice assistant. The app should be started on port 5000 and run in debug mode.
  
  assert webhook_app().webhook()
  assert webhook_app().makeWebhookResult({'result': {'action': 'productos.sura', 'parameters': {'tipo_cliente': 'premium'}})=={'speech': 'Buscando productos para premium', 'displayText': 'Buscando productos para premium', 'source': 'apiai-onlinestore-shipping'}
  assert webhook_app().makeWebhookResult({'result': {'action': 'producto.info', 'parameters': {'producto': 'hogar'}})=={'speech': 'No encontrado', 'displayText': 'No encontrado', 'source': 'apiai-onlinestore-shipping'}
  assert webhook_app().makeWebhookResult({'result': {'action': 'planes.salud'}})=={'speech': 'Seguros Sura Colombia ofrece los siguientes planes de salud: \n\n', 'displayText': 'Seguros Sura Colombia ofrece los siguientes planes de salud: \n\n', 'source': 'apiai-onlinestore-shipping'}
  assert webhook_app().makeWebhookResult({'result': {'action': 'info.especialistas', 'parameters': {'plan-salud': 'salud', 'ciudad': 'Bogota', 'especialidad': 'Pediatria'}})=={'speech': 'Los profesionales que coinciden con tu busqueda son: \n', 'displayText': 'Los profesionales que coinciden con tu busqueda son: \n', 'source': 'apiai-onlinestore-shipping'}
  assert webhook_app().makeWebhookResult({'result': {'action': 'coberturas.producto', 'parameters': {'productos': 'Auto'}}})=={'speech': 'Buscando coberturas del producto: Auto', 'displayText': 'Buscando coberturas del producto: Auto', 'source': 'apiai-onlinestore-shipping'}
output: from flask import Flask, request, jsonify
  
  def webhook_app():
      app = Flask(__name__)
  
      @app.route('/webhook', methods=['POST'])
      def webhook():
          req = request.get_json(silent=True, force=True)
          res = makeWebhookResult(req)
          return jsonify(res)
  
      def makeWebhookResult(req):
          action = req.get('result').get('action')
          parameters = req.get('result').get('parameters')
  
          if action == 'productos.sura':
              speech = f"Buscando productos para {parameters.get('tipo_cliente')}"
          elif action == 'producto.info':
              speech = "No encontrado"
          elif action == 'planes.salud':
              speech = "Seguros Sura Colombia ofrece los siguientes planes de salud: \n\n"
          elif action == 'info.especialistas':
              speech = "Los profesionales que coinciden con tu busqueda son: \n"
          elif action == 'coberturas.producto':
              speech = f"Buscando coberturas del producto: {parameters.get('productos')}"
          else:
              speech = "No se pudo procesar la solicitud"
  
          return {
              'speech': speech,
              'displayText': speech,
              'source': 'apiai-onlinestore-shipping'
          }
  
      if __name__ == '__main__':
          app.run(port=5000, debug=True)
  
      return app