Skip to main content

B2B Mobility Toll Transaction Data 1.0.0

Ottenere aggiornamenti sullo stato, la manutenzione e la versione di questo API.

API Shell B2B Mobility per i dati delle transazioni autostradali - Guida rapida

Versione API: 1.0.0 | Autenticazione: OAuth 2.0 | Stato: Produzione

Panoramica

L’API Shell B2B Mobility per i dati delle transazioni relative ai pedaggi è un’API basata su REST che fornisce un accesso completo ai registri delle transazioni relative ai pedaggi e ai dati correlati per i clienti della mobilità Shell. Questa API consente agli sviluppatori di recuperare, filtrare e analizzare i dati delle transazioni relative ai pedaggi a livello di programmazione per la riconciliazione dei conti, la verifica della fatturazione, la gestione delle spese e i requisiti di conformità.

Caratteristiche principali

  • Recupero dei dati delle transazioni relative ai pedaggi in base al numero di conto
  • Filtrare le transazioni per intervallo di date (date di inizio e fine)
  • Ricerca in base allo stato della fattura e al VRN (numero di immatricolazione del veicolo)
  • Funzionalità di ordinamento avanzate su più campi
  • Supporto dell’impaginazione per set di dati di grandi dimensioni
  • Filtraggio flessibile dei campi per ottimizzare il payload della risposta
  • Dettagli completi sui pedaggi, compresi i punti di entrata/uscita
  • Supporto per più reti e operatori di pedaggio

Autenticazione

OAuth 2.0 (metodo di autenticazione standard)

L’API Shell per i dati delle transazioni di pedaggio utilizza il flusso delle credenziali client OAuth 2.0 per un’autenticazione sicura.

Flusso OAuth 2.0

Passaggio 1: Ottenere il token di accesso

Richiedere un token di accesso dall’endpoint dei token OAuth:

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

grant_type=client_credentials&client_id=il-tuo-id-client&client_secret=il-tuo-segreto-del-client

Passaggio 2: utilizzare il token di accesso nelle richieste API

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

Gestione dei token

Migliori pratiche per la gestione dei token:

  • I token di accesso hanno una durata limitata (in genere 15 minuti)
  • Implementare la memorizzazione dei token nella cache per evitare richieste di token non necessarie
  • Aggiornare i token prima della scadenza per garantire un servizio ininterrotto
  • Non condividere mai il proprio client_secret né incorporarlo nel codice lato client

Ambienti

L’API è disponibile in due ambienti:

Ambiente URL di base Scopo
Produzione https://api.shell.com/toll-data/v1 Ambiente di produzione live
Test (UAT) https://api-test.shell.com/toll-data/v1 Ambiente di test e sviluppo

URL dei token OAuth:

Ambiente URL del token
Produzione https://api.shell.com/v2/oauth/token
Test (UAT) https://api-test.shell.com/v2/oauth/token

Suggerimento: Verifica sempre l’integrazione nell’ambiente di test prima di passare alla produzione.

Guida rapida

1. Ottieni le tue credenziali OAuth

2. Ottenere il token di accesso

Per prima cosa, ottieni il tuo token di accesso OAuth:

Esempio cURL:

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=il-tuo-id-cliente&client_secret=il-tuo-segreto-cliente"

Risposta:

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

3. Effettua la tua prima richiesta API

Esempio: Ricerca delle transazioni relative ai pedaggi

Esempio con cURL:

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
}'

