SolidDeploy, terug naar de kennisbank
bol.com automation

De Beleidscontrole
Agent Setup

Een AI agent die je volledige bol.com listing doorloopt en toetst aan het officiële beleid, voordat je live gaat. Titel, omschrijving, afbeeldingen. Alles.

// hoe het werkt
01
Google Sheet → EANs inlezen
Het script leest je EANs uit het tabblad Policy Input. Zet de status op controleren om een check te triggeren.
02
bol.com API → volledige listing ophalen
Titel, omschrijving, specificaties én alle afbeeldingen worden opgehaald via de Retailer API en Assets API.
03
Claude API → tekst + vision in één call
Alle tekst én afbeeldingen gaan in één prompt naar Claude. Concrete output: exact welke woorden, afbeeldingen of claims een probleem zijn.
04
Resultaten → sheet + Slack melding
Elke overtreding wordt weggeschreven naar Policy Output met categorie, locatie, bewijs en ernst. Daarna een Slack melding.
// wat je krijgt
01
Installatie-instructies
Van repo opzetten tot eerste run. Inclusief Google Cloud Service Account setup stap voor stap.
02
Claude Skill file
Systemprompt met alle 15 officiële beleidsgronden. Direct inladen in claude.ai Skills.
03
Google Sheet template
Kant-en-klare structuur met Input en Output tabblad. Kopieer en je bent klaar.
04
Wekelijkse cron scheduler
Draait elke maandag 08:00 automatisch op de achtergrond.
// wat je nodig hebt
Bol.com Retailer account met API toegang, Client ID + Client Secret via seller dashboard onder Instellingen → API.
Anthropic API key, via console.anthropic.com. Minimaal $5 credits om mee te beginnen.
Google Cloud Service Account met toegang tot de Sheets API. Setup staat volledig uitgelegd in stap 3 van de installatie.
Slack webhook URL voor notificaties, via api.slack.com/apps → Incoming Webhooks.
Node.js v18+ op je machine.
// wat de agent controleert (officieel bol.com beleid, maart 2026)
tekst
Websites & contactVerboden: URLs, QR-codes, e-mailadressen, telefoonnummers in titel of beschrijving.
tekst
PrijzenVerboden: verwijzing naar prijzen, kortingen, aanbiedingen of prijsvergelijkingen.
tekst
BezorgingVerboden: claims over bezorgtijd of verzending. Bijv. "morgen in huis", "gratis verzending".
tekst
VerkoopkretenVerboden: op=op, goedkoop, 1+1 gratis, bestel nu, tijdelijk, actie, aanbieding.
tekst
DuurzaamheidsclaimsVerboden: milieuvriendelijk, eco, duurzamer, klimaatvriendelijk, CO2-neutraal, slaafvrij, verantwoord, en meer.
tekst
TaalVerboden: beschrijving niet volledig in het Nederlands.
tekst
Beschrijving te kortKwaliteitswaarschuwing bij minder dan 150 woorden.
afbeelding
KortingslabelsVerboden: kortingslabels of procentuele aanbiedingen op afbeeldingen.
afbeelding
WatermerkenVerboden: watermerken van verkoper of derden.
afbeelding
Logo's van derden, kritiekVerboden: App Store, Google Play, Apple, Samsung, Xbox, PlayStation, Adobe en andere externe merknamen.
afbeelding
Kieskeurig / ConsumentenbondVerboden: stickers of labels van Kieskeurig of Consumentenbond.
afbeelding
Promotionele tekst op afbeeldingVerboden: "koop nu", "goedkoop", "gratis verzending", "uitgebreide garantie" op afbeeldingen.
afbeelding
Generieke illustratiesVerboden: tekeningen die geen echte productfoto zijn.
afbeelding
Vergelijkingen, kritiekVerboden: vergelijkingen met andere producten, merken of websites.
afbeelding
Reviews in afbeeldingVerboden: sterren, klantcitaten of klantervaringen zichtbaar op afbeeldingen.
// installatie stap voor stap
1
Repository opzetten
Maak een nieuwe map aan en installeer alle dependencies.
mkdir policy-check-bot && cd policy-check-bot npm init -y npm install dotenv @anthropic-ai/sdk googleapis node-cron axios npm install -D typescript ts-node @types/node @types/node-cron
2
.env aanmaken
Maak een .env bestand aan in de projectmap. Zie stap 3 voor de Google credentials.
BOL_CLIENT_ID= BOL_CLIENT_SECRET= ANTHROPIC_API_KEY= GOOGLE_SHEETS_SPREADSHEET_ID= GOOGLE_SERVICE_ACCOUNT_EMAIL= GOOGLE_PRIVATE_KEY= SLACK_WEBHOOK_URL=
3
Google Service Account aanmaken
Dit is het onderdeel waar de meeste installatievragen over binnenkomen. Volg deze stappen exact.
1
Ga naar console.cloud.google.com en maak een nieuw project aan.
2
Ga naar APIs & Services → Library → zoek "Google Sheets API" → klik Enable.
3
Ga naar APIs & Services → Credentials → Create Credentials → Service Account.
4
Geef het service account een naam → Create and ContinueDone.
5
Klik op het service account → Keys → Add Key → JSON. Download het bestand.
6
Kopieer client_email naar GOOGLE_SERVICE_ACCOUNT_EMAIL in .env.
7
Kopieer private_key naar GOOGLE_PRIVATE_KEY. Zet tussen aanhalingstekens, behoud de \n karakters.
8
Open de Google Sheet → Delen → plak het client_email adres → geef Editor rechten.
Let op: De private_key zonder aanhalingstekens of zonder \n karakters is de meest voorkomende installatiefout.
4
Google Sheet structuur aanmaken
// Tabblad 1: Policy Input EAN | Product name | Status | Check date // Tabblad 2: Policy Output EAN | Product name | Category | Location | Violation | Evidence | Severity | Check date
Zet de status van te controleren EANs op controleren. Na de run wordt dit automatisch bijgewerkt naar checked.
5
Skill file uploaden in Claude
Ga naar claude.ai → Settings → Skills en upload het .skill bestand. Zie de skill preview hieronder.
6
Draaien
// Handmatig uitvoeren npx ts-node run-policy-check.ts // Wekelijkse cron (elke maandag 08:00, blijft actief na sluiten terminal) nohup node schedule-policy-check.ts &
// de skill file
bol-policy-check.skill
--- name: bol-policy-check description: Analyzes bol.com product listings for policy violations. --- Je bent een bol.com beleidscontrole agent. Analyseer de aangeleverde listing op overtredingen van het officiële bol.com partnerplatform beleid. Alle producttekst is in het Nederlands. Geef evidence en omschrijvingen terug in het Nederlands. Strict JSON output. Geen markdown. ## TEKSTREGELS WEBSITES & CONTACT Verboden in titel/beschrijving: URLs, QR-codes, e-mailadressen, telefoonnummers, externe website-verwijzingen. Uitzondering: contactgegevens in specificaties zijn wettelijk verplicht (DSA-verplichting) en mogen daar wél staan. PRIJZEN Verboden: prijsreferenties, kortingen, aanbiedingen, prijsvergelijkingen. BEZORGING Verboden: bezorgtijd- of verzendingsclaims. Bijv: "morgen in huis", "gratis verzending", "snelle levering". VERKOOPKRETEN Verboden: op=op, goedkoop, 1+1 gratis, bestel nu, tijdelijk, actie, aanbieding. Uitzondering: producteigenschappen met vergelijkbare woorden zijn GEEN overtreding. Bijv: "geen onderbrekingen", "tijdelijk gebruik", "actieve kool", "de koelkast voor elke situatie". Alleen vlaggen bij duidelijk promotionele intentie. DUURZAAMHEIDSCLAIMS Verboden (exacte bol.com lijst): milieuvriendelijk, eco, vriend van de natuur, ecologisch, duurzaam (als milieuclaim), duurzamer, goed voor het milieu, klimaatvriendelijk, niet vervuilend, biologisch afbreekbaar, emissievrij, koolstofarm, CO2-neutraal, klimaatneutraal, slaafvrij, bewust, verantwoord. Uitzondering TOEGESTAAN: "duurzaam hout", "duurzame kwaliteit", "recyclebaar", "energiebesparend", "70% gerecycled materiaal". TAAL Verboden: titel of beschrijving niet volledig in het Nederlands. Uitzondering: specificaties mogen Engelstalige veldnamen bevatten. BESCHRIJVING TE KORT Vlag bij minder dan 150 woorden. Type: short_description, severity: low. Evidence: "Beschrijving bevat X woorden (minimum 150)" ## AFBEELDINGSREGELS Nota bene: bol.com handhaaft per 1 juli 2025 NIET meer op witte achtergrond, modellen of stillevens. Onderstaande punten worden WEL actief gehandhaafd. KORTINGSLABELS Verboden: kortingslabels of procentuele aanbiedingen op afbeeldingen. WATERMERKEN Verboden: watermerken van verkoper of derden. LOGO'S VAN DERDEN, critical Verboden: App Store, Google Play, Apple, Samsung, Xbox, PlayStation, Android, iOS, Adobe, Alexa, Google Assistant, Coca-Cola, Starbucks, en alle andere externe merknamen of logo's in afbeeldingen. KIESKEURIG / CONSUMENTENBOND Verboden: stickers of labels van Kieskeurig of Consumentenbond. PROMOTIONELE TEKST OP AFBEELDING Verboden: "koop nu", "goedkoop", "gratis verzending", "uitgebreide garantie", "aanpasbaar" op afbeeldingen. GENERIEKE ILLUSTRATIES Verboden: illustraties die geen echte productfoto zijn. Uitzondering: categorieën Hardware en Voertuigen & onderdelen. VERGELIJKINGEN, critical Verboden: vergelijkingen met andere producten, merken of websites. Bijv: "wij vs. concurrent" tabellen, "andere merken" kolommen. REVIEWS IN AFBEELDING Verboden: sterren, klantcitaten, "1000+ tevreden klanten" in afbeeldingen. ## OUTPUT FORMAT Geef ALLEEN strict JSON terug. Geen markdown. Geen uitleg. Geen overtredingen = lege array []. [ { "category": "text|image", "location": "title|description|specifications|image_1|image_2|...", "violation": "websites|prices|delivery|sales_slogan|sustainability| language|short_description|discount_label|watermerk| third_party_logo|kieskeurig|promotional_text| illustration|comparison|review", "evidence": "exacte Nederlandse tekst of beschrijving van wat zichtbaar is", "severity": "critical|high|low" } ] Severity: critical = logo van derde partij, vergelijking met concurrent high = URL in tekst, review in afbeelding, promotionele tekst op afbeelding, taalovertreding low = verkoopkreet, duurzaamheidsclaim, prijsreferentie, leveringsclaim, korte beschrijving
// onderhoud
📋
Beleidsregels actueel houdenHet bol.com beleid wijzigt af en toe. Controleer periodiek partnerplatform.bol.com en pas de systemprompt aan als regels veranderen.
💳
Anthropic API credits bijhoudenBij een 402-fout of insufficient_credits error: ga naar console.anthropic.com en koop credits bij.
🔄
Cron herstarten na herstart machineVoer nohup node schedule-policy-check.ts & opnieuw uit vanuit de projectmap.
Job Lenselink

Wil je dit of andere processen automatiseren?

Ik bouw automations voor bol.com sellers die willen groeien zonder extra mensen. Dit soort systemen zijn één voorbeeld van wat er mogelijk is.

Listings beschermen automatisch beleid checken voordat je live gaat
Advertenties optimaliseren dagelijkse aanbevelingen op basis van je eigen data
Operatie automatiseren reviews, retours, voorraad, rapportages
Boek een gratis gesprek
30 minuten · gratis
ik kijk mee wat er bij jou te automatiseren valt