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. Это не идеально - но может работать, если ваш каталог не меняется часто.

Другие вопросы по тегам