API pro transakční údaje o mýtném Shell B2B Mobility – Průvodce rychlým startem
Verze API: 1.0.0 | Ověřování: OAuth 2.0 | Stav: Produkční
Přehled
API Shell B2B Mobility pro data o mýtných transakcích je API založené na REST, které poskytuje komplexní přístup k záznamům o mýtných transakcích a souvisejícím datům pro zákazníky mobility společnosti Shell. Toto API umožňuje vývojářům programově načítat, filtrovat a analyzovat data o mýtných transakcích pro účely odsouhlasení účtů, ověření fakturace, správy výdajů a splnění požadavků na dodržování předpisů.
Klíčové funkce
- Načtení údajů o transakcích mýtného podle čísla účtu
- Filtrování transakcí podle časového rozsahu (datum od a do)
- Vyhledávání podle stavu faktury a VRN (registračního čísla vozidla)
- Pokročilé možnosti třídění podle více polí
- Podpora stránkování u rozsáhlých datových sad
- Flexibilní filtrování podle polí pro optimalizaci objemu dat v odpovědi
- Komplexní údaje o mýtném včetně vstupních a výstupních bodů
- Podpora více mýtných sítí a provozovatelů
Ověřování
OAuth 2.0 (standardní metoda ověřování)
Rozhraní Shell Toll Transaction Data API využívá tokový proces OAuth 2.0 Client Credentials pro bezpečné ověření.
Proces OAuth 2.0
Krok 1: Získání přístupového tokenu
Požádejte o přístupový token z koncového bodu OAuth token:
POST /oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=vaše-id-klienta&client_secret=vaše-tajemství-klienta
Krok 2: Použití přístupového tokenu v požadavcích na API
Authorization: Bearer Content-Type: application/json RequestId: eb621f45-a543-4d9a-a934-2f223b263c42
Správa tokenů
Osvědčené postupy pro správu tokenů:
- Přístupové tokeny mají omezenou dobu platnosti (obvykle 15 minut)
- Implementujte ukládání tokenů do mezipaměti, abyste se vyhnuli zbytečným žádostem o tokeny
- Obnovte tokeny před vypršením platnosti, abyste zajistili nepřerušenou službu
- Nikdy nesdílejte svůj client_secret ani jej nevkládat do kódu na straně klienta
Prostředí
API je k dispozici ve dvou prostředích:
| Prostředí | Základní URL | Účel |
|---|---|---|
| Produkční | https://api.shell.com/toll-data/v1 | Provozní prostředí |
| Testování (UAT) | https://api-test.shell.com/toll-data/v1 | Testovací a vývojové prostředí |
URL tokenů OAuth:
| Prostředí | URL tokenu |
|---|---|
| Produkční | https://api.shell.com/v2/oauth/token |
| Testovací (UAT) | https://api-test.shell.com/v2/oauth/token |
Tip: Před přechodem do produkčního prostředí vždy otestujte svou integraci v testovacím prostředí.
Rychlý start
1. Získejte své přihlašovací údaje OAuth
- Kontaktujte technickou podporu Shell
- Vyžádejte si přihlašovací údaje OAuth 2.0 (client_id a client_secret)
- Prostudujte si podmínky služby
2. Získejte přístupový token
Nejprve si získejte svůj přístupový token OAuth:
Příklad příkazu 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=vaše-id-klienta&client_secret=vaše-tajemství-klienta"
Odpověď:
{
"access_token": "eyJhbGciOi*******5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 899
}3. Proveďte svůj první požadavek na API
Příklad: Vyhledání mýtných transakcí
Příklad s 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
}'Příklad odpovědi:
{
"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",
"PurchasedInCountry": "Italy",
"PurchasedInCountryCode": "IT",
"CardNumber": "707737*******334272",
"CardId": 123456789,
"CardGroupName": "Shell Fleet Solutions Consorzio",
"VehicleRegistration": "KN 00000",
„CostCenter“: „100“,
„SystemEntryDate“: „20260123“,
„SystemEntryTime“: „13:14:25“,
„TransactionDate“: „20260120“,
"TransactionTime": "10:30:00",
"PostingDate": "20260123",
"Čas zaúčtování": "00:00:00",
"Číslo plátce": "NL20016398",
"Číslo účtu": "NL20027701",
"Název účtu": "Název testovacího účtu",
"StartDate": "20260120",
"StartTime": "06:47:41",
"EndDate": "20260120",
"EndTime": "07:30:15",
"Vjezd na mýtnou bránu": "ROMA NORD",
"Výjezd z mýtné brány": "BRENNERO",
"Ujetá vzdálenost": "71,6",
"Popis trasy": "ROMA NORD – BRENNERO",
"TransactionType": "Silniční poplatek",
"ProductCode": "14",
"ProductDescription": "Silniční poplatek",
"TransactionNetAmount": "127,1",
"TransactionTax": "0,0",
"TransactionGrossAmount": "127,1",
"TransactionCurrencyCode": "EUR",
"TransactionStatus": "Reporting",
"InvoiceNumber": "8600397548",
"Datum faktury": "20260125",
"Stav faktury": "Vyfakturováno",
"Způsob platby": "Platba po dodání",
"Sériové číslo OBU": "00049000000836932426",
"EmissionClass": "Euro 6",
"ContractID": "fb75eb53-46eb-450b-862e-6045002c3fa8",
"ShellTransactionID": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
"TollOperator": "Toll4Europe",
"TollDomain": "Toll4Europe",
"TariffRelevantInformation": "Třída vozidla: 2, Počet náprav: 2, Kategorie silnice: Dálnice",
"AdditionalTransactionInfo": "Umístění: 1",
"TCInvoiceNumber": "12343343",
"TCInvoiceDate": "20260123"
}
]
}Přehled koncových bodů API
Mýtné transakce
| Koncový bod | Metoda | Popis |
|---|---|---|
| /toll-data/v1/transactions/search | POST | Načtení údajů o mýtných transakcích s flexibilním filtrováním a stránkováním |
Běžné případy použití:
- Načtení transakcí mýtného podle časového rozsahu
- Filtrování podle stavu faktury (fakturováno, nefakturováno, vše)
- Vyhledávání podle registračního čísla vozidla (VRN)
- Filtrovat podle skupiny karet
- Seřadit transakce podle více kritérií
- Vyberte konkrétní pole pro optimalizaci velikosti odpovědi
Běžné případy použití
Tato část přiřazuje běžné obchodní scénáře k vzorcům využití API, aby vám pomohla rychle zjistit, jak API využít pro vaše konkrétní potřeby.
Případ použití 1: Denní odsouhlasení transakcí mýtného
Scénář: Z účetních důvodů potřebujete denně odsouhlasit všechny transakce mýtného z vaší flotily.
Doporučené API: /toll-data/v1/transactions/search
Proč právě toto API: Tento koncový bod poskytuje komplexní podrobnosti o transakcích mýtného s flexibilním filtrováním podle data, podporuje jak fakturované, tak nefakturované transakce a zahrnuje stránkování pro rozsáhlé datové sady. Je ideální pro pracovní postupy denního odsouhlasení.
Klíčové parametry:
FromDateaToDate– pro denní odsouhlasení nastavte na včerejší datumSearch.InvoiceStatus- Použijte „Vše“, chcete-li zahrnout jak fakturované, tak nefakturované transakcePageSize- Nastavte hodnotu na 100 pro efektivní načítání datFiltr- Použijte možnost „Vše“ pro získání kompletních podrobností o transakcích
Případ použití 2: Ověření a kontrola faktur
Scénář: Obdrželi jste fakturu a potřebujete ověřit všechny podrobnosti o mýtných transakcích a poplatcích.
Doporučené API: /toll-data/v1/transactions/search
Proč toto API: API poskytuje podrobné informace o transakcích mýtného, včetně čísel faktur, dat, částek a podrobností o mýtné síti. Je ideální pro ověření faktur, protože odpovídá struktuře faktury.
Klíčové parametry:
Search.InvoiceStatus- Nastavte na „Invoiced“ (Fakturováno), chcete-li načíst pouze fakturované transakceFromDateaToDate– Nastavte na data fakturačního obdobíFiltr– Pro cílenou validaci zadejte pole jako „InvoiceNumber, InvoiceDate, TransactionGrossAmount“ pro cílenou validaci
Případ použití 3: Analýza využití mýtného vozidly vozového parku
Scénář: Potřebujete analyzovat vzorce využívání mýtného u konkrétních vozidel ve vašem vozovém parku, abyste mohli optimalizovat trasy a snížit náklady na mýtné.
Doporučené API: /toll-data/v1/transactions/search
Proč právě toto API: API umožňuje filtrování podle registračního čísla vozidla (VRN) a poskytuje podrobné informace o trase, včetně vstupních a výstupních bodů, ujeté vzdálenosti a mýtných poplatků. Ideální pro analýzu na úrovni jednotlivých vozidel.
Klíčové parametry:
Search.VehicleRegistrationNumber– Zadejte registrační číslo vozidla (VRN) k analýzeFromDateaDo data– Nastavte období analýzy (např. posledních 30 dní)SortOption– Pro chronologickou analýzu použijte hodnotu 1 (datum transakce vzestupně)Filter– Zahrňte pole jako „RouteDescription, DistanceDriven, TollGateEntry, TollGateExit, TransactionGrossAmount“
Případ použití 4: Sledování výdajů podle skupin karet
Scénář: Spravujete více skupin karet a potřebujete sledovat výdaje za mýtné podle jednotlivých skupin karet pro účely přidělování rozpočtu a reportování nákladových středisek.
Doporučené API: /toll-data/v1/transactions/search
Proč toto API: Toto API podporuje filtrování podle skupiny karet a obsahuje informace o nákladových střediscích, což z něj činí ideální nástroj pro sledování výdajů a vykazování na úrovni skupin karet.
Klíčové parametry:
Search.CardGroup– Zadejte název skupiny karet nebo použijte „All“ pro všechny skupinyFromDateaToDate– Nastavte na vykazované obdobíFiltr– Zahrnout „CardGroupName, CostCenter, TransactionGrossAmount, TransactionNetAmount, TransactionTax“Možnost řazení- Pro analýzu výdajů použijte hodnotu 3 (částka transakce vzestupně)
Případ použití 5: Výkazy mýtného pro více účtů
Scénář: Spravujete více účtů a potřebujete vygenerovat konsolidované výkazy mýtného napříč všemi účty.
Doporučené API: /toll-data/v1/transactions/search
Proč toto API: Toto API podporuje dotazování na více účtů (doporučeno 2–5) v jediném požadavku, čímž snižuje počet volání API a zlepšuje výkon v situacích s více účty.
Klíčové parametry:
AccountNumber– Zadejte čísla účtů oddělená čárkami (pro optimální výkon maximálně 2–5)FromDateaToDate– Nastavte na vykazované obdobíPageSize– Pro lepší výkon použijte větší velikost stránky (např. 100–500) pro lepší výkon
Případ použití 6: Sledování nezfakturovaných transakcí
Scénář: Chcete sledovat nezfakturované mýtné transakce, abyste mohli předvídat nadcházející faktury a spravovat peněžní tok.
Doporučené API: /toll-data/v1/transactions/search
Proč toto API: API umožňuje filtrování podle stavu faktury, což usnadňuje identifikaci nezfakturovaných transakcí a odhad budoucích poplatků.
Klíčové parametry:
Search.InvoiceStatus– Nastavte na „Uninvoiced“ pro čekající poplatkyFromDateaToDate– Nastavte na aktuální zúčtovací obdobíFiltr– Zahrnout „TransactionDate, TransactionGrossAmount, AccountNumber, VehicleRegistration“
Případ použití 7: Analýza využití mýtných sítí
Scénář: Potřebujete analyzovat, které mýtné sítě a provozovatele vaše vozové parky využívají nejčastěji, abyste mohli vyjednat lepší sazby nebo optimalizovat trasy.
Doporučené API: /toll-data/v1/transactions/search
Proč toto API: API poskytuje podrobné informace o mýtných sítích, včetně popisu sítě, provozovatele mýtného, kódu mýtného a kódu sítě, což je ideální pro analýzu využití sítě.
Klíčové parametry:
FromDateaToDate– Nastavte na analyzované období (např. čtvrtletně)Filtr– Zahrnout „NetworkDescription, TollOperator, TollChargerCode, Network, TransactionGrossAmount“PageSize- Pro komplexní extrakci dat použijte větší velikost stránky
Příklady použití
Příklad 1: Vyhledávání mýtných transakcí podle účtu a časového rozsahu
Žádost:
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
}Odpověď:
{
"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",
"PurchasedInCountry": "Italy",
"PurchasedInCountryCode": "IT",
"CardNumber": "707737*******334272",
"CardId": 123456789,
"CardGroupName": "Shell Fleet Solutions Consorzio",
"Registrační číslo vozidla": "KN 00000",
"Nákladové středisko": "100",
"Datum zadání do systému": "20260123",
"Čas zadání do systému": "13:14:25",
"TransactionDate": "20260120",
"TransactionTime": "10:30:00",
„Datum zaúčtování“: „20260123“,
„Čas zaúčtování“: „00:00:00“,
„Číslo plátce“: „NL20016398“,
„Číslo účtu": "NL20027701",
"Název účtu": "Název testovacího účtu",
"Datum zahájení": "20260120",
"Čas zahájení": "06:47:41",
"Datum ukončení": "20260120",
"EndTime": "07:30:15",
"TollGateEntry": "ROMA NORD",
"TollGateExit": "BRENNERO",
"DistanceDriven": "71,6",
"RouteDescription": "ROMA NORD – BRENNERO",
"TransactionType": "Silniční daň",
"ProductCode": "14",
"ProductDescription": "Silniční daň",
"TransactionNetAmount": "127,1",
"TransactionTax": "0,0",
"TransactionGrossAmount": "127,1",
"TransactionCurrencyCode": "EUR",
"TransactionStatus": "Reporting",
"InvoiceNumber": "8600397548",
"Datum faktury": "20260125",
"Stav faktury": "Vyfakturováno",
"Způsob platby": "Platba po splnění",
"Sériové číslo vozidla": "00049000000836932426",
"Emisní třída": "Euro 6",
"ID smlouvy": "fb75eb53-46eb-450b-862e-6045002c3fa8",
"ShellTransactionID": "04176c5c-e7b2-49c8-bcb3-23d07ba583f2",
"Provozovatel mýtného": "Toll4Europe",
"Doména mýtného": "Toll4Europe",
"Informace relevantní pro tarif": "Třída vozidla: 2, Počet náprav: 2, Kategorie silnice: Dálnice",
"AdditionalTransactionInfo": "Poloha: 1",
"TCInvoiceNumber": "12343343",
"TCInvoiceDate": "20260123"
}
]
}Příklad 2: Filtrování transakcí podle registračního čísla vozidla (VRN)
Žádost:
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
}Odpověď:
{
"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"
}
]
}Příklad 3: Vyhledávání podle skupiny karet
Žádost:
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
}Odpověď:
{
"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"
}
]
}Příklad 4: Více účtů se specifickými poli
Žádost:
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
}Odpověď:
{
"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",
"VehicleRegistration": "KN 00000"
},
{
"AccountNumber": "NL20027702",
"AccountName": "Second Account Name",
"TransactionDate": "20260121",
"TransactionGrossAmount": "98,5",
"VehicleRegistration": "PQ 22222"
}
]
}Zpracování chyb
Běžné kódy chyb
| Stav HTTP | Kód chyby | Popis | Řešení |
|---|---|---|---|
| 200 | N/A | Stav: ÚSPĚCH | N/A |
| 400 | E0001 | Chyba ověření | Zkontrolujte parametry požadavku, ujistěte se, že jsou vyplněna všechna povinná pole a že jsou platná |
| 401 | E0003 | Neoprávněný přístup | Ověřte, zda je token OAuth platný a zda jeho platnost nevypršela |
| 404 | E0005 | Nenalezeno | Ověřte, zda existuje URL koncového bodu a zda zdroj existuje |
| 500 | E0002 | Neznámá chyba / Interní chyba serveru | Kontaktujte podporu s ID požadavku |
| 503 | E0012 | Služba není k dispozici / Chyba připojení | Zkuste to znovu po chvíli; pokud problém přetrvává, kontaktujte podporu |
Příklad chybové odpovědi
Chyba ověření (E0001):
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "FAILED",
"Errors": [
{
"Code": "E0001",
"Title": "Chyba ověření",
"Detail": "Chybějící / neplatné hodnoty pro: ColCoCode",
"AdditionalInfo": null
}
]
}Chyba neoprávněného přístupu (E0003):
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "FAILED",
"Errors": [
{
"Code": "E0003",
"Title": "Neoprávněný přístup",
"Detail": "Zadané přihlašovací údaje jsou neplatné nebo uživatel nemá přístup k této operaci",
"AdditionalInfo": null
}
]
}Osvědčené postupy
1. Používejte ověřování OAuth 2.0
DŮLEŽITÉ: Vždy používejte ověřování OAuth 2.0. Zajistěte správnou správu tokenů:
- Ukládejte přístupové tokeny do mezipaměti a opakovaně je používejte až do vypršení platnosti
- Obnovujte tokeny před vypršením jejich platnosti (doporučeno 60 sekund předem)
- Ukládejte přihlašovací údaje klienta bezpečně (používejte proměnné prostředí nebo správce tajných klíčů)
- Nikdy neukládejte ani nezveřejňujte přístupové tokeny v kódu na straně klienta
2. Vždy zahrňte RequestId
Vždy uveďte do hlavičky jedinečné RequestId (ve formátu UUID) pro sledovatelnost od začátku do konce. To je zásadní pro řešení problémů a technickou podporu.
3. Implementujte zpracování chyb
Implementujte robustní zpracování chyb:
- Zkontrolujte pole Status v každé odpovědi
- Zaznamenejte RequestId pro účely řešení problémů
- Implementujte logiku opakování pokusu pro přechodné chyby (503)
- Zpracovat chyby validace (E0001) kontrolou vstupních parametrů
Podpora a zdroje
Technická podpora
- Podpora: Technická podpora Shell
- E-mail: api@shell.com
Dokumentace
Získání pomoci
Při kontaktování podpory uveďte:
- Vaše client_id (nikdy nesdílejte své client_secret ani přístupové tokeny)
- RequestId z odpovědi API
- Časové razítko požadavku
- Prostředí (Produkční/Testovací)
- Přijaté chybové kódy a hlášení
Poslední aktualizace: 4. srpna 2026
Verze dokumentu: 1.0
Verze API: 1.0.0
