A API de reconfiguração do CPQ
A API de reconfiguração do CPQ invoca os serviços do CPQ para reconfigurar um pacote de cotação.
A API de reconfiguração do CPQ é uma API do Salesforce personalizada que invoca serviços de CPQ sem interrupções. Ao contrário da SDC, esta API é usada para reconfigurar um pacote de cotação existente.
Pré-requisitos
O token do cliente de tempo de execução deve ser definido na página Configurações personalizadas do administrador no Salesforce. O token deve incluir uma origem que corresponda a. CPQ URL, que não pode incluir um caractere de barra (/) à direita.
O URL de configuração de tempo de execução também deve ser definido na página Configurações personalizadas do administrador. Na maioria dos casos, isso deve corresponder ao URL de administração na mesma página.
Em Configuração do Salesforce, vá para Segurança e, em seguida, para Configurações de local remoto. Adicione um novo local remoto com seu CPQ O domínio como o URL.
Detalhes da API
Endpoint: /Services/apexrest/lgk/cpq-quote-lines/reconfigure
Métodos: Recebe e retorna aplicação/json .
PATCH: O método atualmente oferece suporte a apenas dois campos, ConfigurationId e. ConfigurableQuoteLineId .
Resposta: Uma cotação ( _Q__Q__c ).
Exemplo de solicitação:
{
"configurationId":"86ec190e-cba8-4b1d-a2dc-ba47714a22b5",
"configurableQuoteLineId":"a137d00000977oWAAQ"
}
Exemplo de resposta:
{
"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"
}
As solicitações podem ser feitas diretamente pelo APEX. O argumento é A. Map<String,Object> Com os mesmos campos usados na REST API. Por exemplo:
Map<String, Object> requestBody = new Map<String, Object>{
'configurableQuoteLineId' => '01t8a000005hldvAAA',
'configurationId' => '79a3ffdd-7dd0-41f6-8700-4bd7506407c7'
};
String result = LGK.CpqReconfigureApiController.reconfigure(requestBody);
A resposta é uma cadeia de caracteres formatada JSON que representa o objeto de cotação, semelhante à resposta nas APIs REST.
Mapeamento de campo personalizado
Se um campo no objeto Linha de cotação no Salesforce tiver um nome que corresponda, os valores personalizados poderão ser gravados no estendido ou preço informações em a. CPQ produto.