Si tienes una instancia instalada de PrestaShop on-premise (en un servidor local o en tu propia infraestructura cloud) necesitarás realizar algunas configuraciones para asegurarte que es accesible desde el exterior (Internet) y por tanto accesible desde i2factory cloud.

Guía detallada

Estos son los puntos que debes repasar:

  1. Asegurarte que el servidor o host donde se encuentra instalado tu PrestaShop es accesible desde el exterior (Internet).

    Habitualmente el proveedor de hosting, housing o IaaS se encarga de ello y te proporciona la información.  Si tu gestionas tu propia infraestructura necesitarás una dirección IP fija (o dinámica pero gestionada de manera automática) y los puertos correspondientes abiertos y redireccionados.

  2. El servidor debe aceptar reescritura de URLs.

    Esta opción se activa de diferentes maneras dependiendo del servidor en el que se aloje nuestra tienda. Por ejemplo, en servidores Apache y sólo es necesario acceder al archivo de configuración (ubicado en /etc/apache2/apache2.conf) y sustituir AllowOverride none por AllowOverride All.

     
  3. Activar las URLs amigables en la tienda PrestaShop

    Para activar las URLs amigables en la tienda PrestaShop, hay que crear en el directorio root de la tienda un fichero .htaccess vacío y darle permiso completo de lectura, escritura y ejecución. Por ejemplo, en caso de servidor Ubuntuesto se realizaría con los siguientes comandos de consola:

    vi .htaccess

    sudo chmod 777 .htaccess

  4. Activar el servicio Web y obtener la clave de interfaz de usuario, o API KEY.

    Inicia sesión en tu tienda online de PrestaShop con un usuario de tipo Administrador, y selecciona la tienda online que quieras sincronizar. En el menú de la izquierda accede a la sección Parámetros Avanzados / Webservice  donde vamos a añadir una nueva Clave de Webservice. Los pasos son los siguientes:

    1. Click en Añadir una nueva clase de webservice (arriba a la derecha)
    2. Click en ¡Generar!
    3. Podemos indicar opcionalmente una descripción para nuestro administrador de sistemas (por ejemplo, “Clave de Servicio i2factory”)
    4. Activar el Estado a
    5. Seleccionar todos los Recursos en todas las operaciones posibles (GET, PUT, POST, DELETE, HEAD). Esto es necesario dado que los elementos que vamos a sincronizar con las plantillas de i2factory –Contactos, Productos y Pedidos – tienen múltiples dependencias para las que necesitaremos tener permiso.
    6. Asociamos la tienda concreta con la que queremos sincronizar
    7. Click en Guardar.
       
  5. Si todo va bien veríamos la siguiente pantalla en la que tenemos que verificar que la clave ha sido creada y el servicio Web está activado:



    Finalmente hacemos Click en Guardar y el mensaje “Los ajustes han sido actualizados correctamente.” debe aparecer.

  6. Los 5 métodos: GET, POST, PUT, DELETE y HEAD son soportados por el servidor.

    Repasa el punto 4.e anterior y asegúrate de que has  seleccionan todos los permisos para cada uno de los métodos (GET, POST, PUT, DELETE y HEAD) en la pantalla de adición de Webservices en el panel de administración y de que estos son soportados por el servidor.

     
  7. Puedes comprobar que todo está correcto de la siguiente manera:

    Introduce la URL de tu tienda PrestaShop seguida de "/api" (por ejemplo http://mi_tienda.mi_empresa.com/prestashop/api) y cuando el navegador te pida las credenciales de acceso introduce la API KEY obtenida en el punto 4.b. Si te muestra un archivo XML con todos los comandos de Prestashop estaría todo correcto; si por el contrario no aparece hay un problema de la instalación que debéis corregir. Revisa los puntos anteriores.


y5Bw1U3u1o-S0IvDp5H6vkQZYCQEiK4ecQ.pngDatos encriptados: i2factory no almacenará en la plataforma de integración ningún tipo de contraseña u otro dato de administración de sistemas que no hayas dado tú mismo de alta directamente, y siempre tendrás la opción de editarlo o borrarlo definitivamente. Cualquier información de este tipo se almacena siempre con encriptación y sólo podrá ser accedida por ti mismo.


TmQoYNCKD8lwKPbKbOa9XBG8AfUirfvi8g.pngMás información de PrestaShop: Más información al respecto en la documentación oficial de la API de PRESTASHOP: http://doc.prestashop.com/display/PS16/Web+service+one-page+documentation


TmQoYNCKD8lwKPbKbOa9XBG8AfUirfvi8g.pngIntenta usar siempre HTTPS: Si es posible, es preferible utilizar SSL (https:) para las llamadas a servicios web, ya que se evitan los ataques "man in the middle"