Недавно я создал веб-сайт eshop с использованием prestashop
https://www.prestashop.com/en/
И так как я собираюсь создать приложение для Android для этого. Что касается приложений, это лишь некоторые основные функции
например создать клиентскую учетную запись / список товаров / заказать товар / оплатить / просмотреть заказ и т. д. обычные функции эспресса …
Проблема в том, что вокруг немного ресурсов. Есть ли какая-либо библиотека уже там / офффициальная / или мне нужно начать создавать API из stratch?
прочитайте http://doc.prestashop.com/display/PS16/Developer+Guide какое-то время, но не знаете, что мне нужно для начала.
Это довольно абстрактная проблема, но поскольку сообщество не так популярно, а ресурс ограничен, я надеюсь, что это может извлечь уроки из опыта другого человека и помочь любым другим пользователям с тем же запросом.
Большое спасибо за помощь
Проблема в том, что вокруг немного ресурсов. Есть ли какая-либо библиотека уже там / офффициальная / или мне нужно начать создавать API из stratch?
В отличие от одного из комментариев по вашему вопросу, Prestashop действительно предлагает услугу REST. В документации упоминается «веб-сервис».
Быстрые ссылки:
Существует несколько доступных API-интерфейсов с открытым исходным кодом , но не для Android / Java. Однако вы можете найти их полезными в качестве ориентира.
Несколько вещей, чтобы принять к сведению:
По умолчанию функция веб-службы отключена. Поэтому, чтобы использовать его, вы должны сначала включить его в бэк-офис. Скопировано из документов:
Включение функции webservice
Зайдите в бэк-офис PrestaShop, откройте страницу «Веб-сервис» в меню «Расширенные параметры», а затем выберите «Да» для «Включить веб-сервис PrestaShop». Сохраните изменения: все готово!
Для связи с веб-службой требуется ключ API. Вам нужно будет создать его для своего приложения для Android, снова используя бэк-офис:
Создание ключа доступа
Откройте страницу «Веб-сервис» в меню «Расширенные параметры», а затем нажмите кнопку «Добавить новый», чтобы открыть раздел конфигурации учетной записи. Появляется длинная форма:
- Ключ . Ключ API служит основным идентификатором создаваемой учетной записи webservice. Нажмите кнопку «Создать», чтобы получить уникальный ключ аутентификации. Вы также можете создать свой собственный (длиной 32 символа), но использование сгенерированного ключа предотвращает неправильное угадывание вашего ключа неправильно. Используя этот ключ, вы и другие выбранные пользователи смогут получить доступ к веб-сервису.
Описание ключа . Помогает вам вспомнить, для кого вы создали этот ключ, каковы права доступа, назначенные ему, и т. Д. Описание не является общедоступным, но обязательно поместите все ключевые слова, относящиеся к пользователю, чтобы вы могли быстрее найти их ключ.
Статус . Вы можете отключить любой ключ в любое время.
- Разрешения . Этот раздел очень важен, поскольку он позволяет вам назначать права для каждого ресурса, который вы хотите сделать доступным для этого ключа. В самом деле, вы можете захотеть, чтобы пользователь имел доступ на чтение и запись на некоторых ресурсах, но только для чтения на других – и никакого доступа к более важным. В списке разрешений флажок в левой части экрана позволяет вам определить все права на данный ресурс. Аналогично, флажок в верхней части каждого столбца позволяет вам выбрать право выбора (просмотр, изменение и т. Д.) На все ресурсы. Обязательно выберите права, необходимые для использования этого ключа. Не предоставляйте все права на все ресурсы на любой ключ, сохраняйте это только на свой и свой. Торговое объединение. Это появляется только в многоэтажном режиме. Он позволяет вам выбрать, к какому из ваших магазинов должен иметь доступ владелец ключа.
Если вы решили использовать пользовательский пароль, а не сгенерированный, убедитесь, что он очень безопасен и его права ограничены – и это 32 символа!
Наконец, чтобы получить обзор методов API:
Доступ к веб-сервису из браузера
Конечная точка веб-сервиса вашего магазина находится в папке
/api/
в корне вашей установки Prestashop:
- Если PrestaShop установлен в корневом каталоге вашего сервера, вы можете получить доступ к API здесь: http://example.com/api/
- Если PrestaShop установлен во вложенной папке вашего сервера, вы можете получить доступ к API здесь: http://example.com/prestashop/api/
Чтобы получить доступ к нему, вам необходимо предоставить свой ключ API при запросе. Нет пароля, если ваш ключ API достаточно – и, следовательно, ключ должен храниться в секрете пользователем! Вы можете либо ввести адрес конечной точки API непосредственно, либо ввести свой ключ API, либо указать свой ключ API в адресе. Вот пример, когда
UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX
является ключом API.
- В корне сервера: http: //UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/api/
- В подпапке сервера: http: //UCCLLQ9N2ARSHWCXLT74KUKSSK34BFKX@example.com/prestasshop/api/
Вы можете протестировать это с помощью любого браузера, поддерживающего XML. Если для ключа не было установлено никаких разрешений, браузер будет продолжать просить вас вводить ключ на неопределенный срок.
Результат должен выглядеть примерно так (для версии 1.5.4.1 PrestaShop):
<?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, я склонен сказать, что это, вероятно, соответствует вашим потребностям. 🙂
Если вы не ищете родное приложение, вы можете попробовать гибкий мобильный шаблон-аддон или платные темы . Если вам нужно собственное приложение и вы хотите повторно использовать API из своего магазина prestashop, вам нужно будет создать доступ к веб-сервисам Prestashop REST
Чтобы проверить, правильно ли вы настроили свой доступ к веб-службе, перейдите на страницу http: //mypasskey@mystore.com/api/ , где «mypasskey» заменяется вашим ключом.