API danych transakcyjnych kart mobilnościowych Shell B2B – Przewodnik szybkiego startu
Wersja API: 2.3.4 | Uwierzytelnianie: OAuth 2.0 | Status: Produkcyjny
Przegląd
API danych transakcyjnych kart Shell to interfejs API oparty na architekturze REST, który umożliwia programistom programowe pobieranie i analizowanie danych transakcyjnych z kart paliwowych Shell. API zapewnia dostęp do transakcji z cenami, opłat, cen opartych na ilości, zasad dotyczących bonusów, wyjątków oraz podsumowań użytkowania kart.
Uwaga: Niniejszy przewodnik obejmuje wyłącznie punkty końcowe uwierzytelniane za pomocą OAuth 2.0 (ścieżka bazowa: /transaction-data/v1). Starsze punkty końcowe z uwierzytelnianiem Basic Auth (/fleetmanagement/v1/transaction) nie zostały uwzględnione, ponieważ są stopniowo wycofywane.
Kluczowe funkcje
- Pobieranie szczegółów transakcji z cenami, w tym transakcji dotyczących pojazdów elektrycznych
- Dostęp do szczegółów transakcji paliwowych wraz z pozycjami sprzedaży i opłatami
- Pobieranie danych podsumowujących transakcje paliwowe i transakcje NFR
- Wyszukiwanie cen opartych na wolumenie oraz zasad dotyczących premii
- Pobieranie pozycji opłat i danych podsumowujących opłaty
- Dostęp do wyjątków dotyczących kart i transakcji
- Analiza danych dotyczących użytkowania kart i wydatków
- Obsługa zapytań dotyczących transakcji z wieloma płatnikami
Ważna informacja – OAuth 2.0
WAŻNE: OAuth 2.0 jest obecnie standardową metodą uwierzytelniania
- Nowe integracje: Korzystaj z OAuth 2.0 od samego początku
- Istniejące integracje: Zaplanuj migrację do OAuth 2.0
- Metody starszego typu: Uwierzytelnianie podstawowe jest stopniowo wycofywane
Skontaktuj się z pomoc techniczną Shell, aby uzyskać swoje dane uwierzytelniające OAuth 2.0 (client_id i client_secret).
Uwierzytelnianie
OAuth 2.0 (standardowa metoda uwierzytelniania)
Interfejs API danych transakcyjnych kart Shell wykorzystuje proces uwierzytelniania za pomocą poświadczeń klienta OAuth 2.0 w celu zapewnienia bezpiecznego uwierzytelniania.
OSTRZEŻENIE: Wszyscy klienci powinni zaplanować przejście na uwierzytelnianie OAuth 2.0. Jest to zalecana i przyszłościowa metoda uwierzytelniania dla interfejsu API danych transakcyjnych kart Shell . Starsze metody uwierzytelniania są stopniowo wycofywane.
Przebieg OAuth 2.0
Krok 1: Uzyskaj token dostępu
Poproś o token dostępu z punktu końcowego tokenów OAuth:
POST /oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=twój-identyfikator-klienta&client_secret=twój-sekret-klienta
Krok 2: Użyj tokenu dostępu w żądaniach API
Authorization: Bearer Content-Type: application/json
Zarządzanie tokenami
Najlepsze praktyki dotyczące zarządzania tokenami:
- Tokeny dostępu mają ograniczony czas ważności (zazwyczaj 15 minut)
- Wprowadź buforowanie tokenów, aby uniknąć niepotrzebnych żądań tokenów
- Odśwież tokeny przed wygaśnięciem, aby zapewnić nieprzerwane działanie usługi
- Nigdy nie udostępniaj swojego client_secret ani nie osadzaj go w kodzie po stronie klienta
Strategia wdrażania OAuth 2.0
Dlaczego warto przejść na OAuth 2.0?
Korzyści związane z bezpieczeństwem:
- Protokół uwierzytelniania zgodny ze standardami branżowymi
- Tokeny dostępu o ograniczonym czasie ważności zmniejszają ryzyko związane z bezpieczeństwem
- Brak przesyłania danych uwierzytelniających przy każdym żądaniu
- Lepsza obsługa rotacji i unieważniania tokenów
Korzyści operacyjne:
- Zwiększona skalowalność i wydajność
- Lepsze możliwości monitorowania i audytu
- Uproszczone zarządzanie danymi uwierzytelniającymi
- Integracja przyszłościowa
Ścieżka migracji
Jeśli obecnie korzystasz ze starszych metod uwierzytelniania, postępuj zgodnie z poniższą ścieżką migracji:
- Poproś o dane uwierzytelniające OAuth 2.0 od pomocy technicznej Shell
- Wprowadź zarządzanie tokenami OAuth w swojej aplikacji
- Przeprowadź dokładne testy w środowisku testowym/sandboxowym
- W okresie przejściowym stosuj uwierzytelnianie równoległe (OAuth + starsze metody) w trakcie przejścia
- Monitoruj i weryfikuj integrację OAuth
- Przejdź na wyłączność OAuth po weryfikacji
- Wycofaj starsze metody uwierzytelniania po pomyślnej migracji
Środowiska
API jest dostępne w dwóch środowiskach:
| Środowisko | Podstawowy adres URL | Cel |
|---|---|---|
| Produkcyjne | https://api.shell.com | Środowisko produkcyjne na żywo |
| Testowe (Sandbox) | https://api-test.shell.com/test | Środowisko testowe i programistyczne |
Wskazówka: Zawsze testuj swoją integrację w środowisku testowym przed przejściem do środowiska produkcyjnego.
Szybki start
1. Uzyskaj swoje dane uwierzytelniające OAuth
- Skontaktuj się z pomocą techniczną Shell
- Poproś o dane uwierzytelniające OAuth 2.0 (client_id i client_secret)
- Zapoznaj się z warunki korzystania z usługi
2. Uzyskaj token dostępu
Najpierw uzyskaj token dostępu OAuth:
Przykład z użyciem cURL:
curl -X POST https://api-test.shell.com/test/oauth/token \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials&client_id=your-client-id&client_secret=your-client-secret"
Odpowiedź:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}3. Wyślij swoje pierwsze żądanie do API
Przykład: Pobierz transakcje z cenami
Przykład z użyciem cURL:
curl -X POST https://api-test.shell.com/test/transaction-data/v1/priced \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"Filters": {
"ColCoCode": "5",
"PayerNumber": "DE26667080",
"InvoiceStatus": "A",
"IncludeFees": true,
"FromDate": "2024-12-01 00:00:00",
"ToDate": "2025-01-20 00:00:00"
},
"Page": 1,
"PageSize": 1
}'Przykładowa odpowiedź:
{
"RequestId": "9d2dee33-7803-485a-a2b1-2c7538e597ee",
"Status": "SUCCESS",
"Data": [
{
"AccountName": "Blue Colour Ltd",
"AccountId": 29484,
"AccountNumber": "DE26667080",
"AccountShortName": "Mathew",
"Additional1": "GBALLEGO0002452",
"Additional2": "GBALLEGO0002452",
"Additional3": "GBALLEGO0002452",
„Dodatkowe4”: „GBALLEGO0002452”,
"AllowClearing": "Null",
"AuthorisationCode": 300796,
"TransactionStatus": "Y",
"DriverName": "SATTY BHAMRA",
"CardExpiryPeriod": 2204,
"DataWygasaniaKarty": "20220101",
"IdentyfikatorGrupyKart": 40000,
"NazwaGrupyKart": "006240 FIRE BRIGHT SOLUTIONS",
"IssuerCode": 7002,
"CardPAN": "7002053465789891000",
"ReleaseCode": 9,
"CardSequenceNumber": 617,
„CardType”: „GB STD FLT NAT SINGLE R9”,
„ColCoCode”: „014”,
„UnitDiscountInvoiceCurrency”: -0,0051,
„ColCoExchangeRate”: 0,851858,
„InvoiceCurrencySymbol”: „GBP”,
„CorrectionFlag”: true,
„CRMNumber”: 10,
„CustomerCountry”: „Wielka Brytania”,
„CustomerCurrencyCode”: „GBP”,
"Symbol waluty klienta": "£",
"Rabaty od kwoty netto w walucie klienta": 0,
"Rzeczywisty rabat w walucie klienta": -0,22,
„Rzeczywista zniżka jednostkowa w walucie klienta”: -0,0051,
„Cena jednostkowa w walucie faktury”: 1,1024,
„Podatek na fakturze”: 0,
"Kwota brutto faktury": 57,25,
"Kwota netto faktury": 47,71,
"Podatek VAT od kwoty netto w walucie klienta": 9,54,
"Cena detaliczna jednostkowa brutto klienta": 0,
"Łączna wartość detaliczna w walucie klienta (brutto)": 57,52,
"Łączna wartość detaliczna w walucie klienta (netto)": 47,93,
"Opis typu transakcji": 9,59,
„Rabatu od kwoty netto w walucie transakcji”: -0,22,
„Rzeczywistej zniżki w walucie transakcji”: -0,22,
„Kursu wymiany waluty dostawcy na walutę klienta”: 0,
„Karty”: [
275549
],
„Rabatu jednostkowego w walucie transakcji”: -0,005,
„TransactionGrossAmount”: 57,25,
„TransactionNetAmount”: 47,71,
„TransactionTax”: 9,54,
"VATonNetAmount": 9,54,
"DelcoListPriceUnitNet": 0,
"DelcoRetailPriceUnitGross": 1,32888,
„Cena jednostkowa w walucie transakcji”: 1,1074,
„Cena detaliczna Delco netto na jednostkę”: 1,1074,
„„DelcoRetailValueTotalGross”: 57,52,
„DelcoRetailValueTotalNet”: 47,93,
„TransactionCurrencySymbol”: „$”,
„DiscountType”: 1,
„StatusSporu": false,
"CzyToStacjaShell": false,
"IdentyfikatorFloty": "YG67OUM",
"KodProduktuPrzychodzącego": 23,
"DataZaksięgowania": "20210802",
„PostingTime”: „14:15:22”,
„ProductCode”: 30,
„ProductName”: „Bezołowiowe – średnia liczba oktanowa”,
"ProductGroupId": 22,
"IncomingCurrencyCode": "GBP",
"IncomingSiteDescription": "Shell Broadway Ring",
"Location": "Shell Broadway Ring",
"SiteName": "Shell Broadway Ring",
"Kod stacji": 32,
"Numer stacji przychodzącej": 15,
"Kod waluty faktury": "GBP",
"InvoiceDate": "20210802",
"InvoiceNumber": 3201016193,
"FuelProduct": true,
"VATApplicable": "Y",
"PayerName": „Colours Services Ltd”,
„PayerNumber”: „GB12121212”,
"NumerKlientaNadrzędnego": "GB12121212",
"GrupaPłatnika": "H312066",
"NazwaGrupyPłatnika": "12162566 - USŁUGA KART PALIWOWYCH",
"CheckDigit": 6,
"NetInvoiceIndicator": "Y",
"DelcoCode": 5,
"NetworkCode": 3,
"PurchasedInCountry": "Wielka Brytania",
"SiteCountry": "Wielka Brytania",
"VATCountry": "Wielka Brytania",
"DelcoName": „Shell U.K. Oil Products Limited”,
„Sieć”: „Shell”,
„Wartość licznika przebiegu”: 0,
„Oryginalny identyfikator pozycji sprzedaży”: „Null”,
„Opis identyfikatora floty”: „YG67OUM”,
"Identyfikator klienta nadrzędnego": 6494,
"Wskaźnik PIN": "Y, N",
"Nazwa grupy produktów": "Opłaty",
"Kod kraju zakupu": "GB",
„Ilość”: 43,28,
„Stawka rabatu”: 0,0022,
„Numer paragonu”: 6803,
„Flag zwrotu”: „Y”,
„Identyfikator grupy lokalizacji”: 202,
"Nazwa grupy lokalizacji": "CZ 9100 ECONOMY NETWORK",
"Szerokość geograficzna": 53,83606,
"Longitude": -1,61854,
"DelCoExchangeRate": 0,851858,
"EuroRebateAmount": -0,258259,
"NetEuroAmount": 56,01,
"EuroVATAmount": 11,2,
"ParentCustomerName": "FUEL CARD SERVICES LTD",
"IsInvoiced": false,
„TransactionCurrencyCode”: „GBP”,
„CreditDebitCode”: „D lub C”,
„TransactionDate”: „20210801”,
„TransactionTime”: „12:16:58”,
"TransactionItemId": "H305908971030",
"TrnIdentifier": "H305908971030",
"Type": "SALE",
"TransactionLine": 1,
"TransactionType": "Purchase",
"UTCOffset": "Europe/London",
„VATCategory”: „Standardowa stawka VAT w Wielkiej Brytanii”,
„VATRate”: 0,2,
„VehicleRegistration”: „YG67OUM”,
„IsCancelled”: „Y”,
"ColCoGrossAmount": 57,25,
"ColCoNetAmount": 47,71,
"ColCoVATAmount": 9,54,
"OriginalCurrencySymbol": "$",
"OriginalCurrencyCode": "$",
"OriginalVATAmount": 0,
"EmbossText": "PARKLANE PROPERTIES LTD",
"OriginalExchangeRate": 0,
"OriginalTransactionItemInvoiceDate": "20220202",
"FeeTypeId": 1,
"LineItemDescription": true,
"FeeRuleDescription": "Prosta opłata",
"Frequency": 1,
"FeeRuleId": 1,
"SystemEntryDate": "20210828",
"SystemEntryTime": "20:21:08",
"IsManual": "Y",
"OriginalTransactionItemId": "Y",
"OriginalTransactionItemInvoiceNumber": 6750802,
„OriginalTransactionItemInvoiceId”: 234,
„PayerShortName”: „FUEL CARD SERVICES LTD”,
„ReverseCharge”: „Y”,
„OriginalGrossAmount": 57,25,
"OriginalNetAmount": 57,25,
"UnitOfMeasure": "L",
"RoadType": "Droga krajowa",
"CustomerCountryIsoCode": "DE",
"EVOperator": "Shell Recharge",
"EVSerialId": "GBALLEGO0002452",
"EVChargePointSerial": "GBALLEGO0002452",
„EVChargePointConnectorType”: 5,
„EVChargePointConnectorTypeDescription”: „DC 50 kW”,
„EVChargeDuration”: „PT3205S”,
"EVChargeStartDate": "2021-08-01",
"EVChargeStartTime": "20:08:01",
"EVChargeEndDate": "2022-08-01",
"EVChargeEndTime": "20:08:01",
„HostingCollectingCompanyNumber”: 0,
"TransactionId": 0,
"FuelOnly": true,
"EVPrintedNumber": "ZZ2WJ53ZZ5",
"IsRFID": true
}
],
"Page": 1,
"PageSize": 1,
"TotalPages": 5
}Przewodnik po punktach końcowych API
Transakcje z ceną
| Punkt końcowy | Metoda | Opis |
|---|---|---|
| /transaction-data/v1/priced | POST | Pobierz szczegóły transakcji płatnych, w tym transakcji dotyczących pojazdów elektrycznych (OAuth 2.0) |
| /transaction-data/v1/pricedtransaction | POST | Pobierz szczegóły transakcji paliwowych wraz z pozycjami sprzedaży i opłatami (OAuth 2.0) |
| /transaction-data/v1/multipayerspricedtransactions | POST | Pobierz szczegóły transakcji z cenami dla wielu płatników (OAuth 2.0) |
Typowe przypadki użycia:
- Pobieranie transakcji według przedziału czasowego
- Filtrowanie według statusu transakcji (zatwierdzone, odrzucone itp.)
- Wyszukiwanie według numeru karty (PAN) lub numeru rejestracyjnego pojazdu
- Pobieranie transakcji związanych z ładowaniem pojazdów elektrycznych
- Wyszukiwanie transakcji dotyczących wielu płatników
Podsumowania transakcji
| Punkt końcowy | Metoda | Opis |
|---|---|---|
| /transaction-data/v1/pricedtransactionssummary | POST | Pobierz podsumowanie transakcji z cenami dla paliwa i NFR wraz z pozycjami sprzedaży i opłatami (OAuth 2.0) |
| /transaction-data/v1/cardusagesummary | POST | Pobierz analizę wydatków i podsumowanie wykorzystania karty (OAuth 2.0) |
Zwraca:
- Zagregowanedane dotyczące transakcji w podziale na okresy
- Łączne wolumeny i kwoty
- Podział według typu produktu i kategorii
- Analiza wydatków na poziomie karty
Zarządzanie opłatami
| Punkt końcowy | Metoda | Opis |
|---|---|---|
| /transaction-data/v1/feessummary | POST | Pobierz dane podsumowujące pozycje opłat dla danego płatnika (OAuth 2.0) |
Informacje o opłatach:
- Pobieranie pozycji opłat zastosowanych do transakcji
- Podsumowanie wszystkich opłat według okresu
- Zestawienie opłat według typu i kategorii
- Analiza opłat na poziomie konta
Reguły oparte na wolumenie
| Punkt końcowy | Metoda | Opis |
|---|---|---|
| /transaction-data/v1/volumebasedpricing | POST | Pobierz ustawienia reguł opłat In Arrekonfigurację zasad opłat za zaległości dla danego płatnika (OAuth 2.0) |
| /transaction-data/v1/volumebasedbonus | POST | Pobierz konfigurację zasad dotyczących premii i premii partnerskiej dla danego płatnika (OAuth 2.0) |
Funkcje oparte na wolumenie:
- Dostęp do zasad wyceny opartej na wolumenie
- Pobieranie zasad obliczania premii
- Pobieranie konfiguracji premii partnerskiej
- Zapytanie o struktury opłat za zaległości
Wyjątki
| Punkt końcowy | Metoda | Opis |
|---|---|---|
| /transaction-data/v1/exceptions | POST | Pobierz wyjątki związane z kartą lub transakcją (OAuth 2.0) |
Typy wyjątków:
- Błędy walidacji transakcji
- Anomalie w korzystaniu z karty
- Wyjątki związane z autoryzacją
- Alerty o naruszeniu zasad
Typowe przypadki użycia
W tej sekcji przyporządkowano typowe scenariusze biznesowe do odpowiednich punktów końcowych API, aby pomóc Ci szybko zidentyfikować, z których interfejsów API wykorzystać w konkretnych potrzebach.
Przypadek użycia 1: Codzienne uzgadnianie transakcji
Scenariusz: Konieczne jest codzienne uzgadnianie wszystkich transakcji z kart flotowych do celów księgowych.
Zalecane API: /transaction-data/v1/priced
Dlaczego ten interfejs API: Ten punkt końcowy zapewnia kompleksowe szczegóły transakcji, w tym transakcje związane z ładowaniem pojazdów elektrycznych, obsługuje elastyczne filtrowanie według daty oraz obejmuje zarówno transakcje zafakturowane, jak i niezafakturowane. Idealnie nadaje się do codziennego uzgadniania, oferując obsługę paginacji dla dużych zbiorów danych.
Kluczowe parametry:
FromDateorazToDate– ustaw na datę wczorajsząInvoiceStatus– użyj „A” dla wszystkich transakcjiPageSize– ustaw na 100 w celu wydajnego pobierania danych
Przypadek użycia 2: Weryfikacja faktury i weryfikacja
Scenariusz: Otrzymałeś fakturę i musisz zweryfikować wszystkie szczegóły transakcji, w tym opłaty i prowizje.
Zalecane API: /transaction-data/v1/pricedtransaction
Dlaczego to API: Zaprojektowane specjalnie w celu dostarczania szczegółowych informacji o transakcjach paliwowych, w tym o pozycjach sprzedaży i wszystkich powiązanych opłatach. Idealne do walidacji faktur, ponieważ odpowiada strukturze faktury.
Kluczowe parametry:
InvoiceNumber– konkretna faktura do sprawdzeniaInvoiceDate– data faktury z rozliczeniaIncludeFees– ustaw na „true”, aby wyświetlić wszystkie pozycje opłat
Przypadek użycia 3: Analiza zużycia paliwa i raportowanie
Scenariusz: Konieczne jest przeanalizowanie wzorców zużycia paliwa w całej flocie za ostatni miesiąc w celu optymalizacji tras i obniżenia kosztów.
Zalecane interfejsy API:
/transaction-data/v1/pricedtransactionssummary– Dla danych zagregowanych
Dlaczego te interfejsy API: Punkty końcowe podsumowań dostarczają dane zagregowane według produktu, grupy lokalizacji i okresu, co sprawia, że idealnie nadają się do analizy trendów bez konieczności przetwarzania dużych wolumenów transakcji.
Kluczowe parametry:
FromDateorazToDate– ustaw na ostatnie 30 dniProductCode– filtruj według konkretnych rodzajów paliwProductGroupName– grupuj według kategorii paliw
Przypadek użycia 4: Zarządzanie wielomazarządzanie flotą
Scenariusz: Zarządzasz wieloma subkontami lub płatnikami i musisz pobrać dane transakcyjne ze wszystkich z nich w celu sporządzenia skonsolidowanego raportu.
Zalecany interfejs API: /transaction-data/v1/multipayerspricedtransactions
Dlaczego ten interfejs API: Zaprojektowany specjalnie do pobierania transakcji dotyczących wielu płatników w ramach jednego wywołania API, co znacznie zmniejsza liczbę żądań i poprawia wydajność w scenariuszach z wieloma flotami.
Kluczowe parametry:
Accounts– Tablica identyfikatorów i numerów płatników (maks. 10 płatników)InvoiceStatus– „A” dla wszystkich transakcjiFromDateorazToDate– Okres sprawozdawczy
Przypadek użycia 5: Monitorowanie wyjątków i wykrywanie oszustw
Scenariusz: Chcesz zidentyfikować nietypowe wzorce transakcji, takie jak transakcje o wysokiej wartości, nadmierne ilości paliwa lub karty o nietypowym wykorzystaniu, aby zapobiegać oszustwom lub nadużyciom.
Zalecane API: /transaction-data/v1/exceptions
Dlaczego to API: Stworzone specjalnie do identyfikacji transakcji przekraczających zdefiniowane progów, co czyni je idealnym narzędziem do monitorowania wyjątków i potencjalnych oszustw.
Kluczowe parametry:
Warunek– Ustaw typ progu (ValueGreaterThan, VolumeGreaterThan itp.)Wartość– Zdefiniuj wartość proguOutputType– „Transaction” dla wyjątków transakcyjnychTransactionsFromDateorazTransactionsToDate– Okres monitorowania
Przypadek użycia 6: Analiza opłat i prowizji
Scenariusz: Musisz zrozumieć wszystkie opłaty i prowizje naliczane na Twoim koncie, aby zidentyfikować możliwościmożliwości oszczędności lub zweryfikować rozliczenia.
Zalecane API: /transaction-data/v1/feessummary
Dlaczego to API: Dostarcza zagregowane informacje o opłatach według typu opłaty, grupy produktów i grupy opłat, ułatwiając analizę struktury opłat i zidentyfikować obszary generujące wysokie koszty.
Kluczowe parametry:
InvoiceStatus– „I” dla opłat zafakturowanychFeeTypeGroup– Filtruj według „Opłat kartowych”, „Opłaty za konto” itp.FromDateorazToDate– okres analizy
Przypadek użycia 7: Śledzenie wydatków z poszczególnych kart
Scenariusz: Kierowca prosi o historię transakcji z ostatnich 6 miesięcy lub konieczna jest analiza wzorców wydatków dla konkretnej karty.
Zalecane API: /transaction-data/v1/cardusagesummary
Dlaczego ten interfejs API: Zapewnia szczegółową analizę wydatków dla poszczególnych kart z ostatnich 7 miesięcy, pogrupowaną według lokalizacji i produktu, idealną do raportowania na poziomie kart.
Kluczowe parametry:
CardIdlubPAN– konkretna karta do analizyCardExpiry– do dodatkowej weryfikacjiAccountId– opcjonalny filtr konta
Przypadek użycia 8: Sprawdzenie uprawnień do taryf opartych na wolumenie
Scenariusz: Chcesz sprawdzić, czy Twoje konto kwalifikuje się do poziomów taryfowych opartych na wolumenie oraz poznać aktualne poziomy zużycia w porównaniu z zdefiniowanymi progami.
Zalecane API: /transaction-data/v1/volumebasedpricing
Dlaczego ten interfejs API: Wyświetla zasady dotyczące opłat za zaległości, konfiguracje poziomów taryfowych oraz aktualne zużycie w ujęciu wolumenowym, pomagając zrozumieć struktury cenowe i zaplanować działania mające na celu osiągnięcie korzystniejszych poziomów taryfowych.
Kluczowe parametry:
PayerNumber– Twoje konto płatnikaIncludeHistory– Ustaw na „true”, aby wyświetlić historyczne obliczeniaIncludeCurrentPeriodVolume– Ustaw na „true”, aby uzyskać podział miesięczny
Przypadek użycia 9: Śledzenie premii i rabatów
Scenariusz: Posiadasz umowy dotyczące premii opartych na wolumenie i chcesz śledzić swoje postępy w kierunku progów premiowych oraz przeglądać wcześniej uzyskane premie.
Zalecane API: /transaction-data/v1/volumebasedbonus
Dlaczego to API: Dostarcza pełnych szczegółów dotyczących zasad premii, zużycia w bieżącym okresie oraz historycznych obliczeń premii, co pozwala zoptymalizować zakupy w celu maksymalizacji premii.
Kluczowe parametry:
PayerNumber– Twoje konto płatniczeIncludeHistory– Ustaw na „true”, aby wyświetlić poprzednie wypłaty premiiIncludeCurrentPeriodVolume– ustaw na „true”, aby śledzić postęp w bieżącym okresie
Przykłady użycia
Przykład 1: Pobierz transakcje z ceną (w tym EV)
Żądanie:
POST /transaction-data/v1/priced
{
"PageSize": 1,
"Page": 1,
"Filters": {
"ColCoCode": "5",
"ColCoId": 5,
"InvoiceStatus": "A",
"PayerNumber": "DE26685263",
"AccountId": 29484,
"AccountNumber": "DE26667080",
"CardPAN": "7002051006629890645",
"FromDate": "2022-01-01 00:00:00",
"ToDate": "2022-01-31 00:00:00",
"IncludeFees": true
}
}Odpowiedź:
{
"RequestId": "9d2dee33-7803-485a-a2b1-2c7538e597ee",
"Status": "SUCCESS",
"Data": [
{
"AccountName": "Blue Colour Ltd",
"AccountId": 29484,
"AccountNumber": "DE26667080",
"AccountShortName": "Mathew",
"Additional1": "GBALLEGO0002452",
"Additional2": "GBALLEGO0002452",
"Additional3": "GBALLEGO0002452”,
„Additional4”: „GBALLEGO0002452”,
„AllowClearing”: „Null”,
"AuthorisationCode": 300796,
"TransactionStatus": "Y",
"DriverName": "SATTY BHAMRA",
"CardExpiryPeriod": 2204,
"DataWygasaniaKarty": "20220101",
"IdentyfikatorGrupyKart": 40000,
"NazwaGrupyKart": „006240 FIRE BRIGHT SOLUTIONS”,
„IssuerCode”: 7002,
„CardPAN”: „7002053465789891000”,
„ReleaseCode”: 9,
„CardSequenceNumber”: 617,
„CardType”: „GB STD FLT NAT SINGLE R9”,
„ColCoCode”: „014”,
„UnitDiscountInvoiceCurrency”: -0,0051,
„ColCoExchangeRate”: 0,851858,
„InvoiceCurrencySymbol": "GBP",
"CorrectionFlag": true,
"CRMNumber": 10,
"CustomerCountry": "Wielka Brytania",
"CustomerCurrencyCode": "GBP",
"Symbol waluty klienta": "£",
"Rabaty od kwoty netto w walucie klienta": 0,
"Rzeczywisty rabat w walucie klienta": -0,22,
"Rzeczywisty rabat jednostkowy w walucie klienta": -0,0051,
"Cena jednostkowa w walucie faktury": 1,1024,
"Podatek na fakturze": 0,
"Kwota brutto na fakturze": 57,25,
"Kwota netto na fakturze": 47,71,
"VAT od kwoty netto w walucie klienta": 9,54,
"Cena detaliczna jednostkowa brutto dla klienta": 0,
"Łączna wartość detaliczna brutto dla klienta": 57,52,
"Łączna wartość detaliczna netto dla klienta": 47,93,
„TransactionTypeDescription”: 9,59,
„RebateonNetAmountInTransactionCurrency”: -0,22,
„EffectiveDiscountInTrxCurrency”: -0,22,
„DelCoToColCoExchangeRate": 0,
"Cards": [
275549
],
"UnitDiscountTransactionCurrency": -0,005,
"TransactionGrossAmount": 57,25,
"Kwota netto transakcji": 47,71,
"Podatek od transakcji": 9,54,
"VATonNetAmount": 9,54,
"DelcoListPriceUnitNet": 0,
"DelcoRetailPriceUnitGross": 1,32888,
"UnitPriceInTransactionCurrency": 1,1074,
"Cena detaliczna Delco netto na jednostkę": 1,1074,
"Całkowita wartość detaliczna Delco brutto": 57,52,
"Całkowita wartość detaliczna Delco netto": 47,93,
"TransactionCurrencySymbol": "$",
"DiscountType": 1,
"DisputeStatus": false,
"IsShellSite": false,
"FleetIdInput": "YG67OUM",
"IncomingProductCode": 23,
"PostingDate": "20210802",
"PostingTime": "14:15:22",
"ProductCode": 30,
"ProductName": "Benzyna bezołowiowa – średnia liczba oktanowa",
"ProductGroupId": 22,
"IncomingCurrencyCode": "GBP",
"IncomingSiteDescription": "Shell Broadway Ring",
"Location": "Shell Broadway Ring",
"SiteName": "Shell Broadway Ring",
"Kod stacji": 32,
"Numer stacji przychodzącej": 15,
"Kod waluty faktury": "GBP",
"Data faktury": "20210802",
"InvoiceNumber": 3201016193,
"FuelProduct": true,
"VATApplicable": "Y",
"Nazwa płatnika": "Colours Services Ltd",
"Numer płatnika": "GB12121212",
"Numer klienta nadrzędnego": "GB12121212",
„Grupa płatnika”: „H312066”,
„Nazwa grupy płatnika”: „12162566 – USŁUGA KART PALIWOWYCH”,
„Cyfra kontrolna”: 6,
"NetInvoiceIndicator": "Y",
"DelcoCode": 5,
"NetworkCode": 3,
"PurchasedInCountry": "Wielka Brytania",
"Kraj stacji": "Wielka Brytania",
"Kraj VAT": "Wielka Brytania",
"Nazwa dostawcy": "Shell U.K. Oil Products Limited",
"Sieć": "Shell",
"OdometerInput": 0,
"OriginalSalesItemId": "Null",
"FleetIDDescription": "YG67OUM",
"ParentCustomerId": 6494,
"PINIndicator": "Y, N",
"ProductGroupName": "Opłaty",
"PurchasedInCountryCode": "GB",
"Ilość": 43,28,
"Stawka rabatu": 0,0022,
"Numer paragonu": 6803,
"Flaga zwrotu": "Y",
"Identyfikator grupy lokalizacji": 202,
"Nazwa grupy lokalizacji": "CZ 9100 ECONOMY NETWORK",
"Szerokość geograficzna": 53,83606,
"Długość geograficzna": -1,61854,
„DelCoExchangeRate”: 0,851858,
„EuroRebateAmount”: -0,258259,
„NetEuroAmount”: 56,01,
„EuroVATAmount": 11,2,
"ParentCustomerName": "FUEL CARD SERVICES LTD",
"IsInvoiced": false,
"TransactionCurrencyCode": "GBP",
"CreditDebitCode": "D lub C",
"TransactionDate": "20210801",
"TransactionTime": "12:16:58",
"TransactionItemId": "H305908971030",
„TrnIdentifier”: „H305908971030”,
„Type”: „SALE”,
„TransactionLine”: 1,
„TransactionType”: „Purchase”,
„UTCOffset”: „Europe/London”,
"VATCategory": "Standardowa stawka VAT w Wielkiej Brytanii",
"VATRate": 0,2,
„VehicleRegistration”: „YG67OUM”,
„IsCancelled”: „Y”,
„ColCoGrossAmount”: 57,25,
„ColCoNetAmount”: 47,71,
„ColCoVATAmount”: 9,54,
„OriginalCurrencySymbol”: „$”,
„OriginalCurrencyCode”: „$”,
"OriginalVATAmount": 0,
"EmbossText": "PARKLANE PROPERTIES LTD",
"OriginalExchangeRate": 0,
„OriginalTransactionItemInvoiceDate”: „20220202”,
„FeeTypeId”: 1,
„LineItemDescription”: true,
„FeeRuleDescription”: „Simple Fee”,
„Frequency”: 1,
"Identyfikator reguły opłaty": 1,
"Data wprowadzenia do systemu": "20210828",
"Czas wprowadzenia do systemu": "20:21:08",
"Czy jest to wpis ręczny": "Y",
"Identyfikator oryginalnej pozycji transakcji": "Y”,
„OriginalTransactionItemInvoiceNumber”: 6750802,
„OriginalTransactionItemInvoiceId”: 234,
„PayerShortName”: „FUEL CARD SERVICES LTD”,
„ReverseCharge”: „Y”,
„OriginalGrossAmount”: 57,25,
„OriginalNetAmount”: 57,25,
"UnitOfMeasure": "L",
"RoadType": "Droga krajowa",
"CustomerCountryIsoCode": "DE",
"EVOperator": "Shell Recharge",
"EVSerialId": "GBALLEGO0002452",
"EVChargePointSerial": "GBALLEGO0002452",
"EVChargePointConnectorType": 5,
"EVChargePointConnectorTypeDescription": "DC 50 kW",
"EVChargeDuration": "PT3205S",
"EVChargeStartDate": "2021-08-01",
"EVChargeStartTime": "20:08:01",
"EVChargeEndDate": "2022-08-01",
"EVChargeEndTime”: „20:08:01”,
„HostingCollectingCompanyNumber”: 0,
„TransactionId”: 0,
„FuelOnly”: true,
„EVPrintedNumber”: „ZZ2WJ53ZZ5”,
"IsRFID": true
}
],
"Page": 3,
"PageSize": 30,
"TotalPages": 5
}Przykład 2: Pobieranie szczegółów transakcji paliwowej
Żądanie:
POST /transaction-data/v1/pricedtransaction
{
"Filters": {
"ColCoCode": 14,
"InvoiceStatus": "A",
"PayerId": 12345,
"PayerNumber": "NL10042616"
},
"Page": 1,
"PageSize": 50
}Odpowiedź:
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "SUCCESS",
"Data": [
{
"Transactions": [
{
"Type": "SalesItem /FeeItem",
"CardId": 0,
"CardPAN": "7002051006629891000",
"CardExpiry": "2026-06-16",
"TransactionDate": "2026-06-16",
"TransactionTime": "string",
"UTCOffset": "string",
"FleetIdInput": "XYZ1234",
"OdometerInput": 12345,
"DriverName": "ANDREW GILBERRY",
"VehicleRegistration": "MV65YLH",
"InvoiceCurrencyCode": "GBP",
"InvoiceCurrencySymbol”: „$”,
„TransactionCurrencyCode”: „GBP”,
„TransactionCurrencySymbol”: „$”,
„Kwota netto transakcji”: 0,
„Podatek od transakcji”: 0,
„Kwota brutto transakcji”: 0,
„Kwota netto faktury”: 0,
„Podatek od faktury”: 0,
"Kwota brutto na fakturze": 0,
"Kraj zakupu": "Niemcy",
"Identyfikator konta": 29484,
"AccountNumber": "GB99215176",
"AccountName": "MATTHEW ALGIE & COMPANY LIMITED",
"AccountShortName": "string",
"Quantity": 0,
"FuelProduct": true,
„Cena jednostkowa w walucie transakcji”: 0,
„Cena jednostkowa w walucie faktury”: 0,
„Rabaty jednostkowe w walucie transakcji”: 0,
"UnitDiscountInvoiceCurrency": 0,
"IsInvoiced": true,
"InvoiceNumber": "S04500493",
"InvoiceDate": "string",
"SiteCode": "050001 -\tCHARNOCK RICHARD NTHBOUND MWSA 0755",
"Nazwa lokalizacji": "050001 -\tCHARNOCK RICHARD NTHBOUND MWSA 0755",
„SiteCountry”: „Germany”,
„Location”: {
„Latitude”: "37.4224764",
"Longitude": "122.0842499"
},
"CardGroupName": "006240 FIRE BRIGHT SOLUTIONS",
"ReceiptNumber": "1234",
„ProductCode”: „10 – Opłaty TMF”,
„ProductName”: „Bezołowiowe – wysoka liczba oktanowa”,
„ProductGroupId”: 1,
„ProductGroupName”: „Nadrzędna grupa produktów”,
„Kurs wymiany DelCo”: 0,
„Kurs wymiany ColCo”: 0,
„IsShellSite”: true,
„Sieć”: „100013\tSTEINDORFER”,
"SiteGroupId": 202,
"SiteGroupName": "CZ 9100 ECONOMY NETWORK",
"PostingDate": "string",
"IssuerCode": "7002",
"PurchasedInCountryCode": "NL",
"CustomerCountryCode": "NL",
"CustomerCountry": "Holandia",
"ReleaseCode": "8",
"CardGroupId": "string",
"CardSequenceNumber": "2",
"CheckDigit": "ciąg znaków",
"FleetIDDescription": "ciąg znaków",
"VATRate": "0,20 dla 20%",
"VATCategory": "1-stawka zerowa",
"VATonNetAmount": 0,
"VATCountry": "Holandia",
"EffectiveDiscountInTrxCurrency": 0,
"TransactionType": "Zakup przy fizycznej obecności karty, w przeciwnym razie puste”,
„PINIndicator”: „„Użyto kodu PIN””,
„VATApplicable”: „Y”,
„NetInvoiceIndicator”: „Y”,
„CustomerCurrencyCode”: „GBP”,
„Symbol waluty klienta”: „£”,
„Rzeczywista zniżka jednostkowa w walucie klienta”: 0,
„Rzeczywista zniżka w walucie klienta”: 0,
"VAT od kwoty netto w walucie klienta": 0,
"Rodzaj rabatu": "2 pensy za sztukę",
"Status transakcji": „U”,
„SalesItemId”: 18315958002,
„PayerGroup”: „ciąg znaków”,
„PayerGroupName”: „12119008 – SHELL GROUP OF COMPANIES",
„RefundFlag”: „string”,
„OriginalSalesItemId”: „string”,
„DelcoName”: „SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV”,
„DelcoCode”: „14”,
„PayerNumber”: „NL10042616”,
„PayerName”: „V.M. LE COMTE”,
„CardExpiryPeriod”: „1901”,
„AuthorisationCode”: „1011256",
"TransactionId": "io9KVXk1UkW57XWKyeaHHg",
"TransactionLine": "1",
"AllowClearing": "Y",
"Numer CRM": "ciąg znaków",
"Status sporu": "Brak sporu",
"Stawka rabatu": 28,279,
"Kurs wymiany DelCoToColCo": 1,
"NetEuroAmount": 0,
"EuroVATAmount": 0,
"ParentCustomerNumber": "ciąg znaków",
"ParentCustomerName": "ciąg znaków",
"ParentCustomerId": 0,
"IncomingSiteNumber": "100021",
"Opis lokalizacji przychodzącej": "HN3 INTI_02-82.02",
"Kod waluty przychodzącej": "GBP",
"Kod produktu przychodzącego": "30",
"CreditDebitCode": "D",
"CorrectionFlag": "Y",
"Additional1": "ciąg znaków",
"Additional2": "ciąg znaków",
"Additional3": "ciąg znaków",
"Additional4": "ciąg znaków",
"Rabatt od kwoty netto w walucie klienta": -0,735,
"Rabatt od kwoty netto w walucie transakcji": "AVEE PTUAZONW CUBFAO COSFS",
"Identyfikator transakcji": „ciąg znaków”,
„CardType”: „ciąg znaków”,
„DelcoListPriceUnitNet”: 30,5,
„DelcoRetailPriceUnitNet”: 1,921,
„DelcoRetailPriceUnitGross”: 0,
„DelcoRetailValueTotalNet”: 0,
„DelcoRetailValueTotalGross”: 0,
„CustomerRetailPriceUnitGross”: 0,
„CustomerRetailValueTotalNet”: 0,
„EVPrintedNumber”: „3792”,
„IsRFID”: true,
„TokenTypeDescription”: „string”
}
]
}
],
"Page": 1,
"PageSize": 1,
"TotalPages": 15
}Przykład 3: Pobieranie podsumowania transakcji z cenami
Żądanie:
POST /transaction-data/v1/pricedtransactionssummary
{
"Filters": {
"ColCoCode": 9,
"PayerId": 12,
"InvoiceStatus": "A",
"FromDate": "2024-03-20",
"ToDate": "2024-09-17",
„PurchasedInCountryCode”: „AT”
}
}Odpowiedź:
{
„RequestId”: „2b0cbe11-f109-4c43-9201-49af0370df1c",
"Status": "SUCCESS",
"Data": [
{
"ProductId": 1234,
"ProductCode": "10",
"ProductName": "Diesel AGO",
"ProductGroupId": 1,
"ProductGroupName": "Paliwa",
"TotalFuelQuantity": 1250,75,
"TotalNetAmount": 5420,50,
"TotalGrossAmount": 6504,60,
„InvoiceCurrencyCode”: „GBP”,
„InvoiceCurrencySymbol”: "£",
"CustomerRetailValueTotalNet": 5420,50,
"CustomerRetailValueTotalGross": 6504,60
}
]
}Przykład 4: Pobieranie podsumowania cenowego
Żądanie:
POST /transaction-data/v1/pricedsummary
{
"Filters": {
"ColCoCode": 86,
"PayerNumber": "GB000000123",
"CardId": 275549,
"FromDate": "20240225",
"ToDate": "20240225",
"FuelOnly": false
}
}
Odpowiedź:
{
„RequestId”: „5f1bded6-416d-4478-ab7f-33905d7b5d4b”,
„Status”: „SUCCESS”,
„Data”: [
{
"CustomerRetailValueTotalGross": 114,13,
"CustomerRetailValueTotalNet": 95,11,
"InvoiceCurrencyCode": "EUR",
"InvoiceCurrencySymbol": "€",
"ProductCode": "21",
"ProductGroupId": 3,
"ProductGroupName": "Benzyna silnikowa",
"ProductId": 21,
"ProductName": "Bezołowiowa – wysoka liczba oktanowa",
"SiteGroupId": 104,
"SiteGroupName": "Domyślne stacje Shell w Austrii",
"TotalFuelQuantity": 17,0,
"TotalGrossAmount": 114,13,
„TotalNetAmount”: 95,11
}
]
}
Przykład 5: Pobieranie transakcji z cenami dla wielu płatników
Żądanie:
POST /transaction-data/v1/multipayerspricedtransactions
{
"ColCoCode": 86,
"Accounts": [
{
"PayerId": 12345,
"PayerNumber": "GB987654322"
},
{
"PayerId": 12346,
"PayerNumber": "GB000000124"
}
],
"InvoiceStatus": "A",
"FromDate": "20220101",
"ToDate": "20220131",
"PageSize": 50,
"Page": 1
}Odpowiedź:
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "SUCCESS",
"Data": [
{
"Transactions": [
{
"Type": "SalesItem"
}
],
"CardId": 275549,
"CardPAN": "7002051006629891000",
"CardExpiry": "20250812",
"TransactionDate": "20250812",
„Czas transakcji”: „14:30:45”,
„Przesunięcie czasu UTC”: „+01:00:00”,
„Identyfikator floty (dane wprowadzone)”: „XYZ1234”,
„Stan licznika (dane wprowadzone)”: 12345,
"DriverName": "ANDREW GILBERRY",
"VehicleRegistration": "MV65YLH",
"InvoiceCurrencyCode": „GBP”,
„InvoiceCurrencySymbol”: „£”,
„TransactionCurrencyCode”: „GBP”,
„TransactionCurrencySymbol”: „£”,
„TransactionNetAmount”: 47,71,
„TransactionTax”: 9,54,
„Kwota brutto transakcji”: 57,25,
„Kwota netto faktury”: 47,71,
„Podatek na fakturze”: 9,54,
"InvoiceGrossAmount": 57,25,
"PurchasedInCountry": "Niemcy",
"AccountId": 29484,
"AccountNumber": "GB99215176",
"AccountName": „MATTHEW ALGIE & COMPANY LIMITED”,
„Skrót nazwy konta”: „MATTHEW”,
„Ilość”: 43,28,
„Produkt paliwowy”: true,
„Cena jednostkowa w walucie transakcji”: 1,1074,
„Cena jednostkowa w walucie transakcji”: 1,1024,
„Rabaty jednostkowe w walucie transakcji”: -0,005,
„Rabaty jednostkowe w walucie faktury”: -0,0051,
„IsInvoiced”: true,
"InvoiceNumber": "S04500493",
"InvoiceDate": "20250815 09:30:00",
"SiteCode": "050001",
"SiteName”: „CHARNOCK RICHARD NTHBOUND MWSA 0755”,
„Kraj placówki”: „Niemcy”,
„Lokalizacja”: {
„Szerokość geograficzna”: „53.83606”,
„Długość geograficzna”: „-1,61854”
},
„Nazwa grupy kart”: „006240 FIRE BRIGHT SOLUTIONS”,
„Numer pokwitowania”: „6803”,
„Kod produktu”: „10”,
„ProductName”: „Bezołowiowe – wysoka liczba oktanowa”,
"Identyfikator grupy produktów": 2,
"Nazwa grupy produktów": "Wszystkie paliwa",
"Kurs wymiany dostawcy": 0,851858,
"Kurs wymiany odbiorcy": 0,851858,
"IsShellSite": true,
"Network": "SHELL",
"SiteGroupId": 202,
"SiteGroupName": "CZ 9100 ECONOMY NETWORK",
"PostingDate": "20250812 14:30:45",
"IssuerCode": „7002”,
„PurchasedInCountryCode”: „DE”,
„CustomerCountryCode”: „NL”,
„CustomerCountry”: „Niderlandy”,
„ReleaseCode”: „8”,
„CardGroupId”: „40000”,
„CardSequenceNumber”: „617”,
„CheckDigit”: „6”,
„FleetIDDescription”: „YG67OUM”,
„VATRate”: 0,2,
„VATCategory”: „1-Standard Rate”,
„VATonNetAmount”: 9,54,
„VATCountry”: „Niderlandy”,
"EffectiveDiscountInTrxCurrency": -0,22,
"TransactionType": "Zakup",
"PINIndicator": "Użyto kodu PIN",
"VATApplicable": "Y",
"Wskaźnik faktury netto": "N",
"Kod waluty klienta": "GBP",
"Symbol waluty klienta": "£",
"Rzeczywista zniżka jednostkowa w walucie klienta": -0,0051,
"Rzeczywista zniżka w walucie klienta": -0,22,
"VAT od kwoty netto w walucie klienta": 9,54,
"Rodzaj rabatu": "2 pensy za sztukę",
"Status transakcji": "I",
"Identyfikator pozycji sprzedaży": 18315958002,
"Grupa płatników": "H312066",
"Nazwa grupy płatników": "12119008 - SHELL GROUP OF COMPANIES",
"Flag zwrotu": "N",
"OriginalSalesItemId": null,
"DelcoName": "SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV",
"DelcoCode": "014",
„PayerNumber”: „GB987654322”,
„PayerName”: „V.M. LE COMTE”,
„CardExpiryPeriod”: „2504”,
„AuthorisationCode”: „011256”,
„TransactionId”: „io9KVXk1UkW57XWKyeaHHg”,
„TransactionLine”: „1”,
"Zezwól na rozliczenie": "Y",
"Numer CRM": null,
"Status sporu": "Brak sporu",
"Stawka rabatu": 28,279,
"Kurs wymiany DelCoToColCo": 1,
"Kwota netto w euro": 56,01,
"Kwota VAT w euro": 11,2,
„ParentCustomerNumber”: „GB12121212”,
„ParentCustomerName”: „FUEL CARD SERVICES LTD”,
„ParentCustomerId”: 6494,
"IncomingSiteNumber": "100021",
"IncomingSiteDescription": "HN3 INTI_02-82.02",
"IncomingCurrencyCode": "GBP",
"IncomingProductCode": "30",
"Kod obciążenia/rozliczenia": "D",
"Flagi korekty": "N",
"Dodatkowe1": "GBALLEGO0002452",
"Dodatkowe2": null,
"Dodatkowe3": null,
"Dodatkowe4": null,
"Rabatt od kwoty netto w walucie klienta": -0,735,
"Rabatt od kwoty netto w walucie transakcji": -0,735,
"Identyfikator transakcji": "H305908971030",
"CardType": "GB STD FLT NAT SINGLE R9",
"DelcoListPriceUnitNet": 30,5,
"DelcoRetailPriceUnitNet": 1,1074,
"DelcoRetailPriceUnitGross": 1,32888,
"DelcoRetailValueTotalNet": 47,93,
"DelcoRetailValueTotalGross": 57,52,
"CustomerRetailPriceUnitGross": 1,32888,
„CustomerRetailValueTotalNet”: 47,93,
„EVPrintedNumber”: „3792”,
„IsRFID”: true,
"TokenTypeDescription": "Karta flotowa"
}
],
"Page": 1,
"PageSize": 20,
"TotalPages": 15,
"TotalRecords": 300
}Przykład 6: Pobieranie reguł cenowych opartych na wolumenie
Żądanie:
POST /transaction-data/v1/volumebasedpricing
{
"ColCoId": 1,
"ColCoCode": 86,
"PayerId": 12345,
"PayerNumber": "GB000000123",
"IncludeHistory": true,
"IncludeCurrentPeriodVolume": true
}Odpowiedź:
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "SUCCESS",
"Data": [
{
"Configuration": [
{
"PricingAccountId": 123456,
"PricingAccountNumber": "GB000000123",
"PricingAccountShortName": "ABCD1234",
"PricingAccountFullName": "ABCD1234",
"FeeRuleId": 12345,
"FeeRuleDescription": "NL/GAGO/D018/UP0.0120>1",
"FeeRuleDateEffective": "20231223",
"FeeRuleDateTerminated": „20231223”,
„BonusPaidTo”: „1-Pay to Payer”,
„BonusPaidToAccountId”: 123456,
„BonusPaidToAccountNumber”: „GB000000123”,
"Skrót nazwy konta, na które wypłacono premię": "12345",
"Pełna nazwa konta, na które wypłacono premię": "GB000000123",
"Częstotliwość": "3-co tydzień – poniedziałek",
"Data następnego obliczenia": „20231223”,
„Poprzednia data obliczeń”: „20231223”,
"Podstawa zasady opłaty": "3-kwota ryczałtowa",
"Kod waluty zasady opłaty": "GBP",
"Symbol waluty zasady opłaty": "£",
"Data wejścia w życie zasady opłaty": "20231223",
„FeeRuleAvailableTo”: „20231223”,
„FeeRuleLocations”: [
{
„DelcoId”: 866,
„Country”: „United Kingdom”,
„CountryCode”: "UK",
"FuelNetworkId": 100007,
"NetworkName": "VALERO",
"SiteGroupId": 100007,
"SiteGroupName": "VALERO ENERGY LTD",
"SiteCode": 999493,
"SiteId": 100007,
"SiteName": "VALERO ENERGY LTD"
}
],
"FeeRuleProducts": [
{
"ProductGroupID": 3,
"ProductGroupName": "Benzyna silnikowa",
"ProductCode": "30 dla oleju napędowego AGO",
"ProductId": "30 dla oleju napędowego AGO",
"ProductName": "Olej napędowy AGO"
}
],
"FeeRuleTiers": [
{
"TierMinimum": 1234,
"TierMaximum": 1234,
"Value": 1234,12
}
]
}
],
"CurrentPeriodConsumption": [
{
„FeeRuleId”: 12345,
„FeeRuleDescription”: „NL/GAGO/D018/UP0.0120>1”,
„PriceRuleID”: 100005,
„PriceRuleDescription”: „PL/GAGO/GMOT/UL0.055”,
„TotalVolume”: 10000,78,
„NextFeeCreationDate”: „20231223”
}
],
"Historia": [
{
"Data początkowa": "20231223",
"Data końcowa": "20231223",
"Identyfikator reguły opłat": 8081,
"FeesRuleDescription": "PT/P067/D120/P4.0",
"TotalVolume": 12356,66
}
],
„Warnings”: [
{
„Message”: „System jest wyłączony z powodu aktualizacji.”,
"Type": "System Outage"
}
]
}
]
}Przykład 7: Pobieranie zasad dotyczących premii opartych na wolumenie
Żądanie:
POST /transaction-data/v1/volumebasedbonus
{
"ColCoId": 1,
"ColCoCode": 86,
"PayerId": 12345,
"PayerNumber": "GB000000123",
"IncludeHistory": true,
"IncludeCurrentPeriodVolume": true
}Odpowiedź:
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "SUCCESS",
"Data": [
{
"Configuration": [
{
"PricingAccountId": 123456,
"PricingAccountNumber": "GB000000123",
"PricingAccountShortName": "MATTHEW",
"PricingAccountFullName": "MATTHEW",
"FeeRuleId": 1,
"FeeRuleDescription": "NL/GAGO/D018/UP0.0120>1",
"FeeRuleDateEffective": "20231223",
"FeeRuleDateTerminated": "20231223",
"BonusPaidTo": "1-Pay to Payer",
"BonusPaidToAccountId": 123456,
„BonusPaidToAccountNumber”: „GB000000123”,
„BonusPaidToAccountShortName”: „12345”,
„Pełna nazwa konta, na które wypłacono premię”: „GB000000123”,
„Częstotliwość”: „3-Co tydzień – poniedziałek”,
„Następna data obliczeń”: „20231223”,
„Poprzednia data obliczeń”: "20231223",
"FeeRuleBasis": "3-Lump Sum",
"FeeRuleCurrencyCode": "GBP",
"FeeRuleCurrencySymbol": "£",
"FeeRuleAvailableFrom": "20231223",
"FeeRuleAvailableTo": "20231223",
"FeeRuleLocations": [
{
"DelcoId": 866,
"Country": "Wielka Brytania",
"CountryCode": "UK",
"FuelNetworkId": 100007,
"NetworkName": "VALERO",
"SiteGroupId": 100007,
"SiteGroupName": "VALERO ENERGY LTD",
"SiteCode": 999493,
"SiteId": 100007,
"SiteName": "VALERO ENERGY LTD"
}
],
"FeeRuleProducts": [
{
"ProductGroupID": 3,
"ProductGroupName": „Benzyna silnikowa”,
„ProductCode”: „30 dla oleju napędowego AGO”,
„ProductId”: „30 dla oleju napędowego AGO”,
„ProductName”: „Diesel AGO”
}
],
„FeeRuleTiers”: [
{
„TierMinimum”: 1234,
„TierMaximum”: 1234,
„Value”: 1234,12
}
],
„AssociatedAccounts”: [
{
„AssociatedAccountId”: 12345,
„AssociatedAccountNumber”: „GB000000123”,
„AssociatedAccountShortName”: „Skrót nazwy konta",
"AssociatedAccountFullName": "Pełna nazwa konta"
}
]
}
],
„CurrentPeriodConsumption”: [
{
„FeeRuleId”: 12345,
„FeeRuleDescription”: „NL/GAGO/D018/UP0.0120>1”,
„Month”: 1,
„Year”: 2018,
„TotalVolume”: 10000,78
}
],
„HistoricalBonusPaid”: [
{
„PayerId”: 12345,
„PayerNumber”: „GB000000123”,
„PayerShortName”: „Jorden”,
„PayerFullName”: „MATTHEW”,
"Identyfikator konta": 123456,
"Numer konta": "GB000000123",
"Skrót nazwy konta": "SALT",
"Pełna nazwa konta": "ABCD1234",
"InvoiceAccountId": 12345,
"InvoiceAccountNumber": "GB000000123",
"InvoiceAccountShortName": "DFE1234",
"Pełna nazwa konta faktury": "AZAD PVT LMT",
"Identyfikator reguły opłaty": 12345,
"Opis reguły opłaty": "NL/GAGO/D018/UP0.0120>1",
„FromDate”: „20231223”,
„ToDate”: „20231223”,
„BonusPaidTo”: „5-Wypłata na rzecz powiązanych klientów”,
„FeeItemId”: 12345,
„FeeRuleBasis”: „2-Percentage of Uplift”,
„FeeItemCurrencyCode”: „GBP”,
„FeeItemCurrencySymbol”: „$”,
"ProratedVolume": 123,12,
"TotalVolume": 123,12,
"FeeProduct": "1562-Premia za olej napędowy Shell",
"InvoiceGrossAmount": 123,12,
„InvoiceNetAmount”: 123,12,
„InvoiceVATAmount”: 123,12,
„IsFeeCancelled”: true,
„FeeItemTierProratedVolume”: 123,12,
„FeeItemTierTotalVolume": 123,12,
„TierMinimum”: 123,
„TierRate”: 123,12
}
]
}
],
„Warnings”: [
{
„Message”: „System jest niedostępny z powodu aktualizacji.”,
„Type”: „System Outage”
}
]
}Przykład 8: Pobierz podsumowanie opłat
Żądanie:
POST /transaction-data/v1/feessummary
{
"ColCoId": 1,
"ColCoCode": 86,
"PayerId": 12345,
"PayerNumber": "GB000000123",
"CardId": 275549,
"InvoiceStatus": "I",
"FromDate": "20240101",
"ToDate": "20240131",
"FeeTypeGroup": "Opłaty kartowe"
}Odpowiedź:
{
"RequestId”: „2b0cbe11-f109-4c43-9201-49af0370df1c”,
„Status”: „SUCCESS”,
„Data”: [
{
„FeeTypeGroup”: „Opłaty kartowe”,
„FeeTypeId”: 1,
„FeeType”: „Roczna opłata za kartę”,
„ProductId”: 1234,
„ProductCode”: „FEE”,
„ProductName”: „Opłata za kartę”,
"TotalFeeAmount": 125,00,
"InvoiceCurrencyCode": "GBP",
"InvoiceCurrencySymbol": "£"
}
]
}Przykład 9: Pobieranie wyjątków transakcji
Żądanie:
POST /transaction-data/v1/exceptions
{
"ColCoId": 1,
"ColCoCode": 86,
"PayerId": 12345,
"PayerNumber": "GB000000123",
"TransactionsFromDate": "20231223",
"TransactionsToDate": "20240131",
"Value": 100,
"Condition": 5,
"OutputType": "Transaction"
}Odpowiedź:
{
"RequestId”: „eb621f45-a543-4d9a-a934-2f223b263c42”,
„Status”: „SUCCESS”,
„Data”: [
{
„CardsExceptions”: [
{
"AccountId": 29484,
"CardId": 1234,
"PAN": "ABCD1234",
"DriverName": "ANDREW GILBERRY",
"VRN”: „34235”,
„PayerId”: 123455,
„PayerNumber”: „GB000000123”,
„AccountNumber”: „GB99215176”,
"AccountShortName": "MATTHEW",
"PayerShortName": "MATTHEW",
"Day": 2,
"Week": 2,
"Month": 5,
"Year": 2017,
"TotalTransactions": 4,
"TotalSalesItems": 4,
„Całkowita ilość”: 261,
„Całkowita kwota”: 100,21,
„Kod waluty”: „GBP”,
„Symbol waluty”: „$”
}
],
„TransactionsExceptions”: [
{
„SalesItemId”: 18315958002,
„CardId”: 1234,
„ProductId”: 2,
„TransactionGUID”: „ABCD1234”,
"TransactionDate": "20231223",
"CustomerInvoiceValueTotalGross": 123,12,
"CardPAN": "7002051006629891000",
„CardExpiry”: „20311223 12:12:12”,
„TransactionTime”: „12:12:12”,
„UTCOffset”: „+12:12:12”,
"FleetIdInput": "XYZ1234",
"OdometerInput": 1234,
„DriverName”: „SALT”,
„VehicleRegistration”: „MV65YLH”,
„InvoiceCurrencyCode”: „GBP”,
„InvoiceCurrencySymbol”: „$”,
"TransactionCurrencyCode": "GBP",
"TransactionCurrencySymbol": "£",
"TransactionNetAmount": 123,12,
„Podatek transakcji”: 123,12,
„Kwota brutto transakcji”: 123,12,
„Kwota netto faktury”: 123,12,
„Podatek na fakturze”: 123,12,
„Kwota brutto na fakturze”: 123,1,
"Kraj zakupu": "Francja",
"Identyfikator konta": 1234,
"Numer konta": "GB99215176”,
„AccountName”: „MATTHEW ALGIE & COMPANY LIMITED”,
„AccountShortName”: „MATTHEW ALGIE & COMPANY LIMITED”,
„Quantity”: 123,12,
„FuelProduct”: true,
„Cena jednostkowa w walucie transakcji”: 123,12,
„Cena jednostkowa w walucie faktury”: 123,12,
„Rabaty jednostkowe w walucie transakcji”: 123,12,
"Rabatu jednostkowego w walucie faktury": 123,12,
"Czy zafakturowano": true,
"Numer faktury": "S04500493",
"InvoiceDate": "20231223",
"SiteCode": "50001",
"SiteName": "CHARNOCK RICHARD NTHBOUND MWSA 0755",
„SiteCountry”: „Germany”,
„Location”: {
„Lat”: „37.4224764”,
„Lng”: „122.0842499"
},
„CardGroupName”: „006240 FIRE BRIGHT SOLUTIONS”,
„ReceiptNumber”: „1234”,
„ProductCode”: „TMF Charges”,
„ProductName”: „Bezołowiowa – wysoka liczba oktanowa”,
„ProductGroupId”: 1234,
„ProductGroupName”: „Nadrzędna grupa produktów”,
„DelCoExchangeRate”: 123,12,
„ColCoExchangeRate”: 123,12,
„IsShellSite”: true,
„Network”: „Shell PH”,
„SiteGroupId”: 202,
„SiteGroupName”: „CZ 9100 ECONOMY NETWORK”,
"PostingDate": "20231223 12:12:12",
"IssuerCode": "7077 = CRT",
"PurchasedInCountryCode": "NL",
"CustomerCountryCode": "NL",
"CustomerCountry": "Holandia",
"Kod wydania": "8 dla 702188",
"Identyfikator grupy kart": "200",
"Numer sekwencyjny karty": "2",
"Cyfra kontrolna": "GHE1234",
"Opis identyfikatora floty": "Przykładowy opis",
"Stawka VAT": 0,2,
"Kategoria VAT": "3 – zwolnione z VAT",
"VAT od kwoty netto": 12,21,
"Kraj VAT": "Holandia",
"EffectiveDiscountInTrxCurrency": 0,
"TransactionType": "Zakup przy fizycznej obecności karty, w przeciwnym razie puste",
"PINIndicator": "Y",
"VATApplicable": "Y",
"Wskaźnik kwoty netto na fakturze": "Tak",
"Kod waluty klienta": "GBP",
"Symbol waluty klienta": "£",
"Rzeczywista zniżka jednostkowa w walucie klienta": 123,12,
"Rzeczywista zniżka w walucie klienta": 123,12,
"VAT od kwoty netto w walucie klienta”: 123,12,
„Typ rabatu”: „3-procentowy”,
„Status transakcji”: „U”,
„Grupa płatników”: „12119008”,
"RefundFlag": "N",
"OriginalSalesItemId": "1231",
"DelcoName": "SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV",
"DelcoCode": "NL10042616",
"PayerName": "V.M. LE COMTE",
"CardExpiryPeriod": "1901",
"AuthorisationCode": "11256",
"TransactionId": "io9KVXk1UkW57XWKyeaHHg",
"TransactionLine": "1",
"Zezwól na rozliczenie": "Y",
"Numer CRM": "ABCD1234",
"Status sporu": "6\tKwota zwrócona do serwisu",
"Stawka rabatu": 28,279,
"Kurs wymiany DelCoToColCoExchangeRate": 1,
"NetEuroAmount": 37,93,
"EuroRebateAmount": 0,
"EuroVATAmount": 7,96,
"ParentCustomerNumber": "DRG1234"
}
]
}
]
}Przykład 10: Pobieranie podsumowania wykorzystania karty
Żądanie:
POST /transaction-data/v1/cardusagesummary
{
"ColCoId": 1,
"ColCoCode": 86,
"PayerId": 12345,
"PayerNumber": "GB000000123",
"AccountId": 1234,
"AccountNumber": "GB000000123",
"CardId": 1234,
"PAN": "7882861007636000020",
"CardExpiry": "20311223"
}Odpowiedź:
{
"RequestId": "eb621f45-a543-4d9a-a934-2f223b263c42",
"Status": "SUCCESS",
"Data": [
{
"UsageSummary": [
{
"Date": "20170930",
"ProductId": 1,
"ProductCode": "2",
"ProductName": "Diesel AGO",
"IsFuelProduct": true,
"SiteGroupId": 1234,
"SiteGroupName": "UK 9500 MOTORWAY NETWORK",
"TotalVolume": 123,12,
"TotalGross": 123,12,
"TotalNet": 123,12,
"CurrencyCode": "GBP",
"CurrencySymbol": "£",
"ProductGroupId": 1234,
"ProductGroupName": "Benzyna silnikowa"
}
]
}
]
}Obsługa błędów
Typowe kody błędów
| Status HTTP | Kod błędu | Opis | Rozwiązanie |
|---|---|---|---|
| 200 | Nie dotyczy | Status: SUCCESS | Nie dotyczy |
| 200 | E0001 | Błąd walidacji | Sprawdź parametry żądania |
| 401 | E0003 | Brak uprawnień | Sprawdź, czy token OAuth jest ważny |
| 403 | E0003 | Dostęp zabroniony | Sprawdź uprawnienia użytkownika |
| 404 | E0005 | Nie znaleziono zasobu | Sprawdź, czy adres URL punktu końcowego i zasób istnieją |
| 500 | E0002 | Nieznany błąd / Wewnętrzny błąd serwera | Skontaktuj się z pomocą techniczną |
Najlepsze praktyki
1. Wprowadź uwierzytelnianie OAuth 2.0
WAŻNE: Wszyscy klienci powinni przejść na uwierzytelnianie OAuth 2.0. Wprowadź odpowiednie zarządzanie tokenami:
- Buforuj tokeny dostępu i wykorzystuj je ponownie do momentu wygaśnięcia
- Odświeżaj tokeny przed ich wygaśnięciem (zalecane 60 sekund przed)
- Przechowuj poświadczenia klienta (używaj zmiennych środowiskowych lub menedżera sekretów)
- Nigdy nie rejestruj ani nie ujawniaj tokenów dostępu w kodzie po stronie klienta
2. Używaj identyfikatorów żądań
Zawsze dołączaj unikalny identyfikator żądania (RequestId w formacie GUID) w celu zapewnienia śledzalności od początku do końca
3. Wprowadź paginację
W przypadku dużych zbiorów danych transakcyjnych stosuj paginację, aby uniknąć przekroczenia limitów czasu:
- Ustaw odpowiednią wartość PageSize (zalecane: 50–100 rekordów)
- Przetwarzaj strony sekwencyjnie lub równolegle
- Obsługuj wartości TotalPages i TotalRecords w odpowiedziach
4. Rozsądnie korzystaj z filtrów daty
Podczas wysyłania zapytań o dane transakcyjne:
- Ogranicz zakresy dat, aby uniknąć dużych zestawów wyników
- Konsekwentnie stosuj filtry FromDate i ToDate
- Aby uzyskać lepszą wydajność, rozważ wysyłanie zapytań według miesiąca lub tygodnia
5. Testuj w środowisku testowym
Zawsze testuj integrację w środowisku testowym przed przeniesieniem do środowiska produkcyjnego
6. Buforuj dane referencyjne
Buforuj zasady cenowe oparte na wolumenie oraz zasady dotyczące premii, aby zminimalizować liczbę wywołań API:
- Zasady te zmieniają się rzadko
- Okresowo odświeżaj pamięć podręczną (np. codziennie)
- Używaj parametru IncludeHistory tylko wtedy, gdy jest to konieczne
SDK i przykłady kodu
Shell udostępnia oficjalne zestawy SDK oraz obszerne przykłady kodu, które przyspieszą integrację z interfejsem API danych transakcyjnych.
Dostępne języki SDK
- Python – w pełni funkcjonalny zestaw SDK z obsługą OAuth 2.0
- TypeScript — SDK zapewniające bezpieczeństwo typów z pełnymi definicjami typów
- Java — SDK klasy korporacyjnej
- C#/.NET – Pełna integracja z platformą .NET
- PHP – Łatwa w użyciu biblioteka PHP
- Ruby – Pakiet Ruby gem zapewniający płynną integrację
Zobacz oficjalne zestawy SDK i dokumentacji
Wsparcie i zasoby
Wsparcie techniczne
- Wsparcie: Pomoc techniczna dotycząca Shell
- Migracja do OAuth 2.0: Wsparcie przy migracji do OAuth 2.0
Dokumentacja
Pomoc
Kontaktując się z pomocą techniczną, należy podać:
- swój identyfikator client_id (nigdy nie udostępniaj swojego client_secret ani tokenów dostępu)
- identyfikator RequestId z odpowiedzi API
- znacznik czasu żądania
- środowisko (produkcyjne/testowe)
Data ostatniej aktualizacji: 16 czerwca 2026 r.
Wersja dokumentu: 1.0
Wersja API: 2.3.4
