{{-- /admin/settings/catalog — platform-level WhatsApp Catalog knobs. IMPORTANT: per-merchant Catalog ID, WABA ID, Phone Number ID, and the permanent access token live on each workspace's /catalog page — Meta requires the catalog to be connected to the merchant's own Commerce Account, so there is no single platform-wide catalog. What lives HERE (admin one-time): • Feature enable toggle (gates the user-side /catalog page) • Graph API version (defaults to current v23.0) • Optional Meta App ID + App Secret (used for app-level webhooks + signed OAuth flows we add later — not required for the basic "merchant pastes their own system-user token" flow) • Default currency for new catalog product feeds • Commerce Account toggle (whether the platform supports in-WhatsApp checkout via Commerce; off = catalog-browse only) --}}
@csrf @method('PATCH')
{{ __('Admin · Project settings') }}

{{ __('WhatsApp') }} {{ __('Catalog') }}.

{{ __('Platform-level controls for the WABA Catalog feature. Each merchant connects their own Meta Commerce Account catalog from the workspace-side') }} {{ __('/catalog') }} {{ __('page — this screen sets the defaults every workspace inherits.') }}

{{ __('All settings') }} {{ __('Open user catalog') }}
@if (session('success'))
{{ session('success') }}
@endif @if ($errors->any())
{{ __('Please fix the highlighted fields:') }}
    @foreach ($errors->all() as $e)
  • {{ $e }}
  • @endforeach
@endif {{-- Usage stats --}}
{{ __('Workspaces connected') }}
{{ number_format($stats['connected']) }}
{{ __('with a Meta Catalog ID saved') }}
{{ __('Products synced') }}
{{ number_format($stats['products']) }}
{{ __('across all workspace catalogs') }}
{{ __('Catalog messages sent') }}
{{ number_format($stats['sends']) }}
{{ __('SPM + MPM + catalog CTA') }}
{{-- Feature gate --}}
{{ __('Feature gate') }}

{{ __('Catalog availability') }}

{{ __('When enabled, workspace owners can connect their Meta Commerce catalog at') }} /catalog {{ __('and send Single Product, Multi-Product, and Catalog-CTA messages from the chat + flow builder. Switch off to hide the menu entry across all workspaces (existing connections stay intact but become read-only).') }}

{{-- Graph API --}}
{{ __('Cloud API') }}

{{ __('Graph API version') }}

{{ __('Every catalog operation (send, sync, push) goes through this Graph API version. Meta ships a new version every ~3 months and supports the previous one for ~2 years.') }}

{{-- Optional platform Meta app credentials --}}
{{ __('Optional · Meta App') }}

{{ __('Platform-wide Meta app') }}

{{ __('Only needed if you plan to ship an "Install with Meta" OAuth experience. The default flow has each merchant paste their own system-user token at') }} {{ __('/catalog') }} {{ __(' — no app credentials required.') }}

{{-- Setup walkthrough merchants follow --}}
{{ __('Merchant walkthrough') }}

{{ __('How a workspace connects its catalog') }}

{{ __('Shown to merchants on /catalog. Reproduced here so you can sanity-check the flow.') }}

  1. 1
    {{ __('Have an active WABA + Phone Number ID') }}

    {{ __('The merchant needs a verified WhatsApp Business Account in Meta Business Suite with at least one approved phone number. Without this, no catalog message can send.') }}

  2. 2
    {{ __('Create a catalog in Meta Commerce Manager') }}

    {{ __('At') }} {{ __('business.facebook.com/commerce') }} {{ __(' → Create catalog → pick e-commerce. Add products manually, via CSV, or pull from Shopify/Woo. Catalog must be Public and locked to one currency.') }}

  3. 3
    {{ __('Connect the catalog to the WABA') }}

    {{ __('In Business Suite → WhatsApp Manager → Catalog tab → "Choose a catalog" → pick the one created in Step 2. This is what enables Cloud API product messages.') }}

  4. 4
    {{ __('Generate a System User token') }}

    {{ __('Business Settings → System Users → Add → Admin. Generate a token with') }} {{ __('whatsapp_business_messaging') }}, {{ __('whatsapp_business_management') }}, {{ __('catalog_management') }}, {{ __('business_management') }}. {{ __('Pick "Never" for expiry to avoid quarterly re-auth.') }}

  5. 5
    {{ __('Paste credentials at /catalog') }}

    {{ __('WABA ID, Catalog ID, Phone Number ID, and the System User token go on the workspace-side') }} {{ __('/catalog') }} {{ __('page. :app then runs a test', ['app' => \App\Models\SystemSetting::get('app_name', config('app.name', 'WaDesk'))]) }} GET /{CATALOG_ID}?fields=name,product_count {{ __('to verify the token has') }} {{ __('catalog_management') }} {{ __('on that catalog.') }}

{{-- Sticky reference sidebar --}}