Accès à l'API pour le déploiement de conteneurs

La documentation de l'API IBM® Sterling Intelligent Promising est disponible dans un autre conteneur qui peut être déployé par l'opérateur IBM Sterling Intelligent Promising . Vous pouvez également déployer le conteneur de documentation d'API en externe sans utiliser l'opérateur.

Accéder à la documentation de l'API

La documentation sur les API présente une interface organisée et conviviale pour afficher les API dans trois catégories - Admin, Opérations et Public. Cette catégorisation vous permet de localiser rapidement les API pertinentes et d'améliorer la navigation générale.

Utilisez le site URL suivant pour accéder à la documentation de l'API pour les services Inventaire, Promesse, Configuration, Catalogue et Transporteur. Remplacez <base_URL> par votre adresse de domaine.
<base_URL>/api-docs

Déploiement de la documentation d'API à l'aide de l'opérateur IBM Sterling Intelligent Promising

Pour déployer la documentation d'API à l'aide de l'opérateur, ajoutez apiDocsService à la spécification SIPEnvironment . Si apiDocsService n'est pas défini dans SIPEnvironment, le conteneur de documentation d'API n'est pas déployé. Pour plus d'informations, voir le paramètre apiDocsService.

Déploiement de la documentation d'API sans opérateur IBM Sterling Intelligent Promising

Pour déployer des documents d'API en externe sans l'opérateur IBM Sterling Intelligent Promising , utilisez un conteneur Docker ou Kubernetes. L' URL permettant d'accéder de manière externe à la documentation de l'API est <base_URL>/api-docs, où <base_URL> est http://localhost:<host_port>/. Utilisez la commande suivante pour créer un conteneur Docker de documentation d'API. Pour <image_name>, voir Registry image names for IBM Sterling Intelligent Promising Standard package.

docker run -p <host_port>:8080 --name <container_name> <your registry>/<image_name>

Authentification des API

Vous pouvez authentifier les API à l'aide du jeton Web JSON dans un appel d'API.

Génération de jetons Web JSON
Le jeton JWT peut être généré de deux manières:
  • JWT généré à partir de Order Management System Software (OMS)
    Order Management System Software génère un jeton JWT une fois que la configuration associée au jeton JWT est activée. Pour obtenir le jeton d'OMS,
    • Appel de l'API REST de connexion dans OMS à l'aide de l'ID de connexion / mot de passe et extraction du jeton utilisateur à partir de la sortie de l'API
    • Appelez le noeud final REST /jwt?_loginid=<loginid>&_token=<user token fetched in previous step> dans OMS pour obtenir le jeton Web JSON (JWT)
  • JWT généré à partir d'un système externe

    Vous pouvez configurer votre système externe pour générer le jeton Web JSON (JWT) qui peut être utilisé pour effectuer des appels d'API sur IBM Sterling Intelligent Promising. Veillez à configurer la clé publique dans IBM Sterling Intelligent Promising JWT gateway verifier comme expliqué dans Création d'un secret d'émetteur JWT à l'aide d'une clé publique.

Le jeton Web JSON doit être transmis en tant que jeton bearer dans l'en-tête de la demande pour les appels d'API.
Contenu du jeton Web JSON (JWT)

Le fragment suivant est un exemple de contenu pour les jetons JWT. iss et exp sont des zones obligatoires dans le contenu.

{
 “iss”: “oms”,
 “aud”: “sip”,
 “exp”: 1688772650,
 “nbf”: 1567771750,
 “sub”: “user”,
 “userID”: “user”,
}

Accès basé sur les rôles pour l'accès aux API

Afin de garantir une sécurité et une efficacité opérationnelle optimales, les conteneurs " Sterling Intelligent Promising offrent les rôles suivants pour l'accès aux API.

Rôle Descriptif Nœuds finaux d'API
MARCHE Les utilisateurs abonnés au rôle Business exécutent divers cas d'utilisation d'opérations métier. Les abonnés à ce rôle ont accès à toutes les API avec des noeuds finaux tels que /inventory, /configuration, /catalog, etc.
  • https://<sip-domain>/inventory/*
  • https://<sip-domain>/promising/*
  • https://<sip-domain>/configuration/*
  • https://<sip-domain>/catalog/*
  • https://<sip-domain>/cas/*
  • https://<sip-domain>/optimizer/*
OPERATIONS Les utilisateurs abonnés au rôle OPERATIONS gèrent les déploiements et définissent des règles pour les locataires. Les abonnés à ce rôle ont accès aux API avec le noeud final /operations . https://<sip-domain>/inventory/operations/*
Administration

Les utilisateurs abonnés au rôle ADMINISTRATION gèrent la gouvernance, l'accès utilisateur et d'autres tâches d'administration. Les abonnés à ce rôle ont accès aux API pour les rôles métier et d'opérations, ainsi qu'aux API d'administration.
  • https://<sip-domain>/private/*
  • Inclut les noeuds finaux des rôles BUSINESS et OPERATIONS

Pour configurer un rôle de service dans le secret de configuration JWT, voir Création d'un secret d'émetteur JWT à l'aide d'une clé publique.

API d'appel

Lors de l'appel des API, veillez à transmettre tenantId en tant que default.

Par exemple, https://<sip-domain>/inventory/<tenantid>/v2/availability/node.

En-tête

"Content-Type" : "application/json"
"Authorization" : "Bearer [JWT_token]"

Corps

{
  "demandType": "OPEN_ORDER",
  "lines": [
    {
      "deliveryMethod": "SHP",
      "itemId": "sample0123",
      "lineId": "line_sample01234",
      "productClass": "NEW",
      "shipNodes": "["eastnode01"]",
      "unitOfMeasure": "EACH"
    }
  ],
  "segment": "ONLINE",
  "segmentType": "Channel"
}