Skip to content
Retour au blog

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 .ts pour 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

  1. Ouvrez un dossier vide dans VS Code (ou un dépôt existant).
  2. Exécutez CPQ DevKit™ for Salesforce: Initialize Project.
  3. 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 dans src/)

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.