DataFirefly Push Pro: volledige gids
DataFirefly Push Pro installeren, configureren en benutten voor PrestaShop 8 en 9: native Web Push VAPID, slimme opt-in, 9 automatiseringen, campagnebuilder, segmentatie, A/B-testen, omzetattributie, topics, inbox en HMAC-ondertekende webhooks.
DataFirefly Push Pro brengt native webpushmeldingen naar PrestaShop 8 en 9, zonder externe dienst zoals OneSignal en zonder maandabonnement. Deze gids behandelt de installatie, de initiële configuratie, de negen automatiseringen, de campagnebuilder, de segmentatie, het A/B-testen, de omzetattributie, de topics, de inbox, de webhooks en de probleemoplossing.
1. Overzicht en toepassingen
De module implementeert het Web Push VAPID-protocol (RFC 8292) native, met aes128gcm-versleuteling aan serverzijde. De abonnementen worden opgeslagen in uw PrestaShop-database, de verzendingen vertrekken rechtstreeks vanaf uw hosting, er passeert geen enkel gegeven via een dienst van derden.
Typische toepassingen:
- Terugwinnen van verlaten winkelwagens: drie herinneringen gespreid (1 u, 24 u, 72 u), zonder afhankelijk te zijn van het e-mailadres van de bezoeker.
- Productmeldingen: terug op voorraad, prijsverlaging, opt-in rechtstreeks op de productpagina.
- Transactioneel: orderbevestiging, verzending, reviewverzoek na levering.
- Herbetrokkenheid: verjaardag, inactieve klanten, digest van nieuwe producten.
- Eenmalige campagnes: uitverkoop, lanceringen, Black Friday, met segmentatie en A/B-testen.
2. Vereisten
- PrestaShop 8.0 tot 9.x
- PHP 7.4 minimaal, 8.x aanbevolen
- MySQL 5.7 minimaal of MariaDB 10.3
- HTTPS verplicht: de Web Push-API van de browsers werkt alleen op een beveiligde origin. Alleen
localhostvormt een uitzondering voor ontwikkeltests. - Een externe cron die elke 5 minuten een HTTP-URL kan aanroepen (Linux-cron, geplande taken van de host, native PrestaShop-cron, enzovoort)
- OpenSSL geactiveerd in PHP (gebruikt voor het genereren van de VAPID-sleutels en de aes128gcm-versleuteling)
Waarom HTTPS? Alle browsers (Chrome, Firefox, Safari, Edge) weigeren een service worker te registreren of de meldingstoestemming te verlenen op een HTTP-pagina. Dat is een beperking van de browsers, niet van de module.
3. Installatie
- Download de ZIP
dfpushnotifications-v1.2.0-phase3.zipvanuit uw DataFirefly-klantomgeving. - PrestaShop-backoffice → Modules → Modulebeheer → Een module uploaden → selecteer de ZIP.
- Klik op Installeren. De installatie maakt 14 tabellen aan met het voorvoegsel
ps_dfpush_*, genereert een uniek cron-token en registreert de BO-tabbladen. - Er verschijnt een nieuw menu: Verbeteren → DataFirefly Push met 8 tabbladen (Dashboard, Campaigns, Automations, Queue, Subscribers, Topics, Webhooks, Settings).
4. VAPID-sleutels genereren
De VAPID-sleutels identificeren uw server bij de pushdiensten van de browsers (FCM, Mozilla autopush, Apple push). Ze worden één keer gegenereerd en mogen na de ingebruikname nooit meer veranderen (anders worden alle abonnees onbereikbaar).
- Ga naar DataFirefly Push → Opt-in & Settings.
- Klik op Generate VAPID keys. De module maakt een ECDSA P-256-sleutelpaar aan, opgeslagen in de PrestaShop-configuratie.
- Voer een VAPID subject in: een
mailto:-URL met uw technische contactadres (bv.mailto:admin@uwwinkel.com). Dat is de identifier die de pushdiensten kunnen contacteren bij misbruik. - Activeer de module via de schakelaar Push notifications enabled.
Bewaar uw sleutels. Genereert u de VAPID-sleutels opnieuw na de lancering, dan worden al uw bestaande abonnees door de pushdiensten geweigerd met een code 410 Gone. Maak een back-up van de PrestaShop-database vóór elke handeling aan de sleutels.
5. Configuratie van de opt-in
Het tabblad Opt-in & Settings stuurt de weergave van de toestemmingsvraag aan. Er zijn drie stijlen beschikbaar:
- Bell: een zwevende bel rechtsonder. De gebruiker klikt, waarna de browser zijn native vraag toont. Het minst opdringerig.
- Banner: een vaste banner boven- of onderaan de pagina met twee knoppen (toestaan / weigeren).
- Modal: een gecentreerd modaal venster, zichtbaarder maar ook agressiever.
Triggers
Om de vraag niet vanaf de eerste seconde te tonen (hoog weigeringspercentage), kiest u een trigger:
- Delay: tonen na X seconden (standaard 15 s)
- Scroll: tonen na X% scrollen van de pagina (standaard 40%)
- Pages: tonen na X bekeken pagina’s in de sessie (standaard 2)
Cooldown
Sluit of weigert de bezoeker de vraag, dan voorkomt een cooldown dat ze hem gedurende N dagen opnieuw wordt voorgelegd (standaard 7). Dat vermijdt het “opdringerige popup”-effect dat gebruikers ertoe brengt het domein definitief te blokkeren.
Dagplafond en stille uren
- Max per day: maximum aantal meldingen dat per dag naar eenzelfde abonnee wordt gestuurd (standaard 3). Daarboven weigert de verzendwachtrij de overtollige berichten stilzwijgend.
- Quiet hours: tijdvenster waarin geen enkele melding wordt bezorgd. Berichten die tijdens dit venster in de wachtrij komen, worden verplaatst naar de ochtend van het eerste niet-stille venster.
6. Cron: configuratie en token
De cron stuurt alle uitgestelde operaties aan: automatiseringen, verzendwachtrij, afhandelen van de webhooks, opschoning. Hij moet elke 5 minuten worden aangeroepen via een door een token beveiligde HTTP-URL.
Token
Bij de installatie wordt een uniek token gegenereerd. Om het op te halen: DataFirefly Push → Automations, de blauwe balk bovenaan toont de volledige URL om in uw cron te plakken.
Voorbeeld van een Linux-cron
*/5 * * * * curl -s "https://uwwinkel.com/module/dfpushnotifications/cron?token=UW_TOKEN" > /dev/null
Taken uitgevoerd bij elke tick
- Reset van de dagtellers (één keer per dag, bij het passeren van middernacht)
- Uitvoering van de automatiseringen met verstreken vertraging (verlaten winkelwagens 1 u / 24 u / 72 u, verjaardag, inactiviteit, nieuwe producten, geplande reviewverzoeken)
- Activering van de geplande campagnes waarvan de datum is aangebroken
- Afhandeling van de verzendwachtrij (tot 50 meldingen per batch standaard, instelbaar)
- Afhandeling van de webhookwachtrij (tot 100 per batch)
- Opschoning van oude vermeldingen (sent > 60 dagen, webhooklog > 30 dagen)
Het antwoord van de cron is een JSON met het detail van elke stap:
{
"success": true,
"tasks": {
"reset_counters": "ok",
"triggers": { "abandoned_1h": 12, "abandoned_24h": 4, "birthday": 2, "inactivity": 38 },
"scheduled_campaigns": 1,
"queue": { "processed": 50, "sent": 47, "failed": 2, "expired": 1 },
"webhooks": { "processed": 8, "sent": 8, "failed": 0, "dropped": 0 },
"cleanup": "ok"
},
"duration_ms": 1842
}
Beschikt uw host niet over cron, configureer dan een gratis externe dienst (cron-job.org, EasyCron, cronless) die dezelfde URL elke 5 minuten aanroept.
7. Automatiseringen: de 9 triggers
Standaard uitgeschakeld, één voor één te activeren vanuit DataFirefly Push → Automations. Elke kaart toont de titel, de tekst en de statistieken. Klik op Edit om de bewoording en de opties aan te passen.
Beschikbare variabelen
Afhankelijk van de trigger kunt u in de titel en de tekst invoegen:
{first_name}: voornaam van de klant (leeg voor anonieme bezoekers){cart_total}: bedrag van de verlaten winkelwagen, opgemaakt met de valuta{order_reference}: bestelreferentie{order_total}: totaalbedrag van de bestelling{product_name}: naam van het product (terug op voorraad, prijsverlaging){product_price}: huidige prijs van het product{products_count}: aantal nieuwe producten (digest)
Verlaten winkelwagen (3 herinneringen)
Drie onafhankelijke triggers: abandoned_cart_1h, abandoned_cart_24h, abandoned_cart_72h. De module registreert elke winkelwagenwijziging in ps_dfpush_cart_watch en markeert de winkelwagen als geconverteerd zodra een bestelling wordt bevestigd. De cron verstuurt elke herinnering op het juiste moment, behalve als de winkelwagen intussen is geconverteerd.
Terug op voorraad
Op de productpagina verschijnt automatisch een knop Notify me when back in stock wanneer het product niet op voorraad is. De abonnee klikt, zijn push-opt-in wordt indien nodig gevraagd, en de module registreert een watcher in ps_dfpush_product_watch. Zodra een voorraadwijziging de beschikbare hoeveelheid boven 0 brengt, wordt de watcher genotificeerd en als afgehandeld gemarkeerd.
Prijsverlaging
Hetzelfde principe met de knop Notify me on price drop. De watcher slaat de referentieprijs op het moment van de opt-in op. De melding wordt verzonden zodra een productupdate de prijs onder 99% van de referentieprijs brengt (een drempel die valse triggers bij afrondingen vermijdt).
Orderbevestiging
Geactiveerd door de hook actionValidateOrder. Onmiddellijk verzonden, zonder rekening te houden met de stille uren (transactioneel). Directe link naar de detailpagina van de bestelling.
Verzending
Geactiveerd door actionOrderStatusUpdate zodra de status naar een als shipped gemarkeerde staat gaat in PrestaShop. Link naar de besteldetails (die de tracking bevatten als u een trackingmodule gebruikt).
Reviewverzoek
Gepland X dagen nadat de bestelling naar een delivery-status gaat (standaard 7 dagen, instelbaar in de JSON-config van de trigger). De melding wordt in de wachtrij geplaatst met een toekomstige scheduled_at; de cron bezorgt haar wanneer het moment is aangebroken.
Verjaardag
De cron leest het veld birthday van de PrestaShop-klant en verstuurt de melding op de dag zelf, op het geconfigureerde uur. Een deduplicator voorkomt meerdere verzendingen in hetzelfde jaar.
Inactiviteit
Identificeert de abonnees waarvan last_visit meer dan N dagen geleden is (standaard 30). Om overlast te vermijden, wordt eenzelfde abonnee via deze trigger maximaal één keer per 30 dagen genotificeerd.
Nieuwe producten
Dagelijkse digest, verzonden op een instelbaar uur (standaard 10 u). De module aggregeert de producten die in de laatste 24 uur zijn aangemaakt en verstuurt een melding met de naam van het eerste en het totale aantal. Ideaal voor een winkel die regelmatig catalogus toevoegt.
8. Campagnebuilder
Voor eenmalige acties: DataFirefly Push → Campaigns → New campaign. Het formulier is in vijf secties verdeeld.
Inhoud
- Campaign name: interne naam (nooit aan de abonnees getoond)
- Notification title: max. 80 tekens
- Body: max. 250 tekens
- Click URL: waarheen de klik doorstuurt
- Icon URL: klein logo (standaard uw winkellogo)
- Large image URL: hero-afbeelding, 1024 × 512 aanbevolen (alleen Chrome)
- Badge URL: monochrome PNG 72 × 72 (Android)
Actieknoppen
Tot twee knoppen met hun label en URL. Ze verschijnen onder de melding op Chrome desktop en Android. Ideaal om meerdere CTA’s aan te bieden (Bekijk de aanbieding / Negeren).
Audience
Zie de sectie Segmentatie hieronder.
Schedule & delivery
- Send at: datum/tijd van de verzending. Leeg = onmiddellijk (bij de volgende cron-afhandeling).
- Urgency:
very-low,low,normal,high. Beïnvloedt de prioriteit aan pushdienstzijde. - TTL: levensduur in seconden (standaard 86400 = 24 u). Is de browser van de abonnee langer offline, dan verloopt de melding.
- Require interaction: persistente melding tot klik of handmatig sluiten (alleen Chrome).
9. Segmentatie
Combineerbaar met logische EN. Alle criteria leeg = geen enkele beperking.
| Criterium | Effect |
|---|---|
| Languages | De abonnee spreekt minstens een van deze talen (aangevinkte vakjes) |
| Countries | Land gedetecteerd bij de inschrijving (op basis van taal / IP / geo) |
| Devices | mobile / desktop / tablet (gedetecteerd bij de inschrijving) |
| Browsers | Chrome, Firefox, Safari, Edge, Opera, Samsung Internet |
| Customer groups | De abonnee is gekoppeld aan een PrestaShop-klant in minstens een van de groepen |
| Purchase history | Any (standaard), Has bought, Never bought |
| Active within N days | Laatste bezoek minder dan N dagen geleden (op basis van ps_dfpush_customer_activity) |
De knop Preview audience size berekent via AJAX het exacte aantal overeenkomende abonnees. Nuttig om te controleren of een targeting niet te restrictief is vóór de verzending.
10. A/B-testen
Op elke campagne bepaalt het veld % of audience for variant B het aandeel van de audience dat variant B ontvangt (van 0 tot 50). De verdeling is deterministisch: voor een gegeven id_subscriber ontvangt de abonnee altijd dezelfde variant (op basis van id_subscriber % 100 < split).
Variant B overschrijft alleen de ingevulde velden. U kunt bijvoorbeeld alleen de titel veranderen, of alleen een afbeelding testen. De statistieken worden apart opgeslagen:
stats_delivered/stats_clicked/stats_revenue: variant Astats_b_delivered/stats_b_clicked/stats_b_revenue: variant B
De kolommen verschijnen in de campagnelijst met een badge A/B naast de naam.
11. Omzetattributie
Kernmechanisme van de module: bestellingen koppelen aan de meldingen die ze hebben veroorzaakt.
Flow
- De module verstuurt een melding met een uniek
track_token(32 hextekens) in de payload. - De service worker onderschept de klik en stuurt door naar
/module/dfpushnotifications/track?t=TOKEN&click=1&u=URL. - De
track-controller plaatst een cookiedfpush_attr=TOKEN(30 dagen, SameSite=Lax) en stuurt door naar de eind-URL. - De klant browst, voegt toe aan de winkelwagen, bevestigt de bestelling.
- Bij de hook
actionValidateOrderleest deAttributionServicehet cookie, vindt de melding terug inps_dfpush_notificationsen schrijftid_order+revenue+currencyop de regel. - De service verhoogt
stats_revenue(ofstats_b_revenuenaargelang de variant) op de campagne of de trigger, activeert de webhookorder.attributeden wist daarna het cookie.
Grenzen van de attributie
- Vast venster van 30 dagen. Daarna vindt geen attributie meer plaats.
- Eén cookie per abonnee. Klikt de gebruiker op een tweede melding vóór hij bestelt, dan wordt de laatste gecrediteerd (last click-model).
- De attributie vereist dat de klik en de bestelling in dezelfde browser plaatsvinden (het cookie is aan de browser gebonden).
- Een al toegeschreven bestelling kan niet opnieuw worden toegeschreven (het veld
id_order > 0blokkeert dubbele telling).
12. Topics
Topics zijn thematische abonnementskanalen die klanten vanuit hun account activeren. Voorbeeld: Promoties, Nieuwe producten, Voorraadmeldingen. Een abonnee die alleen Promoties aanvinkt, ontvangt alleen de campagnes die op dit topic zijn gericht.
Een topic aanmaken
- DataFirefly Push → Topics → New topic
- Code: interne identifier zonder spaties (bv.
flash_deals) - Display order: positie in de aan de klant getoonde lijst
- Active: zichtbaar voor de klanten
- Default opt-in: vooraf aangevinkt bij de inschrijving
- Translations: een naam en beschrijving per geïnstalleerde taal
Een topic targeten in een campagne
De segmentatie omvat een criterium Topics in de resolver. Om het vanuit de UI te activeren: momenteel alleen via aangepaste JSON (het Topics-selectievakje komt in een kleine update). Abonnees zonder enig ingeschreven topic ontvangen alles (achterwaartse compatibiliteit).
13. In-app inbox
Het endpoint /module/dfpushnotifications/inbox geeft de laatste 20 meldingen van de huidige subscriber in JSON terug. De frontend opent deze inbox via het uniforme modaal dat vanuit het klantaccount bereikbaar is (tegel Push notifications).
Het modaal toont ook de abonnementsstatus (met subscribe/unsubscribe-knop) en de topiclijst. Om het handmatig vanuit uw thema aan te roepen:
// Het modaal openen
window.dfpush.openManagePopup();
// De abonnementsstatus controleren
const isOn = window.dfpush.isSubscribed();
14. Webhooks
De webhooks sturen de gebeurtenissen van de module naar Zapier, Make, n8n of uw eigen backend. Elke webhook wordt HMAC-SHA256-ondertekend op de ruwe body van de request.
Een webhook aanmaken
- DataFirefly Push → Webhooks → New webhook
- URL: uw endpoint (HTTPS aanbevolen)
- Secret: automatisch gegenereerd, kopieer het aan ontvangerszijde
- Events: vink de te bezorgen gebeurtenissen aan uit de 8 beschikbare
- Klik op Send test ping om te controleren of uw endpoint netjes 2xx antwoordt
Beschikbare gebeurtenissen
subscriber.subscribed: nieuwe opt-insubscriber.unsubscribed: uitschrijvingsubscriber.expired: pushdienst heeft 410 Gone teruggegevennotification.sent: melding met succes bezorgdnotification.clicked: klik geregistreerdnotification.failed: definitieve mislukking na 3 pogingencampaign.sent: campagne afgerondorder.attributed: bestelling gekoppeld aan een melding
Payloadformaat
{
"event": "notification.clicked",
"timestamp": "2026-05-28T14:32:18+00:00",
"shop": 1,
"data": {
"id_subscriber": 482,
"id_campaign": 12,
"id_trigger": 0,
"id_notification": 9182,
"track_token": "abc123...",
"url": "https://uwwinkel.com/promoties",
"ab_variant": "A"
}
}
Verzonden HTTP-headers
Content-Type: application/jsonX-DfPush-Event: notification.clickedX-DfPush-Signature: sha256=<hex>X-DfPush-Timestamp: 1748443938User-Agent: DataFireflyPush/1.2
De handtekening aan ontvangerszijde verifiëren
PHP-voorbeeld:
$body = file_get_contents('php://input');
$expected = hash_hmac('sha256', $body, $YOUR_SECRET);
$received = explode('=', $_SERVER['HTTP_X_DFPUSH_SIGNATURE'])[1] ?? '';
if (!hash_equals($expected, $received)) {
http_response_code(401);
exit;
}
// Handtekening geldig, payload verwerken
$payload = json_decode($body, true);
Retry en drop
Antwoordt uw endpoint iets anders dan 2xx, dan probeert de module opnieuw met exponentiële backoff, tot 5 pogingen. Daarna wordt het log als dropped gemarkeerd en gaat de gebeurtenis verloren. De sent– en dropped-logs worden na 30 dagen opgeschoond.
15. Multistore en meertaligheid
Alle abonnees, campagnes, automatiseringen, topics en webhooks zijn gekoppeld aan een id_shop. In multistore:
- Selecteer de doelwinkel in de backoffice-selector voordat u een campagne of automatisering aanmaakt
- De cron is uniek maar filtert automatisch per winkel
- De VAPID-sleutels worden tussen winkels gedeeld (één paar voor alle)
Aan taalzijde: de module wordt geleverd in FR, EN, ES, DE en IT. De taal van de abonnee wordt bij de inschrijving gedetecteerd en opgeslagen. U kunt in de campagnes op taal segmenteren.
16. AVG en goede praktijken
- Toestemming: het abonnement steunt op de native opt-in van de browser, wat een AVG-compatibel bewijs van toestemming is.
- Persoonsgegevens: de module slaat het Web Push-endpoint op, het IP op het moment van de inschrijving, de user-agent, de taal en het land. Geen enkele doorgifte aan derden.
- Uitschrijving: een klik op de knop Unsubscribe in het modaal of het uitschakelen van de meldingen in de browser zet de abonnee in de status
revoked. - Recht op wissing: het verwijderen van een klantaccount in de BO verwijdert ook zijn gekoppelde subscribers.
- Stille uren: standaard 22 u – 8 u. Pas aan aan uw doelgroep (B2B = kantooruren, B2C = avond).
- Dagplafond: standaard 3 per dag. Daarboven is het uitschrijfpercentage zeer hoog.
17. Probleemoplossing
De opt-in wordt niet getoond
- Controleer of uw site op HTTPS draait (niet HTTP).
- Controleer of de VAPID-sleutels zijn gegenereerd (Settings).
- Controleer of de schakelaar Push notifications enabled is geactiveerd.
- Open de browserconsole (F12) en zoek naar fouten aan de kant van
dfpush-frontend.js. - Hebt u de vraag al geweigerd of genegeerd, dan blokkeert de cooldown gedurende N dagen. Wis de cookies van het domein om te resetten, of test in een andere browser.
De cron draait niet
- Roep de URL handmatig aan in uw browser: u moet een JSON met
success: truezien. Ziet u een403 invalid_token, dan is het token fout overgenomen. - Controleer de laatste uitvoering in het dashboard (Dashboard, blok System).
- Bij sommige hosts is de cURL-timeout van de crons 30 s. Is de wachtrij erg groot, verhoog dan de cron-frequentie naar elke 1 of 2 minuten om in kleinere batches te verwerken.
De meldingen vertrekken niet
- Tabblad Queue: staan de regels op pending, dan heeft de cron sinds hun aanmaak niet gedraaid.
- Staan ze op failed, klik dan op de regel om de HTTP-code en de foutmelding van de pushdienst te zien.
410 Gone= het abonnement is niet meer geldig (gebruiker heeft zich uitgeschreven of zijn browser gewist). De module zet de subscriber automatisch op expired.429 Too Many Requests= rate limit aan pushdienstzijde. De module probeert automatisch opnieuw met backoff.
De bestellingen worden niet toegeschreven
- Controleer of cookies niet worden geblokkeerd door de browser van de klant (privémodus, sommige anti-trackers).
- Het cookie verloopt na 30 dagen: een bestelling die 31 dagen na de klik wordt geplaatst, wordt niet toegeschreven.
- Ziet u
id_order = 0inps_dfpush_notificationsterwijl de bestelling is geplaatst, controleer dan of de hooksactionValidateOrdercorrect zijn geregistreerd (Modules → Hooks → actionValidateOrder).
SQL-fout met “LIMIT 1 LIMIT 1”
Interne bug, verholpen in 1.2.0 (Db::getValue en Db::getRow voegen automatisch hun eigen LIMIT 1 toe). Ziet u deze fout nog, controleer dan of u daadwerkelijk de laatste versie van de module hebt geïnstalleerd.
18. FAQ
Hoeveel abonnees kan de module aan?
De module heeft geen gecodeerde limiet. In de praktijk is de beperkende factor de uitvoeringstijd van de cron: op standaard shared hosting rekent u op ongeveer 50 verzendingen per minuut (beperkt door de pushdiensten). Voorzie voor 10.000 abonnees een cron elke 1 of 2 minuten tijdens de verzending van een grote campagne.
Is Safari iOS echt uitgesloten?
Safari iOS ondersteunt Web Push sinds iOS 16.4, maar alleen voor sites die als PWA op het startscherm zijn geïnstalleerd. In een klassieke Safari geeft de Notification-API undefined terug. Dat is een beperking van Apple, niet van de module.
Kan ik mijn abonnees migreren vanaf OneSignal of Firebase?
Nee. De push-endpoints zijn gebonden aan het VAPID-sleutelpaar dat bij de inschrijving is gebruikt. Wisselt u van paar, dan worden de bestaande abonnementen ongeldig. Een migratie zou een herinschrijving van de gebruikers vereisen.
Werkt de module op PrestaShop 1.7?
Nee, alleen PrestaShop 8.0 tot 9.x. Versie 1.7 gebruikt een andere adminarchitectuur die een aparte fork zou vereisen.
Kan ik de service worker aanpassen?
Ja, het bestand views/js/sw-template.js wordt gerenderd door de controller swjs.php en kan worden uitgebreid. Let op: elke wijziging van de service worker vereist een nieuwe register() aan clientzijde. Oude bezoekers behouden de vorige versie tot de browser de wijziging detecteert (doorgaans 24 u).
Hoe exporteer ik de abonnees?
Tabblad Subscribers, knop Export CSV. Het bestand bevat endpoint, browser, device, taal, land, inschrijvingsdatum en verzend-/kliktellers.
Support
Voor elke vraag die deze gids niet dekt, neemt u contact op met de DataFirefly-support. Voeg bij een bugmelding het detail van uw PrestaShop- en PHP-versie toe en de inhoud van het JSON-antwoord van de cron.