DOCUMENTATIE VOOR DEVELOPERS

Referentie voor de developer-API van WeProfit

De API van WeProfit geeft toegang tot de webshopdata waarvoor je rechten hebt, voor je eigen rapportages en integraties. Vraag eerst de lijst met webshops op en haal daarna de bestel-, event- of winstdata op voor de webshop die je nodig hebt.

Authenticatie en het eerste verzoek

De basis-URL van de API is https://api.weprofit.com/v1/dev. Maak een persoonlijk toegangstoken aan in de kaart ‘API-tokens’ op de pagina ‘Ontwikkelaars’. Stuur het mee in de Authorization-header als Bearer-token. Bewaar het token in je serveromgeving, niet in JavaScript van je webshop of in een openbare repository.

Het token volgt de webshoprechten van de eigenaar ervan. Medewerkers hebben developertoegang en het relevante recht voor analytics of events nodig. Ingetrokken of verlopen tokens worden geweigerd.

Vraag de webshops op waartoe je toegang hebt. Zet WEPROFIT_API_TOKEN privé in je omgeving.
curl https://api.weprofit.com/v1/dev/stores \
  -H "Authorization: Bearer $WEPROFIT_API_TOKEN"

Kies een webshop uit het antwoord

Gebruik voor volgende verzoeken een ID die het stores-endpoint teruggeeft. De volgende waarden zijn illustratief en bevatten geen klantgegevens.

Illustratief antwoord van GET /stores
{
  "items": [{
    "id": "STORE_ID",
    "name": "Example store",
    "platform": "shopify",
    "currency": "USD",
    "timezone": "America/New_York",
    "role": "owner"
  }]
}

Endpoints voor rapportages

Alle paden hieronder zijn relatief ten opzichte van de API-basis en vereisen bearer-authenticatie. Vervang :storeId door de ID van een actieve webshop waartoe je toegang hebt. De tabel behandelt het uitlezen van rapportages. De REST API ondersteunt ook het bijwerken van advertentie-uitgaven en het beheren van webhookabonnementen; het is dus geen API die alleen kan lezen.

Endpoints van de rapportage-API van WeProfit
Methode en padDoelOptionele queryparameters
GET /meGebruikersidentiteit en niet-geheime metadata van het tokenGeen
GET /storesToegankelijke actieve webshops en hun ID’sGeen
GET /stores/:storeId/summaryOverzicht van bezoekers, sessies, aankopen, omzet, dekking en winstfrom, to
GET /stores/:storeId/ordersBestellingen, attributie en verzendstatus per netwerkfrom, to, limit, cursor en bestelfilters
GET /stores/:storeId/eventsGenormaliseerde events, bron, kanaal, toestemmingsstatus en waardefrom, to, limit, cursor en eventfilters
GET /stores/:storeId/profitOmzet, terugbetalingen, productkosten, transactiekosten, verzendkosten, uitgaven en nettowinstfrom, to
GET /stores/:storeId/profit/timeseriesDagelijkse reeksen van winst en kostenfrom, to
GET /stores/:storeId/profit/ad-spendUitgaven per dag, netwerk en campagnemonth, in de notatie YYYY-MM

Datums, filters en paginering

Geef from en to op als inclusieve UTC-datums in de notatie YYYY-MM-DD. Laat je ze weg, dan bestaat de rapportageperiode standaard uit vandaag en de zes dagen ervoor. Stel beide datums expliciet in voor herhaalbare vergelijkingen. Het ad-spend-endpoint gebruikt in plaats daarvan month, met standaard de huidige UTC-maand.

Lijsten met bestellingen en events geven standaard 50 rijen en accepteren er maximaal 200. De nieuwste resultaten staan bovenaan. Geef de teruggegeven nextCursor ongewijzigd mee om een volgende pagina op te halen. Data kan tijdens het pagineren veranderen, dus je krijgt geen bevroren momentopname.

  • Bestelfilters zijn onder meer order_id, status, financial_status, tracked, link_method, link_confidence, channel, currency, min_total, max_total en sent_to.
  • Eventfilters zijn onder meer event_name, event_id, source, channel, country, url_contains, consent_state, currency, min_value en max_value.
  • Beide lijsten ondersteunen visitor_id en session_id. Eventfilters ondersteunen ook checkout_token en cart_token.
Vraag winst op over een afgebakende periode, met een illustratieve webshop-ID
curl "https://api.weprofit.com/v1/dev/stores/STORE_ID/profit?from=2026-09-01&to=2026-09-07" \
  -H "Authorization: Bearer $WEPROFIT_API_TOKEN"

Lees meerdere webshops uit in één verzoek

GET /summary, /orders, /events, /profit en /profit/timeseries accepteren een verplichte stores-query met maximaal 50 webshop-ID’s, gescheiden door komma’s. Geef dezelfde datum- en filteropties mee als bij het overeenkomstige verzoek voor één webshop.

Batchantwoorden bevatten per webshop een eigen resultaat: geslaagd of met een fout. Een geweigerde webshop maakt de andere niet ongeldig. Bij geslaagde resultaten voor summary, orders en events staat de payload onder data; bij geslaagde resultaten voor profit staan de winstvelden naast storeId en ok. Het bestel- of eventresultaat van elke webshop heeft een eigen nextCursor.

Interpreteer winstvelden correct

Winstrapportages gebruiken vastgelegde en geschatte kosten. Geannuleerde bestellingen tellen niet mee in de winstberekening en worden apart gerapporteerd. De marge is null als de netto-omzet nul is.

Timeseries geeft dagen terug met bestellingen of advertentie-uitgaven, geen kalender die met nullen is aangevuld. De netProfit daarin houdt rekening met terugbetalingen, ook al heeft een timeseries-item geen apart veld voor terugbetalingen. Gebruik het geaggregeerde profit-endpoint als je het expliciete totaal aan terugbetalingen nodig hebt.

Rate limits en veelvoorkomende fouten

De huidige limieten zijn 240 verzoeken per minuut en 20.000 verzoeken per dag per token. Verlaag de frequentie van je verzoeken en gebruik een beperkt aantal nieuwe pogingen als je tegen de limiet aanloopt. Probeer het met ongeldige toegangsgegevens of rechten niet opnieuw zonder eerst de oorzaak op te lossen.

Afhandeling van API-fouten
HTTP-statusBetekenisVolgende stap
400 validation_errorOngeldige datums, filters of andere invoer in de queryCorrigeer de parameters van het verzoek.
401 unauthorizedOntbrekend, ingetrokken of verlopen tokenGebruik een actief token en de Bearer-header.
402 plan_requiredDe webshop heeft niet het vereiste abonnementControleer de facturering van de webshop en een eventuele beperking omdat de limiet is overschreden.
403 forbiddenOnvoldoende rechtenVraag de eigenaar om de toegang van de gebruiker van het token te controleren.
404 store_not_foundWebshop niet beschikbaar voor dit verzoekGebruik een toegankelijke, actieve ID uit GET /stores.
429 rate_limitedVerzoeklimiet van het token bereiktWacht even en verlaag het aantal verzoeken.

Geef je advertenties betere conversiedata.

Alle 10 netwerken inbegrepen. Abonnementen vanaf $19/maand per webshop.

Probeer 14 dagen gratis