Skip to main content

B2B Mobility Customer Data 3.0.5

This API allows querying customer account details and card groups. It allows the fetching of account details, card delivery addresses, international and national pricelists and cardtypes.

Obtenir les changements d'état, la maintenance et les mises à jour de version de ce API.

B2B Mobility Customer Data Quickstart

Introduction

L'API B2B Mobility Customer Data est un service RESTful qui vous permet d'interroger et de gérer les détails des comptes clients, les groupes de cartes et les configurations connexes au sein de la plateforme Shell Cards. Cette API offre des capacités de recherche flexibles, prend en charge la pagination et vous permet d'extraire des informations sur les comptes, les adresses de livraison des cartes, les listes de prix et les types de cartes. Elle prend également en charge les opérations de création et de mise à jour des groupes de cartes, ainsi que le déplacement des cartes entre les groupes.

Gestion complète des comptes

Recherche flexible

Avantages Description
Accéder à des informations détaillées sur les comptes clients, y compris la facturation, les résumés de cartes et le statut
Opérations de groupe de cartes Créer, mettre à jour et mettre fin à des groupes de cartes avec des opérations flexibles de création et de mise à jour de groupes de cartes, et mettre fin à des groupes de cartes avec des capacités de déplacement de cartes flexibles Accès aux listes de prix Retrouver des listes de prix nationales et internationales avec des remises spécifiques aux clients
Appeler des données avec plusieurs critères de recherche et prise en charge de la pagination

Authentification

Cette API prend en charge à la fois l'authentification de base et l'OAuth 2.0. OAuth 2.0 est la méthode d'authentification recommandée pour une sécurité accrue.

Note de migration

L'API prend désormais en charge l'authentification OAuth 2.0. Si vous utilisez actuellement l'authentification de base, nous vous recommandons de migrer vers OAuth 2.0 pour une meilleure sécurité. L'URL de base a été mise à jour, et tous les points d'extrémité sont maintenant versionnés sous le chemin /v1. Veuillez consulter le support de migration OAuth 2.0 pour des conseils de migration détaillés.

Flux d'autorisation

  1. Demande d'ID et de secret du client

Contactez l'équipe API de Shell pour demander l'accès à l'authentification OAuth. L'équipe de l'API Shell fournira un ID client et un secret.

  1. Demande de jeton porteur

Une fois que vous avez obtenu les informations d'identification, faites une demande à l'adresse point d'extrémité du jeton OAuth de l'API d'authentification Shell avec vos informations d'identification.

Exemple de demande:

curl --location --request POST 'https://api-test.shell.com/v2/oauth/token' \N-header 'Content-Type:'.
--header 'Content-Type : application/x-www-form-urlencoded' \N--data-urlencode
--data-urlencode 'client_id=**************' \N- --data-urlencode 'client_id=**************' \N
--data-urlencode "client_secret=**************" \N--data-urlencode "client_secret=**************" \N
--data-urlencode 'grant_type=client_credentials'

Vous recevrez un jeton Bearer dans la réponse:

{
   "access_token" : "**************",
   "expires_in" : "899",
   "token_type" : "Bearer"
}

Note : Le délai d'expiration du jeton du porteur est fourni en secondes.

  1. Autoriser les demandes d'API

Lorsque vous appelez les API Shell, incluez ce qui suit dans l'en-tête de la demande.

Autorisation : Bearer access_token

Base URLs

Environnement URL
Test https://api-test.shell.com/test
Production https://api.shell.com

Intégration de base

1. Obtenir les détails de l'utilisateur connecté

Description: Ce point de terminaison récupère les données de l'utilisateur connecté, y compris les payeurs accessibles, les comptes et les rôles. Cette opération doit être appelée après une authentification réussie pour obtenir le PayerId nécessaire pour les appels API suivants.

Chemin: POST /user-management/v1/loggedinuser

Exemple de requête
curl --location 'https://api-test.shell.com/test/user-management/v1/loggedinuser' \N--Curl --location 'https://api-test.shell.com/test/user-management/v1/loggedinuser' \N--Curl --header 'RequestId:' (Requête :).
--header 'RequestId : 2b0cbe11-f109-4c43-9201-49af0370df1c' \
--header 'Authorization : Bearer YOUR_ACCESS_TOKEN' \N ---header 'Content-Type : 2b0cbe11-f109-4c43-92019-4af0370df1c
--header 'Content-Type : application/json' \N--Content-Type : application/json
--data '{
  "Filters" : {
    "IncludePayerGroup" : false,
    "IncludeEIDDetails" : false,
    "RequestedAPIName" : "v1/Card/OrderCard"
  }
}'
Paramètres de requête
Paramètre Type Required Description
RequestId string Yes Obligatoire UUID (RFC 4122) pour le suivi de la demande
IncludePayerGroup boolean No Inclure les informations sur le groupe de payeurs lorsque c'est vrai (par défaut :
IncludeEIDDetails boolean No Inclure les données de la facture électronique lorsque cela est vrai (par défaut : false)
Exemple de réponse
{
  "RequestId" : "2b0cbe11-f109-4c43-9201-49af0370df1c",
  "Status" : "SUCCESS",
  "Données" : [
    {
      "UserName" : "John123",
      "DisplayName" : "John A.",
      "HasAPIAccess" : true,
      "Payers" : [
        {
          "IsDefault" : true,
          "ColcoId" : 1,
          "ColcoCode" : 86,
          "PayerId" : 1234,
          "PayerNumber" : "GB000000123",
          "PayerName" : "MATTHEW ALGIE &amp ; COMPANY LIMITED"
        }
      ]
    }
  ]
}
Champs de réponse