Risposta di esempio:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 150,
  "TotalPages": 15,
  "PageSize": 10,
  "Data": [
    {
 "NetworkDescription": "Società Autostradali",
 "TollChargerCode": "410|610",
 "DelcoCode": "714",
      "NomeDelco": "Shell Fleet Solutions Consorzio",
 "CodiceRete": "TLI",
 "Rete": "euroShell Consortio",
 "PaeseDiAcquisto": "Italia",
 "CodicePaeseDiAcquisto": "IT",
      "CardNumber": "707737*******334272",
 "CardId": 123456789,
 "CardGroupName": "Shell Fleet Solutions Consorzio",
      "TargaVeicolo": "KN 00000",
 "CentroDiCosto": "100",
 "DataInserimentoSistema": "20260123",
 "OraInserimentoSistema": "13:14:25",
      "DataTransazione": "20260120",
 "OraTransazione": "10:30:00",
      "Data di registrazione": "20260123",
 "Ora di registrazione": "00:00:00",
 "Numero del pagatore": "NL20016398",
      "AccountNumber": "NL20027701",
 "AccountName": "Nome conto di prova",
 "StartDate": "20260120",
 "StartTime": "06:47:41",
      "DataFine": "20260120",
 "OraFine": "07:30:15",
 "EntrataCasello": "ROMA NORD",
      "TollGateExit": "BRENNERO",
 "DistanceDriven": "71,6",
 "RouteDescription": "ROMA NORD - BRENNERO",
 "TransactionType": "Pedaggio",
      "CodiceProdotto": "14",
 "DescrizioneProdotto": "Pedaggio",
 "ImportoNettoTransazione": "127,1",
 "ImpostaTransazione": "0,0",
 "ImportoLordoTransazione": "127,1",
 "CodiceValutaTransazione": "EUR",
 "StatoTransazione": "Segnalazione",
      "NumeroFattura": "8600397548",
 "DataFattura": "20260125",
 "StatoFattura": "Fatturata",
      "MetodoDiPagamento": "Pagamento posticipato",
 "NumeroDiSerieOBU": "00049000000836932426",
      "Classe di emissione": "Euro 6",
 "ID contratto": "fb75eb53-46eb-450b-862e-6045002c3fa8",
      "ID transazione Shell": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
 "Gestore pedaggio": "Toll4Europe",
      "TollDomain": "Toll4Europe",
 "TariffRelevantInformation": "Classe del veicolo: 2, Numero di assi: 2, Categoria stradale: Autostrada",
      "AdditionalTransactionInfo": "Posizione: 1",
 "TCInvoiceNumber": "12343343",
 "TCInvoiceDate": "20260123"
    }
  ]
}

Riferimento agli endpoint API

Transazioni di pedaggio

Endpoint Metodo Descrizione
/toll-data/v1/transactions/search POST Recupera i dati delle transazioni di pedaggio con filtri e impaginazione flessibili

Casi d’uso comuni:

  • Recupero delle transazioni relative ai pedaggi per intervallo di date
  • Filtro in base allo stato della fattura (Fatturate, Non fatturate, Tutte)
  • Cerca per numero di immatricolazione del veicolo (VRN)
  • Filtra per gruppo di carte
  • Ordina le transazioni in base a più criteri
  • Seleziona campi specifici per ottimizzare la dimensione della risposta

Casi d'uso comuni

Questa sezione mette in relazione scenari aziendali comuni con i modelli di utilizzo dell’API per aiutarti a identificare rapidamente come utilizzare l’API in base alle tue esigenze specifiche.

Caso d’uso 1: Riconciliazione giornaliera delle transazioni di pedaggio

Scenario: È necessario riconciliare quotidianamente tutte le transazioni relative ai pedaggi della propria flotta a fini contabili.

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

Perché questa API: Questo endpoint fornisce dettagli completi sulle transazioni relative ai pedaggi con filtri flessibili per data, supporta sia le transazioni fatturate che quelle non fatturate e include l’impaginazione per set di dati di grandi dimensioni. Perfetto per i flussi di lavoro di riconciliazione giornalieri.

Parametri chiave:

  • FromDate e ToDate - Impostare sulla data di ieri per la riconciliazione giornaliera
  • Search.InvoiceStatus - Utilizzare "Tutto" per includere sia le transazioni fatturate che quelle non fatturate
  • PageSize - Impostare su 100 per un recupero efficiente dei dati
  • Filtro - Utilizzare "Tutto" per ottenere i dettagli completi della transazione

Caso d'uso 2: Convalida e verifica delle fatture

Scenario: Hai ricevuto una fattura e devi verificare tutti i dettagli e gli addebiti relativi alle transazioni di pedaggio.

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

