API des données de transaction de la carte Shell B2B Mobility - Guide de démarrage rapide
Version de l'API : 2.3.4 | Authentification : OAuth 2.0 | Statut : Production
Présentation
L'API des données de transaction de la carte Shell est une API basée sur REST qui permet aux développeurs de récupérer et d’analyser par programmation les données de transaction des cartes carburant Shell. L’API donne accès aux transactions tarifées, aux frais, à la tarification au volume, aux règles de bonus, aux exceptions et aux résumés d’utilisation des cartes.
Remarque : Ce guide ne couvre que les points de terminaison authentifiés via OAuth 2.0 (chemin de base : /transaction-data/v1). Les points de terminaison hérités utilisant l’authentification Basic (/fleetmanagement/v1/transaction) ne sont pas inclus, car ils sont en cours de suppression progressive.
Fonctionnalités clés
- Récupérer les détails des transactions tarifées, y compris les transactions liées aux véhicules électriques
- Accéder aux détails des transactions de carburant avec les articles vendus et les frais
- Obtenir des données récapitulatives sur les transactions de carburant et les transactions NFR
- Interroger laet des règles de bonus
- Récupérer les éléments de frais et les données récapitulatives sur les frais
- Accéder aux exceptions liées aux cartes et aux transactions
- Analyser les données d’utilisation des cartes et de dépenses
- Prise en charge des requêtes sur les transactions multi-payeurs
Avis important - OAuth 2.0
IMPORTANT : OAuth 2.0 est désormais la méthode d’authentification standard
- Nouvelles intégrations : Utilisez OAuth 2.0 dès le départ
- Intégrations existantes : Prévoyez votre migration vers OAuth 2.0
- Méthodes héritées : L'authentification de base est en cours de suppression progressive
Contactez le support technique de Shell pour obtenir vos identifiants OAuth 2.0 (client_id et client_secret).
Authentification
OAuth 2.0 (méthode d’authentification standard)
L’API des données de transaction par carte Shell utilise le flux d’authentification par identifiants client OAuth 2.0 pour une authentification sécurisée.
AVERTISSEMENT : Tous les clients doivent prévoir d’adopter l’authentification OAuth 2.0. Il s’agit de la méthode d’authentification recommandée et pérennepour l’API des données de transaction de la carte Shell. Les méthodes d’authentification héritées sont progressivement supprimées.
Flux OAuth 2.0
Étape 1 : Obtenir un jeton d’accès
Demandez un jeton d’accès auprès du point de terminaison des jetons OAuth :
POST /oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=votre-client-id&client_secret=votre-secret-client
Étape 2 : Utiliser le jeton d’accès dans les requêtes API
Authorization: Bearer Content-Type: application/json
Gestion des jetons
Bonnes pratiques en matière de gestion des jetons :
- Les jetons d’accès ont une durée de vie limitée (généralement 15 minutes)
- Mettez en place une mise en cache des jetons pour éviter les requêtes inutiles
- Actualisez les jetons avant leur expiration pour garantir un service ininterrompu
- Ne partagez jamais votre client_secret et ne l’intégrez pas dans le code côté client
Adoption d’OAuth 2.0 Stratégie
Pourquoi migrer vers OAuth 2.0 ?
Avantages en matière de sécurité :
- Protocole d’authentification conforme aux normes du secteur
- Les jetons d’accès à durée limitée réduisent les risques de sécurité
- Aucune information d’identification n’est transmise à chaque requête
- Meilleure prise en charge de la rotation et la révocation des jetons
Avantages opérationnels :
- Évolutivité et performances améliorées
- Meilleures capacités de surveillance et d’audit
- Gestion simplifiée des identifiants
- Intégration évolutive
Parcours de migration
Si vous utilisez actuellement des méthodes d’authentification héritées, suivez ce parcours de migration :
- Demandez des identifiants OAuth 2.0 à Support technique Shell
- Mettez en œuvre la gestion des jetons OAuth dans votre application
- Testez de manière approfondie dans l’environnement de test/sandbox
- Exécutez l’authentification en parallèle (OAuth + méthode héritée) pendant la transition
- Surveillez et validez l’intégration OAuth
- Passez à l’authentification exclusivement via OAuth une fois la validation effectuée
- Mettez hors service l’authentification héritée après une migration réussie
Environnements
L’API est disponible dans deux environnements :
| Environnement | URL de base | Objectif |
|---|---|---|
| Production | https://api.shell.com | Environnement de production en direct |
| Test (Sandbox) | https://api-test.shell.com/test | Environnement de test et de développement |
Conseil : Testez toujours votre intégration dans l’environnement de test avant de passer en production.
Démarrage rapide
1. Obtenir vos identifiants OAuth
- Contacter le support technique de Shell
- Demander des identifiants OAuth 2.0 (client_id et client_secret)
- Consultez les conditions d’utilisation
2. Obtenez un jeton d’accès
Commencez par obtenir votre jeton d’accès OAuth :
Exemple avec 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=votre-id-client&client_secret=votre-secret-client"
Réponse :
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}3. Effectuez votre première requête API
Exemple : récupérer les transactions tarifées
Exemple avec 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
}'Exemple de réponse :
{
"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,
"CardExpiry" : "20220101",
"CardGroupId" : 40000,
"CardGroupName" : "006240 FIRE BRIGHT SOLUTIONS",
"Code de l'émetteur" : 7002,
"Numéro de carte" : "7002053465789891000",
"Code de validation" : 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" : "Royaume-Uni",
"CustomerCurrencyCode" : "GBP",
"CustomerCurrencySymbol" : "£",
"RebateonNetAmountInCustomerCurrency" : 0,
"Remise effective en devise du client" : -0,22,
"Remise unitaire effective en devise du client" : -0,0051,
"Prix unitaire en devise de facturation" : 1,1024,
"Taxe sur la facture" : 0,
"Montant brut de la facture" : 57,25,
"Montant net de la facture" : 47,71,
"TVA sur le montant net dans la devise du client" : 9,54,
"PrixUnitaireBrutAuDétailPourLeClient" : 0,
"ValeurBruteTotaleAuDétailPourLeClient" : 57,52,
"ValeurNetteTotaleAuDétailPourLeClient": 47,93,
"Description du type de transaction" : 9,59,
"Remise sur le montant net dans la devise de la transaction" : -0,22,
"Remise effective en devise de la transaction » : -0,22,
« Taux de change entre la devise du pays de départ et celle du pays de destination » : 0,
« Cartes » : [
275549
],
« RemiseUnitaireDansLaDeviseDeLaTransaction » : -0,005,
« MontantBrutDeLaTransaction » : 57,25,
« MontantNetDeLaTransaction » : 47,71,
«TaxeSurLaTransaction" : 9,54,
"TVASurMontantNet" : 9,54,
"PrixCatalogueDelcoUnitaireNet" : 0,
"PrixDeVenteDelcoUnitaireBrut" : 1,32888,
"PrixUnitaireDansLaDeviseDeLaTransaction" : 1,1074,
"PrixDeVenteUnitaireNetDelco" : 1,1074,
"ValeurBruteTotaleDeVenteDelco" : 57,52,
"DelcoRetailValueTotalNet" : 47,93,
"TransactionCurrencySymbol" : "$",
"DiscountType" : 1,
"DisputeStatus" : false,
"IsShellSite" : false,
« FleetIdInput » : « YG67OUM »,
« IncomingProductCode » : 23,
« PostingDate » : « 20210802 »,
"HeureDePublication" : "14:15:22",
"CodeProduit" : 30,
"NomProduit" : "Sans plomb - Indice d'octane moyen",
"IdGroupeDeProduits" : 22,
"IncomingCurrencyCode": "GBP",
"IncomingSiteDescription": « Shell Broadway Ring »,
« Emplacement » : « Shell Broadway Ring »,
« NomDuSite » : « Shell Broadway Ring »,
« CodeDuSite » : 32,
« NuméroDuSiteEntrant » : 15,
« CodeDeviseFacture » : « GBP »,
"DateDeFacture" : "20210802",
"NuméroDeFacture" : 3201016193,
"ProduitCarburant" : true,
"TVAApplicable" : "O",
"NomDuPayeur": « Colours Services Ltd »,
« Numéro du payeur » : « GB12121212 »,
« Numéro du client parent » : « GB12121212 »,
«GroupePayeur" : "H312066",
"NomGroupePayeur" : "12162566 - SERVICE DE CARTE CARBURANT",
"ChiffreDeContrôle" : 6,
"NetInvoiceIndicator » : « Y »,
« DelcoCode » : 5,
« NetworkCode » : 3,
« PurchasedInCountry » : « Royaume-Uni »,
"Pays de la station-service" : "Royaume-Uni",
"Pays de la TVA" : "Royaume-Uni",
"Nom du fournisseur" : "Shell U.K. Oil Products Limited",
"Réseau" : "Shell",
"Kilométrage saisi" : 0,
"ID de l'article de vente d'origine" : "Null",
"Description de l’ID de flotte" : "YG67OUM",
"ID du client parent" : 6494,
"Indicateur de code PIN" : "Y, N",
"Nom du groupe de produits" : "Frais",
"PurchasedInCountryCode" : "GB",
"Quantity" : 43,28,
"RebateRate" : 0,0022,
"ReceiptNumber" : 6803,
"RefundFlag" : "Y",
"SiteGroupId" : 202,
"SiteGroupName" : "CZ 9100 ECONOMY NETWORK",
"Latitude" : 53,83606,
"Longitude" : -1,61854,
"TauxDeChangeDelCo" : 0,851858,
"MontantDeRemiseEnEuros" : -0,258259,
"MontantNetEnEuros" : 56,01,
"MontantTVAEnEuros" : 11,2,
"NomDuClientParent" : "FUEL CARD SERVICES LTD",
"EstFacturé" : false,
"CodeDeviseDeLaTransaction" : "GBP",
"CreditDebitCode" : "D ou C",
"TransactionDate" : "20210801",
"TransactionTime" : "12:16:58",
"TransactionItemId" : "H305908971030",
"TrnIdentifier" : "H305908971030",
"Type" : "SALE",
"LigneDeTransaction" : 1,
"TypeDeTransaction" : "Achat",
"DécalageUTC" : "Europe/London",
"CatégorieTVA" : "Taux de TVA standard du Royaume-Uni",
"TauxDeTVA" : 0,2,
"Immatriculation du véhicule" : "YG67OUM",
"Est-il annulé" : "Y",
"Montant brut ColCo" : 57,25,
"Montant net ColCo" : 47,71,
"Montant TVA ColCo" : 9,54,
"Symbole de devise d'origine" : "$",
« Code de devise d’origine » : « $ »,
« Montant TVA d’origine » : 0,
« Texte en relief » : « PARKLANE PROPERTIES LTD »,
"TauxDeChangeD'Origine" : 0,
"DateDeFactureDeL'ÉlémentDeTransactionD'Origine" : "20220202",
"FeeTypeId" : 1,
"LineItemDescription" : true,
"FeeRuleDescription" : "Simple Fee",
"Frequency" : 1,
"FeeRuleId" : 1,
"DateDeSaisieDansLeSystème" : "20210828",
"HeureDeSaisieDansLeSystème" : "20:21:08",
"EstManuelle" : "O",
"IdentifiantDeL'ÉlémentDeTransactionD'Origine": « Y »,
« Numéro de facture de l’élément de transaction d’origine » : 6750802,
« ID de facture de l’élément de transaction d’origine » : 234,
« Nom abrégé du payeur » : « FUEL CARD SERVICES LTD",
"ReverseCharge" : "Y",
"OriginalGrossAmount" : 57,25,
"OriginalNetAmount" : 57,25,
"UnitOfMeasure" : "L",
"RoadType" : "Route nationale",
"CustomerCountryIsoCode" : "DE",
"EVOperator" : "Shell Recharge",
"EVSerialId" : "GBALLEGO0002452",
"Numéro de série du point de recharge" : "GBALLEGO0002452",
"Type de connecteur du point de recharge" : 5,
"EVChargePointConnectorTypeDescription" : "CC 50 kW",
"EVChargeDuration" : "PT3205S",
"EVChargeStartDate" : "01/08/2021",
"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
}Référence des points de terminaison API
Transactions tarifées
| Point de terminaison | Méthode | Description |
|---|---|---|
| /transaction-data/v1/priced | POST | Récupérer les détails des transactions payantes, y compris les transactions EV (OAuth 2.0) |
| /transaction-data/v1/pricedtransaction | POST | Récupérer les détails des transactions de carburant avec les articles vendus et les frais (OAuth 2.0) |
| /transaction-data/v1/multipayerspricedtransactions | POST | Récupérer les détails des transactions tarifées pour plusieurs payeurs (OAuth 2.0) |
Cas d’utilisation courants :
- Récupérer les transactions par plage de dates
- Filtrer par statut de transaction (Approuvée, Refusée, etc.)
- Recherche par numéro de carte (PAN) ou immatriculation du véhicule
- Récupérer les transactions de recharge de véhicules électriques
- Interroger les transactions pour plusieurs payeurs
Résumés des transactions
| Point de terminaison | Méthode | Description |
|---|---|---|
| /transaction-data/v1/pricedtransactionssummary | POST | Récupérer les données récapitulatives des transactions tarifées pour le carburant et les dépenses non liées au carburant (NFR), avec les articles vendus et les frais (OAuth 2.0) |
| /transaction-data/v1/cardusagesummary | POST | Obtenir l’analyse des dépenses et le récapitulatif d’utilisation d’une carte (OAuth 2.0) |
Renvoie :
- Données de transaction agrégées par période
- Volumes et montants totaux
- Répartition par type de produit et par catégorie
- Analyse des dépenses au niveau de la carte
Gestion des frais
| Point de terminaison | Méthode | Description |
|---|---|---|
| /transaction-data/v1/feessummary | POST | Récupérer les données récapitulatives des éléments de frais pour le payeur donné (OAuth 2.0) |
Informations sur les frais :
- Récupérer les éléments de frais appliqués aux transactions
- Récapitulatif de tous les frais par période
- Ventilation des frais par type et par catégorie
- Analyse des frais au niveau du compte
Règles basées sur le volume
| Point de terminaison | Méthode | Description |
|---|---|---|
| /transaction-data/v1/volumebasedpricing | POST | Récupérer la configuration des règles de frais de retard pour le payeur donné (OAuth 2.0) |
| /transaction-data/v1/volumebasedbonus | POST | Récupérer la configuration des règles de bonus et de bonus d’association pour le payeur donné (OAuth 2.0) |
Fonctionnalités basées sur le volume :
- Accéder aux règles de tarification en fonction du volume
- Récupérer les règles de calcul des bonus
- Obtenir les configurations des bonus d’association
- Interroger les structures tarifaires des frais de retard
Exceptions
| Point de terminaison | Méthode | Description |
|---|---|---|
| /transaction-data/v1/exceptions | POST | Récupérer les exceptions liées à la carte ou à la transaction (OAuth 2.0) |
Types d’exceptions :
- Échecs de validation des transactions
- Anomalies d’utilisation des cartes
- Exceptions d’autorisation
- Alertes de violation de politique
Cas d’utilisation courants
Cette section met en correspondance les scénarios métier courants avec les points de terminaison API appropriés afin de vous aider à identifier rapidement les API à utiliser pour vos besoins spécifiques.
Cas d’utilisation n° 1 : Rapprochement quotidien des transactions
Scénario : Vous devez rapprocher quotidiennement toutes les transactions de vos cartes de flotte à des fins comptables.
API recommandée : /transaction-data/v1/priced
Pourquoi cette API : Ce point de terminaison fournit des détails complets sur les transactions, y compris les transactions de recharge de véhicules électriques, permet un filtrage flexible par date et inclut à la fois les transactions facturées et non facturées. Idéale pour le rapprochement quotidien, elle prend en charge la pagination pour les grands ensembles de données.
Paramètres clés :
FromDateetToDate- À définir sur la date d’hierInvoiceStatus– Utilisez « A » pour toutes les transactionsPageSize– Définissez la valeur sur 100 pour une récupération efficace des données
Cas d’utilisation n° 2 : Validation et vérification des factures
Scénario : Vous avez reçu une facture et devez vérifier tous les détails des transactions, y compris les frais et les suppléments.
API recommandée : /transaction-data/v1/pricedtransaction
Pourquoi cette API : Spécialement conçue pour fournir des informations détaillées sur les transactions de carburant, y compris les articles vendus et tous les frais associés. Idéale pour la validation des factures car elle correspond à la structure de la facture.
Paramètres clés :
InvoiceNumber- Numéro de la facture à validerInvoiceDate- Date de la facture figurant sur votre relevé de facturationIncludeFees- À définir sur « true » pour afficher tous les éléments de frais
Cas d’utilisation n° 3 : Analyse et rapports sur la consommation de carburant
Scénario : Vous devez analyser les tendances de consommation de carburant de votre flotte au cours du mois écoulé afin d’optimiser les itinéraires et de réduire les coûts.
API recommandéesAPI recommandées :
/transaction-data/v1/pricedtransactionssummary- Pour les données agrégées
Pourquoi ces API : Les points de terminaison de synthèse fournissent des données agrégées par produit, groupe de sites et période, ce qui les rend idéales pour l’analyse des tendances sans avoir à traiter d’importants volumes de transactions.
Paramètres clés :
FromDateetToDate- Définir sur les 30 derniers joursProductCode- Filtrer par types de carburant spécifiquesProductGroupName- Regrouper par catégories de carburant
Cas d’utilisation n° 4 : Gestion multi-flottes
Scénario : Vous gérez plusieurs sous-comptes ou payeurs et devez récupérer les données de transaction de l’ensemble d’entre eux pour établir des rapports consolidés.
API recommandée : /transaction-data/v1/multipayerspricedtransactions
Pourquoi cette API : Spécialement conçue pour interroger les transactions de plusieurs payeurs en un seul appel API, ce qui réduit considérablement le nombre de requêtes et améliore les performances dans les scénarios impliquant plusieurs flottes.
Paramètres clés :
Accounts- Tableau contenant les identifiants et les numéros des payeurs (10 payeurs maximum)InvoiceStatus- « A » pour toutes les transactionsFromDateetToDate- Période de reporting
Cas d’utilisation n° 5 : Surveillance des exceptions et détection des fraudes
Scénario : Vous souhaitez identifier des schémas de transactions inhabituels, tels que des transactions de montant élevé, des volumes de carburant excessifs ou des cartes présentant une utilisation anormale, afin de prévenir la fraude ou les abus.
API recommandée : /transaction-data/v1/exceptions
Pourquoi cette API : Spécialement conçue pour identifier les transactions dépassant des seuils définis, elle est idéale pour surveiller les exceptions et les fraudes potentielles.
Paramètres clés :
Condition- Définir le type de seuil (ValueGreaterThan, VolumeGreaterThan, etc.)Value- Définir la valeur du seuilOutputType- « Transaction » pour les exceptions liées aux transactionsTransactionsFromDateetTransactionsToDate- Période de surveillance
Cas d’utilisation n° 6 : Analyse des frais et commissions
Scénario : Vous devez comprendre l’ensemble des frais et commissions appliqués à votre compte afin d’identifier des opportunités de réduction des coûts ou de valider la facturation.
API recommandée : /transaction-data/v1/feessummary
Pourquoi cette API : Elle fournit des informations agrégées sur les frais par type de frais, groupe de produits et groupe de frais, ce qui facilite l’analyse des structures tarifaires et l’identification des postes de coûts élevés.
Paramètres clés :
InvoiceStatus- « I » pour les frais facturés uniquementFeeTypeGroup- Filtrer par « Frais de carte », « Frais de compte », etc.FromDateetToDate- Période d’analyse
Cas d’utilisation n° 7 : Suivi des dépenses par carte
Scénario : Un conducteur demande l’historique de ses transactions des 6 derniers mois, ou vous devez analyser les habitudes de dépenses d’une carte spécifique.
API recommandée : /transaction-data/v1/cardusagesummary
Pourquoi cette API : Fournit une analyse détaillée des dépenses par carte au cours des 7 derniers mois, regroupées par site et par produit, ce qui est idéal pour le reporting au niveau de la carte.
Paramètres clés :
CardIdouPAN- Carte spécifique à analyserCardExpiry- Pour une validation supplémentaireAccountId- Filtre de compte facultatif
Cas d’utilisation n° 8 : Vérification de l’éligibilité à la tarification au volume
Scénario : Vous souhaitez vérifier si votre compte est éligible aux paliers de tarification au volume et comprendre vos niveaux de consommation actuels par rapport aux seuils définis.
API recommandée : /transaction-data/v1/volumebasedpricing
Pourquoi cette API : Elle affiche vos règles relatives aux frais de retard, les configurations des paliers tarifaires et votre consommation volumétrique actuelle, ce qui vous aide à comprendre les structures tarifaires et à planifier votre progression vers de meilleurs niveaux.
Paramètres clés :
PayerNumber- Votre compte payeurIncludeHistory- Définissez sur « true » pour consulter l’historique des calculsIncludeCurrentPeriodVolume- Définissez sur « true » pour obtenir une ventilation mois par mois
Cas d’utilisation n° 9 : Suivi des primes et des remises
Scénario : Vous avez conclu des accords de primes basées sur le volume et souhaitez suivre votre progression vers les seuils de prime et consulter les primes déjà gagnées.
API recommandée : /transaction-data/v1/volumebasedbonus
Pourquoi cette API : Elle fournit des détails complets sur les règles de prime, la consommation de la période en cours et l’historique des calculs de prime, ce qui vous permet d’optimiser vos achats afin de maximiser les primes.
Paramètres clés :
PayerNumber- Votre compte payeurIncludeHistory- À définir sur « true » pour afficher les paiements de bonus antérieursIncludeCurrentPeriodVolume- À définir sur « true » pour suivre la progression de la période en cours
Exemples d’utilisation
Exemple 1 : Récupérer les transactions tarifées (y compris l’EV)
Requête :
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
}
}Réponse :
{
"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",
"Code d'autorisation" : 300796,
"Statut de la transaction" : "Y",
"Nom du conducteur" : "SATTY BHAMRA",
"Date d'expiration de la carte" : 2204,
"Date d'expiration de la carte" : "20220101",
"Identifiant du groupe de cartes" : 40000,
"Nom du groupe de cartes" : "006240 FIRE BRIGHT SOLUTIONS",
"Code de l'émetteur" : 7002,
"Numéro de carte" : "7002053465789891000",
"Code de validation" : 9,
"Numéro de série de la carte" : 617,
"Type de carte" : "GB STD FLT NAT SINGLE R9",
"ColCoCode" : "014",
"UnitDiscountInvoiceCurrency" : -0,0051,
"ColCoExchangeRate" : 0,851858,
"Symbole de devise de la facture" : "GBP",
"Indicateur de correction" : true,
"Numéro CRM" : 10,
"Pays du client" : « Royaume-Uni »,
« CustomerCurrencyCode » : « GBP »,
« CustomerCurrencySymbol »: « £ »,
« Remise sur le montant net en devise du client » : 0,
« Remise effective en devise du client » : -0,22,
« Remise unitaire effective en devise du client »: -0,0051,
« PrixUnitaireDansLaDeviseDeFacturation » : 1,1024,
« TaxeDeFacturation » : 0,
« Montant brut de la facture » : 57,25,
« Montant net de la facture » : 47,71,
"TVA sur le montant net dans la devise du client" : 9,54,
"Prix de vente unitaire brut pour le client" : 0,
"Valeur totale brute de vente au détail pour le client" : 57,52,
"Valeur totale au détail du client (net)": 47,93,
"Description du type de transaction": 9,59,
"Remise sur le montant net dans la devise de la transaction": -0,22,
"Remise effective dans la devise de la transaction": -0,22,
« Taux de change entre la devise de départ et la devise d’arrivée » : 0,
« Cartes » : [
275549
],
« Remise unitaire en devise de la transaction » : -0,005,
"Montant brut de la transaction" : 57,25,
"Montant net de la transaction" : 47,71,
"Taxe sur la transaction" : 9,54,
« TVA sur le montant net » : 9,54,
« Prix catalogue Delco unitaire net » : 0,
« Prix de vente Delco unitaire brut » : 1,32888,
« Prix unitaire dans la devise de la transaction » : 1,1074,
« DelcoRetailPriceUnitNet » : 1,1074,
« DelcoRetailValueTotalGross » : 57,52,
« DelcoRetailValueTotalNet » : 47,93,
« TransactionCurrencySymbol » : « $ »,
« DiscountType » : 1,
« DisputeStatus » : false,
« IsShellSite » : false,
"FleetIdInput" : "YG67OUM",
"IncomingProductCode" : 23,
"PostingDate" : "20210802",
"PostingTime" : "14:15:22",
"ProductCode": 30,
"ProductName": "Sans plomb - Indice d'octane moyen",
"ProductGroupId": 22,
"IncomingCurrencyCode": "GBP",
"IncomingSiteDescription": "Shell Broadway Ring",
« Emplacement » : « Shell Broadway Ring »,
« NomDuSite » : « Shell Broadway Ring »,
« CodeDuSite » : 32,
"Numéro du site d'origine" : 15,
"Code de devise de la facture" : "GBP",
"Date de la facture" : "20210802",
"InvoiceNumber" : 3201016193,
"FuelProduct" : true,
"VATApplicable" : "Y",
"PayerName" : "Colours Services Ltd",
"PayerNumber" : "GB12121212",
"Numéro du client parent" : "GB12121212",
"Groupe de payeurs" : "H312066",
« Nom du groupe de payeurs » : « 12162566 - FUEL CARD SERVICE »,
« Chiffre de contrôle » : 6,
« Indicateur de facture nette » : « Y »,
« Code Delco » : 5,
"NetworkCode": 3,
"PurchasedInCountry": "Royaume-Uni",
"Pays du site" : "Royaume-Uni",
"Pays de TVA" : "Royaume-Uni",
"Nom du fournisseur" : "Shell U.K. Oil Products Limited",
"Réseau" : "Shell",
"Kilométrage saisi" : 0,
"ID de l'article de vente d'origine" : "Null",
"DescriptionIDFlotte" : "YG67OUM",
"IDClientParent" : 6494,
"IndicateurPIN" : "O, N",
"NomGroupeProduits" : "Frais",
"PurchasedInCountryCode": "GB",
"Quantity": 43,28,
"RebateRate": 0,0022,
"ReceiptNumber": 6803,
"RefundFlag" : "Y",
"SiteGroupId" : 202,
"SiteGroupName" : « CZ 9100 ECONOMY NETWORK »,
« Latitude » : 53,83606,
« Longitude » : -1,61854,
« DelCoExchangeRate »: 0,851858,
« Montant de la remise en euros » : -0,258259,
« Montant net en euros » : 56,01,
"MontantTVAeneuros" : 11,2,
"NomClientParent" : "FUEL CARD SERVICES LTD",
"IsInvoiced" : false,
"TransactionCurrencyCode" : "GBP",
"CreditDebitCode" : "D ou C",
"TransactionDate" : "20210801",
"HeureDeLaTransaction" : "12:16:58",
"IDDeL'ÉlémentDeTransaction" : "H305908971030",
"IdentifiantDeLaTransaction" : "H305908971030",
"Type" : "SALE",
"TransactionLine" : 1,
"TransactionType" : "Purchase",
"UTCOffset" : "Europe/London",
"VATCategory" : "Taux de TVA standard du Royaume-Uni",
"VATRate" : 0,2,
"VehicleRegistration" : "YG67OUM",
"IsCancelled" : "Y",
"ColCoGrossAmount" : 57,25,
"ColCoNetAmount" : 47,71,
"ColCoVATAmount" : 9,54,
"OriginalCurrencySymbol" : "$",
"CodeDeviseD'origine" : "$",
"MontantTVA D'origine": 0,
« EmbossText » : « PARKLANE PROPERTIES LTD »,
« OriginalExchangeRate » : 0,
« OriginalTransactionItemInvoiceDate » : « 20220202 »,
« FeeTypeId » : 1,
"DescriptionDeLaLigne" : true,
"DescriptionDeLaRègleDeFrais" : "Frais simples",
"Fréquence" : 1,
"IdentifiantDeLaRègleDeFrais" : 1,
"DateDeSaisieParLeSystème" : "20210828",
"SystemEntryTime": "20:21:08",
"IsManual": "Y",
"OriginalTransactionItemId": "Y",
"OriginalTransactionItemInvoiceNumber": 6750802,
"OriginalTransactionItemInvoiceId" : 234,
"PayerShortName" : "FUEL CARD SERVICES LTD",
"ReverseCharge" : "Y",
"OriginalGrossAmount": 57,25,
"MontantNetInitial" : 57,25,
"UnitOfMeasure" : "L",
"RoadType" : "Route nationale",
"CustomerCountryIsoCode" : "DE",
"EVOperator" : "Shell Recharge",
"EVSerialId" : "GBALLEGO0002452",
"EVChargePointSerial" : "GBALLEGO0002452",
« EVChargePointConnectorType » : 5,
« EVChargePointConnectorTypeDescription » : « CC 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
}Exemple 2 : Récupérer les détails d’une transaction de carburant
Requête :
POST /transaction-data/v1/pricedtransaction
{
"Filters" : {
"ColCoCode" : 14,
"InvoiceStatus" : "A",
"PayerId" : 12345,
"PayerNumber": "NL10042616"
},
"Page": 1,
"PageSize": 50
}Réponse :
{
"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 » : « chaîne de caractères »,
« UTCOffset » : « chaîne de caractères »,
« FleetIdInput » : « XYZ1234 »,
« OdometerInput »: 12345,
"DriverName": "ANDREW GILBERRY",
"VehicleRegistration": "MV65YLH",
"CodeDeviseFacture" : "GBP",
"SymboleDeviseFacture" : "$",
"CodeDeviseTransaction" : "GBP",
"SymboleDeviseTransaction" : "$",
« MontantNetTransaction » : 0,
« TaxeTransaction » : 0,
« MontantBrutTransaction » : 0,
«MontantNetFacture" : 0,
"TaxeFacture" : 0,
"MontantBrutFacture" : 0,
"PaysD'achat" : "Allemagne",
"IdentifiantCompte" : 29484,
"NuméroDeCompte" : "GB99215176",
"NomDuCompte" : "MATTHEW ALGIE & COMPANY LIMITED",
"NomAbrégéDuCompte" : "chaîne",
"Quantité" : 0,
"ProduitCarburant" : true,
"PrixUnitaireDansLaDeviseDeLaTransaction" : 0,
"PrixUnitaireDansLaDeviseDeLaFacture" : 0,
"RemiseUnitaireDansLaDeviseDeLaTransaction" : 0,
"RemiseUnitaireDansLaDeviseDeLaFacture": 0,
« IsInvoiced » : true,
« InvoiceNumber » : « S04500493 »,
« InvoiceDate » : « chaîne de caractères »,
"CodeSite" : "050001 -\tCHARNOCK RICHARD NTHBOUND MWSA 0755",
"NomSite" : "050001 -\tCHARNOCK RICHARD NTHBOUND MWSA 0755",
"PaysSite" : "Allemagne",
"Location" : {
"Latitude" : "37.4224764",
"Longitude" : "122,0842499"
},
"CardGroupName" : "006240 FIRE BRIGHT SOLUTIONS",
"ReceiptNumber" : "1234",
"ProductCode" : "10 - Frais TMF",
"ProductName" : "Sans plomb - Indice d'octane élevé",
"ProductGroupId" : 1,
"ProductGroupName" : "Groupe de produits parent",
"DelCoExchangeRate" : 0,
"ColCoExchangeRate" : 0,
"IsShellSite" : true,
"Réseau" : "100013\tSTEINDORFER",
"IdGroupeDeSites" : 202,
"NomGroupeDeSites" : "CZ 9100 ECONOMY NETWORK",
"DateDeComptabilisation" : "chaîne de caractères",
"CodeDeL'émetteur" : "7002",
"CodeDuPaysD'achat" : "NL",
"CodeDuPaysDuClient" : "NL",
"PaysDuClient" : "Pays-Bas",
"Code de publication" : "8",
"ID du groupe de cartes" : "chaîne de caractères",
"Numéro de séquence de la carte" : "2",
"Chiffre de contrôle" : "chaîne de caractères",
"Description de l'ID de flotte" : "chaîne de caractères",
"Taux de TVA" : "0,20 pour 20 %",
"VATCategory": "1-Taux zéro",
"VATonNetAmount": 0,
"VATCountry": "Pays-Bas",
« EffectiveDiscountInTrxCurrency » : 0,
« TransactionType » : « Achat avec carte présente, sinon vide »,
« PINIndicator » : « “Code PIN utilisé” »,
« VATApplicable » : « O »,
« NetInvoiceIndicator » : « O »,
« CustomerCurrencyCode » : « GBP »,
"Symbole de devise du client" : "£",
"Remise unitaire effective dans la devise du client" : 0,
"Remise effective dans la devise du client" : 0,
"TVA sur le montant net dans la devise du client" : 0,
"DiscountType": "2 pence par unité",
"TransactionStatus": "U",
"SalesItemId": 18315958002,
"PayerGroup": "chaîne de caractères",
"PayerGroupName": "12119008 - SHELL GROUP OF COMPANIES",
"RefundFlag" : "chaîne de caractères",
"OriginalSalesItemId" : "chaîne de caractères",
"DelcoName" : "SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV",
"DelcoCode" : "14",
"PayerNumber" : "NL10042616",
"PayerName" : "V.M. LE COMTE",
"CardExpiryPeriod" : "1901",
"AuthorisationCode" : "1011256",
"TransactionId": "io9KVXk1UkW57XWKyeaHHg",
"TransactionLine": "1",
"AllowClearing": "Y",
"CRMNumber": "chaîne de caractères",
« DisputeStatus » : « No Dispute »,
« RebateRate » : 28,279,
"TauxDeChangeDelCoToColCo" : 1,
"MontantNetEnEuros" : 0,
"MontantTVAEnEuros" : 0,
"NuméroDuClientParent" : "chaîne de caractères",
"Nom du client parent" : "chaîne de caractères",
"ID du client parent" : 0,
"Numéro du site émetteur" : "100021",
"Description du site émetteur" : "HN3 INTI_02-82.02",
"CodeDeviseEntrante" : "GBP",
"CodeProduitEntrant" : "30",
"CodeCréditDébit" : "D",
"IndicateurCorrection" : "Y",
"Supplémentaire1" : "chaîne",
"Additional2" : "chaîne",
"Additional3" : "chaîne",
"Additional4" : "chaîne",
"Remise sur le montant net dans la devise du client" : -0,735,
"Remise sur le montant net dans la devise de la transaction" : "AVEE PTUAZONW CUBFAO COSFS",
"Identifiant de la transaction" : "chaîne de caractères",
"Type de carte" : "chaîne de caractères",
« DelcoListPriceUnitNet » : 30,5,
« DelcoRetailPriceUnitNet » : 1,921,
"Unité de prix de détail Delco brut" : 0,
"Valeur totale de détail Delco nette" : 0,
"Valeur totale de détail Delco brute" : 0,
"Unité de prix de détail client brut" : 0,
"Valeur totale de détail client nette" : 0,
« EVPrintedNumber » : « 3792 »,
« IsRFID » : true,
« TokenTypeDescription » : « chaîne de caractères »
}
]
}
],
« Page » : 1,
"PageSize": 1,
"TotalPages": 15
}Exemple 3 : Récapitulatif des transactions tarifées
Requête :
POST /transaction-data/v1/pricedtransactionssummary
{
"Filters": {
"ColCoCode": 9,
"PayerId": 12,
"InvoiceStatus": "A",
"FromDate": "2024-03-20",
"ToDate": "2024-09-17",
"PurchasedInCountryCode": "AT"
}
}Réponse :
{
"RequestId": "2b0cbe11-f109-4c43-9201-49af0370df1c",
"Status": "SUCCESS",
"Data": [
{
"ProductId": 1234,
"ProductCode": "10",
"ProductName": "Diesel AGO",
"ProductGroupId": 1,
"ProductGroupName" : "Carburants",
"Quantité totale de carburant" : 1250,75,
"Montant net total" : 5420,50,
"Montant brut total" : 6504,60,
"Code de devise de la facture": « GBP »,
« InvoiceCurrencySymbol » : « £ »,
« CustomerRetailValueTotalNet » : 5420,50,
« CustomerRetailValueTotalGross » : 6504,60
}
]
}Exemple 4 : Récupérer le récapitulatif des prix
Requête :
POST /transaction-data/v1/pricedsummary
{
"Filters" : {
"ColCoCode" : 86,
"PayerNumber" : "GB000000123",
"CardId" : 275549,
"FromDate" : "20240225",
"ToDate" : "20240225",
"FuelOnly": false
}
}
Réponse :
{
"RequestId": "5f1bded6-416d-4478-ab7f-33905d7b5d4b",
"Status": "SUCCESS",
"Data": [
{
"CustomerRetailValueTotalGross" : 114,13,
"CustomerRetailValueTotalNet" : 95,11,
"InvoiceCurrencyCode" : "EUR",
"InvoiceCurrencySymbol" : "€",
"ProductCode": "21",
"ProductGroupId": 3,
"ProductGroupName": "Essence automobile",
"ProductId": 21,
"ProductName": "Sans plomb - indice d’octane élevé",
"SiteGroupId": 104,
"SiteGroupName": "Stations Shell par défaut en Autriche",
"TotalFuelQuantity": 17,0,
"TotalGrossAmount": 114,13,
"TotalFuelQuantity" : 17,0, "TotalGrossAmount" : 114,13,
}
]
}
Exemple 5 : Récupérer les transactions à prix multi-payeurs
Requête :
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
}Réponse :
{
« RequestId » : « eb621f45-a543-4d9a-a934-2f223b263c42",
"Status" : "SUCCESS",
"Data" : [
{
"Transactions" : [
{
"Type" : "SalesItem"
}
],
"CardId" : 275549,
"CardPAN" : "7002051006629891000",
"CardExpiry" : "20250812",
"DateDeTransaction" : "20250812",
"HeureDeTransaction" : "14:30:45",
"DécalageUTC": « +01:00:00 »,
« FleetIdInput » : « XYZ1234 »,
"OdometerInput" : 12345,
"DriverName" : "ANDREW GILBERRY",
"VehicleRegistration" : "MV65YLH",
"InvoiceCurrencyCode" : "GBP",
"InvoiceCurrency" : "£",
"Code de devise de la transaction" : "GBP",
"Symbole de devise de la transaction" : "£",
"Montant net de la transaction" : 47,71,
"Taxe de la transaction» : 9,54,
« Montant brut de la transaction » : 57,25,
« Montant net de la facture » : 47,71,
« Taxe de la facture » : 9,54,
« Montant brut de la facture » : 57,25,
« Pays d’achat » : « Allemagne »,
« Identifiant du compte » : 29484,
« Numéro de compte » : « GB99215176 »,
« Nom du compte » : « MATTHEW ALGIE & COMPANY LIMITED »,
« AccountShortName » : « MATTHEW »,
« Quantity » : 43,28,
« FuelProduct » : true,
« PrixUnitaireDansLaDeviseDeLaTransaction » : 1,1074,
« PrixUnitaireDansLaDeviseDeLaFacture » : 1,1024,
"RemiseUnitaireDansLaDeviseDeTransaction" : -0,005,
"RemiseUnitaireDansLaDeviseDeFacture" : -0,0051,
"EstFacturé" : true,
"NuméroDeFacture" : "S04500493",
"DateDeFacture" : "20250815 09:30:00",
"CodeSite" : "050001",
"NomSite" : "CHARNOCK RICHARD NTHBOUND MWSA 0755",
"PaysSite" : "Allemagne",
"Location » : {
« Latitude » : « 53,83606 »,
« Longitude » : « -1,61854"
},
"Nom du groupe de cartes" : "006240 FIRE BRIGHT SOLUTIONS",
"Numéro de reçu" : "6803",
"Code produit": "10",
"NomDuProduit": "Sans plomb - Indice d'octane élevé",
"IdDuGroupeDeProduits": 2,
"NomDuGroupeDeProduits": "Tous les carburants",
"TauxDeChangeDelCo" : 0,851858,
"TauxDeChangeColCo" : 0,851858,
"EstUnSiteShell" : true,
"Réseau" : "SHELL",
"SiteGroupId" : 202,
"SiteGroupName" : "CZ 9100 ECONOMY NETWORK",
"PostingDate" : "20250812 14:30:45",
"IssuerCode": "7002",
"PurchasedInCountryCode": "DE",
"CustomerCountryCode": "NL",
"Pays du client" : "Pays-Bas",
"Code de validation" : "8",
"ID du groupe de cartes" : "40000",
"Numéro de séquence de la carte" : "617",
"Chiffre de contrôle" : "6",
"Description de l’identifiant de flotte » : « YG67OUM »,
« Taux de TVA » : 0,2,
« Catégorie de TVA » : « 1-Taux standard »,
"TVA sur le montant net" : 9,54,
"Pays de TVA" : "Pays-Bas",
"Remise effective en devise de la transaction" : -0,22,
"Type de transaction" : "Achat",
"PINIndicator" : "Code PIN utilisé",
"VATApplicable" : "O",
"NetInvoiceIndicator" : "N",
« CodeDeviseClient » : « GBP »,
« SymboleDeviseClient » : « £ »,
« RemiseUnitaireEffectiveEnDeviseClient » : -0,0051,
« RemiseEffectiveEnDeviseClient » : -0,22,
«TVA sur le montant net en devise du client" : 9,54,
"Type de remise" : "2 pence par unité",
"Statut de la transaction" : "I",
"ID de l'article vendu" : 18315958002,
"Groupe de payeurs" : "H312066",
"NomDuGroupeDePayeurs" : "12119008 - SHELL GROUP OF COMPANIES",
"IndicateurDeRemboursement" : "N",
"IDDeL'ArticleDeVenteD'Origine" : null,
"NomDelco" : "SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV",
"CodeDelco" : "014",
« PayerNumber » : « GB987654322 »,
« PayerName » : « V.M. LE COMTE »,
« CardExpiryPeriod » : « 2504 »,
« AuthorisationCode » : « 011256 »,
"TransactionId" : "io9KVXk1UkW57XWKyeaHHg",
"TransactionLine" : "1",
« AllowClearing » : « Y »,
« CRMNumber » : null,
« DisputeStatus » : « No Dispute »,
« Taux de remise » : 28,279,
« Taux de change entre le pays de départ et le pays de destination » : 1,
« Montant net en euros » : 56,01,
"MontantTVAeneuros" : 11,2,
"NuméroClientParent": "GB12121212",
"Nom du client parent": "FUEL CARD SERVICES LTD",
"ID du client parent": 6494,
"Numéro du site d'origine": "100021",
"Description du site d'origine": « HN3 INTI_02-82.02 »,
« CodeDeviseEntrante » : « GBP »,
« CodeProduitEntrant » : « 30 »,
"CodeCréditDébit" : "D",
"IndicateurDeCorrection" : "N",
"Complémentaire1" : "GBALLEGO0002452",
"Complémentaire2" : null,
"Additional3" : null,
"Additional4" : null,
"Remise sur le montant net dans la devise du client": -0,735,
« Remise sur le montant net dans la devise de la transaction » : -0,735,
« Identifiant de transaction » : « 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" : "Fleet Card"
}
],
"Page" : 1,
"PageSize" : 20,
"TotalPages" : 15,
"TotalRecords" : 300
}Exemple 6 : Récupérer les règles de tarification au volume
Requête :
POST /transaction-data/v1/volumebasedpricing
{
"ColCoId" : 1,
"ColCoCode" : 86,
"PayerId" : 12345,
"PayerNumber": "GB000000123",
"IncludeHistory": true,
"IncludeCurrentPeriodVolume": true
}Réponse :
{
"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 »,
« BonusPaidToAccountShortName » : « 12345 »,
"Nom complet du compte bénéficiaire de la prime" : "GB000000123",
"Fréquence" : "3-Hebdomadaire – lundi",
"Date du prochain calcul" : "20231223",
"DateDeCalculPrécédente" : "23/12/2023",
"BaseDeCalculDesFrais" : "3-SommeForfaitaire",
"CodeDeviseDeLaRègleDeFrais" : "GBP",
"Symbole de devise de la règle de frais" : "£",
"Date de début de validité de la règle de frais" : "20231223",
"Date de fin de validité de la règle de frais" : "20231223",
"Emplacements de la règle de frais" : [
{
"DelcoId" : 866,
"Country" : "Royaume-Uni",
"CountryCode" : "UK",
"FuelNetworkId" : 100007,
"NetworkName" : "VALERO",
"SiteGroupId" : 100007,
"SiteGroupName" : "VALERO ENERGY LTD",
"SiteCode" : 999493,
"SiteId" : 100007,
« SiteName » : « VALERO ENERGY LTD »
}
],
« FeeRuleProducts » : [
{
« ProductGroupID » : 3,
« ProductGroupName » : « Essence automobile »,
"ProductCode" : "30 pour le diesel AGO",
"ProductId" : "30 pour le diesel AGO",
"ProductName" : "Diesel 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"
}
],
"History" : [
{
"FromDate" : "20231223",
"ToDate": "20231223",
"FeesRuleID": 8081,
"FeesRuleDescription" : "PT/P067/D120/P4.0",
"TotalVolume" : 12356,66
}
],
"Warnings" : [
{
"Message" : "Le système est hors service pour mise à jour.",
"Type" : "Interruption du système"
}
]
}
]
}Exemple 7 : Récupérer les règles de prime basées sur le volume
Requête :
POST /transaction-data/v1/volumebasedbonus
{
"ColCoId" : 1,
"ColCoCode" : 86,
"PayerId" : 12345,
"PayerNumber" : "GB000000123",
"IncludeHistory": true,
"IncludeCurrentPeriodVolume": true
}Réponse :
{
"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 »,
« Date de fin de la règle de frais » : « 20231223 »,
« Bénéficiaire de la prime » : « 1-Paiement au payeur »,
"BonusPaidToAccountId" : 123456,
"BonusPaidToAccountNumber" : "GB000000123",
"BonusPaidToAccountShortName" : "12345",
"Nom complet du compte bénéficiaire de la prime" : "GB000000123",
"Fréquence" : "3-Hebdomadaire – Lundi",
"DateDeCalculSuivante" : "20231223",
"DateDeCalculPrécédente" : "20231223",
"BaseDeLaRègleDeFrais" : "3-SommeForfaitaire",
"CodeDeviseDeLaRègleDeFrais": "GBP",
"FeeRuleCurrencySymbol": "£",
"FeeRuleAvailableFrom": "23/12/2023",
"FeeRuleAvailableTo": "20231223",
"FeeRuleLocations": [
{
"DelcoId": 866,
"Country": "Royaume-Uni",
"CountryCode": "UK",
"FuelNetworkId": 100007,
"NetworkName": "VALERO",
"SiteGroupId": 100007,
"SiteGroupName": "VALERO ENERGY LTD",
"SiteCode": 999493,
"SiteId": 100007,
"SiteName": "VALERO ENERGY LTD"
}
],
"FeeRuleProducts" : [
{
"ProductGroupID" : 3,
"ProductGroupName" : "Essence automobile",
"ProductCode" : "30 pour le diesel AGO",
"ProductId" : "30 pour le diesel AGO",
"ProductName": "Diesel AGO"
}
],
"FeeRuleTiers": [
{
"TierMinimum" : 1234,
"TierMaximum" : 1234,
"Value" : 1234,12
}
],
"AssociatedAccounts" : [
{
"AssociatedAccountId" : 12345,
"AssociatedAccountNumber" : "GB000000123",
"AssociatedAccountShortName" : "Nom abrégé du compte",
"AssociatedAccountFullName" : "Nom complet du compte"
}
]
}
],
« CurrentPeriodConsumption » : [
{
« FeeRuleId » : 12345,
« FeeRuleDescription » : « NL/GAGO/D018/UP0.0120>1",
"Mois" : 1,
"Année" : 2018,
"Volume total" : 10000,78
}
],
"Primes versées historiquement" : [
{
"Identifiant du payeur" : 12345,
"Numéro du payeur" : "GB000000123",
"NomAbrevPayer" : "Jorden",
"NomCompletPayer" : "MATTHEW",
« AccountId » : 123456,
« AccountNumber » : « GB000000123 »,
« AccountShortName » : « SALT »,
« AccountFullName » : « ABCD1234 »,
« InvoiceAccountId » : 12345,
"NuméroDeCompteDeFacture" : "GB000000123",
"NomAbrégéDuCompteDeFacture" : "DFE1234",
"NomCompletDuCompteDeFacture" : "AZAD PVT LMT",
"IDDeRègleDeFrais" : 12345,
"FeeRuleDescription" : "NL/GAGO/D018/UP0.0120>1",
"FromDate" : "20231223",
"ToDate" : "20231223",
"BonusPaidTo" : "5-Versement aux clients associés",
"FeeItemId" : 12345,
"FeeRuleBasis" : "2-Pourcentage de la marge",
"FeeItemCurrencyCode" : "GBP",
"FeeItemCurrencySymbol" : "$",
"ProratedVolume" : 123,12,
"Volume total" : 123,12,
"Produit de commission" : "1562-Prime diesel Shell",
"Montant brut de la facture" : 123,12,
"Montant net de la facture" : 123,12,
« MontantTVAde la facture » : 123,12,
« Frais annulés » : true,
« Volume au prorata du niveau du poste de frais » : 123,12,
"Volume total du niveau de l'élément de frais" : 123,12,
"Minimum du niveau" : 123,
"Taux du niveau" : 123,12
}
]
}
],
"Warnings" : [
{
"Message" : "Le système est indisponible pour cause de mise à jour.",
"Type" : "Interruption du système"
}
]
}Exemple 8 : Obtenir le récapitulatif des frais
Requête :
POST /transaction-data/v1/feessummary
{
"ColCoId" : 1,
"ColCoCode" : 86,
"PayerId" : 12345,
"PayerNumber" : "GB000000123",
"CardId" : 275549,
"InvoiceStatus" : "I",
"FromDate" : "20240101",
"ToDate": "20240131",
"FeeTypeGroup": "Frais de carte"
}Réponse :
{
"RequestId" : "2b0cbe11-f109-4c43-9201-49af0370df1c",
"Status": "SUCCESS",
"Data": [
{
"FeeTypeGroup": "Frais de carte",
"FeeTypeId": 1,
"FeeType": "Cotisation annuelle de la carte",
"ProductId": 1234,
"ProductCode": "FEE",
"ProductName": "Frais de carte",
"TotalFeeAmount": 125,00,
"InvoiceCurrencyCode": "GBP",
"InvoiceCurrencySymbol": "£"
}
]
}Exemple 9 : Récupérer les exceptions de transaction
Requête :
POST /transaction-data/v1/exceptions
{
"ColCoId" : 1,
"ColCoCode" : 86,
"PayerId" : 12345,
"PayerNumber" : "GB000000123",
"TransactionsFromDate": "20231223",
"TransactionsToDate": "20240131",
"Value": 100,
"Condition": 5,
"OutputType": "Transaction"
}Réponse :
{
"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 »,
"NomAbrégéDuCompte" : "MATTHEW",
"NomAbrégéDuPayeur" : "MATTHEW",
"Jour" : 2,
"Semaine" : 2,
"Mois" : 5,
"Year": 2017,
"TotalTransactions": 4,
"TotalSalesItems": 4,
"TotalQuantity": 261,
"TotalAmount": 100,21,
"CurrencyCode": "GBP",
"CurrencySymbol": "$"
}
],
"TransactionsExceptions": [
{
« SalesItemId » : 18315958002,
« CardId » : 1234,
« ProductId » : 2,
"GUID_de_la_transaction" : "ABCD1234",
"Date_de_la_transaction" : "20231223",
"Montant_total_brut_de_la_facture_client" : 123,12,
"Numéro_de_carte" : "7002051006629891000",
"CardExpiry" : "20311223 12:12:12",
"TransactionTime" : "12:12:12",
"UTCOffset" : "+12:12:12",
"FleetIdInput" : "XYZ1234",
"OdometerInput" : 1234,
"DriverName" : "SALT",
"VehicleRegistration" : "MV65YLH",
"CodeDeviseFacture" : "GBP",
"SymboleDeviseFacture" : "$",
"CodeDeviseTransaction" : "GBP",
"SymboleDeviseTransaction" : "£",
"MontantNetTransaction» : 123,12,
« TaxeDeTransaction » : 123,12,
« Montant brut de la transaction » : 123,12,
« Montant net de la facture » : 123,12,
« Taxe de la facture » : 123,12,
« Montant brut de la facture » : 123,1,
« Pays d’achat » : « France »,
« Identifiant du compte » : 1234,
« Numéro de compte » : "GB99215176",
"NomDuCompte" : "MATTHEW ALGIE & COMPANY LIMITED",
"NomAbrégéDuCompte" : "MATTHEW ALGIE & COMPANY LIMITED",
« Quantité » : 123,12,
« ProduitCarburant » : true,
« PrixUnitaireDansLaDeviseDeTransaction » : 123,12,
« PrixUnitaireDansLaDeviseDeFacture » : 123,12,
« Remise unitaire dans la devise de la transaction » : 123,12,
« Remise unitaire dans la devise de la facture » : 123,12,
« Facturé » : true,
« Numéro de facture » : « S04500493 »,
« Date de la facture » : « 20231223 »,
« Code du site » : « 50001 »,
« Nom du site » : « CHARNOCK RICHARD NTHBOUND MWSA 0755 »,
« SiteCountry » : « Allemagne »,
« Location » : {
« Lat » : "37.4224764",
"Lng": "122.0842499"
},
"CardGroupName": "006240 FIRE BRIGHT SOLUTIONS",
"ReceiptNumber": "1234",
"ProductCode" : "TMF Charges",
"ProductName" : "Sans plomb - Indice d'octane élevé",
"ProductGroupId" : 1234,
« ProductGroupName » : « Groupe de produits parent »,
« 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 »,
« Pays du client » : « Pays-Bas »,
« Code de validation » : « 8 pour 702188 »,
« ID du groupe de cartes » : « 200 »,
« Numéro de séquence de la carte » : « 2 »,
"Chiffre de contrôle" : "GHE1234",
"Description de l'ID de flotte" : "Exemple de description",
"Taux de TVA" : 0,2,
"Catégorie de TVA" : "3 - Exonéré de TVA",
"TVA sur le montant net" : 12,21,
"Pays de TVA" : "Pays-Bas",
"Remise effective en devise de la transaction" : 0,
« TransactionType » : « Achat avec carte présente, sinon vide »,
"PINIndicator" : "Y",
"VATApplicable" : "Y",
"NetInvoiceIndicator" : "Y",
"CustomerCurrencyCode" : "GBP",
"Symbole de devise du client" : "£",
"Remise unitaire effective en devise du client" : 123,12,
"Remise effective en devise du client" : 123,12,
"TVA sur le montant net en devise du client" : 123,12,
« Type de remise » : « 3-Pourcentage »,
« Statut de la transaction » : « U »,
« Groupe de payeurs » : « 12119008 »,
« Indicateur de remboursement » : « N »,
« OriginalSalesItemId » : « 1231 »,
« DelcoName » : « SHELL NEDERLAND VERKOOPMAATSCHAPPIJ BV »,
« DelcoCode » : « NL10042616 »,
« PayerName » : « V.M. LE COMTE »,
« CardExpiryPeriod » : « 1901 »,
"Code d'autorisation" : "11256",
"Identifiant de la transaction" : "io9KVXk1UkW57XWKyeaHHg",
"Ligne de transaction" : "1",
"Autoriser la compensation" : "Y",
"Numéro CRM" : "ABCD1234",
"Statut du litige" : "6\tRétrofacturation au site",
"Taux de remise" : 28,279,
"Taux de change DelCoToColCo" : 1,
"NetEuroAmount" : 37,93,
"EuroRebateAmount" : 0,
"EuroVATAmount" : 7,96,
"ParentCustomerNumber": "DRG1234"
}
]
}
]
}Exemple 10 : Obtenir le récapitulatif d’utilisation de la carte
Requête :
POST /transaction-data/v1/cardusagesummary
{
"ColCoId" : 1,
"ColCoCode" : 86,
"PayerId" : 12345,
"PayerNumber" : "GB000000123",
"AccountId" : 1234,
"AccountNumber" : "GB000000123",
"CardId" : 1234,
"PAN" : "7882861007636000020",
"CardExpiry" : "20311223"
}Réponse :
{
"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",
"VolumeTotal" : 123,12,
"MontantBrutTotal" : 123,12,
"MontantNetTotal" : 123,12,
"CodeDevise" : "GBP",
"SymboleDevise" : "£",
"ProductGroupId" : 1234,
"ProductGroupName" : "Essence automobile"
}
]
}
]
}Gestion des erreurs
Codes d’erreur courants
| Statut HTTP | Code d’erreur | Description | Solution |
|---|---|---|---|
| 200 | N/A | Statut : SUCCÈS | N/A |
| 200 | E0001 | Erreur de validation | Vérifier les paramètres de la requête |
| 401 | E0003 | Non autorisé | Vérifiez que le jeton OAuth est valide |
| 403 | E0003 | Accès interdit | Vérifiez les autorisations de l’utilisateur |
| 404 | E0005 | Ressource introuvable | Vérifiez l’URL du point de terminaison et l’existence de la ressource |
| 500 | E0002 | Erreur inconnue / Erreur interne du serveur | Contactez le support |
Bonnes pratiques
1. Adopter l’authentification OAuth 2.0
IMPORTANT : Tous les clients doivent migrer vers l’authentification OAuth 2.0. Mettre en œuvre une gestion appropriée des jetons :
- Mettre en cache les jetons d’accès et les réutiliser jusqu’à leur expiration
- Actualisez les jetons avant leur expiration (recommandé 60 secondes avant)
- Stockez les identifiants client en toute sécurité (utilisez des variables d’environnement ou un gestionnaire de secrets)
- Ne jamais enregistrer ni exposer les jetons d’accès dans le code côté client
2. Utiliser des identifiants de requête
Toujours inclure un RequestId unique (au format GUID) pour une traçabilité de bout en bout
3. Mettre en place la pagination
Pour les grands ensembles de données de transactions, utilisez la pagination afin d’éviter les délais d’expiration :
- Définissez une taille de page (PageSize) appropriée (recommandation : 50 à 100 enregistrements)
- Traitez les pages de manière séquentielle ou en parallèle
- Gérez les paramètres TotalPages et TotalRecords dans les réponses
4. Utilisez les filtres de date à bon escient
Lors de l’interrogation des données de transaction :
- Limitez les plages de dates pour éviter des ensembles de résultats trop volumineux
- Utilisez systématiquement les filtres FromDate et ToDate
- Envisagez d’effectuer des requêtes par mois ou par semaine pour de meilleures performances
5. Testez dans un environnement de test (Sandbox)
Testez toujours l’intégration dans l’environnement de test (Sandbox) avant de passer en production
6. Mettre en cache les données de référence
Mettre en cache les règles de tarification basées sur le volume et les règles de bonus afin de minimiser les appels API :
- Ces règles changent rarement
- Actualisez le cache périodiquement (par exemple, quotidiennement)
- N’utilisez le paramètre IncludeHistory qu’en cas de nécessité
SDK et exemples de code
Shell fournit des SDK officiels et des exemples de code complets pour accélérer votre intégration avec l’ API de données de transaction.
Langages pris en charge par les SDK
- Python - SDK complet avec prise en charge d’OAuth 2.0
- TypeScript - SDK à sécurité de types avec définitions de types complètes
- Java - SDK de niveau entreprise
- C#/.NET - Intégration .NET complète
- PHP - Bibliothèque PHP facile à utiliser
- Ruby - Gem Ruby pour une intégration transparente
Consulter les SDK officiels et la documentation
Assistance et ressources
Assistance technique
- Assistance : Assistance technique Shell
- Migration vers OAuth 2.0 : Assistance à la migration vers OAuth 2.0
Documentation
Obtenir de l’aide
Lorsque vous contactez l’assistance, veuillez fournir :
- Votre client_id (ne communiquez jamais votre client_secret ni vos jetons d’accès)
- Le RequestId issu de la réponse de l’API
- L’horodatage de la requête
- Environnement (Production/Test)
Dernière mise à jour : 16 juin 2026
Version du document : 1.0
Version de l’API : 2.3.4
