Skip to content

Initialize

import {EcomFSXAProxyApi, initEventHandlers, LogLevel} from 'fcecom-frontend-api-client';

const api = new EcomFSXAProxyApi(
    'http://localhost:3001/api', LogLevel.INFO,
).setDefaultLocale('de_DE');

// activate handlers
const handlers = initEventHandlers(api);

// On page exit / re-rendering
handlers.forEach(handler => handler.disable());

Possible Use Cases

Fetch Navigation

api
    .fetchNavigation({
        locale: 'de_DE'
    })
    .then((result) => {
        console.log('navigation', result);
    })
    .catch((error) => {
        console.error(error);
    });

Fetch Project Properties

api
    .fetchProjectProperties({
        locale: 'de_DE',
    })
    .then((projectProperties) => {
        console.log('projectProperties', projectProperties);
    })
    .catch((error) => {
        console.error(error);
    });

Create Product Page

api
    createPage({
      fsPageTemplate: 'product', // (1)
      id: 'testUid', // (2)
      type: 'product', // (3)
      displayNames: { // (4)
        EN: 'Display Name EN',
        DE: 'Display Name DE'
      }
    })
    .then((isSuccess) => {
        console.log('created product', isSuccess);
    })
    .catch((error) => {
        console.error(error);
    });
  1. FirstSpirit page template uid
  2. ID from shop system
  3. Page type to create (product, category or content)
  4. Object containing the display names for various languages

Find Page

api
    .findPage({
        locale: 'de_DE',
        pageId: 'Product Page',
        pageType: 'product'
    })
    .then((pageResult) => {
        console.log('found page', pageResult);
    })
    .catch((error) => {
        console.error(error);
    });

Fetch by Filter

import {ComparisonQueryOperatorEnum, LogicalQueryOperatorEnum} from 'fcecom-frontend-api-client';

api
    .fetchByFilter({
        filters: [
            {
                operator: LogicalQueryOperatorEnum.AND,
                filters: [
                    {
                        field: 'page.formData.pageType.value',
                        operator: ComparisonQueryOperatorEnum.EQUALS,
                        value: pageType,
                    },
                    {
                        field: 'uid',
                        operator: ComparisonQueryOperatorEnum.EQUALS,
                        value: pageId,
                    },
                ],
            },
        ],
        locale: 'de_DE'
    })
    .then((result) => {
        console.log('fetchByfilter', result);
    })
    .catch((error) => {
        console.error(error);
    });
;

Last update: October 13, 2022