¿Cómo crear la API del servicio web del módulo Prestashop?

Cómo crear la API del servicio web del módulo Prestashop con Knowband

Este blog trata sobre cómo crear y utilizar la API de servicios web de Prestashop. Prestashop tiene disponible una herramienta de servicios web predeterminada que permite acceder a la tienda desde aplicaciones remotas.

Requisitos previos

  1. Su tienda Prestashop debe tener habilitada la “reescritura de módulo” para Apache.
  2. Es preferible utilizar SSL (https:) para llamadas a servicios web, ya que evita problemas de seguridad del tipo “intermediario”.
  3. Compruebe que los cinco métodos GET, POST, PUT, DELETE y HEAD sean compatibles con el servidor.

Para garantizar la seguridad y eficiencia de sus servicios web Prestashop, es esencial utilizar SSL (HTTPS) para todas las llamadas de servicios web. Esto evita ataques de “intermediario”, salvaguardando sus datos durante la transmisión. Además, verificar que su servidor admita los métodos HTTP GET, POST, PUT, DELETE y HEAD es fundamental para un funcionamiento perfecto. Al configurar estos ajustes, optimizas el rendimiento y la seguridad de tu tienda, garantizando un acceso y una gestión fiables de tus recursos de Prestashop a través de la API.

¿Cómo configurar Servicios Web en Prestashop?

Guía paso a paso de Knowband sobre Cómo configurar Servicios Web en Prestashop

1. Inicie sesión en el Back-office de Prestashop. 2. Navegue hasta Parámetros avanzados -> Opciones del menú Servicios web para abrir la página Servicios web.

Abra la página de Servicios web en Parámetros avanzados

 

3. Redireccionará a la página de Servicios Web que tiene el listado de Servicios Web disponibles y el formulario de configuración para configurar el servicio. 4. El formulario de Configuración tiene los siguientes campos:

configuración de configuración en el back office de Prestashop

a) Habilitar el servicio web de Prestashop: Habilite la configuración para utilizar el servicio web en la Tienda Prestashop.

b) Habilitar el modo CGI para PHP: Habilite la configuración para usar PHP como script CGI en lugar del módulo Apache. 5. Haga clic en el botón Guardar para guardar la configuración. Ahora puedes utilizar los Servicios Web en tu Tienda Prestashop.

¿Cómo agregar/Actualizar Servicios Web en Prestashop?

Knowband - Cómo agregar y actualizar servicios web en Prestashop

1. Inicie sesión en el back-office de Prestashop. 2. Navegue hasta Parámetros avanzados -> Opciones del menú Servicios web para abrir la página Servicios web. 3. Redireccionará a la página de Servicios Web que tiene una lista de Servicios Web disponibles.

Página de Servicios Web en el back office de Prestashop

4. Haga clic en el botón “Agregar nueva clave de servicio web” para agregar una nueva clave de servicio web para acceder solo a ciertos recursos de la tienda Prestashop.

Agregar clave de servicio web en cuentas de servicio web

una llave: Esta es una clave única. Puedes ingresarla manualmente o hacer clic en el botón Generar para generar una clave aleatoria para el servicio web Prestashop.

b) Descripción clave: Puede proporcionar la descripción de la clave para una mejor comprensión.

c) Estado: habilite la clave para proporcionar una concesión para acceder a los datos mediante la clave.

d) Permiso: proporcione el permiso para acceder a los datos utilizando una clave determinada. Puede verificar el permiso específico para otorgar acceso a los datos como Agregar, Editar, eliminar o ver. Aquí, hemos verificado el permiso para Países y Moneda. 5. Haga clic en el botón Guardar para agregar la clave a los servicios web.

¿Cómo acceder al Servicio Web?

Una vez que haya creado la clave para el servicio web y la haya configurado correctamente, deberá acceder a la siguiente URL en su navegador: https://{ruta raíz de la tienda}/api/. Le solicitará el nombre de usuario y la contraseña para acceder al recurso.

inicie sesión para acceder al recurso

a) Nombre de usuario: Ingrese la clave del servicio web que se genera en el paso anterior. Por ejemplo MWMHJVB9PBYBNYBSFTQ8ZXRCM43FQ2MW

b) Contraseña: Debe estar en blanco ya que no se requiere contraseña. Después de iniciar sesión, accederá a la lista de recursos y todas las opciones CRUD permitidas que haya configurado en su Tienda Prestashop.

archivo xml

Ahora está conectado correctamente al servicio web Prestashop.

a) Para OBTENER la lista de entidades para un recurso en particular:

https://shop_root_url/api/resouce

Ejemplo: https://www.knowband.com/api/customers para obtener una lista de todos los clientes.

b) Para OBTENER un cliente específico por ID:

https://shop_root_url/api/customers/1

Por ejemplo: para obtener el detalle del cliente con ID 10

https://www.knowband.com/api/customers/10

Recomendar reloj:

¿Cómo crear la API de servicio web del módulo Prestashop para Prestashop 1.7?

Le mostraremos cómo crear un módulo para captar clientes. Para esto, registraremos un enlace addWebserviceResources de ServiceRequest para los recursos en lugar de anular la función getResources() de la clase ServiceRequest en Prestashop 1.7. La creación de API de servicios web personalizados en Prestashop 1.7 implica el uso de la clase WebserviceSpecificManagement. Esto le permite definir funcionalidades específicas y gestionar el procesamiento de datos. Por ejemplo, implementar la clase WebserviceSpecificManagementKbCustomer le permite manejar los datos de los clientes de manera eficiente. Por lo tanto, este enfoque proporciona una solución flexible y sólida para ampliar las capacidades de Prestashop, permitiendo interacciones personalizadas con los datos de su tienda. Al aprovechar estas opciones de personalización avanzadas, puede crear soluciones de comercio electrónico más dinámicas y receptivas que satisfagan necesidades comerciales únicas. 1. Registre el enlace addWebserviceResources en el módulo.