. connecté

Field Type Description
UserName string Identifiant de l'utilisateur connecté
DisplayName string Nom de l'utilisateur connecté
HasAPIAccess booléen
HasAPIAccess boolean True si l'utilisateur a accès à l'API demandée
PayerId integer Payer Id à utiliser dans les demandes ultérieures
PayerNumber string Numéro du payeur à utiliser dans les demandes ultérieures

2. Interrogation des comptes clients

Description: Ce point d'accès permet d'interroger les détails des comptes clients à partir de la plate-forme de cartes Shell, avec des critères de recherche souples et la prise en charge de la pagination. Utilisez le PayerId obtenu à l'étape précédente.

Chemin: POST /customer-management/v1/accounts

Exemple de requête
curl --location 'https://api-test.shell.com/test/customer-management/v1/accounts' \N--Curl --header 'RequestId:'.
--header 'RequestId : 2b0cbe11-f109-4c43-9201-49af0370df1c' \
--header 'Authorization : Bearer YOUR_ACCESS_TOKEN' \N ---header 'Content-Type : 2b0cbe11-f109-4c43-92019-4af0370df1c
--header 'Content-Type : application/json' \N--Content-Type : application/json
--data '{
  "Filters" : {
    "ColCoCode" : 86,
    "PayerNumber" : "GB000000123",
    "Status" : "ACTIVE",
    "IncludeCardSummary" : true
  },
  "Page" : 1,
  "PageSize" : 50
}'
Paramètres de la demande

integer

Paramètre Type Required Description
ColCoCode integer Yes Collecter le code de l'entreprise (Shell Code)
PayerNumber
NuméroPayeur Oui NuméroPayeur du client
Statut Non Filtre sur le statut du compte (ACTIF, BLOCKED, CANCELLED, etc.)
IncludeCardSummary No Inclure les détails du résumé de la carte (valeur par défaut : true)
Page No Numéro de page (valeur par défaut :
PageSize integer No Enregistrements par page (par défaut : 50)
Réponse type
{
  "RequestId" : "2b0cbe11-f109-4c43-9201-49af0370df1c",
  "Status" : "SUCCESS",
  "Données" : [
    {
      "AccountId" : 1,
      "AccountNumber" : "GB000000124",
      "AccountFullName" : "Acme Corporation",
      "Status" : "Active",
      "CurrencyCode" : "EUR",
      "TotalCards" : 1000,
      "TotalActiveCards" : 500
    }
  ],
  "Page" : 1,
  "TotalRecords" : 100,
  "TotalPages" : 2,
  "PageSize" : 50
}
Champs de réponse
Numéro de compte
Field Type Description
AccountId integer Identificateur de compte
AccountNumber chaine
AccountNumber. identifiant
Numéro de compte Chaîne
Nom complet du compte Chaîne Nom complet du compte
Status Current account status
CurrencyCode string ISO currency code
TotalCards integer Total nombre de cartes sur le compte
TotalCartesActives integer Nombre de cartes actives

3. Interroger les groupes de cartes

Description: Ce point d'accès permet d'extraire des détails sur les groupes de cartes de la plateforme Shell Cards avec des critères de recherche et une pagination flexibles. Les groupes de cartes permettent d'organiser les cartes au sein d'un compte.

Chemin: POST /customer-management/v1/cardgroups

Exemple de requête
curl --location 'https://api-test.shell.com/test/customer-management/v1/cardgroups' \N--Curl --header 'RequestId:'.
--header 'RequestId : 2b0cbe11-f109-4c43-9201-49af0370df1c' \
--header 'Authorization : Bearer YOUR_ACCESS_TOKEN' \N ---header 'Content-Type : 2b0cbe11-f109-4c43-92019-4af0370df1c
--header 'Content-Type : application/json' \N--Content-Type : application/json
--data '{
  "Filters" : {
    "ColCoCode" : 86,
    "PayerNumber" : "GB000000123",
    "Status" : "ACTIF"
  },
  "Page" : 1,
  "PageSize" : 50
}'
Paramètres de la demande

