# WhatsApp Commerce Suite Shopware: installatie- en configuratiegids

> Vereisten Shopware 6.5, 6.6 of 6.7 (één codebase), PHP 8.1 minimaal Een WhatsApp Business-account met een geverifieerd nummer in Meta Business Suite Een Meta-app van het type Business met het…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfwhatsappcommerce-shopware/>
- Taal: nl
- Bijgewerkt op: 2026-08-19
- Andere talen: [fr](https://www.datafirefly.com/documentation/dfwhatsappcommerce-shopware/index.md), [en](https://www.datafirefly.com/en/documentation/dfwhatsappcommerce-shopware/index.md), [es](https://www.datafirefly.com/es/documentation/dfwhatsappcommerce-shopware/index.md), [de](https://www.datafirefly.com/de/documentation/dfwhatsappcommerce-shopware/index.md), [it](https://www.datafirefly.com/it/documentation/dfwhatsappcommerce-shopware/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfwhatsappcommerce-shopware/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfwhatsappcommerce-shopware/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## Vereisten

- Shopware 6.5, 6.6 of 6.7 (één codebase), PHP 8.1 minimaal
- Een **WhatsApp Business**-account met een geverifieerd nummer in Meta Business Suite
- Een Meta-app van het type **Business** met het product WhatsApp geactiveerd
- De wachtrijworker en de runner voor geplande taken van Shopware actief (`messenger:consume` en `scheduled-task:run`)

## Installatie

1. Kopieer de map `DfWhatsAppCommerce` naar `custom/plugins/` (of upload de zip via Extensies → Mijn extensies).
2. Installeer en activeer: ``` bin/console plugin:refresh bin/console plugin:install --activate DfWhatsAppCommerce bin/console cache:clear ```
3. Compileer de administration en de storefront: ``` bin/build-administration.sh bin/build-storefront.sh ```

De installatie maakt 5 eigen tabellen met het voorvoegsel `df_wac_` aan en 2 geplande taken (winkelwagenherinnering elke 15 min, catalogusbatch elk uur). Alles wordt bij het verwijderen netjes gewist, tenzij u "gegevens behouden" aanvinkt.

## Configuratie van de Meta Cloud API

### 1. De inloggegevens ophalen

Maak op [developers.facebook.com](https://developers.facebook.com) een Business-app aan en voeg het product WhatsApp toe. Haal op: het **permanente token** (systeemgebruiker met de rechten `whatsapp_business_messaging` en `catalog_management`), het **Phone number ID**, het **WABA ID** en de **App secret** (App-instellingen → Algemeen).

### 2. De catalogus aanmaken

Maak in Meta Commerce Manager een catalogus aan en verbind die met uw WhatsApp Business-account. Noteer het **catalogus-ID**.

### 3. De webhook instellen

In de Meta-app → WhatsApp → Configuratie:

- Callback-URL: `https://uwshop.tld/df-wac/webhook`
- Verificatietoken: de waarde die u in de configuratie van de plugin invoert (veld "Webhook verify token")
- Abonneer u op het veld `messages`

Vul de **App secret** in de configuratie van de plugin in: zonder die waarde wordt de handtekening `X-Hub-Signature-256` van de webhooks niet gevalideerd.

### 4. De configuratie in Shopware invoeren

Instellingen → Systeem → Plugins → DataFirefly WhatsApp Commerce Suite. Vul de kaart "Meta Cloud API" in en test daarna vanuit het dashboard (Marketing → WhatsApp Commerce): knop **API-verbinding testen** en het versturen van een testbericht.

## De 4 modules

### Meta-catalogus

Drie modi: realtime (bij elke opslag van een product), batch per uur, of handmatig. Varianten worden afzonderlijk verstuurd met de `retailer_id` `sw_{artikelnummer}`. Sluit zo nodig categorieën uit. De volledige hersynchronisatie (batches van 100) start u vanuit het dashboard.

### Conversationeel bestellen

Statusmachine met 6 niveaus. Herkende trefwoorden (FR/EN/DE): `menu`, `panier`, `payer`, `humain`, `reset`, `aide`. De taal van de klant wordt automatisch herkend. De overdracht naar een medewerker stuurt een e-mail naar het ingestelde adres met de link naar het gesprek.

### Herinnering voor verlaten winkelwagens

3 instelbare herinneringen (standaard 60 min, 24 u, 72 u), verstuurd door de geplande taak die elke 15 minuten draait, naar klanten van wie het telefoonnummer op het factuuradres bekend is. De kortingscode uit de configuratie wordt bij de derde herinnering meegestuurd en automatisch op de herstelde winkelwagen toegepast.

Maak het telefoonveld verplicht via Instellingen → Shop → Inloggen en registreren om het bereik van de herinneringen te maximaliseren.

### Ondertekende betaallink en meldingen

De links voor de checkout en het herstellen van de winkelwagen worden ondertekend met HMAC SHA-256 en hebben een instelbare vervaltijd (standaard 72 u). Automatische meldingen: bestelbevestiging, verzending (met trackingnummer) en mislukte betaling.

## HSM-templates die u in Meta Business Suite moet aanmaken

| Template | Variabelen in de tekst | Knop |
| --- | --- | --- |
| Herinnering 1 en 2 | {{1}} klantnaam, {{2}} winkelwagentotaal | Dynamische URL (achtervoegsel = token) |
| Herinnering 3 | {{1}} naam, {{2}} totaal, {{3}} kortingscode | Dynamische URL (achtervoegsel = token) |
| Bevestiging | {{1}} naam, {{2}} bestelnummer, {{3}} totaal | — |
| Verzending | {{1}} naam, {{2}} bestelnummer, {{3}} trackingnummer | CTA tracking (optioneel) |
| Mislukte betaling | {{1}} naam, {{2}} bestelnummer | CTA herinnering (optioneel) |

Voor de herinneringen moet de URL-knop van het template als basis `https://uwshop.tld/df-wac/cart/restore?token=` hebben met het dynamische achtervoegsel `{{1}}`. Vul de namen van de goedgekeurde templates in de configuratie van de plugin in.

## Administration

Marketing → WhatsApp Commerce: KPI-dashboard (gesprekken, ongelezen, winkelwagens, herstelpercentage, fouten), pagina **Gesprekken** (draad in de stijl van WhatsApp Web, rechtstreeks antwoorden), **Verlaten winkelwagens**, **Catalogus** (synchronisatielogboek) en **Logboeken** (filters op niveau en kanaal).

Regel van Meta: vrije antwoorden vanuit de admin worden alleen afgeleverd binnen 24 uur na het laatste bericht van de klant. Daarna gebruikt u een HSM-template.

## Probleemoplossing

- **Er verschijnt niets aan de voorkant**: controleer of het "Publieke WhatsApp-nummer" is ingevuld (de zwevende knop en de CTA's hangen ervan af) en voer daarna `bin/console cache:clear` uit.
- **Webhook 403**: het verificatietoken verschilt tussen Meta en de plugin, of de App secret klopt niet.
- **Herinneringen worden niet verstuurd**: controleer of `scheduled-task:run` en `messenger:consume` draaien, of de module actief is en of de HSM-templates zijn goedgekeurd.
- **Producten niet gesynchroniseerd**: raadpleeg de pagina Catalogus (statussen pending/synced/error) en de Logboeken, kanaal `catalog`.

## AVG

Er worden geen gegevens naar derden gestuurd buiten de Meta WhatsApp Cloud API. Gesprekken en nummers worden lokaal opgeslagen in de tabellen `df_wac_` en bij het verwijderen gewist.
