Como integrar a prestashop com o Android?

Recentemente eu criei um site de eshop usando prestashop

https://www.prestashop.com/en/

E desde que eu vou construir o aplicativo Android para isso. O que inclui em aplicativos são apenas algumas funções básicas

Por exemplo, crie uma conta de cliente / lista de produto / produto de ordem / pagamento / ordem de exibição etc … funções comuns de eshop …

O problema é que parece haver poucos resources ao redor. Existe alguma biblioteca já existente / oficial / eu preciso começar a criar a API a partir de stratch?

leia http://doc.prestashop.com/display/PS16/Developer+Guide por um tempo, mas não há idéia do que preciso começar até agora.

Este é um problema bastante abstrato, mas como a comunidade não é tão popular e o recurso é limitado, espero que isso possa aprender com a experiência do outro e ajudar outros com a mesma solicitação.

Muito obrigado por ajudar

O problema é que parece haver poucos resources ao redor. Existe alguma biblioteca já existente / oficial / eu preciso começar a criar a API a partir de stratch?

Em contraste com um dos comentários sobre sua pergunta, a Prestashop realmente oferece um serviço REST. Na documentação é referido pelo “serviço web”.

Links Rápidos:

  • Usando o Prestonshop Web Service
  • Documentação de uma página de serviço da Web
  • Tutorial do serviço da Web

Existem algumas implementações de API de código aberto disponíveis, mas nenhuma especificamente para Android / Java. Você pode achá-los úteis como orientação.

Algumas coisas para tomar nota:

O recurso de serviço da Web parece estar desativado por padrão. Então, para usá-lo, você terá que habilitá-lo primeiro no back-office. Copiado dos documentos:

Ativando o recurso de serviço na web

Vá no back-office do PrestaShop, abra a página “Webservice” no menu “parameters Avançados” e escolha “Sim” para “Ativar o serviço da Web do PrestaShop”. Salve sua mudança: você terminou!

A comunicação com o serviço web requer uma chave API. Você terá que gerar um para o seu aplicativo para Android, novamente usando o back-office:

Criando uma chave de access

Abra a página “Webservice” no menu “parameters avançados” e, em seguida, clique no botão “Adicionar novo” para acessar a seção de configuração da conta. Aparece um formulário longo:

  • Chave . A chave API serve como o identificador principal para a conta do serviço web que você está criando. Clique no botão “Gerar” para obter uma chave de autenticação exclusiva. Você também pode criar o seu próprio (que deve ter 32 caracteres), mas usar uma chave gerada evita que os incorretos adivinhem sua chave com facilidade. Usando esta chave, você e outros usuários selecionados poderão acessar o serviço da web.
  • Descrição chave . Ajuda você a lembrar quem você criou essa chave, quais são os direitos de access atribuídos a ela, etc. A descrição não é pública, mas certifique-se de colocar todas as palavras-chave relativas ao usuário, para que você possa encontrar sua chave mais rapidamente.

  • Status . Você pode desativar qualquer chave a qualquer momento.

  • Permissões . Esta seção é muito importante, pois permite atribuir direitos para cada recurso que você deseja disponibilizar nesta chave. Na verdade, você pode querer que um usuário tenha access de leitura e gravação em alguns resources, mas apenas o access de leitura em outros – e nenhum access aos mais importantes. Na lista de permissions, a checkbox de seleção mais à esquerda permite que você defina todos os direitos para um determinado recurso. Da mesma forma, a checkbox de seleção na parte superior de cada coluna permite que você selecione o direito de seleção (Ver, Modificar, etc.) em todos os resources. Certifique-se de selecionar apenas os direitos necessários para o uso dessa chave. Não dê todos os direitos de todos os resources a qualquer chave, mantenha isso apenas para você e para os seus. Associação de loja. Isso só aparece no modo multistore. Ele permite que você escolha quais de suas lojas o proprietário da chave deve ter access.

Se você optar por usar uma senha personalizada em vez de uma gerada, verifique se ela é muito segura e seus direitos são limitados – e é de 32 caracteres.

Finalmente, para obter uma visão geral dos methods da API:

Acessando o webservice do navegador

O ponto final do webservice da sua loja está localizado na pasta /api/ na raiz da instalação do Prestashop:

Para acessá-lo, você precisa fornecer sua chave de API quando solicitado. Não há senha, pois a sua chave API é suficiente – e, portanto, a chave deve ser mantida em segredo pelo usuário! Você pode digitar o endereço do nó de extremidade da API diretamente, depois insira sua chave da API ou indique sua chave da API no endereço. Aqui está um exemplo, com UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX sendo a chave API.

  • Na raiz do servidor: http: //UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/api/
  • Em uma subpasta do servidor: http: //UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/prestasshop/api/

Você pode testar isso com qualquer navegador que suporte XML. Se nenhuma permissão tiver sido definida para a chave, o navegador continuará pedindo que você digite a chave indefinidamente.

O resultado deve parecer um pouco assim (para a versão 1.5.4.1 do PrestaShop):

    ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...  ... ...  

Uma vez que você menciona que está interessado principalmente em suportar funcionalidades básicas / básicas no aplicativo Android, eu estou inclinado a dizer que isso provavelmente se adapta às suas necessidades. 🙂

Se você não está procurando por um aplicativo nativo, você pode tentar um complemento de modelo de celular móvel ou temas pagos . Se você precisa de um aplicativo nativo e gostaria de reutilizar as APIs da sua loja do Prestashop , você terá que criar um access aos serviços da Web Prestashop REST

Para testar se você configurou corretamente seu access ao serviço da Web, vá para a página http: //mypasskey@mystore.com/api/ , onde “mypasskey” é substituído por sua chave.