Knowband Blog | Ecommerce Modules

Como criar a API do serviço Web do módulo Prestashop?

Este blog é sobre como criar e usar a API Prestashop Webservices. Prestashop possui uma ferramenta Web Services padrão disponível que permite acessar a loja a partir de aplicativos remotos.

Pré-requisitos

  1. Sua loja Prestashop deve ter a “reescrita do módulo” habilitada para o Apache.
  2. É preferível usar SSL (https:) para chamadas de serviços web, pois evita problemas de segurança do tipo “man in the middle”.
  3. Verifique se os cinco métodos GET, POST, PUT, DELETE e HEAD são suportados no servidor.

Para garantir a segurança e eficiência dos seus serviços Web Prestashop, é essencial usar SSL (HTTPS) para todas as chamadas de serviços web. Isso evita ataques “man in the middle”, protegendo seus dados durante a transmissão. Além disso, verificar se o seu servidor suporta os métodos HTTP GET, POST, PUT, DELETE e HEAD é crucial para uma operação perfeita. Ao definir essas configurações, você otimiza o desempenho e a segurança da sua loja, garantindo acesso e gerenciamento confiáveis dos seus recursos Prestashop através da API.

Como configurar Web Services no Prestashop?

1. Faça login no back-office do Prestashop. 2. Navegue até Parâmetros avançados -> opções de menu Serviços da Web para abrir a página Serviços da Web.

 

3. Será redirecionado para a página de Web Services com a listagem de Web Services disponíveis e o formulário de configuração para configurar o serviço. 4. O formulário Configuração possui os seguintes campos:

a) Habilite o serviço web do Prestashop: Habilite a configuração para usar o serviço web na Prestashop Store.

b) Habilite o modo CGI para PHP: Habilite a configuração para usar PHP como script CGI em vez do módulo Apache. 5. Clique no botão Salvar para salvar a configuração. Agora você pode usar os Web Services na sua loja Prestashop.

Como adicionar/atualizar serviços web no Prestashop?

1. Faça login no back-office do Prestashop 2. Navegue até Parâmetros avançados -> opções de menu Serviços Web para abrir a página Serviços Web. 3. Ele será redirecionado para a página de serviços da Web com uma lista de serviços da Web disponíveis.

4. Clique no botão “Adicionar nova chave de serviço web” para adicionar uma nova chave de serviço web para acessar apenas determinados recursos da loja Prestashop.

uma chave: Esta é uma chave exclusiva. Você pode inseri-lo manualmente ou clicar no botão Gerar para gerar uma chave aleatória para o serviço web Prestashop.

b) Descrição da chave: você pode fornecer a descrição da chave para melhor compreensão.

c) Estado: habilite a chave para fornecer uma concessão para acessar os dados usando a chave.

d) Permissão: Forneça permissão para acessar os dados usando uma determinada chave. Você pode verificar a permissão específica para conceder acesso aos dados como Adicionar, Editar, excluir ou visualizar. Aqui, verificamos a permissão para países e moedas. 5. Clique no botão Salvar para adicionar a chave aos serviços da web.

Como acessar o Web Service?

Depois de criar a chave para o serviço web e configurá-lo corretamente, você precisa acessar o seguinte URL em seu navegador: https://{store root path}/api/ Ele solicitará nome de usuário e senha para acessar o recurso.

a) Nome de usuário: Insira a chave do serviço web gerado na etapa acima. Por exemplo MWMHJVB9PBYBNYBSFTQ8ZXRCM43FQ2MW

b) Senha: Deve estar em branco, pois nenhuma senha é necessária. Após o login, você acessará a lista de recursos e todas as opções CRUD permitidas que você configurou em sua Loja Prestashop.

Agora você está conectado com sucesso ao serviço web Prestashop.

a) Para OBTER a lista de entidades de um recurso específico:

https://shop_root_url/api/resouce

Exemplo: https://www.knowband.com/api/customers para obter uma lista de todos os clientes.

b) Para OBTER um cliente específico por ID:

https://shop_root_url/api/customers/1

Por exemplo: Para obter os detalhes do cliente com ID 10

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

Recomendo Assistir:

Como criar API de serviço web do módulo Prestashop para Prestashop 1.7?

Mostraremos como criar um módulo para buscar clientes. Para isso, registraremos um gancho addWebserviceResources de ServiceRequest para os recursos em vez de substituir a função getResources() da classe ServiceRequest no Prestashop 1.7. A criação de APIs de serviços web personalizadas no Prestashop 1.7 envolve o uso da classe WebserviceSpecificManagement. Isto permite definir funcionalidades específicas e gerenciar o processamento de dados. Por exemplo, implementar a classe WebserviceSpecificManagementKbCustomer permite lidar com os dados do cliente com eficiência. Portanto, esta abordagem fornece uma solução flexível e robusta para ampliar as capacidades do Prestashop, permitindo interações personalizadas com os dados da sua loja. Ao aproveitar essas opções avançadas de personalização, você pode criar soluções de comércio eletrônico mais dinâmicas e responsivas que atendam às necessidades comerciais exclusivas. 1. Registre o gancho addWebserviceResources no módulo.

