问题是周围的资源似乎很少。是否已有任何库/官方库/或者我需要从头开始创建 API?
与对你的问题的评论之一相反,Prestashopdoes实际上提供了 REST 服务。在文档中它被称为“Web 服务”。
快速链接:
- 使用 Prestashop 网络服务
- Web 服务一页文档
- 网络服务教程
有几个开源 API 实现可用,但没有专门针对 Android/Java 的。不过,您可能会发现它们作为指导很有用。
有几点需要注意:
默认情况下,Web 服务功能似乎处于禁用状态。因此,为了使用它,您必须首先在后台启用它。从文档复制:
启用网络服务功能
进入PrestaShop后台,打开下面的“Webservice”页面
“高级参数”菜单,然后为“启用”选择“是”
PrestaShop 的网络服务”。保存您的更改:您就完成了!
与 Web 服务通信需要 API 密钥。您必须再次使用后台为您的 Android 应用程序生成一个:
创建访问密钥
打开“高级”下的“Web服务”页面
参数”菜单,然后单击“添加新”按钮访问
帐户配置部分。出现一个长表格:
如果
您选择使用自定义密钥而不是生成的密钥,
确保它非常安全并且其权利受到限制 – 并且它
长度为 32 个字符!
最后,了解 API 方法的概述:
从浏览器访问网络服务
您商店的端点
网络服务位于/api/
根目录下的文件夹
Prestashop的安装:
- 如果 PrestaShop 安装在根目录下
您的服务器,您可以在此处访问 API:http://example.com/api/
- 如果
PrestaShop安装在您服务器的子文件夹中,您可以访问
API在这里:http://example.com/prestashop/api/
要访问它,您
需要在请求时提供您的 API 密钥。没有密码,
提供您的 API 密钥就足够了 - 因此密钥应该是
由用户保密!您可以键入 API 端点地址
直接输入您的 API 密钥,或者在
地址。这是一个例子,其中UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX
是 API 密钥。
- 在服务器的根目录:http://[电子邮件受保护]/api/
- 在一个
服务器的子文件夹:http://[电子邮件受保护]/prestashop/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 应用程序中的基本/核心功能感兴趣,我倾向于说这可能适合您的需求。 :)