Skip to main content

B2B Mobility Toll Transaction Data 1.0.0

Krijg statuswijzigingen, onderhoud en versie-updates over dit API.

Shell B2B Mobility API voor toltransactiegegevens – Snelstartgids

API-versie: 1.0.0 | Authenticatie: OAuth 2.0 | Status: Productie

Overzicht

De Shell B2B Mobility API voor toltransactiegegevens is een op REST gebaseerde API die uitgebreide toegang biedt tot toltransactiegegevens en gerelateerde gegevens voor mobiliteitsklanten van Shell. Met deze API kunnen ontwikkelaars, filteren en analyseren van toltransactiegegevens via programmeerwegen voor het afstemmen van rekeningen, het controleren van facturen, onkostenbeheer en naleving van regelgeving.

Belangrijkste functies

  • Toltransactiegegevens ophalen op basis van accountnummer
  • Transacties filteren op datumbereik (van- en tot-datum)
  • Zoeken op factuurstatus en VRN (voertuigregistratienummer)
  • Geavanceerde sorteermogelijkheden op meerdere velden
  • Ondersteuning voor paginering bij grote datasets
  • Flexibele veldfiltering om de responsgrootte te optimaliseren
  • Uitgebreide tolgegevens, inclusief op- en afritpunten
  • Ondersteuning voor meerdere tolnetwerken en exploitanten

Authenticatie

OAuth 2.0 (standaard authenticatiemethode)

De Shell Toll Transaction Data API maakt gebruik van de OAuth 2.0 Client Credentials-stroom voor veilige authenticatie.

OAuth 2.0-stroom

Stap 1: Verkrijg een toegangstoken

Vraag een toegangstoken aan bij het OAuth-token-eindpunt:

POST /oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=je-client-id&client_secret=je-client-secret

Stap 2: Gebruik het toegangstoken in API-verzoeken

Authorization: Bearer 
Content-Type: application/json
RequestId: eb621f45-a543-4d9a-a934-2f223b263c42

Tokenbeheer

Best practices voor tokenbeheer:

  • Toegangstokens hebben een beperkte geldigheidsduur (meestal 15 minuten)
  • Implementeer token-caching om onnodige tokenverzoeken te voorkomen
  • Vernieuw tokens vóór het verstrijken van de geldigheidsduur om een ononderbroken dienstverlening te garanderen
  • Deel nooit je client_secret en verwerk deze niet in client-side code

Omgevingen

De API is beschikbaar in twee omgevingen:

Omgeving Basis-URL Doel
Productie https://api.shell.com/toll-data/v1 Live productieomgeving
Test (UAT) https://api-test.shell.com/toll-data/v1 Test- en ontwikkelomgeving

OAuth-token-URL's:

Omgeving Token-URL
Productie https://api.shell.com/v2/oauth/token
Test (UAT) https://api-test.shell.com/v2/oauth/token

Tip: Test uw integratie altijd in de Testomgeving voordat u naar productie overgaat.

Snel aan de slag

1. Verkrijg uw OAuth-inloggegevens

2. Verkrijg een toegangstoken

Verkrijg eerst je OAuth-toegangstoken:

cURL-voorbeeld:

curl -X POST https://api-test.shell.com/v2/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=je-client-id&client_secret=je-client-secret"

Antwoord:

{
  "access_token": "eyJhbGciOi*******5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 899
}

3. Doe je eerste API-verzoek

Voorbeeld: Zoek toltransacties

cURL-voorbeeld:

curl -X POST https://api-test.shell.com/toll-data/v1/transactions/search \
  -H "Authorization: Bearer eyJhbGci******NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json" \
  -H "RequestId: eb621f45-a543-4d9a-a934-2f223b263c42" \
  -d '{
    "Filters": {
 "ColCoCode": 86,
 "PayerNumber": "NL20016398",
 "AccountNumber": "NL20027701",
 "Filter": "All",
 "FromDate": "2026-01-01",
 "ToDate": "2026-01-31"
    },
    "Page": 1,
    "PageSize": 10
}'

