# Multi-winkelsynchronisatie: installatie- en configuratiegids

> Deze gids behandelt de installatie van de module Multi-winkelsynchronisatie, de verbinding tussen twee PrestaShop-installaties en de volledige configuratie van de catalogussynchronisatie. Vereisten Twee PrestaShop-installaties 8.0 tot 9.x (de databases en…

- Pagina: <https://www.datafirefly.com/nl/documentation/synchronisation-multi-boutiques/>
- Taal: nl
- Bijgewerkt op: 2026-09-12
- Andere talen: [fr](https://www.datafirefly.com/documentation/synchronisation-multi-boutiques/index.md), [en](https://www.datafirefly.com/en/documentation/multi-store-synchronization/index.md), [es](https://www.datafirefly.com/es/documentation/sincronizacion-multi-tienda/index.md), [de](https://www.datafirefly.com/de/documentation/multi-shop-synchronisation/index.md), [it](https://www.datafirefly.com/it/documentation/sincronizzazione-multi-negozio/index.md), [pl](https://www.datafirefly.com/pl/documentation/synchronisation-multi-boutiques/index.md), [pt](https://www.datafirefly.com/pt/documentation/synchronisation-multi-boutiques/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

Deze gids behandelt de installatie van de module **Multi-winkelsynchronisatie**, de verbinding tussen twee PrestaShop-installaties en de volledige configuratie van de catalogussynchronisatie.

## Vereisten

- Twee PrestaShop-installaties 8.0 tot 9.x (de databases en de hosting mogen verschillen).
- De PHP-uitbreiding cURL actief op de winkel die de synchronisatie aanstuurt.
- De webservice ingeschakeld op de externe winkel, met een eigen toegangssleutel.

De module installeert u alleen op de winkel die de synchronisatie _aanstuurt_. De externe winkel hoeft enkel haar webservice aan te hebben staan, en daar valt geen module te installeren.

## De module installeren

1. Open in de backoffice van de aansturende winkel **Modules > Modulebeheer**.
2. Klik op **Een module installeren** en verstuur het bestand `dfmultisync.zip`.
3. Na de installatie voegt de module het menu **Geavanceerde parameters > DF Multi-Store Sync** toe.

## De webservice op de externe winkel inschakelen

Op de winkel die moet worden verbonden:

1. Open **Geavanceerde parameters > Webservice**.
2. Zet **De webservice van PrestaShop inschakelen** op _Ja_ en sla op.
3. Klik op **Een nieuwe webservicesleutel toevoegen**, maak een sleutel aan en geef daarna de rechten `GET`, `POST`, `PUT` en `DELETE` op de volgende bronnen: `categories`, `products`, `images`, `combinations`, `stock_availables`, `specific_prices` en `languages`.
4. Sla op en kopieer de aangemaakte sleutel.

Zonder het recht `DELETE` op `specific_prices` mislukt de synchronisatie van de specifieke prijzen: de module vervangt het externe geheel door het te wissen en opnieuw aan te maken.

## Een externe site toevoegen

1. Ga naar **DF Multi-Store Sync > Externe sites** en klik op **Een externe site toevoegen**.
2. Vul een naam in, de basis-URL van de externe winkel (bijvoorbeeld `https://winkel-b.voorbeeld.nl`) en de webservicesleutel die u hebt gekopieerd.
3. Sla op en klik daarna in de lijst op **Test** om de verbinding te controleren.

De knop **Test** bevraagt werkelijk de externe webservice. Mislukt die, controleer dan de URL (met het protocol `https://`), de sleutel, en of de webservice aan de externe kant wel aanstaat.

## Een synchronisatieprofiel maken

Een profiel beschrijft _wat_ er wordt gesynchroniseerd, _in welke richting_ en _hoe_ conflicten worden beslecht.

### Richting: push of pull

- **Push**: de huidige winkel is de bron en stuurt haar gegevens naar de externe site.
- **Pull**: de externe site is de bron, en de huidige winkel ontvangt haar gegevens.

### Entiteiten

Kies de entiteiten die u wilt synchroniseren. Zij worden altijd in deze volgorde behandeld, om de afhankelijkheden te respecteren: **categorieën, dan producten, dan voorraad, dan specifieke prijzen**.

### Opties

- **De afbeeldingen synchroniseren**: in push vertrekken de nieuwe lokale afbeeldingen; in pull worden de afbeeldingen bij het aanmaken van het product opgehaald.
- **De specifieke prijzen synchroniseren**: alleen in push beschikbaar.
- **Batchgrootte**: het aantal entiteiten per cyclus (1 tot 25). Verlaag die als de externe server traag is.

## Conflictstrategieën

Er ontstaat een conflict wanneer beide winkels dezelfde fiche hebben gewijzigd sinds de laatste synchronisatie. Er zijn vier strategieën:

- **De bron wint**: de bron overschrijft altijd het doel.
- **Het doel wint**: entiteiten in conflict worden overgeslagen.
- **De recentste wint**: op basis van een vergelijking van de wijzigingsdatums.
- **Handmatig**: de conflicten komen in een wachtrij om te beslissen.

## Een eerste synchronisatie starten

1. Open het **Dashboard** van de module.
2. Klik op de regel van het profiel op **Nu starten**.
3. De synchronisatie loopt in batches: de voortgangsbalk toont live hoeveel entiteiten er zijn aangemaakt, bijgewerkt, overgeslagen, in conflict of in fout.

De synchronisatie werkt binnen een tijdsbudget (standaard 25 seconden) en hervat automatisch waar zij is gestopt. Op een grote catalogus volgen er meerdere cycli na elkaar, zonder tussenkomst.

## Automatiseren met de cron

1. Schakel de optie **Cron** op de betrokken profielen in.
2. Kopieer de cron-URL die op het dashboard staat (beveiligd met een token).
3. Voeg die aan de crontab van uw server toe, bijvoorbeeld om het kwartier:

```
*/15 * * * * wget -q -O /dev/null "https://uw-winkel.nl/module/dfmultisync/cron?token=UW_TOKEN"
```

Het token in de cron-URL is vertrouwelijk: het geeft toestemming om synchronisaties te starten. Deel het niet en zet het niet publiek online.

## Conflicten oplossen

Met de strategie **Handmatig** stapelen de conflicten zich op in het tabblad **Conflicten**. Voor elke wachtende regel:

- **Lokaal behouden**: dwingt het versturen (push) van de lokale versie af.
- **Extern behouden**: dwingt het ophalen (pull) van de externe versie af.
- **Overslaan**: markeert het conflict als behandeld zonder iets over te dragen.

## Logboeken en opvolging

Het tabblad **Logboeken** bewaart de historiek van de bewerkingen (informatie, waarschuwing, fout), te filteren op niveau en op datum. De logboeken worden na 30 dagen automatisch opgeruimd.

## Problemen oplossen

### De verbindingstest mislukt

Controleer of de webservice aan de externe kant aanstaat, of de sleutel juist is en of haar rechtenprofiel de hierboven genoemde bronnen wel dekt. Zorg dat de URL `https://` bevat.

### Er worden producten overgeslagen

De module koppelt producten en varianten op **referentie**. Een product zonder referentie, of met een referentie die tussen de twee winkels verschilt, kan voor de voorraad niet worden gekoppeld. Zorg voor samenhangende referenties.

### De specifieke prijzen worden niet gesynchroniseerd

Die synchronisatie werkt **alleen in push** en vereist het recht `DELETE` op `specific_prices` aan de externe kant.

### De synchronisatie lijkt traag

Verlaag de batchgrootte van het profiel en laat de cron de cycli na elkaar afwerken. De eerste doorloop duurt altijd het langst; de volgende dragen alleen de entiteiten over die werkelijk zijn gewijzigd.