. Code de l'entreprise

String

Paramètre Type Required Description
ColCoCode integer Yes Collecte du code de l'entreprise
PayerNumber
Numéro du payeur Oui Numéro du payeur du client
Status Oui
Oui Statut du groupe de cartes (ACTIF, TERMINATED, ALL)
CardGroupName No Filtrer par nom de groupe de cartes (min 2 caractères)
Exemple de réponse
{
  "RequestId" : "2b0cbe11-f109-4c43-9201-49af0370df1c",
  "Status" : "SUCCESS",
  "Données" : [
    {
      "CardGroupId" : 40000,
      "CardGroupName" : "006240 FIRE BRIGHT SOLUTIONS",
      "Status" : "ACTIVE",
      "PrintOnCard" : true,
      "CardTypeId" : 1234,
      "TotalCards" : 1234,
      "ActiveCards" : 999
    }
  ],
  "Page" : 1,
  "TotalRecords" : 100,
  "TotalPages" : 2,
  "PageSize" : 50
}
Champs de réponse

4. Créer un groupe de cartes

Description: Ce point d'accès crée un nouveau groupe de cartes dans la plate-forme Shell Cards et déplace éventuellement jusqu'à 500 cartes dans le groupe nouvellement créé. Les demandes de déplacement de cartes sont mises en file d'attente après validation.

Chemin: POST /customer-management/v1/createcardgroup

Exemple de demande
curl --location 'https://api-test.shell.com/test/customer-management/v1/createcardgroup' \N--Curl --header 'RequestId : https://api-test.shell.com/test/customer-management/v1/createcardgroup''.
--header 'RequestId : 2b0cbe11-f109-4c43-9201-49af0370df1c' \
--header 'Authorization : Bearer YOUR_ACCESS_TOKEN' \N ---header 'Content-Type : 2b0cbe11-f109-4c43-92019-4af0370df1c
--header 'Content-Type : application/json' \N--Content-Type : application/json
--data '{
  "ColCoCode" : 86,
  "PayerNumber" : "GB000000123",
  "AccountNumber" : "GB000000124",
  "CardGroupName" : "006240 FIRE BRIGHT SOLUTIONS",
  "PrintOnCard" : true,
  "Cards" : [
    {
      "AccountNumber" : "GB99215176",
      "PAN" : "7002051006629890645"
    }
  ]
}'
Paramètres de la demande
Field Type Description
CardGroupId integer Identifiant du groupe de cartes
CardGroupName string Nom du groupe de cartes
Status string . groupe de cartes
Status Status du groupe de cartes
TotalCards integer Nombre total de cartes dans le groupe
ActiveCards integer Nombre de cartes actives dans le groupe

array

Exemple de réponse
{
  "RequestId" : "2b0cbe11-f109-4c43-9201-49af0370df1c",
  "Status" : "SUCCESS",
  "Data" : [
    {
      "MainReference" : 1234,
      "NewCardGroupReference" : 5672,
      "SuccessfulRequests" : [
        {
          "PAN" : "7002051123456789145",
          "Reference" : 12345
        }
      ],
      "ErrorCards" : []
    }
  ]
}
Champs de réponse
Paramètre Type Required Description
ColCoCode integer Yes Collecting Company Code
NuméroPayeur Oui NuméroPayeur du client
NuméroCompte Chaîne Oui Compte du client Oui NuméroCompte du client Oui Oui Oui Oui Oui Oui Oui Oui Oui. du client
CardGroupName Yes Nom du nouveau groupe de cartes (1-40 caractères)
PrintOnCard boolean Yes Il faut embosser le nom du groupe de cartes sur les cartes
Cards No Liste de cartes à déplacer (max 500)
Champs Type Description
Référence principale integer Référence pour le suivi de la demande globale
NewCardGroupReference integer Numéro de référence pour la création du groupe de cartes
SuccessfulRequests array Liste des demandes de déplacement de cartes mises en file d'attente avec succès
ErrorCards array Liste des cartes dont la validation a échoué

Gestion des erreurs

L'API utilise des codes d'état HTTP standard. En cas d'erreur, des détails supplémentaires seront fournis dans le corps de la réponse.

Ressource non trouvée

Code d'erreur Description Solution
E0001 Validation Error Check the request parameters for missing or invalid values
E0003 Unauthorized Verify credentials et s'assurer que l'utilisateur a accès à l'opération
E0005 Confirmer que la ressource demandée existe et est accessible
9015 Duplicate Card Group Name Utiliser un nom de groupe de cartes unique pour le client

A propos de nous

Le portail des développeurs Shell aide les partenaires à se familiariser avec les API Shell et à transformer leurs idées en solutions prêtes à être mises en production.

Logo Shell

Contact

Connectez-vous à votre compte

Demandez à l'assistant IA des informations sur les API Shell et les produits API