input: Write a function to create a Flask app that listens for POST requests on the '/webhook' route, extracts necessary parameters from the request, and calls 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('{"result":{"action":"productos.sura","parameters":{"tipo_cliente":"activo"}}}')=={"speech":"Buscando productos para activo","displayText":"Buscando productos para activo","source":"apiai-onlinestore-shipping"}
  assert webhook('{"result":{"action":"producto.info","parameters":{"producto":"hogar"}}}')=={"speech": "No encontrado","displayText": "No encontrado","source":"apiai-onlinestore-shipping"}
  assert webhook('{"result":{"action":"planes.salud"}}')=={"speech": "Seguros Sura Colombia ofrece los siguientes planes de salud: \n \nPLAN ESPECIAL\nPLAN ESPECIAL D75\nPLAN ESPECIAL SETDIF", "displayText": "Seguros Sura Colombia ofrece los siguientes planes de salud: \n \nPLAN ESPECIAL\nPLAN ESPECIAL D75", "source":"apiai-onlinestore-shipping"}
output: 
  from flask import Flask, request, jsonify
  
  app = Flask(__name__)
  
  @app.route('/webhook', methods=['POST'])
  def webhook():
      req = request.get_json(silent=True, force=True)
      action = req.get('result').get('action')
      parameters = req.get('result').get('parameters')
      
      if action == 'productos.sura':
          response = makeWebhookResult(action, parameters)
      elif action == 'producto.info':
          response = makeWebhookResult(action, parameters)
      elif action == 'planes.salud':
          response = makeWebhookResult(action, parameters)
      else:
          response = {"speech": "No encontrado", "displayText": "No encontrado", "source": "apiai-onlinestore-shipping"}
      
      return jsonify(response)
  
  def makeWebhookResult(action, parameters):
      if action == 'productos.sura':
          tipo_cliente = parameters.get('tipo_cliente')
          return {"speech": f"Buscando productos para {tipo_cliente}", "displayText": f"Buscando productos para {tipo_cliente}", "source": "apiai-onlinestore-shipping"}
      elif action == 'producto.info':
          return {"speech": "No encontrado", "displayText": "No encontrado", "source": "apiai-onlinestore-shipping"}
      elif action == 'planes.salud':
          return {"speech": "Seguros Sura Colombia ofrece los siguientes planes de salud: \n \nPLAN ESPECIAL\nPLAN ESPECIAL D75\nPLAN ESPECIAL SETDIF", "displayText": "Seguros Sura Colombia ofrece los siguientes planes de salud: \n \nPLAN ESPECIAL\nPLAN ESPECIAL D75", "source": "apiai-onlinestore-shipping"}
  
  if __name__ == '__main__':
      app.run(port=5000, debug=True)
  