Voorbeeld van een antwoord:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 150,
  "TotalPages": 15,
  "PageSize": 10,
  "Data": [
    {
 "NetworkDescription": "Societa Autostradali",
 "TollChargerCode": "410|610",
 "DelcoCode": "714",
 "DelcoName": "Shell Fleet Solutions Consorzio",
 "NetworkCode": "TLI",
 "Network": "euroShell Consortio",
      "Aankoopland": "Italië",
 "Aankooplandcode": "IT",
 "Kaartnummer": "707737*******334272",
      "CardId": 123456789,
 "CardGroupName": "Shell Fleet Solutions Consorzio",
 "VehicleRegistration": "KN 00000",
 "CostCenter": "100",
      "Systeeminvoerdatum": "20260123",
 "Systeeminvoertijd": "13:14:25",
 "Transactiedatum": "20260120",
 "Transactietijd": "10:30:00",
      "Boekingsdatum": "20260123",
 "Boekings tijd": "00:00:00",
      "Betalingsnummer": "NL20016398",
 "Rekeningnummer": "NL20027701",
 "Rekeningnaam": "Testrekeningnaam",
 "Startdatum": "20260120",
      "StartTime": "06:47:41",
 "EndDate": "20260120",
      "Eindtijd": "07:30:15",
 "Toegang tolstation": "ROMA NORD",
 "Uitgang tolstation": "BRENNERO",
 "Afgelegde afstand": "71,6",
      "Routebeschrijving": "ROMA NORD - BRENNERO",
 "Transactietype": "Wegbelasting",
 "Productcode": "14",
 "Productbeschrijving": "Wegbelasting",
 "NettobedragTransactie": "127,1",
 "BelastingTransactie": "0,0",
 "BrutoBedragTransactie": "127,1",
      "TransactionCurrencyCode": "EUR",
 "TransactionStatus": "Rapportage",
      "Factuurnummer": "8600397548",
 "Factuurdatum": "20260125",
 "Factuurstatus": "Gefactureerd",
 "Betaalmethode": "Achteraf betalen",
      "OBUSerialNumber": "00049000000836932426",
 "EmissionClass": "Euro 6",
      "ContractID": "fb75eb53-46eb-450b-862e-6045002c3fa8",
      "ShellTransactionID": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
      "TollOperator": "Toll4Europe",
 "TollDomain": "Toll4Europe",
      "TariffRelevantInformation": "Voertuigklasse: 2, Aantal assen: 2, Wegcategorie: Snelweg",
 "AdditionalTransactionInfo": "Locatie:1",
 "TCInvoiceNumber": "12343343",
      "TCInvoiceDate": "20260123"
    }
  ]
}

Referentie API-eindpunten

Toltransacties

Eindpunt Methode Beschrijving
/toll-data/v1/transactions/search POST Toltransactiegegevens ophalen met flexibele filteropties en paginering

Veelvoorkomende gebruiksscenario’s:

  • Toltransacties ophalen op basis van een datumbereik
  • Filteren op factuurstatus (Gefactureerd, Niet-gefactureerd, Alles)
  • Zoeken op kenteken (VRN)
  • Filteren op kaartgroep
  • Transacties sorteren op meerdere criteria
  • Selecteer specifieke velden om de responsgrootte te optimaliseren

Veelvoorkomende gebruiksscenario’s

In dit gedeelte worden veelvoorkomende bedrijfsscenario’s gekoppeld aan API-gebruikspatronen, zodat u snel kunt zien hoe u de API voor uw specifieke behoeften kunt inzetten.

Gebruiksscenario 1: Dagelijkse afstemming van toltransacties

Scenario: U moet dagelijks alle toltransacties van uw wagenpark afstemmen voor boekhoudkundige doeleinden.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: Dit eindpunt biedt uitgebreide details over toltransacties met flexibele datumfiltering, ondersteunt zowel gefactureerde als niet-gefactureerde transacties en bevat paginering voor grote datasets. Perfect voor dagelijkse afstemmingsworkflows.