Perché questa API: L’API fornisce informazioni dettagliate sulle transazioni relative al pedaggio, inclusi numeri di fattura, date, importi e dettagli sulla rete di pedaggio. Ideale per la convalida delle fatture poiché corrisponde alla struttura della fattura.

Parametri chiave:

  • Search.InvoiceStatus - Impostare su "Invoiced" per recuperare solo le transazioni fatturate
  • FromDate e ToDate - Impostare le date del periodo di fatturazione
  • Filtro - Specificare campi come "InvoiceNumber, InvoiceDate, TransactionGrossAmount" per una convalida mirata

Caso d’uso 3: Analisi dell’utilizzo dei pedaggi da parte dei veicoli della flotta

Scenario: È necessario analizzare i modelli di utilizzo dei pedaggi per veicoli specifici della propria flotta al fine di ottimizzare i percorsi e ridurre i costi dei pedaggi.

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

Perché questa API: L’API consente di filtrare in base al numero di immatricolazione del veicolo (VRN) e fornisce informazioni dettagliate sul percorso, inclusi i punti di entrata/uscita, la distanza percorsa e gli importi dei pedaggi. Perfetta per l’analisi a livello di veicolo.

Parametri chiave:

  • Search.VehicleRegistrationNumber - Specificare il VRN da analizzare
  • FromDate e ToDate - Imposta il periodo di analisi (ad es., ultimi 30 giorni)
  • SortOption - Impostare 1 (Data transazione in ordine crescente) per un’analisi cronologica
  • Filtro - Includi campi come "RouteDescription, DistanceDriven, TollGateEntry, TollGateExit, TransactionGrossAmount"

Caso d'uso 4: Monitoraggio delle spese per gruppo di carte

Scenario: Gestisci più gruppi di carte e devi monitorare le spese relative ai pedaggi per ciascun gruppo di carte ai fini dell’allocazione del budget e della rendicontazione per centro di costo.

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

Perché questa API: L’API supporta il filtraggio per gruppo di carte e include informazioni sui centri di costo, rendendola ideale per il monitoraggio delle spese e la rendicontazione a livello di gruppo di carte.

Parametri chiave:

  • Search.CardGroup - Specificare il nome del gruppo di carte oppure utilizzare "All" per tutti i gruppi
  • FromDate e ToDate - Impostare sul periodo di rendicontazione
  • Filtro - Includi "CardGroupName, CostCenter, TransactionGrossAmount, TransactionNetAmount, TransactionTax"
  • Opzione di ordinamento - Impostare 3 (Importo della transazione in ordine crescente) per l’analisi delle spese

Caso d’uso 5: Reportage sui pedaggi su più conti

Scenario: Gestisci più conti e devi generare report consolidati sui pedaggi relativi a tutti i conti.

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

Perché questa API: L’API supporta l’interrogazione di più conti (consigliati da 2 a 5) in un’unica richiesta, riducendo le chiamate API e migliorando le prestazioni negli scenari con più conti.

Parametri chiave:

  • AccountNumber - Fornire i numeri di conto separati da virgola (max 2-5 per prestazioni ottimali)
  • FromDate e ToDate - Impostare il periodo di rendicontazione
  • PageSize - Utilizzare dimensioni di pagina maggiori (ad es. 100-500) per prestazioni migliori

Caso d’uso 6: Monitoraggio delle transazioni non fatturate

Scenario: Si desidera monitorare le transazioni di pedaggio non fatturate per prevedere le fatture imminenti e gestire il flusso di cassa.

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

Perché questa API: L’API consente di filtrare in base allo stato della fattura, rendendo facile identificare le transazioni non fatturate e stimare gli addebiti imminenti.

Parametri chiave:

  • Search.InvoiceStatus - Impostare su "Non fatturato" per gli addebiti in sospeso
  • FromDate e ToDate - Impostare sul periodo di fatturazione corrente
  • Filtro - Includere "TransactionDate, TransactionGrossAmount, AccountNumber, VehicleRegistration"

Caso d’uso 7: Analisi dell’utilizzo della rete a pedaggio

Scenario: È necessario analizzare quali reti a pedaggio e quali gestori la propria flotta utilizza più frequentemente per negoziare tariffe migliori o ottimizzare i percorsi.

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

