API de reconfiguration CPQ
L’API CPQ Reconfigure appelle les services CPQ sans en-tête pour reconfigurer un ensemble de devis.
L’API CPQ Reconfigure est une API Salesforce personnalisée qui appelle les services CPQ sans tête. Contrairement à la RFQ, cette API est utilisée pour reconfigurer un ensemble de devis existant.
Prérequis
Le jeton client d’exécution doit être défini dans la page Paramètres personnalisés de l’administrateur dans Salesforce. Le jeton doit inclure une origine qui correspond à l’URL CPQ , et non pas une barre oblique de fin (/).
L’URL de configuration d’exécution doit également être définie dans la page Paramètres personnalisés de l’administrateur. Dans la plupart des cas, cela doit correspondre à l’URL d’administration sur la même page.
Dans le programme d’installation de Salesforce, accédez à Sécurité, puis à Paramètres du site distant. Ajoutez un nouveau site distant avec votre CPQ domaine comme URL.
Détails de l'API
Point de terminaison : /services/apexrest/LGK/cpq-quote-lines/reconfigure
Méthodes : reçoit et renvoie application/json.
PATCH : La méthode ne prend actuellement en charge que deux champs, configurationId et configurableQuoteLineId.
Réponse : un enregistrement de citation (SBQQ__Q__c).
Exemple de demande :
{
"configurationId":"86ec190e-cba8-4b1d-a2dc-ba47714a22b5",
"configurableQuoteLineId":"a137d00000977oWAAQ"
}
Exemple de réponse :
{
"attributes": {
"type": "SBQQ__Quote__c",
"url": "/services/data/v56.0/sobjects/SBQQ__Quote__c/a0zR0000003f3GLIAY"
},
"Name": "Q-00090",
"Id": "a0zR0000003f3GLIAY",
"SBQQ__LineItemCount__c": 4,
"SBQQ__LineItems__r": {
"totalSize": 4,
"done": true,
"records": [
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPRxIAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPRxIAO",
"Name": "QL-0000122",
"SBQQ__ProductName__c": "LGK Machine"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPRyIAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPRyIAO",
"Name": "QL-0000123",
"SBQQ__ProductName__c": "Analytics Software"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPS2IAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPS2IAO",
"Name": "QL-0000124",
"SBQQ__ProductName__c": "Extended Warranty"
},
{
"attributes": {
"type": "SBQQ__QuoteLine__c",
"url": "/services/data/v56.0/sobjects/SBQQ__QuoteLine__c/a0vR0000005LPS3IAO"
},
"SBQQ__Quote__c": "a0zR0000003f3GLIAY",
"Id": "a0vR0000005LPS3IAO",
"Name": "QL-0000125",
"SBQQ__ProductName__c": "Scanner"
}
]
},
"SBQQ__Type__c": "Quote"
}
Les demandes peuvent être faites directement via Apex. L’argument est un Map<String,Object> avec les mêmes champs utilisés dans l’API REST. Par exemple :
Map<String, Object> requestBody = new Map<String, Object>{
'configurableQuoteLineId' => '01t8a000005hldvAAA',
'configurationId' => '79a3ffdd-7dd0-41f6-8700-4bd7506407c7'
};
String result = LGK.CpqReconfigureApiController.reconfigure(requestBody);
La réponse est une chaîne au format JSON représentant l’objet de citation, similaire à la réponse dans les API REST.
Mappage de champs personnalisés
Si un champ de l’objet Ligne de devis dans Salesforce a un nom qui correspond, des valeurs personnalisées peuvent être écrites à partir des informations étendues ou de tarification d’un CPQ produit.