Belangrijkste parameters:

  • FromDate en ToDate – Stel in op de datum van gisteren voor dagelijkse afstemming
  • Search.InvoiceStatus - Gebruik „All“ om zowel gefactureerde als nog niet-gefactureerde transacties mee te nemen
  • PageSize - Stel in op 100 voor efficiënte gegevensopvraging
  • Filter - Gebruik "Alles" om volledige transactiegegevens op te halen

Gebruiksscenario 2: Factuurvalidatie en -verificatie

Scenario: U hebt een factuur ontvangen en moet alle toltransactiegegevens en kosten verifiëren.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: De API biedt gedetailleerde informatie over toltransacties, waaronder factuurnummers, datums, bedragen en details over het tolnetwerk. Ideaal voor factuurvalidatie, aangezien deze overeenkomt met de factuurstructuur.

Belangrijkste parameters:

  • Search.InvoiceStatus - Stel in op "Invoiced" om alleen gefactureerde transacties op te halen
  • FromDate en ToDate - Stel in op de datums van de factuurperiode
  • Filter - Specificeer velden zoals "InvoiceNumber, InvoiceDate, TransactionGrossAmount" voor gerichte validatie

Gebruiksscenario 3: Analyse van het tolgebruik van voertuigen in het wagenpark

Scenario: U moet de tolgebruikspatronen voor specifieke voertuigen in uw wagenpark analyseren om routes te optimaliseren en tolkosten te verlagen.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: Met deze API kunt u filteren op voertuigregistratienummer (VRN) en biedt gedetailleerde route-informatie, waaronder op- en afritpunten, afgelegde afstand en tolheffingen. Perfect voor analyse op voertuigniveau.

Belangrijkste parameters:

  • Search.VehicleRegistrationNumber - Geef het te analyseren VRN op
  • FromDate en ToDate - Stel de analyseperiode in (bijv. de afgelopen 30 dagen)
  • Sorteeroptie - Gebruik 1 (transactiedatum oplopend) voor chronologische analyse
  • Filter - Neem velden op zoals "RouteDescription, DistanceDriven, TollGateEntry, TollGateExit, TransactionGrossAmount"

Gebruiksscenario 4: Kosten bijhouden per kaartgroep

Scenario: U beheert meerdere kaartgroepen en moet de tolkosten per kaartgroep bijhouden voor budgettoewijzing en rapportage per kostenplaats.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: De API ondersteunt het filteren op kaartgroep en bevat informatie over kostenplaatsen, waardoor deze ideaal is voor het bijhouden van uitgaven en rapportage op kaartgroepniveau.

Belangrijkste parameters:

  • Search.CardGroup - Geef de naam van de kaartgroep op of gebruik "All" voor alle groepen
  • FromDate en ToDate - Stel in op de rapportageperiode
  • Filter - Neem "CardGroupName, CostCenter, TransactionGrossAmount, TransactionNetAmount, TransactionTax"
  • Sorteeroptie - Gebruik 3 (transactiebedrag oplopend) voor onkostenanalyse

Gebruiksscenario 5: Tolrapportage voor meerdere rekeningen

Scenario: U beheert meerdere rekeningen en moet geconsolideerde tolopgaven genereren voor alle rekeningen.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: De API ondersteunt het opvragen van meerdere rekeningen (2-5 aanbevolen) in één verzoek, waardoor het aantal API-aanroepen wordt verminderd en de prestaties bij scenario’s met meerdere rekeningen worden verbeterd.

Belangrijkste parameters:

  • AccountNumber - Geef rekeningnummers op, gescheiden door komma’s (max. 2–5 voor optimale prestaties)
  • FromDate en ToDate - Stel in op de rapportageperiode
  • PageSize - Gebruik grotere paginagroottes (bijv. 100-500) voor betere prestaties

Gebruiksscenario 6: Monitoring van nog niet gefactureerde transacties

