API d’exécution

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 8 minutes de lecture
  • API d’exécution

    CPQ fournit un ensemble d’API permettant de créer des applications front-end et de manipuler des configurations. Communément appelées API buy-side ou runtime, les clients ou les utilisateurs finaux les utilisent pour créer, mettre à jour et enregistrer CPQ des configurations.

    Les API d’exécution prennent en charge les fonctions standard de création, de lecture, de mise à jour et de suppression pour CPQ les configurations, ainsi que la possibilité de récupérer les données de nomenclature (BOM) à partir de CPQ.

    Remarque :
    Ces API sont des API héritées. Pour obtenir les informations les plus récentes, consultez la référence complète CPQ de l’API :

    Référence de l’API Logik.io

    Pour rendre CPQ les API d’exécution accessibles et fournir un démarrage rapide aux développeurs finaux, consultez nos référentiels open source pour les collections d’API qui peuvent facilement être importées et utilisées pour commencer les tests :

    API-Documentation/runtime/Logik Configurator APIs.postman_collection.json d’exécution

    Configuration de l’API d’exécution

    Le format d’URL de base pour tous les appels d’API d’exécution est https://<locataire>.<secteur>.logik.io/api/, où <locataire> correspond au nom du locataire répertorié et <secteur> est le secteur approprié dans lequel l’environnement se trouve (généralement test ou production).

    Dans Salesforce, vous pouvez trouver l’URL du CPQ locataire en accédant à Configuration, en recherchant Paramètres personnalisés dans la zone Recherche rapide, puis en cliquant sur Gérer en regard de CPQ Locataire.

    Les appels d’API d’exécution sont authentifiés par la combinaison d’un jeton de porteur et de l’origine définie dans le client d’exécution. Les origines de l’application d’exécution sont spécifiées lorsqu’un client d’exécution est créé dans les paramètres d’administration CPQ .

    Pour autoriser ces appels d’API, vous devez ajouter deux en-têtes à chaque demande d’API d’exécution :

    Tableau 1. En-têtes obligatoires pour les demandes d’API d’exécution
    En-tête Clé Valeur
    En-tête d’origine origine <runtimeClientOrigin>
    En-tête d'autorisation autorisation Porteur <runtimeToken>

    Exemples d’en-têtes :

    • Origine : localhost
    • autorisation : porteur vEqzz4BVkb15Le11En8axEuN71FA6Vt_cw

    Créer une configuration

    Pour démarrer une nouvelle configuration via les API, l’appel create configuration transmet l’ID du produit configurable. En réponse, il reçoit un CPQ ID de configuration qui peut être utilisé pour spécifier cette configuration dans des appels ultérieurs.

    Tableau 2. POST
    Méthode HTTP POST
    URL https://<tenant>.<sector>.logik.io/api/
    Paramètres de chemin d'accès N/A
    Paramètres de requête N/A

    Les deux éléments clés de la charge utile sont les suivants :

    • ID d’un CPQ produit activé, avec un plan déployé
    • UUID CPQ de configuration en cours de reconfiguration

    Exemple d’URL :

    https://dev1.test.Logik/api/

    Exemple de charge utile :

    {
      "sessionContext": 
      { 
        "stateful": true
      },
      "partnerData": 
      { 
        "product":
        {
          "configuredProductId": "<Id of a Logik.io Enabled Product>", 
        }
      },
      "fields": []
    }
    Remarque :
    La configuration peut également être initialisée en transmettant des valeurs de champ au tableau de champs au format suivant :
    {
      “variableName”: “<Field Name>”, “value”: “<Field Value>”
    }

    Exemple de réponse :

    {
      "fields": [<ARRAY OF FIELD OBJECTS>],
      "uuid": "08176434-9b1e-4fc8-b2c4-8aba2c35fda3", 
      "revision": 0,
      "relatedChanges": 
      [
        {
          "key": "products",
          "type": "PRODUCT"
        }
      ],
      "valid": true, 
      "messages": [], 
      "productChange": true,
      "products": [<ARRAY OF PRODUCTS IN CONFIGURATION>],
      "total": 30,
      "layouts": [<ARRAY OF LAYOUTS>]
    }

    Reconfigurer une configuration

    L’appel d’API de reconfiguration est similaire à l’appel de création de configuration. L’appel de reconfiguration transmet l’ID du produit configurable et un ID de configuration existant CPQ , et reçoit en retour un nouvel ID de configuration avec les mêmes données de champ que la configuration précédente, mais permettant d’apporter des changements.

    Remarque :
    Le champ UUID de la charge utile de la réponse contient le nouvel CPQ ID de configuration. Le nouvel ID de configuration doit être utilisé pour toutes les opérations à venir dans le processus de reconfiguration, y compris la mise à jour, l’enregistrement et la récupération de la nomenclature.
    Tableau 3. POST
    Méthode HTTP POST
    URL https://<locataire>.<secteur>.logik.io/api/
    Paramètres de chemin d'accès N/A
    Paramètres de requête N/A

    Les deux éléments clés de la charge utile sont les suivants :

    • ID d’un CPQ produit activé, avec un plan déployé
    • UUID CPQ de configuration en cours de reconfiguration

    Exemple d’URL :

    https://dev1.test.Logik/api/

    Exemple de charge utile :

    {
      "sessionContext": 
      { 
        "stateful": true
      },
      "partnerData": 
      { 
        "product": 
        {
          "configuredProductId": "<Id of a Logik.io Enabled Product>", 
          "configurationAttributes": 
          {
            "LGK__ConfigurationId__c": "<uuid>"
          }
        }
      },
      "fields": []
    }

    Exemple de réponse :

    {
      "fields": [<ARRAY OF FIELD OBJECTS>],
      "uuid": "d98d60cd-9379-4b7b-86fd-de828c340f80", 
      "revision": 0,
      "relatedChanges": 
      [
        {
          "key": "products",
          "type": "PRODUCT"
        }
      ],
      "valid": true, 
      "messages": [], 
      "productChange": true,
      "products": [<ARRAY OF PRODUCTS IN CONFIGURATION>],
      "total": 30,
      "layouts": [<ARRAY OF LAYOUTS>]
    }

    Mettre à jour une configuration

    La mise à jour d’une configuration nécessite le chargement d’une configuration à l’aide des appels d’API Créer une configuration ou Reconfigurer. L’appel Mettre à jour la configuration transmet un CPQ ID de configuration et toutes les valeurs de champ souhaitées, et reçoit en réponse la configuration mise à jour de .CPQ

    Tableau 4. PATCH
    Méthode HTTP PATCH
    URL https://<locataire>.<secteur>.logik.io/api/
    Paramètres de chemin d'accès N/A
    Paramètres de requêtes Nom Valeur autorisée Requis ? Par défaut si non spécifié
    delta vrai | faux facultatif VRAI
    Enregistrer vrai | faux facultatif faux

    Paramètres de requête :

    delta

    Si delta=true, CPQ renvoie uniquement les données qui ont changé en fonction de la mise à jour qui a été envoyée. C’est le comportement par défaut.

    Si delta=faux, CPQ renvoie l’intégralité de la configuration et des données BOM en réponse.

    save

    Si save=true, CPQ enregistre cette configuration et (selon les paramètres) effectue des actions supplémentaires telles que l’envoi des données à un webhook ou l’écriture des données dans des objets personnalisés dans Salesforce. Il s’agit du comportement de l’appel de configuration d’enregistrement.

    Si save=false, CPQ met à jour cette configuration et renvoie les données mises à jour dans la réponse. Il s’agit du comportement par défaut, et c’est le comportement de l’appel de mise à jour.

    Exemple d’URL :

    https://dev1.test.logik.io/api/fbc3d32c-7f86-4461-b144-986a0e8a5768

    Exemple de charge utile :

    {
      "fields": 
      [
        {
          "variableName": "orderQty", 
          "value": 3
        }
      ]
    }

    Exemple de réponse :

    {
      "fields": [],
      "uuid": "fbc3d32c-7f86-4461-b144-986a0e8a5768", 
      "revision": 0,
      "relatedChanges": 
      [
        {
          "key": "products",
          "type": "PRODUCT"
        }
      ],
      "valid": true, 
      "messages": [], 
      "productChange": true, 
      "products": null
    }

    Enregistrer une configuration

    L’enregistrement d’une configuration est un sous-ensemble de la configuration de mise à jour. Le chargement d’une configuration nécessite les appels d’API créer une configuration ou reconfigurer. L’appel d’enregistrement de la configuration transmet un CPQ ID de configuration et toutes les valeurs de champ souhaitées, et reçoit en réponse la configuration mise à jour de .CPQ

    Remarque :
    La seule différence entre un appel de mise à jour normal et un appel de sauvegarde est l’ajout du paramètre save=true de requête dans l’URL. Si la valeur est définie sur faux ou exclu, il s’agit d’un appel de mise à jour normal.

    Si vous utilisez Salesforce en tant que back-end, lorsque l’API save est appelée, crée et remplit de manière asynchrone les objets personnalisés, les champs de configuration, CPQ les jeux de données et les CPQ éléments de ligne de configuration avec les données appropriées.

    Si un webhook est configuré sur votre CPQ instance, lorsque l’API save est appelée, les données sont envoyées au point de terminaison spécifié dans le paramètre webhook. Consultez Webhooks.

    Remarque :
    Ceci met fin à la session de configuration. D’autres modifications ou mises à jour de la configuration doivent être lancées à partir des appels d’API créer, configurer ou reconfigurer.
    Tableau 5. PATCH
    Méthode HTTP PATCH
    URL https://<locataire>.<secteur>.logik.io/api/
    Paramètres de chemin d'accès N/A
    Paramètres de requêtes Nom Valeur autorisée Requis ? Par défaut si non spécifié
    delta vrai | faux facultatif VRAI
    Enregistrer vrai | faux facultatif faux

    Paramètres de requête :

    delta

    Si delta=true, CPQ renvoie uniquement les données qui ont changé en fonction de la mise à jour qui a été envoyée. C’est le comportement par défaut.

    Si delta=faux, CPQ renvoie l’intégralité de la configuration et des données BOM en réponse.

    save

    Si save=true, CPQ enregistre cette configuration et (selon les paramètres) effectue des actions supplémentaires telles que l’envoi des données à un webhook ou l’écriture des données dans des objets personnalisés dans Salesforce.

    Si save=false, CPQ met à jour cette configuration et renvoie les données mises à jour dans la réponse. Il s’agit du comportement de l’appel de mise à jour.

    Exemple de demande cURL :

    curl --location --request PATCH 'https://mpanigrahi-demo.demo01.logik.io/api/6d0ef6fd-4c88-44f3-a296-b03421c369c6' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Origin: https://mpanigrahi-demo.demo01.logik.io' \
    --header 'Authorization: <<RUNTIME TOKEN>>' \
    --header 'Cookie: LGKSESSION=NDA5OWJmNmEtNDhhOS00YTc4LTk3ODktZTg0OGYyOGIwMjZk' \
    --data '{"fields":[{"variableName":"name_d1","value":"megha","dataType":"text"}],"responseState":{"setPagination":{"collections":{"pageSize":10,"pageNumber":0},"fields":{"pageSize":10,"pageNumber":0},"componentTypes":{"pageSize":10,"pageNumber":0}},"defaultPagination":{"pageSize":10,"pageNumber":0},"searchValues":{}}}'

    Exemple de réponse :

    {
    "fields": [<ARRAY OF FIELD OBJECTS>],
    "uuid": "8817655d-7a11-41ef-a9fd-59c2855a3e4b", 
    "revision": 1,
    "valid": true, 
    "messages": [], 
    "productChange": false,
    "products": [<ARRAY OF PRODUCTS IN CONFIGURATION>],
    "total": 0
    }

    API BOM

    Les API BOM sont utiles pour récupérer la sortie finale de la configuration. Les API BOM peuvent être utilisées pour récupérer la nomenclature complète ou des sous-ensembles spécifiques, tels que les nomenclatures de vente ou de fabrication.

    L’appel Obtenir BOM transmet un CPQ ID de configuration et reçoit en retour le BOM actuel généré par l’état actuel de la configuration. Il existe 3 types de nomenclature intégrée : « tout », « ventes » et « fabrication ». Des types de nomenclature supplémentaires peuvent être ajoutés dynamiquement en définissant le champ bomType sur le produit.

    Remarque :
    Si le type de nomenclature n’est pas inclus, l’API renvoie la nomenclature complète.
    Tableau 6. GET
    Méthode HTTP GET
    URL https://<locataire>.<sector>.logik.io/api/<uuid>/bom/<bomType>
    Paramètres de chemin d'accès Nom Valeur autorisée Requis ?
    <uuid> UUID de configuration à 32 caractères CPQ obligatoire
    <bomType> nom de la nomenclature à récupérer facultatif
    Paramètres de requête N/A

    Exemple de réponse :

    {"products": [
            {
                "id": "01t5f000006QKysAAG",
                "quantity": 1,
                "bomType": "Sales",
                "orderNumber": 10,
                "type": "accessory",
                "name": "Amend Flow Bundle Sub",
                "partnerId": "01t5f000006QKysAAG",
                "productCode": "AFBC-SC",
                "externalId": "",
                "productFamily": "Miscellaneous",
                "description": "",
                "uom": "",
                "price": 5,
                "extPrice": 5,
                "level": 0,
                "rollUpPrice": 5
            },
            {
                "id": "01t5f000006QKz2AAG",
                "quantity": 1,
                "bomType": "Sales",
                "orderNumber": 20,
                "type": "accessory",
                "name": "Amend Flow Bundle Asset",
                "partnerId": "01t5f000006QKz2AAG",
                "productCode": "AFBC2-SC",
                "externalId": "",
                "productFamily": "Miscellaneous",
                "description": "",
                "uom": "",
                "price": 25,
                "extPrice": 25,
                "level": 0,
                "rollUpPrice": 25
            }
        ]}

    Pour en savoir plus sur les API de configuration supplémentaires et les exemples de scénarios, reportez-vous à la section API de configuration supplémentaires.