função pública instalar() { pai::instalar(); $this->registerHook('addWebserviceResources'); retornar verdadeiro; }

2. Adicione um ouvinte de gancho para definir a classe e a descrição. Configure specific_management como true se desejar usar WebserviceSpecificManagement em vez do arquivo ObjectModel.

função pública hookAddWebserviceResources() { return array( 'kbcustomer' => array( 'description' => 'Knowband Custom Customer', 'specific_management' => true, ), 'kbaddress' => array( 'description' => 'Knowband Endereço personalizado', 'class' => 'kbaddress' )); }

3. Crie o arquivo de classe WebserviceSpecificManagement como WebserviceSpecificManagementCLASSNAME que implementa WebserviceSpecificManagementInterface. Por exemplo – WebserviceSpecificManagementKbCustomer que é semelhante a /classes/webservice/WebserviceSpecificManagementImages.php. Você deve incluir as funções que estão definidas na classe WebserviceSpecificManagementImages.php. Estes são:

1. Agora adicione a chave com o recurso kbcustomer no serviço web do back-office. 2. Agora, visite o https://{youstore.com}/api/kbcustomer para ver a resposta em XML. No exemplo abaixo, exibimos a listagem de todos os clientes disponíveis na loja. Adicionar include_once(_PS_MODULE_DIR_.’YOURMODULENAME/classes/WebserviceSpecificManagementKbCustomer.php’); no arquivo do seu módulo.

class WebserviceSpecificManagementKbcustomer implements WebserviceSpecificManagementInterface { /** @var WebserviceOutputBuilder */ protected $objOutput; saída $ protegida; /** @var WebserviceRequest */ protected $wsObject; função pública setUrlSegment($segmentos) { $this->urlSegment = $segmentos; retorne $isto; } função pública getUrlSegment() { return $this->urlSegment; } função pública getWsObject() { return $this->wsObject; } função pública getObjectOutput() { return $this->objOutput; } /** * Deve retornar uma string com valores específicos conforme WebserviceRequest espera. * * @return string */ public function getContent() { return $this->objOutput->getObjectRender()->overrideContent($this->output); } função pública setWsObject(WebserviceRequestCore $obj) { $this->wsObject = $obj; retorne $isto; } /** * @param WebserviceOutputBuilderCore $obj * @return WebserviceSpecificManagementInterface */ public function setObjectOutput(WebserviceOutputBuilderCore $obj) { $this->objOutput = $obj; retorne $isto; } função pública gerenciar() { $objetos_produtos = array(); $objects_products['empty'] = novo Cliente(); $customer_list = Cliente::getCustomers(); foreach ($customer_list as $list) { $objects_products[] = novo Cliente($list['id_customer']); } $this->_resourceConfiguration = $objects_products['empty']->getWebserviceParameters(); $this->output .= $this->objOutput->getContent($objects_products, null, $this->wsObject->fieldsToDisplay, $this->wsObject->profundidade, WebserviceOutputBuilder::VIEW_LIST, false); } }

A captura de tela abaixo fornece o visual da saída:

Se você deseja a saída no formato JSON, anexe &output_format=JSON no final do URL. Por exemplo: https://{yourstore.com}/api/kbcustomer&output_format=JSON

Saída: {“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}]}

No fim!

Com mais de 13 anos de experiência técnica, a Knowband oferece serviços abrangentes de desenvolvimento de aplicativos e web usando as tecnologias mais recentes, incluindo vários frameworks PHP e React. Fornecemos mais de 100 extensões prontas para uso para plataformas populares de comércio eletrônico, como Prestashop, Opencart, WooCommerce e Magento 2. Para qualquer dúvida, sinta-se à vontade para entrar em contato conosco pelo e-mail support@knowband.com. A Knowband também é um parceiro Premium Prestashop e um vendedor Superher, fornecendo mais de 100 módulos Prestashop para atender a todas as suas necessidades de comércio eletrônico. Confira nossos mais populares Módulo Supercheckout de uma página para Prestashop Aqui.

 

Complemento Supercheckout de uma página Prestashop

O complemento Prestashop One Page Supercheckout da Knowband torna o checkout mais rápido e fácil, colocando tudo em uma página, ajudando a reduzir o abandono do carrinho.

Compre agora