Scenario: U wilt nog niet gefactureerde toltransacties monitoren om toekomstige facturen te voorspellen en de cashflow te beheren.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: Met deze API kun je filteren op factuurstatus, waardoor je gemakkelijk nog niet gefactureerde transacties kunt identificeren en toekomstige kosten kunt inschatten.

Belangrijkste parameters:

  • Search.InvoiceStatus - Stel in op "Uninvoiced" voor nog te factureren kosten
  • FromDate en ToDate - Stel in op de huidige factureringsperiode
  • Filter - Neem "TransactionDate, TransactionGrossAmount, AccountNumber, VehicleRegistration"

Gebruiksscenario 7: Analyse van het gebruik van tolnetwerken

Scenario: U moet analyseren welke tolnetwerken en exploitanten uw wagenpark het vaakst gebruikt om betere tarieven te bedingen of routes te optimaliseren.

Aanbevolen API: /toll-data/v1/transactions/search

Waarom deze API: De API biedt gedetailleerde informatie over tolnetwerken, waaronder een netwerkbeschrijving, de tolexploitant, de tolheffingscode en de netwerkcode, ideaal voor het analyseren van het netwerkgebruik.

Belangrijkste parameters:

  • FromDate en ToDate - Stel in op de analyseperiode (bijv. per kwartaal)
  • Filter - Neem "NetworkDescription, TollOperator, TollChargerCode, Network, TransactionGrossAmount"
  • PageSize - Gebruik een grotere paginagrootte voor uitgebreide gegevensextractie

Gebruiksvoorbeelden

Voorbeeld 1: Toltransacties zoeken op rekening en datumbereik

Verzoek:

POST /toll-data/v1/transactions/search

{
  "Filters": {
    "ColCoCode": 86,
    "PayerNumber": "NL20016398",
    "AccountNumber": "NL20027701",
    "Filter": "All",
    "FromDate": "2026-01-01",
    "ToDate": "2026-01-31"
  },
  "Page": 1,
  "PageSize": 10
}

Antwoord:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Pagina": 1,
  "Totaal aantal records": 150,
  "Totaal aantal pagina's": 15,
  "PageSize": 10,
  "Data": [
    {
 "NetworkDescription": "Societa Autostradali",
 "TollChargerCode": "410|610",
      "DelcoCode": "714",
 "DelcoName": "Shell Fleet Solutions Consorzio",
 "NetworkCode": "TLI",
 "Network": "euroShell Consortio",
      "Aankoopland": "Italië",
 "Aankooplandcode": "IT",
 "Kaartnummer": "707737*******334272",
 "CardId": 123456789,
 "CardGroupName": "Shell Fleet Solutions Consorzio",
 "VehicleRegistration": "KN 00000",
      "Kostenplaats": "100",
 "Datum invoer in systeem": "20260123",
 "Tijdstip invoer in systeem": "13:14:25",
 "Transactiedatum": "20260120",
      "Transactietijd": "10:30:00",
 "Boekingsdatum": "20260123",
 "Boekingstijd": "00:00:00",
      "Betalingsnummer": "NL20016398",
 "Rekeningnummer": "NL20027701",
      "AccountName": "Test Account Name",
 "StartDate": "20260120",
 "StartTime": "06:47:41",
 "EndDate": "20260120",
 "EndTime": "07:30:15",
 "TollGateEntry": "ROMA NORD",
 "TollGateExit": "BRENNERO",
      "Afgelegde afstand": "71,6",
 "Routebeschrijving": "ROMA NORD - BRENNERO",
 "Transactietype": "Wegbelasting",
      "Productcode": "14",
 "Productbeschrijving": "Wegbelasting",
 "Nettobedrag transactie": "127,1",
 "Belasting transactie": "0,0",
 "TransactionGrossAmount": "127,1",
      "TransactionCurrencyCode": "EUR",
 "TransactionStatus": "Rapportage",
 "InvoiceNumber": "8600397548",
 "InvoiceDate": "20260125",
      "Factuurstatus": "Gefactureerd",
 "Betaalmethode": "Achteraf betalen",
 "OBU-serienummer": "00049000000836932426",
 "Emissieklasse": "Euro 6",
 "ContractID": "fb75eb53-46eb-450b-862e-6045002c3fa8",
 "ShellTransactionID": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
      "TollOperator": "Toll4Europe",
 "TollDomain": "Toll4Europe",
 "TariffRelevantInformation": "Voertuigklasse: 2, Aantal assen: 2, Wegcategorie: Snelweg",
 "AdditionalTransactionInfo": "Locatie:1",
 "TCInvoiceNumber": "12343343",
 "TCInvoiceDate": "20260123"
    }
  ]
}

