Configure, Price, Quote Vlocity? CPQ
Configure, Price, Quote Vlocity? CPQ
Configure, Price, Quote Vlocity? CPQ
Vlocity CPQ
OSS: Operating Support Systems- abrange o lado das operações e da rede da empresa de
telecomunicações.
Exemplo:
• Configuração
• Garantia de serviço
• Planejamento de rede
Exemplo:
• Cobrança
• Ordens de clientes
• Assinaturas
• Notificações de clientes
• Cumprimento do serviço
Communications Cloud
O que é?
⁃ Realiza análises e inteligência artificial (IA) para oferecer uns serviços guiados e
personalizado aos seus clientes.
Um fluxo de lead-to-cash típico envolve cada uma das etapas mostradas abaixo.
O diagrama mostra o fluxo típico de tarefas desde a geração de um lead até o início do
ciclo de faturamento do cliente e o atendimento ao cliente subsequente.
Ambos acima podem realizar uma variedade de tarefas de negócios por meio de vendas
guiadas para capturar o pedido perfeito do cliente.
Cart Technology
Basic Layout:
• Cart Header
O Cart Header mostra a conta, pedido, cotação ou nome da oportunidade, lista de preços
relevante e botões de ação do OmniStudio.
⁃ Price lists and rules determinam quais produtos são exibidos na lista Produtos.
⁃ Disqualified: lista todos os itens que não podem ser adicionados. (indisponibilidade
ou inelegibilidade do cliente)
⁃ Mostra o preço total dos itens na área Carrinho, incluindo cobranças únicas e
cobranças recorrentes.
Ações OmniStudio
Com a ação de botões do OmniStudio, você implementa botões para uma variedade de
diferentes tarefas de captura de pedidos.
Rules
As regras ajudam a garantir que cada pedido seja perfeito.
Duas estruturas de regras trabalham em conjunto para filtrar a lista de produtos, para que
seja aplicada ao cliente.
Começa no EPC -> FILTRA no Context Rules Framework -> faz o refinamento final no
Advanced Rules Framework -> e apresenta no carrinho.
• Configurable validation
https://www.tmforum.org/
Camadas PSR
Product-Service-Resource Layers
⁃ Baseada no OmniScript.
Os OmniScripts permitem que você crie interações envolventes com o cliente usando uma
ferramenta de design.
Asset - Ativo
É um item de valor que uma conta ou contato possui (ativos como produtos ou serviços)
Asset-based
Asset-Based Ordering
Customer Lifecycle
• No primeiro estágio da captura de pedidos, uma oportunidade passa para uma
cotação e depois para um pedido.
⁃ Depois que um asset estiver em uma quotes ou orders, você pode realizar uma
atualização MACD (move-add-change-delete)
⁃ Adicionando um serviço
⁃ Atualizando um serviço
⁃ Desconectando um serviço
Reverting asset
Exemplo:
⁃ Um ano depois de ter adquirido o produto inicial ou serviço o cliente deseja fazer
alteração de serviço. (Ex: Se o cliente mudar de residência)
É uma ação de mover acionada por um processo de interação guiado por OmniScript.
O botão de ação mover aciona o OmniScript de Moving Assets para guiá-lo pelo processo
de movimentação, no qual você define as datas e locais de movimentação de saída e de
entrada.
OBS: Processo guiado NÃO permite criar pacotes de produtos no carrinho.
Order Cancellation
CPQ e Industries Order Management (iOM) precisam trabalhar juntos para dar suporte em:
• In-flight order - Pedido em andamento - Um pedido que foi enviado (do CPQ para
o iOM), mas não concluído.
⁃ Se o PONR não for aprovado - as tarefas concluías são revertidas (ou “desfeitas”)
com base na conf. anterior.
⁃ No salesforce você cria uma cotação de uma oportunidade e seus produtos. (Tag
Quotes)
Change to Quote
⁃ Inicia uma ação CPQ Create Quote OmniScript, que cria uma cotação para os ativos
selecionados e abre a cotação no carrinho. (Button).
Field Mapper
• Opportunities to quotes
• Quotes to orders
• Orders to assets
• Assets back to orders
• Assets back to quotes
imobilização comercial
Caso não quiser rastrear o valor comercial de um ativo do cliente, deverá configurar o
produto como não ativo.
Exemplo:
Not Assetizable
Field Information:
Fórmula Options:
Order Products é Objeto Salesforce (sObjects) e é preciso criar manualmente o campo Not
Assetizable.
Industries Order Management (iOM)
(O cliente não se importa com detalhes como liberar recursos da porta para receber
internet doméstica.)
Orchestration Plan
• Pendente/Pending (OC2 Stop) - A tarefa está pronta para ser executada, mas ainda
não foi iniciada. (Ele está aguardando a conclusão de uma dependência de tarefa antes de
ser executado.) (cinza)
OBS: quando você passa o mouse sobre uma tarefa, o status é exibido.
Shared Catalog (EPC) - Catálogo Compartilhado (EPC)
Principais recursos:
⁃ Produto técnico
⁃ Produto comercial
⁃ Relação de decomposição
• Produtos
• Atributos
• Listas de opções
• Tipos de objeto de produto
Exemplo:
⁃ Para mantê-lo, as APIs executarão os dados antigos até que os novos dados
estejam em vigor.
Cache nas Indústrias CPQ
“CPQPartition”
⁃ É instalado junto com o manage pack, mas você precisa habilitá-lo e garantir que
ele tenha espaço suficiente alocado.
Exemplo:
⁃ Sempre que você girar uma organização ou importar dados que contenham
atributos de produto, como a criação de um ambiente de sandbox, você deverá corrigir os
IDs de registro de atributo do produto.
Picklists
• O nome da lista é apenas um design e não em execução. Isso significa que não é
visível para os clientes.
Product Attributes
Propriedades Gerais
https://vlocity-university.litmos.com/course/2200192/module/5008402/Scorm?LPId=81825
Field:
Attribute:
Picklists e Attributes
⁃ São objetos que trabalham juntos para fornecer os valores válidos para um
determinado atributo.
Object Types
Entidade reutilizável que define propriedades, como campos e atributos e layouts para todas
as instâncias do produto.
Base Product sera o pai de todos os subtipos, podendo ser criado um tipo de objeto filho
⁃ Este será o “objeto primordial” do seu catálogo de produtos e deve incluir todos os
campos do catálogo de produtos.
• Object Type para classes de produtos específicos podem ser criados para herdar o
layout, os campos e quaisquer atributos do Produto Base.
• Atributos e campos herdados não podem ser excluídos. (São removidos do supertipo
de objeto.)
Processo pelo qual cada produto passa desde a sua introdução até a sua retirada.
• Introdução
• Crescimento
• Maturidade
• Declínio
O catálogo de produtos compartilhado oferece suporte a ciclos de vida de
produtos comerciais, permitindo que você defina:
-> Datas do período de venda do produto são definidas na faceta Propriedades gerais do
produto.
⁃ Após alterar algum campo você deve atualizar os dados da hierarquia do produto no
cache da plataforma.
EPC Product
Industries Solutions
⁃ Pode ter preços diferentes, como preço base, multas, cobranças e ajustes nas
cobranças.
Pricing Model
⁃ Se um produto não tiver entradas na lista de preços marcadas como base price, os
preços na lista PRODUTOS serão exibidos como zero.
Pricing Components
Atribuir preços a produtos e ajustar os preços base por uma porcentagem ou valor. Os
componentes de preço são reutilizáveis.
Para precificar um produto, você deve criar listas de preços, variáveis de precificação e
elementos de precificação.
⁃ Quando usamos várias listas de preços pode atribuir mais de um preço base ao
mesmo produto.
Pricing Elements
Altere preços de qualquer produto ou produto filho em pacote, sem alterar o preço base,
com;
-> Adjust/ Ajustar: usa o preço base para calcular um desconto percentual ou um
desconto de valor.
⁃ Ajustar o preço de um produto filho, a alteração do preço base pode ser uma
porcentagem ou um valor.
Pricing Bundles
⁃ Para mostrar um preço inicial para um pacote com produtos filhos opcionais,
precisamos alterar o texto de exibição para mostrar o preço inicial.
Time Plan
Exemplo:
Configuração:
Time Policy
Configuração:
Start Policy
End Policy
Type
Advantages of Promotions
Quaisquer promoções que você criar podem ser aplicadas a produtos sem alterar os
produtos.”
Exemplo:
⁃ Você pode usar uma Context rule para emitir uma penalidade.
Produto:
Podem ser agrupados com os preços dos produtos filhos totalizados (ou “acumulados”) e
adicionados ao preço do produto pai.
Promoção:
São produtos individuais ou pacotes de produtos que você cria para um número limitado
de:
• Tempo
• Grupo de clientes
• Subconjunto de produtos
Alterar o preço de qualquer produto em uma promoção ajustando o preço por uma
porcentagem ou valor, podendo também definir quanto tempo o preço ajustado durará.
Exemplo:
Em vez de ajustar o preço para 20% de desconto em US$ 34,99 por 3 meses, você substitui
o preço de US$ 34,99 por US$ 24,99.
Refining Promotions
Update Scope
Há duas opções de configuração para o campo Update Scope ao criar uma promoção para
um pacote de produtos.
Deleting Promotions
Deep Delete
Shallow Delete
• No = shallow delete
• Default/Yes = deep delete
Exemplo:
Promoção 1 desconta o produto filho A.
Promoção 2 desconta os produtos filho B e C.
(OBS: Ative a Shallow Delete, se a Deep Delete estiver ativada, você não poderá excluir
várias promoções)
Contextual Discounts
1. Order-Based
2. Account-Based
3. Contract-Based
Order-Based
Exemplo:
Um cliente está pensando em atualizar seu iPhone hoje, o CSR pode oferecer um desconto
pré-construído de 20% em todos os acessórios do iPhone na tentativa de fechar a venda.
Account-Based
⁃ Permitem que você aplique uma redução no preço de produtos e/ou serviços no
futuro.
Exemplo:
Exemplo:
1. Product Console
2. Representante de vendas/CSR
Submit Order: botão no carrinho que ativa um pedido ou desconto baseado em conta.
Interfaces e Implementações
Implementação e Interface
Oferece:
60 interfaces
100 implementação
Interface
implementação
Exemplo:
A interface de preços se comunica com o sistema para perguntar “quanto custam esses
itens?” A implementação responde com a lógica de negócios apropriada para precificar os
produtos.
Implementações de CPQ
⁃ Industries CPQ faz chamadas de API para as interfaces apropriadas para implementar
a lógica de negócios usando classes do Apex.
⁃ Necessário ativar a implementação e a interface corretas.
⁃ Pode ter apenas uma implementação ativa por interface.
• Implementação Padrão: Não há lógica, apenas um stub que permite que o carrinho
funcione sem nenhuma regra. (“sem operação”)
• Implementação hibrida:
Qualification rules
⁃ São executadas antes que o Carrinho exiba produtos e promoções que os clientes
podem selecionar.
Penalty rules
Advanced rules
⁃ São executadas antes que o Carrinho exiba produtos e promoções que os clientes
podem selecionar.
Configuration rules
Pricing rules
Todas as regras são executadas novamente para validação quando o pedido é enviado.
Context Rules
A Salesforce Industries fornece duas estruturas de regras para atingir seus objetivos de
negócios: Context Rules and Advanced Rules.
⁃ Pode ser usada para o Salesforce Industries API Caching (Comércio digital).
⁃ NÃO pode ser aplicar regras de contexto aos itens de linha do pedido.
Advanced Rules
A Estrutura de context rules permite que você crie regras de contexto para aplicar regras
de qualificação e penalidade.
⁃ O Context Rules Framework usa o cache da organização para obter alto desempenho.
Qualification rules
⁃ São executadas antes que o Carrinho exiba produtos e promoções que os clientes
podem selecionar.
Penalty rules
Qualification rules
Utilizada para filtrar as listas de Produtos e Promoções no Carrinho para que os clientes
vejam apenas os produtos que estão qualificados.
Exemplo:
Um produto ou promoção só está disponível para compra por clientes de longo prazo.
Exemplo:
Os product para os quais um usuário atende aos critérios de qualificação são exibidos na aba
Qualified.
As promotion para as quais um usuário atende aos critérios de qualificação são exibidas
na guia Qualified.
Penalty Rules
Promotion
⁃ Se uma penalidade for aplicada, a regra define a cobrança da penalidade (uma taxa
específica).
Exemplo:
ContextRuleService
• Essa implementação deve ser a implementação ativa e padrão para que as regras de
contexto sejam habilitadas.
ProductAvailabilityOpenInterface
• Chamada quando o aplicativo deve fornecer uma lista de produtos que estão
disponíveis para o cliente selecionar.
1. DefaultAvailabilityOpenImplementation
⁃ Usada quando você não tivesse nenhuma regra de contexto para aplicar.
1. CtxRules ProductsOpenImplementation
⁃ Deve ser a implementação ativa e padrão para implementar regras de contexto para
produtos.
TightestMatchInterface
TightestMatchServiceImplementation
⁃ Usa pesos para determinar qual entrada da lista de preços selecionar.
FirstMatchImplementation
PricingManAdjEligibilityInterface
RepricingManAdjEligibilityInterface
A Estrutura de Regras de Contexto permite que você crie regras de contexto para aplicar
regras de qualificação e penalidade.
Elementos da estrutura;
⁃ Trigger events: Executam uma interface do Salesforce Industries, que então chama
a implementação de interface ativa.
O context rule age como filtros de entidade, decidindo quando um rule sets se aplica ao
carrinho.
Rule sets
1. Objetivo da regra:
Este campo atualmente não está funcional, mas está planejado para
uso futuro.
1. Modo de Expressão:
As opções And, Or, Custom, If Else If, If.
(Consulte "Custom
Expression Modes" abaixo)
1. Mensagem de falha:
Esta mensagem será exibida na subguia Desqualificado do
Carrinho.
Você pode selecionar uma ou mais regras como regras filhas de um rule sets.
Expression Modes
A Rule evaluation usa um modo de expressão (por exemplo, And, Or, Custom) para
compilar condições em uma expressão lógica.
• Or: Requer que pelo menos uma das regras no conjunto de regras seja aprovada.
Exemplo:
• If Else If: Testa a primeira regra no conjunto de regras e testa a regra subsequente
somente se a primeira regra não for aprovada.
• Rule condition
• Context dimension
• Context scope
• Context mapping
1. General Properties:
O Rule Code pode ser qualquer valor único. Não pode conter
espaços devido aos requisitos do mecanismo de regras.
2. Rule Info:
Expression Mode são END, OR, Custom. Se você escolher o modo de
expressão personalizada, será necessário inserir os detalhes no Fielder Expression.
OBS: Se estiver criando regra que será usada nas APIs de comercio digital, é suportado
apenas o operado ==.
Context Dimensions
É uma variável que descreve os valores possíveis a serem usados em uma condição de
regra.
Exemplo:
Domain Types:
⁃ Picklist
⁃ Object lookup
⁃ Type in
Data Type:
⁃ Text
⁃ Number
⁃ Date
⁃ Date/time
⁃ Boolean
⁃ Single
⁃ Multiple
Context Scopes
⁃ Representa um sObject.
• Order
• Opportunity
• Quote
• Asset
• Any (qualquer)
• Account
• Contact
Observação: Context Scopes do Assets só pode ser usado para regras invocadas durante
a redefinição de preços.
Exemplo:
Context Mappings
Permite mapear context scope, como sObjects, com context dimension, como fields ou
fórmulas calculadas.
⁃ Inclui um context scope para extrair dados do SF, função ou infor. digitada
⁃ Cria-se um caminho para os dados do mecanismo de serviço context rules, que forma
um link mágico entre os dados e o mecanismo de regras.
Podemos utilizar context rule de qualificação para controlar a exibição de listas de preços
e atribuir context rules a listas de preços filhas.
⁃ Determinar qual preço aplicar aos produtos no carrinho com base nos critérios de
condição da regra.
⁃ A entrada da price list para a lista de preços filho será aplicada automaticamente
ao item de linha.
Usar context rule para determinar qual entrada da lista de preços aplicar quando o produto
for adicionado ao carrinho.
Exemplo:
Experiência do usuário
Advanced Rules
Eligibility
⁃ Filtre a lista de Produtos para mostrar apenas os itens para os quais o cliente é
elegível.
Pricing
Availability Rules
Filtram a lista Produtos para mostrar apenas os itens disponíveis para o cliente.
Exemplo:
ProductAvailabilityInterface
Chamada quando uma solicitação é feita para fornecer uma lista de produtos que estão
disponíveis para o cliente selecionar.
Eligibility Rules
Filtram a lista Produtos para mostrar apenas os itens para os quais o cliente está qualificado.
Exemplo:
• A oferta de instalação gratuita está disponível para clientes com contas com mais de
12 meses.
• As contas de cobrança não estão qualificadas para comprar a solução Office Internet.
• As contas Bronze e Silver não são elegíveis para adquirir a solução Office Internet.
ProductEligibilityInterface
Define a relação entre os produtos para garantir que uma combinação válida de produtos
seja adicionada ao carrinho.
• Usando product relationships, você pode definir que quando um produto é adicionado
ao Carrinho, produtos relacionados são adicionados a ele.
• Certifica se os produtos e pedidos no carrinho sejam compatíveis com base nas
condições dos itens de linha do pedido e objetos relacionados.
Uma compatibility (configuration) advanced rule é necessária quando a regra depende de:
⁃ Context
⁃ Multiple Criteria
⁃ Product Attributes
Pricing Rules
-> As implantações mais recentes usam preços baseados em atributos usando planos de
preços e regras de contexto para entradas de listas de preços
⁃ Envio de pedidos e a criação de ativos reaplicam as regras para garantir que o pedido
seja perfeito.
ProductValidationInterface
⁃ Implementações:
• ProductRelationshipValidationImpl(obsoleto)
• DefaultProductValidationImplementação
⁃ Retorna qualquer entrada que receber como saída, sem nenhuma alteração. (não
implementa suas regras de validação/compatibilidade.)
Compatibility Rules
Exemplo:
⁃ Permite que você crie regras avançadas que chamam procedimentos de cálculo
como ações.
• DefaultPricingImplementation
• PricingRulesImplementation
⁃ Permite criar regras avançadas para implementar regras de precificação que chamam
procedimentos de cálculo como ações.
• PricingElementServiceImplementation
• PricingPlanService
⁃ Usado quando existe preços em uma implementação que cruza vários domínios de
aplicativo.
Product Relationships
Rule Builder
Vlocity Rule Builder é uma ferramenta de design de arrastar e soltar disponível na guia Vlocity
Rules.
⁃ Aplicar uma ou mais ações de regra a cada item qualificado pelo filtro de entidade.
Entity Filters
São utilizadas quando desejamos criar regras que sejam acionadas apenas quando
surgirem certas condições.
Os filtros de entidade de avaliação aceitam uma lista de itens como entrada e retornam
verdadeiro ou falso como saída.
Exemplo:
Um filtro de avaliação é avaliado como verdadeiro se algum dos produtos filhos tiver uma
quantidade máxima menor que 10 e uma quantidade mínima maior que 2.
Os Filtros de Entidade de Qualificação, a entrada é uma lista de itens e a saída é uma lista
de itens qualificados.
Exemplo:
Você pode retornar apenas as contas em que o estado de envio é o Alasca ou o Havaí.
-> Quando você encadeia um filtro de qualificação com um filtro de avaliação, ele é
chamado de filtro composto.
Com os filtros de entidade, podemos;
• Filtro: o sistema procura outro filtro e faz outra coisa com ele. Para esse tipo, você
fornece um caminho delimitado por vírgulas para a lista de objetos a serem passados para o
filtro interno.
• Função: Em vez de criar um filtro, você pode usar uma função que oferece conjuntos
de dados predefinidos para passar ao filtro de avaliação, para que você não precise
especificá-los.
Exemplo:
4. AddMode - de que modo esse produto é adicionado? Filho, irmão ou raiz. (Irmão).
Exemplo:
Se quisermos que nossa capa de telefone gratuita seja adicionada apenas aos clientes que
identificamos como de alta prioridade, que moram na CA e têm um contrato de serviço de
nível platinum.
Precisamos criar um Filtro de Entidade para a regra, para especificar onde ela se aplica.
Combinar o filtro de entidade é escolhe quais clientes recebem a capa de telefone grátis.
1. Guia Vlocity Rules e clique no botão New (para criar uma nova regra)
3. Clique em Filtros para exibir a lista de filtros disponíveis. Selecione Order Account is
High Priority + in CA.
4. Clique em Ações para exibir a lista, em seguida Adicionar à ação da regra para aplicar
a ação a esta regra. Neste caso vamos adicionar o produto relacionado criado
anteriormente. (Apple iPhone X Auto-Adds a Free iPhone Case)
Reviewing the Rule in the Cart
Quando você adiciona o produto Apple iPhone X ao Carrinho, o produto Incipio Canvas
Tecido Wrap Case - iPhone X é adicionado automaticamente.
Rules
Guided Selling
É uma experiência de compra consistente que inclui etapas para orientar o usuário pelo
processo de recomendação, seleção e pedido de produtos.
Industries CPQ + OmniScript = Guided Selling
Com o OmniStudio, você pode criar experiências de vendas guiadas usando industries
CPQ e OmniScript.
Industries CPQ
⁃ O CPQ do setor começa onde o CRM termina, fornecendo produtos, preços e regras
de negócios.
OmniScript
• Os usuários não precisam registrar uma conta. (Ideal para comércio externo)
Digital Commerce
2. Web components
⁃ Pode ser usado para criar tags HTML personalizadas, reutilizáveis e encapsuladas
para usar em suas páginas da Web ou aplicativos.
• Ideais para sites de comércio digital porque podem ser selecionados para
estratégias de marketing de produtos específicos.
(Depois de excluir você pode preencher novamente o cache executando o POPULATE API
CACHE)
Você pode fazer isso no Developer Console ou no Workbench usando o comando abaixo.
Exemplo:
2. Os usuários podem selecionar uma oferta e configurá-la, o que pode alterar o preço
e a disponibilidade.
⁃ Os componentes da Web do Digital Commerce oferecem suporte a essa fase
oferecendo maneiras de renderizar preços de oferta, cores, outros atributos e mídia.
⁃ O carrinho mostrará o preço total e permitirá que o usuário prossiga para o checkout.
4. Quando o usuário estiver pronto para revisar seu pedido, inserir ou recuperar
informações de envio, cobrança e pagamento e, finalmente, enviar seu carrinho para que
ele se torne um pedido.
LWC OmniScripts
Browse:
⁃ Usa um código de catálogo filho para chamar as APIs e obter uma resposta com os
produtos apropriados.
(As APIs então enviam a resposta de volta ao SDK, e o SDK analisa a resposta e a fornece
de volta ao componente)
Configure:
Cart:
• Concatenar valores.
API Parameters
Parâmetros possíveis que podem ser usados com a API em cache Get Offers.
Sem parâmetro
⁃ API simplesmente retorna uma lista de ofertas para o catálogo de vendas “Phone”.
Especifique um contexto
Exemplo:
Exemplo:
dcUpdateBillingAddress
dcCheckoutPayment
1. FetchAccountDetails
Autenticação do usuário
2. updateAddressVIP
⁃ Inserir detalhes de cobrança e temos que garantir que eles estejam atualizados em
sua conta.
3. saveCartVIP
⁃ Ação remota do Apex para criar um pedido para os produtos no carrinho do usuário.
4. SubmitOrderVIP
Navigate action
Podem usar todos os componentes de dados padrão para mover dados para dentro e
para fora do script:
• DataRaptor
• REST actions
• Remote actions
A venda guiada de OmniScripts precisa de uma grande ajuda de lógica de negócios com
uma ordem paralela de dados. A lógica de negócios contém o molho secreto para uma
experiência de venda guiada eficaz.
Business Logic
A lógica e regras de negócios governem quais produtos estão disponíveis para quais
clientes e a que preços.
⁃ Acessar dados de produtos e preços usando o CPQ, você deve solicitar os dados
usando uma interface do CPQ.
CpqAppHandler
É uma classe global do Apex que inclui vários métodos para executar a funcionalidade
do CPQ.
⁃ Esses métodos estão disponíveis como uma API RESTful, chamada de APIs
baseadas em carrinho.
(As APIs RESTful baseadas em carrinho são usadas para invocar a interface CPQ de fora
do Salesforce )