SazitoSazito SDKv1.2.2
API Reference

Menu

Fetch and normalize storefront navigation trees.

Method

Get Header Menu

Use: menu.getHeaderMenu(identifier?, options?).

ParameterTypeRequiredDescription
identifierstringOptionalMenu identifier. Defaults to headermenu.
optionsRequestOptionsOptionalPer-request controls.

Returns: SazitoResponse<MenuItem[]>.

FieldTypeRequiredDescription
namestringRequiredDisplay label.
urlstringRequiredNavigation URL.
childrenMenuItem[]RequiredChild navigation items.

Notes

  • Disabled entities are filtered out.
  • Nested nodes are recursively converted.
  • SDK normalizes multiple backend node types into one MenuItem shape.

Examples

// app/lib/sazito-client.ts
import { createSazitoClient } from '@sazito/client-sdk';

export const sazito = createSazitoClient({
  domain: process.env.NEXT_PUBLIC_SAZITO_DOMAIN!,
});
// app/[lang]/(home)/page.tsx
'use client';
import { useEffect, useState } from 'react';
import { sazito } from '@/app/lib/sazito-client';

export default function Example() {
  const [data, setData] = useState<any>(null);

  useEffect(() => {
    sazito.menu.getHeaderMenu().then((res) => setData(res.data ?? null));
  }, []);

  return <pre>{JSON.stringify(data, null, 2)}</pre>;
}

Type Details

The following tables are generated from SDK TypeScript types and include nested object fields.

Source: src/types/menu.ts

FieldTypeRequired
namestringRequired
urlstringRequired
childrenMenuItem[]Required

Source: src/types/menu.ts

FieldTypeRequired
idnumberRequired
identifierstringRequired
treeStructure{ nodes: MenuNode[]; }Required
treeStructure.nodesMenuNode[]Required

Source: src/types/menu.ts

FieldTypeRequired
entityType'product_category' | 'product' | 'cms_page' | 'blog_page' | 'url'Required
entityIdnumber | nullRequired
entity{ id?: number; name?: string; // For products/categories title?: string; // For CMS/blog pages url?: string; enabled?: boolean; }Optional
entity.idnumberOptional
entity.namestringOptional
entity.titlestringOptional
entity.urlstringOptional
entity.enabledbooleanOptional
details{ title?: string; isTitleDefault?: boolean; url?: string; // For entityType "url" name?: string; // For entityType "url" entityType?: string; includeChildren?: boolean; // For product_category }Optional
details.titlestringOptional
details.isTitleDefaultbooleanOptional
details.urlstringOptional
details.namestringOptional
details.entityTypestringOptional
details.includeChildrenbooleanOptional
childrenMenuNode[]Required

On this page