Voorbeeld 2: Transacties filteren op kenteken (VRN)

Verzoek:

POST /toll-data/v1/transactions/search

{
  "Filters": {
    "ColCoCode": 86,
    "PayerNumber": "NL20016398",
    "AccountNumber": "NL20027701",
    "Filter": "VehicleRegistration, RouteDescription, TransactionGrossAmount, TransactionDate",
    "FromDate": "2026-01-01",
    "ToDate": "2026-03-31",
    "Search": {
 "VehicleRegistrationNumber": "KN 00000",
 "InvoiceStatus": "All"
    }
  },
  "Pagina": 1,
  "Paginagrootte": 50
}

Antwoord:

{
  "RequestId": "9d2dee33-7803-485a-a2b1-2c7538e597ee",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 45,
  "TotalPages": 1,
  "PageSize": 50,
  "Data": [
    {
 "VehicleRegistration": "KN 00000",
      "Routebeschrijving": "ROMA NORD - BRENNERO",
 "Bruto transactiebedrag": "127,1",
 "Transactiedatum": "20260120"
    },
    {
 "VehicleRegistration": "KN 00000",
 "RouteDescription": "MILANO EST - VERONA SUD",
 "TransactionGrossAmount": "85,4",
 "TransactionDate": "20260125"
    }
  ]
}

Voorbeeld 3: Zoeken op kaartgroep

Verzoek:

POST /toll-data/v1/transactions/search

{
  "Filters": {
    "ColCoCode": 86,
    "PayerNumber": "NL20016398",
    "AccountNumber": "NL20027701",
    "Filter": "CardGroupName, VehicleRegistration, TransactionGrossAmount, TransactionDate",
    "FromDate": "2026-01-01",
    "ToDate": "2026-01-31",
    "Search": {
 "CardGroup": "Shell Fleet Solutions Consorzio",
 "InvoiceStatus": "All"
    }
  },
  "Page": 1,
  "PageSize": 30
}

Antwoord:

{
  "RequestId": "5f1bded6-416d-4478-ab7f-33905d7b5d4b",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 87,
  "TotalPages": 3,
  "PageSize": 30,
  "Data": [
    {
 "CardGroupName": "Shell Fleet Solutions Consorzio",
      "VehicleRegistration": "KN 00000",
 "TransactionGrossAmount": "127,1",
      "TransactionDate": "20260120"
    },
    {
 "CardGroupName": "Shell Fleet Solutions Consorzio",
      "VehicleRegistration": "LM 11111",
 "TransactionGrossAmount": "95,8",
 "TransactionDate": "20260122"
    }
  ]
}

Voorbeeld 4: Meerdere accounts met specifieke velden

Verzoek:

POST /toll-data/v1/transactions/search

{
  "Filters": {
    "ColCoCode": 86,
    "PayerNumber": "NL20016398",
    "AccountNumber": "NL20027701, NL20027702",
    "Filter": "AccountNumber, AccountName, TransactionDate, TransactionGrossAmount, VehicleRegistration",
    "FromDate": "2026-01-01",
    "ToDate": "2026-01-31"
  },
  "Page": 1,
  "PageSize": 100
}

