Integrations

Integrations

@if($store) Marketing and shipping extensions for {{ $store->site_name ?? $store->site_url }}. @else Connect a store to see which WooCommerce extensions are installed and configured. @endif

@if($store)
@csrf
@endif @if($store && ! $reachable) Store unreachable — update the Ladill plugin on WordPress @endif
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if(! $store)

No active store selected.

Connect a WooCommerce store
@endif @if($store && ($cached ?? false))

Status cached for {{ (int) config('woo.integrations_cache_ttl_seconds', 300) }} seconds. Use Refresh status for the latest from WordPress.

@endif
@foreach($integrations as $integration) @php $state = $integration['state']; $metrics = $integration['metrics'] ?? []; $badge = match ($state) { 'connected' => ['Connected', 'bg-emerald-50 text-emerald-700 ring-emerald-200'], 'available', 'needs_setup' => $integration['installed'] ? ['Needs setup', 'bg-amber-50 text-amber-800 ring-amber-200'] : ['Not installed', 'bg-slate-100 text-slate-600 ring-slate-200'], 'not_installed' => ['Not installed', 'bg-slate-100 text-slate-600 ring-slate-200'], 'no_store' => ['No store', 'bg-slate-100 text-slate-600 ring-slate-200'], default => ['Unavailable', 'bg-rose-50 text-rose-700 ring-rose-200'], }; @endphp

{{ $integration['category'] }}

{{ $integration['name'] }}

{{ $badge[0] }}

{{ $integration['description'] }}

@if($integration['summary'])

{{ $integration['summary'] }}

@endif @if(! empty($metrics['available']))
@if(isset($metrics['published_products']))
Published products
{{ number_format((int) $metrics['published_products']) }}
@endif @if(isset($metrics['synced_products']))
Synced to channel
{{ number_format((int) $metrics['synced_products']) }}
@endif @if(isset($metrics['pending_products']))
Pending sync
{{ number_format((int) $metrics['pending_products']) }}
@endif @if(isset($metrics['orders_awaiting_fulfillment']))
Awaiting fulfillment
{{ number_format((int) $metrics['orders_awaiting_fulfillment']) }}
@endif @if(isset($metrics['labeled_orders']))
Labeled orders
{{ number_format((int) $metrics['labeled_orders']) }}
@endif @if(! empty($metrics['catalog_sync_status']) && $metrics['catalog_sync_status'] !== 'unknown')
Catalog sync
{{ str_replace('_', ' ', $metrics['catalog_sync_status']) }}
@endif
@endif @if($integration['key'] === 'shipping' && ! empty($integration['details']['woocommerce_shipping']))

WooCommerce Shipping @if(! empty($integration['details']['labels_ready'])) · labels enabled @else · labels not connected @endif

@endif
@if($integration['supports_catalog_sync'] && $integration['connected'] && $reachable)
@csrf
@endif @if($integration['supports_label_actions'] && $store) View orders @endif @if($integration['key'] === 'shipping' && ! empty($integration['details']['labels_manage_url'])) Manage labels @endif @if($integration['manage_url']) Manage in WordPress @elseif($integration['install_url'] && in_array($state, ['not_installed', 'no_store', 'unavailable'], true)) Get extension @endif @if($integration['docs_url']) Docs @endif
@endforeach
Ladill surfaces official WooCommerce extensions on your store. Use Sync catalog to trigger a product feed sync from Ladill, or open Manage in WordPress for OAuth, ads, and advanced setup.