función pública instalar() { padre::instalar(); $this->registerHook('addWebserviceResources'); devolver verdadero; }

2. Agregue un detector de gancho para definir la clase y la descripción. Establezca Specific_management en verdadero si desea utilizar WebserviceSpecificManagement en lugar del archivo ObjectModel.

función pública hookAddWebserviceResources() { return array( 'kbcustomer' => array( 'descripción' => 'Cliente personalizado de Knowband', 'specific_management' => true, ), 'kbaddress' => array( 'descripción' => 'Knowband Dirección personalizada', 'clase' => 'kbaddress' ) ); }

3. Cree un archivo de clase WebserviceSpecificManagement como WebserviceSpecificManagementCLASSNAME que implementa WebserviceSpecificManagementInterface. Por ejemplo, WebserviceSpecificManagementKbCustomer, que es similar a /classes/webservice/WebserviceSpecificManagementImages.php. Debe incluir las funciones que están definidas en la clase WebserviceSpecificManagementImages.php. Estos son:

  • establecerSalidaObjeto
  • establecerWsObjeto
  • obtenerObjetoWs
  • obtener salida de objeto
  • establecerSegmentoUrl
  • obtenerSegmentoUrl
  • obtener el contenido
  • gestionar (donde se procesan los datos)

1. Ahora agregue la clave que tiene el recurso kbcustomer en el servicio web del back-office. 2. Ahora, visita el https://{youstore.com}/api/kbcustomer para ver la respuesta en XML. En el siguiente ejemplo, mostramos la lista de todos los clientes disponibles en la tienda. Agregue include_once(_PS_MODULE_DIR_.’YOURMODULENAME/classes/WebserviceSpecificManagementKbCustomer.php’); en el archivo de su módulo.

clase WebserviceSpecificManagementKbcustomer implementa WebserviceSpecificManagementInterface { /** @var WebserviceOutputBuilder */ protected $objOutput; salida $ protegida; /** @var WebserviceRequest */ protected $wsObject; función pública setUrlSegment($segmentos) { $this->urlSegment = $segmentos; devolver $esto; } función pública getUrlSegment() { return $this->urlSegment; } función pública getWsObject() { return $this->wsObject; } función pública getObjectOutput() { return $this->objOutput; } /** * Esto debe devolver una cadena con valores específicos como lo espera WebserviceRequest. * * @return string */ public function getContent() { return $this->objOutput->getObjectRender()->overrideContent($this->output); } función pública setWsObject(WebserviceRequestCore $obj) { $this->wsObject = $obj; devolver $esto; } /** * @param WebserviceOutputBuilderCore $obj * @return WebserviceSpecificManagementInterface */ public function setObjectOutput(WebserviceOutputBuilderCore $obj) { $this->objOutput = $obj; devolver $esto; } función pública administrar() { $objetos_productos = matriz(); $objects_products['empty'] = nuevo Cliente(); $lista_clientes = Cliente::getClientes(); foreach ($lista_cliente como $lista) { $objetos_productos[] = nuevo Cliente($lista['id_cliente']); } $this->_resourceConfiguration = $objects_products['empty']->getWebserviceParameters(); $this->output .= $this->objOutput->getContent($objects_products, null, $this->wsObject->fieldsToDisplay, $this->wsObject->profundidad, WebserviceOutputBuilder::VIEW_LIST, false); } }

La siguiente captura de pantalla le proporciona una imagen del resultado:

salida del archivo XML

Si desea la salida en formato JSON, agregue &output_format=JSON al final de la URL. Por ejemplo: https://{yourstore.com}/api/kbcustomer&output_format=JSON

Salida: {“customers”:[{“id”:1},{“id”:2},{“id”:3},{“id”:4},{“id”:5},{“id”:6},{“id”:7},{“id”:8},{“id”:9},{“id”:10},{“id”:11},{“id”:12},{“id”:13},{“id”:14},{“id”:15},{“id”:16},{“id”:17},{“id”:18},{“id”:19},{“id”:20},{“id”:21}]}

¡Al final!

Con más de 13 años de experiencia técnica, Knowband ofrece servicios integrales de desarrollo web y de aplicaciones utilizando las últimas tecnologías, incluidos varios marcos PHP y React. Ofrecemos más de 100 extensiones listas para usar para plataformas de comercio electrónico populares como Prestashop, Opencart, WooCommerce y Magento 2. Si tiene alguna consulta, no dude en comunicarse con nosotros en support@knowband.com. Knowband también es un socio Premium de Prestashop y un vendedor superior que ofrece más de 100 módulos de Prestashop para satisfacer todas sus necesidades de comercio electrónico. Consulta nuestros más populares Módulo Supercheckout de una página para Prestashop aquí.

 

Knowband - Prestashop One Page Supercheckout Addon

Complemento Supercheckout de una página de Prestashop

El complemento Prestashop One Page Supercheckout de Knowband hace que el pago sea más rápido y sencillo al colocar todo en una sola página, lo que ayuda a reducir el abandono del carrito.

Compra ahora

Joe Parker

We boast of the best in the industry plugins for eCommerce systems and has years of experience working with eCommerce websites. We provide best plugins for platforms like - Magento, Prestashop, OpenCart and Shopify . We also provide custom module development and customization services for the website and modules..

Leave a Reply

Your email address will not be published. Required fields are marked *