Skip to main content

B2B Mobility Card Transaction Data 2.3.5

Uzyskaj aktualizacje dotyczące zmiany statusu, konserwacji i wersji tego API.

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:

  1. Poproś o dane uwierzytelniające OAuth 2.0 od pomocy technicznej Shell
  2. Wprowadź zarządzanie tokenami OAuth w swojej aplikacji
  3. Przeprowadź dokładne testy w środowisku testowym/sandboxowym
  4. W okresie przejściowym stosuj uwierzytelnianie równoległe (OAuth + starsze metody) w trakcie przejścia
  5. Monitoruj i weryfikuj integrację OAuth
  6. Przejdź na wyłączność OAuth po weryfikacji
  7. 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

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:

  • FromDate oraz ToDate – ustaw na datę wczorajszą
  • InvoiceStatus – użyj „A” dla wszystkich transakcji
  • PageSize – 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 sprawdzenia
  • InvoiceDate – data faktury z rozliczenia
  • IncludeFees – 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:

  • FromDate oraz ToDate – ustaw na ostatnie 30 dni
  • ProductCode – filtruj według konkretnych rodzajów paliw
  • ProductGroupName – 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 transakcji
  • FromDate oraz ToDate – 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ść progu
  • OutputType – „Transaction” dla wyjątków transakcyjnych
  • TransactionsFromDate oraz TransactionsToDate – 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 zafakturowanych
  • FeeTypeGroup – Filtruj według „Opłat kartowych”, „Opłaty za konto” itp.
  • FromDate oraz ToDate – 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:

  • CardId lub PAN – konkretna karta do analizy
  • CardExpiry – do dodatkowej weryfikacji
  • AccountId – 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łatnika
  • IncludeHistory – Ustaw na „true”, aby wyświetlić historyczne obliczenia
  • IncludeCurrentPeriodVolume – 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łatnicze
  • IncludeHistory – Ustaw na „true”, aby wyświetlić poprzednie wypłaty premii
  • IncludeCurrentPeriodVolume – 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

Dokumentacja

Pomoc

Kontaktując się z pomocą techniczną, należy podać:

  1. swój identyfikator client_id (nigdy nie udostępniaj swojego client_secret ani tokenów dostępu)
  2. identyfikator RequestId z odpowiedzi API
  3. znacznik czasu żądania
  4. środowisko (produkcyjne/testowe)

Data ostatniej aktualizacji: 16 czerwca 2026 r.
Wersja dokumentu: 1.0
Wersja API: 2.3.4

O nas

Portal dla programistów Shell wspiera partnerów w procesie wdrażania interfejsów API firmy Shell oraz przekształcaniu pomysłów w rozwiązania gotowe do wdrożenia.

Logo Shell

Zaloguj się do swojego konta

Zapytaj asystenta AI o interfejsy API firmy Shell i produkty API