Perché questa API: L’API fornisce informazioni dettagliate sulle reti a pedaggio, tra cui la descrizione della rete, l’operatore del pedaggio, il codice dell’ente di riscossione e il codice della rete, perfette per l’analisi dell’utilizzo della rete.

Parametri chiave:

  • FromDate e ToDate - Impostare il periodo di analisi (ad es., trimestrale)
  • Filtro - Includere "NetworkDescription, TollOperator, TollChargerCode, Network, TransactionGrossAmount"
  • PageSize - Utilizzare una dimensione della pagina maggiore per un'estrazione completa dei dati

Esempi di utilizzo

Esempio 1: Ricerca delle transazioni di pedaggio per conto e intervallo di date

Richiesta:

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
}

Risposta:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 150,
  "TotalPages": 15,
  "PageSize": 10,
  "Data": [
    {
 "NetworkDescription": "Società Autostradali",
 "TollChargerCode": "410|610",
      "CodiceDelco": "714",
 "NomeDelco": "Shell Fleet Solutions Consorzio",
 "CodiceRete": "TLI",
 "Rete": "euroShell Consortio",
 "PaeseDiAcquisto": "Italia",
      "PurchasedInCountryCode": "IT",
 "CardNumber": "707737*******334272",
      "ID della carta": 123456789,
 "Nome del gruppo di carte": "Shell Fleet Solutions Consorzio",
 "Targa del veicolo": "KN 00000",
      "Centro di costo": "100",
 "Data di inserimento nel sistema": "20260123",
 "Ora di inserimento nel sistema": "13:14:25",
 "Data della transazione": "20260120",
      "OraTransazione": "10:30:00",
 "DataRegistrazione": "20260123",
 "OraRegistrazione": "00:00:00",
 "NumeroPagatore": "NL20016398",
      "AccountNumber": "NL20027701",
 "AccountName": "Nome conto di prova",
 "StartDate": "20260120",
 "StartTime": "06:47:41",
      "DataFine": "20260120",
 "OraFine": "07:30:15",
 "EntrataCasello": "ROMA NORD",
 "UscitaCasello": "BRENNERO",
      "Distanza percorsa": "71,6",
 "Descrizione percorso": "ROMA NORD - BRENNERO",
 "Tipo di transazione": "Pedaggio",
 "Codice prodotto": "14",
      "Descrizione del prodotto": "Pedaggio",
 "Importo netto della transazione": "127,1",
 "Imposta sulla transazione": "0,0",
 "Importo lordo della transazione": "127,1",
      "CodiceValutaTransazione": "EUR",
 "StatoTransazione": "Rendicontazione",
 "NumeroFattura": "8600397548",
 "DataFattura": "20260125",
      "Stato della fattura": "Fatturato",
 "Metodo di pagamento": "Pagamento posticipato",
 "Numero di serie OBU": "00049000000836932426",
 "Classe di emissioni": "Euro 6",
      "IDContratto": "fb75eb53-46eb-450b-862e-6045002c3fa8",
 "IDTransazioneShell": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
 "Gestore del pedaggio": "Toll4Europe",
      "TollDomain": "Toll4Europe",
 "TariffRelevantInformation": "Classe del veicolo: 2, Numero di assi: 2, Categoria stradale: Autostrada",
 "AdditionalTransactionInfo": "Posizione: 1",
      "TCInvoiceNumber": "12343343",
 "TCInvoiceDate": "20260123"
    }
  ]
}

Esempio 2: Filtrare le transazioni in base al numero di immatricolazione del veicolo (VRN)

Richiesta:

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"
    }
  },
  "Page": 1,
  "PageSize": 50
}

Risposta:

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

Esempio 3: Ricerca per gruppo di carte

Richiesta:

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
}

Risposta:

{
  "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",
      "DataTransazione": "20260120"
    },
    {
 "NomeGruppoCarte": "Shell Fleet Solutions Consorzio",
 "TargaVeicolo": "LM 11111",
      "TransactionGrossAmount": "95,8",
 "TransactionDate": "20260122"
    }
  ]
}

