WIX Store - получите список продуктов из их API для показа в мобильном приложении
Я разработчик Android и 0 знаний в Wix. Можно ли получить список продуктов из магазина Wix для отображения его в приложении Android. Я не могу найти документацию для Android.
Это мой тестовый сайт https://sakurafukuyoshi031.wixsite.com/juhachipawnshop/shop-1
Я просто хочу знать, возможно ли получить данные, чтобы я мог отобразить их в своем приложении из их API, возможно, с помощью методов javascript или внедрения javascript в webview. Спасибо.
2 ответа
Пока еще нет API для Магазинов Wix, но он скоро появится - https://www.wix.com/code/home/coming-soon
Есть способ представить коллекцию, создав API с помощью wix-http-функций, но кажется, что он ограничен предоставлением пользовательских коллекций, а не собственных коллекций Wix (Stores/Collections или Stores/Products). Пример использования wix-http-функций довольно понятен. Ниже модифицированная версия этого:
// In http-functions.js
import {ok, notFound, serverError} from 'wix-http-functions';
import wixData from 'wix-data';
// URL looks like:
// https://www.storename.com/_functions/storeProducts/1
// or
// https://user.wixsite.com/mysite/_functions/storeProducts/1
export function get_storeProducts(request) {
let options = {
"headers": {
"Content-Type": "application/json"
}
};
let pagesize=50;
// query a collection to find matching items
return wixData.query("Stores/Products")
// If you replace the "Stores/Products" with a custom collection name it works
.skip((request.path[0] - 1) * pagesize)
.limit(pagesize)
.find()
.then( (results) => {
// matching items were found
if(results.items.length > 0) {
options.body = {
"items": results.items
};
return ok(options);
}
// no matching items found
options.body = {
"error": `'${request.path[0]}' was not found`
};
return notFound(options);
} )
// something went wrong
.catch( (error) => {
options.body = {
"error": error
};
return serverError(options);
} );
}
К сожалению, это приводит к ошибке с собственными коллекциями, такими как "Продукты"
{"error":{"name":"Error","errorGroup":"User","code":"WD_SCHEMA_DOES_NOT_EXIST"}}
(Я не смог найти документацию по ошибке - вот где я застрял)
Если затем вы создадите пользовательскую коллекцию в коде Wix в разделе "База данных", экспортируйте продукты из "Магазины / Продукты" в CSV - и затем импортируйте CSV в пользовательскую коллекцию (и, наконец, опубликуйте / синхронизируйте пользовательскую коллекцию), вы можете обойти это очевидное ограничение предоставления собственного каталога продуктов через пользовательский API. Это не идеально - но может работать, если ваш каталог не меняется часто.