Premiers pas avec CPQ DevKit™ for Salesforce (QCP dans VS Code)
CPQ DevKit™ for Salesforce est une extension VS Code dédiée au développement de Quote Calculator Plugin (QCP) pour Salesforce CPQ. Elle remplace la boucle d'édition dans le navigateur par un workflow local : éditez dans src/, synchronisez vers SBQQ__CustomScript__c et diffez les changements comme du code ordinaire.
Prérequis
- VS Code + l'extension installée (
CPQConsultant.cpq-devkit-sf) - Une org Salesforce avec Salesforce CPQ installé
- QCP activé dans les paramètres du package CPQ (afin que vos enregistrements de scripts personnalisés soient utilisés)
Dossiers et fichiers clés
src/*.ts— vos scripts QCP locaux (enregistrés en.tspour bénéficier de l'aide de l'éditeur, mais vous devez écrire du JavaScript valide, pas du TypeScript).cpqdevkit/sfcpq/qcp-config.json— authentification d'org chiffrée + correspondances fichier/enregistrement (à garder hors de Git).cpqdevkit/sfcpq/qcp-log.json— journaux de sync optionnels
1) Initialisez le projet et authentifiez-vous
- Ouvrez un dossier vide dans VS Code (ou un dépôt existant).
- Exécutez
CPQ DevKit™ for Salesforce: Initialize Project. - Choisissez votre type d'org (Sandbox / Dev / Prod / Custom) et complétez le flux de connexion OAuth.
Une fois l'authentification effectuée, l'extension stocke les identifiants chiffrés sous .cpqdevkit/sfcpq/ et met à jour .gitignore pour que vous ne les committiez pas.
2) Créez ou récupérez des scripts QCP
Après l'initialisation, amenez des scripts dans votre workspace :
CPQ DevKit™ for Salesforce: Pull QCP records from Salesforce(récupère tous les scripts)CPQ DevKit™ for Salesforce: Create example QCP files in your project(ajoute des exemples danssrc/)
3) Vérification rapide
Exécutez CPQ DevKit™ for Salesforce: Validate org credentials are valid pour confirmer que vous pouvez vous connecter et interroger l'org.
Remarque importante à propos du « TypeScript »
Les fichiers sont stockés en .ts, mais ils ne sont pas compilés avant d'être renvoyés vers Salesforce. Évitez la syntaxe propre à TypeScript (types, enums, interfaces, as, décorateurs, etc.) — restez sur du JavaScript compatible ES6.
