Ideas

Give us your best ideas!

Storefront API: resolve pointers, custom data

Currently, Litium Storefront GraphQL only returns GUIDs for Pointer fields like CustomersGroup and CustomersOrganization, without resolving them into meaningful entity details. This creates additional complexity when we need to fetch customer group names, organization information, or associated persons, as it requires separate API calls.

We propose enhancing Storefront GraphQL to:

  1. Resolve CustomersGroup pointers into full group details, including the group name and associated persons (members of the group).

  2. Resolve CustomersOrganization pointers into organization details, including organization name and associated persons (contacts within the organization).

To address security concerns, we suggest introducing access control at the field level—ensuring only authorized requests can access this data. This approach would maintain data protection while improving development efficiency and the richness of Storefront GraphQL responses.

This enhancement would greatly simplify working with customer-related data, reduce extra API calls, and offer a more streamlined and powerful GraphQL experience.

  • kunjahamed P
  • Mar 3 2025
  • Attach files
  • Christian Norrman commented
    23 Feb 15:41

    This is something we also would need because we have use cases where we store custom information as organizations (for example supplier information) through a pointer on a product.

    Today we have to make a scheduled job which feeds data every morning, but the customer would like to have live data and not wait for the nightly sync.

    There are ways to sync data with events and such but they are not really live data and misses can occur and/or errors when syncing which can be hard to debug or fix.

  • Michael Nattfalk commented
    May 09, 2025 14:36

    If this idea will be approved, then please also include resolving Persons pointer to person details.

  • Admin
    Johan Lindberg Holmin commented
    April 02, 2025 11:28

    Hi! Could you provide additional information about your use case? Where do you need this data and in what context do you need to display it?