Primeiros passos com o CPQ DevKit™ for Salesforce (QCP no VS Code)
O CPQ DevKit™ for Salesforce é uma extensão do VS Code focada no desenvolvimento de Quote Calculator Plugin (QCP) do Salesforce CPQ. Ela substitui o ciclo de edição no navegador por um workflow local: edite em src/, sincronize com SBQQ__CustomScript__c e compare (diff) as alterações como código normal.
Pré-requisitos
- VS Code + a extensão instalada (
CPQConsultant.cpq-devkit-sf) - Uma org Salesforce com o Salesforce CPQ instalado
- QCP habilitado nas configurações do pacote CPQ (para que seus registros de custom script sejam usados)
Pastas e arquivos principais
src/*.ts— seus scripts QCP locais (salvos como.tspara aproveitar a ajuda do editor, mas você deve escrever JavaScript válido, não TypeScript).cpqdevkit/sfcpq/qcp-config.json— autenticação criptografada da org + mapeamentos de arquivos/registros (mantenha fora do Git).cpqdevkit/sfcpq/qcp-log.json— logs de sync opcionais
1) Inicialize o projeto e autentique-se
- Abra uma pasta vazia no VS Code (ou um repositório existente).
- Execute
CPQ DevKit™ for Salesforce: Initialize Project. - Escolha o tipo da sua org (Sandbox / Dev / Prod / Custom) e conclua o fluxo de login OAuth.
Depois de autenticada, a extensão armazena as credenciais criptografadas em .cpqdevkit/sfcpq/ e atualiza o .gitignore para que você não faça commit delas.
2) Crie ou puxe scripts QCP
Após a inicialização, traga os scripts para o seu workspace:
CPQ DevKit™ for Salesforce: Pull QCP records from Salesforce(puxa todos os scripts)CPQ DevKit™ for Salesforce: Create example QCP files in your project(adiciona exemplos emsrc/)
3) Verificação rápida de sanidade
Execute CPQ DevKit™ for Salesforce: Validate org credentials are valid para confirmar que você consegue se conectar e consultar a org.
Observação importante sobre o "TypeScript"
Os arquivos são armazenados como .ts, mas eles não são compilados antes de serem enviados de volta ao Salesforce. Evite sintaxe exclusiva do TypeScript (tipos, enums, interfaces, as, decorators etc.) — mantenha um JavaScript compatível com ES6.
