如何将prestashop与android集成?

时间:2015-02-25 16:47:15

标签: php android api prestashop prestashop-1.6

最近我使用prestashop创建了一个eshop网站

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

因为我要为它构建Android应用程序。应用程序中包含的内容只是一些基本功能

e.g。创建客户帐户/列表产品/订单产品/支付/查看订单等。常见的eshop功能...

问题是似乎周围的资源很少。是否有任何库/官方库/或者我需要从stratch开始创建API?

http://doc.prestashop.com/display/PS16/Developer+Guide有一段时间但不知道我到目前为止需要做什么。

这是一个相当抽象的问题,但由于社区不是那么受欢迎且资源有限,我希望这可以从对方的经验中学习,并帮助其他人提出相同的要求。

非常感谢您的帮助

2 个答案:

答案 0 :(得分:8)

  

问题是似乎周围的资源很少。是否有任何库/官方库/或者我需要从stratch开始创建API?

与您的问题的评论之一相反,Prestashop 实际上提供了REST服务。在文档中,它是由" web服务"。

引用的

快速链接:

有一些open source API implementations可用,但没有专门用于Android / Java。您可能会发现它们可用作指南。

需要注意的一些事项:

默认情况下,Web服务功能似乎已禁用。因此,为了使用它,您必须首先在后台启用它。复制自文档:

  

启用网络服务功能

     

进入PrestaShop后台,打开" Webservice"页面下   "高级参数"菜单,然后选择"是"对于"启用   PrestaShop的网络服务"。保存您的更改:您已完成!

与Web服务通信需要API密钥。您必须再次使用后台办公室为您的Android应用生成一个:

  

创建访问密钥

     

打开" Webservice" "高级下的页面   参数"菜单,然后单击"添加新的"按钮访问   帐户配置部分。出现一个长形式:

     
      
  • 即可。 API密钥   作为您的Web服务帐户的主要标识符   创建。点击"生成"按钮以获得唯一身份验证   键。您也可以创建自己的(必须长度为32个字符),   但使用生成的密钥可以防止错误的行为者猜测您的密钥   太容易了使用此密钥,您和其他选定的用户将能够使用此密钥   访问Web服务。
  •   
  • 密钥说明。帮助你记住你是谁   创建了该密钥,分配给它的访问权限等等。   描述不公开,但请确保放置所有关键字   与用户有关,以便您可以更快地找到他们的密钥。

  •   
  • 状态即可。您可以随时禁用任何密钥。

  •   
  • 权限即可。这个部分   非常重要,因为它使您可以为每个分配权限   您希望为此密钥提供的资源。的确,你可能会   希望用户对某些资源具有读写权限,但仅限于此   读取他人的访问权限 - 并且无法访问更重要的访问权限。在   权限列表,左侧最复选框使您可以   定义给定资源的所有权限。同样,复选框位于   每列的顶部使您可以选择右侧(查看,   修改等所有资源。确保只选择   使用该密钥所需的权利。不要给予所有权利   对于任何密钥的所有资源,只保留给您和您的。店   协会。这仅出现在多线模式下。它使您能够   选择密钥所有者应该访问哪些商店。
  •   
     

如果   您选择使用自定义密钥而不是生成密钥   确定它是非常安全的,它的权利是有限的 - 而且它是   是32个字符长!

最后,要概述API方法:

  

从浏览器访问网络服务

     

商店的终点   webservice位于您的根目录的/api/文件夹中   安装Prestashop:

           

要访问它,你   需要在请求时提供您的API密钥。没有密码,   提供API密钥就足够了 - 因此关键应该是   用户保密!您可以键入API端点地址   然后直接输入您的API密钥,或在。中指明您的API密钥   地址。这是一个示例,UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX   是API密钥。

           

您可以使用任何支持XML的浏览器对此进行测试。如果没有许可   已经为密钥设置,然后浏览器会一直询问你   无限期地输入密钥。

结果应该看起来像这样(对于PrestaShop的1.5.4.1版本):

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
  <api shop_name="MYSHOP">
    <addresses>...</addresses>
    <carriers>...</carriers>
    <cart_rules>...</cart_rules>
    <carts>...</carts>
    <categories>...</categories>
    <combinations>...</combinations>
    <configurations>...</configurations>
    <contacts>...</contacts>
    <content_management_system>...</content_management_system>
    <countries>...</countries>
    <currencies>...</currencies>
    <customer_messages>...</customer_messages>
    <customer_threads>...</customer_threads>
    <customers>...</customers>
    <deliveries>...</deliveries>
    <employees>...</employees>
    <groups>...</groups>
    <guests>...</guests>
    <image_types>...</image_types>
    <images>...</images>
    <languages>...</languages>
    <manufacturers>...</manufacturers>
    <order_carriers>...</order_carriers>
    <order_details>...</order_details>
    <order_discounts>...</order_discounts>
    <order_histories>...</order_histories>
    <order_invoices>...</order_invoices>
    <order_payments>...</order_payments>
    <order_states>...</order_states>
    <orders>...</orders>
    <price_ranges>...</price_ranges>
    <product_feature_values>...</product_feature_values>
    <product_features>...</product_features>
    <product_option_values>...</product_option_values>
    <product_options>...</product_options>
    <product_suppliers>...</product_suppliers>
    <products>...</products>
    <search >...</search>
    <shop_groups>...</shop_groups>
    <shops>...</shops>
    <specific_price_rules>...</specific_price_rules>
    <specific_prices>...</specific_prices>
    <states>...</states>
    <stock_availables>...</stock_availables>
    <stock_movement_reasons>...</stock_movement_reasons>
    <stock_movements>...</stock_movements>
    <stocks>...</stocks>
    <stores>...</stores>
    <suppliers>...</suppliers>
    <supply_order_details>...</supply_order_details>
    <supply_order_histories>...</supply_order_histories>
    <supply_order_receipt_histories>...</supply_order_receipt_histories>
    <supply_order_states>...</supply_order_states>
    <supply_orders>...</supply_orders>
    <tags>...</tags>
    <tax_rule_groups>...</tax_rule_groups>
    <tax_rules>...</tax_rules>
    <taxes>...</taxes>
    <translated_configurations>...</translated_configurations>
    <warehouse_product_locations>...</warehouse_product_locations>
    <warehouses>...</warehouses>
    <weight_ranges>...</weight_ranges>
    <zones>...</zones>
  </api>
  <api shop_name="MYOTHERSHOP">...</api>
  <api shop_name="YETANOTHERSHOP">...</api>
</prestashop>

由于您提及您主要对支持Android应用中的基本/核心功能感兴趣,我倾向于说这可能符合您的需求。 :)

答案 1 :(得分:2)

如果您不是在寻找原生应用,可以尝试使用自适应mobile template addonpaid themes。如果您需要原生应用并希望重复使用prestashop商店中的API,则必须create an accessPrestashop REST webservices

要测试您是否已正确配置对网络服务的访问权限,请转到页面http://mypasskey@mystore.com/api/,其中“mypasskey”已被您的密钥替换。