MUNK ADVERTISER ACADEMYSTAP-VOOR-STAP HANDLEIDING

Van product naar professionele affiliate-advertentie

Deze interactieve handleiding laat zien welke campagnetypen je kunt aanbieden, hoe affiliates jouw materiaal plaatsen en hoe je tracking en conversies veilig aansluit. Volg de stappen in volgorde.

01 / WORKFLOW

Jouw volledige advertentie-workflow

Kies het campagnedoel dat bij je webshop past. De benodigde techniek verschilt per doel.

Voortgang1 / 7
STEP 01

1. Kies je advertentietype

Maak een productcampagne voor één product of aanbieding, een bannercampagne voor beeldmateriaal of een Social Ads-campagne voor deelbare promoties. Vul de echte productpagina in, niet alleen je homepage.

Product campaignBanner campaignSocial Ads
STEP 02

2. Kies hoe je wilt betalen

Klik: MUNK registreert de trackingklik. Verkoop: je webshop stuurt na een definitief betaalde order een server-side conversie. Registratie: stuur na een bevestigde registratie een conversie met bedrag 0. Verkoop en registratie vereisen geverifieerde website- en API-integratie.

ClickSaleRegistration
STEP 03

3. Voeg promotiemateriaal toe

Upload een banner of productafbeelding en geef een duidelijke titel, beschrijving en voorwaarden. Affiliates gebruiken hun eigen persoonlijke MUNK-link als klikbestemming. Plaats nooit je API-sleutel in materiaal, HTML of een link.

M
Wireless Audio ProAdvertentie · Gesponsord
↗
STEP 04

4. Verifieer je website

Open Website & API-verificatie in je dashboard. Kies de HTML-bestandsmethode of metatag-methode, plaats de unieke verificatie op je eigen domein en laat MUNK de website controleren.

Website verifiëren →
STEP 05

5. Maak en bewaar je API-sleutel

Maak in API-sleutels een sleutel met de scope conversion:write. Kopieer hem direct en bewaar hem als geheim op je webshopserver, bijvoorbeeld als environment variable of in een bestand buiten de publieke webroot. MUNK toont de volledige sleutel later niet opnieuw.

API keys →
STEP 06

6. Plaats de API-koppeling op de backend

De landingspagina bewaart munk_click_id server-side bij de sessie, winkelwagen of order. De orderbackend stuurt pas na definitieve betaalbevestiging een ondertekende postback naar MUNK. Gebruik voor registraties de bevestigde registratie-hook. Plaats dit niet in browser-JavaScript.

🔒 ALLEEN OP DE WEBSHOPSERVER
STEP 07

7. Test en publiceer

Test met een eigen campagne, testklik en testorder. Controleer of de klik-ID aan de order gekoppeld blijft, de API HTTP 201 teruggeeft en de conversie als In beoordeling verschijnt. Laat een beheerder de order controleren.

✓ HTTP 201 · 201 — ontvangen; conversie staat op In beoordeling. Dit is nog geen definitieve commissie.
02 / CREATIVE PREVIEW

Zo kan jouw advertentie eruitzien

Dit zijn voorbeeldweergaven van advertentieformaten die een affiliate op zijn website kan plaatsen. De uiteindelijke stijl hangt af van de website van de affiliate. De klikbestemming is altijd de persoonlijke MUNK-trackinglink.

BANNERADVERTENTIE

Voorbeeld van plaatsing: Bannerblok

PRODUCT / NATIVE AD
MW
Advertentie · Gesponsord

Wireless Audio Pro

Draadloze audio met helder geluid, lange batterijduur en compact oplaaddoosje.

Bekijk aanbieding ↗

Voorbeeld van plaatsing: Inhoud / mobiele feed

SOCIAL PROMOTIE

Social Ads creative + personal MUNK tracking link

ⓘ Affiliate-link: de websitebeheerder kan een vergoeding ontvangen als je via deze link koopt.

03 / TECHNICAL SETUP

Waar horen API-sleutel en code?

API-sleutel, HMAC-handtekening en postbackcode horen uitsluitend in de server-side backend. Nooit in de browser, broncode, publieke repository, afbeelding of affiliate-link.

⌑
ALLEEN OP DE WEBSHOPSERVER