Antwoord:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 245,
  "TotalPages": 3,
  "PageSize": 100,
  "Data": [
    {
 "AccountNumber": "NL20027701",
 "AccountName": "Test Account Name",
 "TransactionDate": "20260120",
 "TransactionGrossAmount": "127,1",
 "Voertuigregistratie": "KN 00000"
    },
    {
 "Rekeningnummer": "NL20027702",
 "Rekeningnaam": "Tweede rekeningnaam",
      "TransactionDate": "20260121",
 "TransactionGrossAmount": "98,5",
 "VehicleRegistration": "PQ 22222"
    }
  ]
}

Foutafhandeling

Veelvoorkomende foutcodes

HTTP-status Foutcode Beschrijving Oplossing
200 N.v.t. Status: GESLAAGD N.v.t.
400 E0001 Validatiefout Controleer de verzoekparameters, zorg ervoor dat verplichte velden zijn ingevuld en geldig zijn
401 E0003 Geen toestemming Controleer of het OAuth-token geldig is en niet is verlopen
404 E0005 Niet gevonden Controleer of de URL van het eindpunt en de bron bestaan
500 E0002 Onbekende fout / Interne serverfout Neem contact op met de ondersteuning met het RequestId
503 E0012 Service niet beschikbaar / Verbindingsfout Probeer het na enige tijd opnieuw; neem contact op met de ondersteuning als het probleem aanhoudt

Voorbeeld van een foutmelding

Validatiefout (E0001):

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "FAILED",
  "Errors": [
    {
 "Code": "E0001",
 "Title": "Validatiefout",
 "Detail": "Ontbrekende / ongeldige waarde(n) voor: ColCoCode",
 "AdditionalInfo": null
    }
  ]
}

Fout wegens onbevoegdheid (E0003):

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "MISLUKT",
  "Fouten": [
    {
 "Code": "E0003",
 "Title": "Niet geautoriseerd",
 "Detail": "De opgegeven inloggegevens zijn ongeldig of de gebruiker heeft geen toegang tot de bewerking",
 "AdditionalInfo": null
    }
  ]
}

Aanbevolen werkwijzen

1. Gebruik OAuth 2.0-authenticatie

BELANGRIJK: Gebruik altijd OAuth 2.0-authenticatie. Implementeer goed tokenbeheer:

  • Sla toegangstokens op in de cache en hergebruik ze totdat ze verlopen zijn
  • Vernieuw tokens voordat ze verlopen (aanbevolen: 60 seconden van tevoren)
  • Sla clientgegevens veilig op (gebruik omgevingsvariabelen of een geheimenbeheerder)
  • Log nooit toegangstokens in en maak ze nooit openbaar in client-side code

2. Vermeld altijd een RequestId

Vermeld altijd een uniek RequestId (in UUID-formaat) in de header voor traceerbaarheid van begin tot eind. Dit is cruciaal voor probleemoplossing en ondersteuning.

3. Implementeer foutafhandeling

Implementeer robuuste foutafhandeling:

  • Controleer het Status-veld in elk antwoord
  • Log de RequestId voor het oplossen van problemen
  • Implementeer herhalingslogica voor tijdelijke fouten (503)
  • Verwerk validatiefouten (E0001) door invoerparameters te controleren

Ondersteuning & bronnen

Technische ondersteuning

Documentatie

Hulp krijgen

Geef het volgende op wanneer u contact opneemt met de ondersteuning:

  1. Uw client_id (deel nooit uw client_secret of toegangstokens)
  2. RequestId uit het API-antwoord
  3. Tijdstempel van het verzoek
  4. Omgeving (Productie/Test)
  5. Ontvangen foutcodes en foutmeldingen

Laatst bijgewerkt: 4 augustus 2026
Documentversie: 1.0
API-versie: 1.0.0

Over ons

Het Shell Developer Portal ondersteunt partners bij het aan de slag gaan met Shell API’s en het omzetten van ideeën in oplossingen die klaar zijn voor productie.

Shell-logo

Neem contact op met

Inloggen op je account

Vraag de AI-assistent naar de API’s en API-producten van Shell