Esempio 4: più conti con campi specifici

Richiesta:

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"
  },
  "Pagina": 1,
  "PageSize": 100
}

Risposta:

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "SUCCESS",
  "Page": 1,
  "TotalRecords": 245,
  "TotalPages": 3,
  "PageSize": 100,
  "Data": [
    {
 "AccountNumber": "NL20027701",
      "AccountName": "Nome conto di prova",
 "TransactionDate": "20260120",
 "TransactionGrossAmount": "127,1",
 "VehicleRegistration": "KN 00000"
    },
    {
 "AccountNumber": "NL20027702",
 "AccountName": "Nome secondo conto",
 "TransactionDate": "20260121",
 "TransactionGrossAmount": "98,5",
      "VehicleRegistration": "PQ 22222"
    }
  ]
}

Gestione degli errori

Codici di errore comuni

Stato HTTP Codice di errore Descrizione Soluzione
200 N/A Stato: SUCCESSO N/A
400 E0001 Errore di convalida Verificare i parametri della richiesta, assicurarsi che i campi obbligatori siano compilati e validi
401 E0003 Non autorizzato Verificare che il token OAuth sia valido e non sia scaduto
404 E0005 Non trovato Verificare l’URL dell’endpoint e che la risorsa esista
500 E0002 Errore sconosciuto / Errore interno del server Contattare l’assistenza fornendo l’ID richiesta
503 E0012 Servizio non disponibile / Errore di connettività Riprovare dopo un po’ di tempo; se il problema persiste, contattare l’assistenza

Esempio di risposta di errore

Errore di convalida (E0001):

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "FAILED",
  "Errors": [
    {
 "Code": "E0001",
 "Title": "Errore di convalida",
      "Detail": "Valori mancanti o non validi per: ColCoCode",
 "AdditionalInfo": null
    }
  ]
}

Errore di autorizzazione (E0003):

{
  "RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
  "Status": "FAILED",
  "Errors": [
    {
 "Code": "E0003",
 "Title": "Non autorizzato",
 "Detail": "Le credenziali fornite non sono valide oppure l'utente non ha accesso all'operazione",
      "AdditionalInfo": null
    }
  ]
}

Migliori pratiche

1. Utilizzare l'autenticazione OAuth 2.0

IMPORTANTE: Utilizzare sempre l'autenticazione OAuth 2.0. Implementare una corretta gestione dei token:

  • Memorizzare i token di accesso nella cache e riutilizzarli fino alla scadenza
  • Aggiornare i token prima della loro scadenza (si consiglia 60 secondi prima)
  • Conservare le credenziali del client in modo sicuro (utilizzare variabili d’ambiente o un gestore di segreti)
  • Non registrare né esporre mai i token di accesso nel codice

2. Includere sempre il RequestId

Includere sempre un RequestId univoco (in formato UUID) nell’intestazione per garantire la tracciabilità end-to-end. Ciò è fondamentale per la risoluzione dei problemi e l’assistenza.

3. Implementare la gestione degli errori

Implementare una gestione degli errori robusta:

  • Controllare il campo Status in ogni risposta
  • Registrare il RequestId per la risoluzione dei problemi
  • Implementare la logica di riprova per gli errori transitori (503)
  • Gestire gli errori di convalida (E0001) verificando i parametri di input

Assistenza e risorse

Assistenza tecnica

Documentazione

Assistenza

Quando contatti l’assistenza, fornisci:

  1. Il proprio client_id (non condividere mai il proprio client_secret o i token di accesso)
  2. RequestId dalla risposta dell’API
  3. Timestamp della richiesta
  4. Ambiente (Produzione/Test)
  5. Codici di errore e messaggi ricevuti

Ultimo aggiornamento: 4 agosto 2026
Versione del documento: 1.0
Versione API: 1.0.0

Chi siamo

Il Portale per gli sviluppatori Shell supporta i partner nell'integrazione con le API Shell e nella trasformazione delle idee in soluzioni pronte per la produzione.

Logo Shell

Contatto

Accedere al proprio account

Chiedi all'assistente AI informazioni sulle API e sui prodotti API di Shell