API-sleutel, HMAC-handtekening en postbackcode horen uitsluitend in de server-side backend. Nooit in de browser, broncode, publieke repository, afbeelding of affiliate-link.

A

A. Geheim opslaan op de server

Gebruik bij voorkeur hosting environment variables. Als je een configuratiebestand gebruikt, plaats het buiten public_html, www of httpdocs en beperk leesrechten.

Server environment
MUNK_API_KEY=munk_YOUR_PRIVATE_API_KEY
B

B. Click-ID bewaren op de landingspagina

De bezoeker komt via de MUNK-link binnen met munk_click_id. Valideer het formaat en bewaar de waarde server-side. Koppel hem bij voorkeur aan de winkelwagen/order zodat hij niet verloren gaat tijdens het afrekenen.

landing-page.php · server-side
<?php
if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}
$clickId = (string) ($_GET['munk_click_id'] ?? '');
if (preg_match('/^[a-f0-9]{32}$/', $clickId)) {
    $_SESSION['munk_click_id'] = $clickId;
}
C

C. Conversie versturen na bevestiging

Onderstaand voorbeeld toont de kern van de ondertekening. Integreer dit in de orderstatus-hook van je webshop. De exacte hook verschilt per webshopsoftware. Verzend nooit bij een mislukte, geannuleerde of alleen aangemaakte bestelling.

order-paid-hook.php · server-side example
<?php
$apiKey = getenv('MUNK_API_KEY');
$timestamp = (string) time();
$payload = json_encode([
    'click_id' => $storedClickId,       // stored server-side
    'conversion_ref' => $uniqueOrderId, // unique order ID
    'conversion_type' => 'sale',        // or 'registration'
    'gross_amount' => $verifiedTotal    // registration: 0
], JSON_UNESCAPED_SLASHES);
$signature = hash_hmac('sha256', $timestamp . '.' . $payload, $apiKey);

$ch = curl_init('/api/v1/conversion.php');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Munk-Key: ' . $apiKey,
        'X-Munk-Timestamp: ' . $timestamp,
        'X-Munk-Signature: ' . $signature
    ]
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false) { error_log('MUNK postback transport failed'); }
curl_close($ch);
// Store the result; retry with the SAME conversion_ref on timeout.
MUNK Conversion API endpointPOST /api/v1/conversion.php

Headers: X-Munk-Key, X-Munk-Timestamp, X-Munk-Signature · Scope: conversion:write · HMAC-SHA256 of timestamp.raw_json_body

API-reacties begrijpen

201 201 — ontvangen; conversie staat op In beoordeling. Dit is nog geen definitieve commissie.

401 401 — controleer API-sleutel, timestamp en HMAC-handtekening.

404 404 — klik-ID niet gevonden of hoort niet bij jouw adverteerdersaccount.

409 409 — campagne niet geschikt, budget niet beschikbaar of dubbele orderreferentie.

422 422 — controleer de velden en het conversietype.

429 429 — API-limiet bereikt; probeer later opnieuw met dezelfde unieke orderreferentie.

04 / SECURITY

Veiligheidschecklist

✓

API-sleutel alleen op de backend; nooit in HTML of JavaScript.

✓

Gebruik HTTPS en valideer de 32-tekens click-ID.

✓

Sla click-ID server-side op en vertrouw geen omzetbedrag uit de browser.

✓

Gebruik een unieke, stabiele orderreferentie en voorkom dubbele postbacks.

✓

Stuur alleen na betaalbevestiging of bevestigde registratie.

✓

Log nooit API-sleutels, handtekeningen of volledige klantgegevens.

✓

Trek een gelekte sleutel direct in en maak een nieuwe.

ⓘ Belangrijk om te weten

Een API-postback is een melding van jouw webshopserver. MUNK kan zonder onafhankelijke betaalproviderkoppeling niet zelfstandig bewijzen dat het geld is ontvangen. Conversies worden daarom eerst als In beoordeling geregistreerd. De campagnevergoeding bepaalt de affiliatecommissie; gross_amount is orderinformatie en stelt de commissie niet automatisch vast.

MUNK / READY TO LAUNCH

Je bent klaar

Domein geverifieerd, API getest en een testorder gecontroleerd? Dan kun je je campagne ter beoordeling aanbieden.