A integração do carrinho, eventualmente, pode demandar alguns ajustes no momento da implementação.
Este artigo detalha questões envolvidas na solução de problemas, ao integrar o carrinho de compras.
Usuários com acesso:
- Administradores
Requisitos Básicos
Para analisar o funcionamento do carrinho de compras, é necessário:
-
Acesso a solução de carrinho de compras.
-
Um produto de teste no valor de R$ 0,00, com o frete custando R$ 0,00 também. Caso não seja possível fornecer este produto, forneça um número de cartão de crédito para teste ou um link que permita realizar uma compra de teste sem pagamento.
-
Verificar se a implementação inclui o tracking code da SharpSpring no Head de todas as páginas do carrinho.
-
Verificar que o primeiro disparo à API de Carrinho de Compras é a função _setTransaction
Questões envolvendo a função _setTransaction
P: Quais campos são exigidos na _setTransaction?
R: Todos, exceto firstName, lastName e emailAddress.
P: Caso eu não saiba o valor total, de impostos ou de frete, posso deixar em branco ou nulo?
R. Não. Você deve usar '0.00', se o valor ainda não for conhecido. Você pode e deve rodar a função _setTransaction toda vez que obtiver mais informações ou queira atualizar os valores totais.
P: O 'transactionID' é a mesma coisa que o número do pedido?
R: Pode ser. A única exigência é que um número (identificador) único seja utilizado para as três funções de API. Esse número não pode ser alterado no meio do processo. Se o seu carrinho de compras gera um número de pedido, você pode usá-lo. Caso contrário, deve ser gerado algum outro número que represente a transação - e que não possa ser modificado ao longo do processo de compra.
P: O valor ‘storeName’ precisa ser gerado em algum lugar específico?
R: Não. Este valor é apenas usado pela SharpSpring, ou seja, não é uma chave específica. Deve ser apenas um nome de fácil entendimento por qualquer pessoa, por exemplo, 'Loja de Roupas Charmosas'.
P: Por que estou rodando a função _setTransaction se eu não sei o detalhes do pedido ainda, tais como Total do pedido?
R: Essa função roda primeiro para que a SharpSpring estabeleça o transactionID do pedido. É possível rodar a função _setTransaction em outros momentos para atualizar o pedido final (adição de novo produto, conclusão da compra). Este método deve rodar diversas vezes durante o processo.
Questões envolvendo a função _addTransactionItem
P: Quais campos são obrigatórios na função _addTransactionItem?
R: Todos. Nenhum campo pode conter o valor "$", null ou em branco.
Questões envolvendo a função _completeTransaction
P: Quando devo rodar a função _completeTransaction?
R: Esta é a última função, após a pessoa finaliza a compra/realiza o pagamento. Por isso, deve ser incluída na página de confirmação da compra. É uma boa ideia rodar a _setTransaction antes da _completeTransaction garantindo, assim, que os valores finais foram enviados para a SharpSpring.
P: Qual transactionID deve ser usado?
R: O mesmo transactionID que foi usado nas duas outras funções. Ainda que tenha sido gerado um número de pedido pelo carrinho, você deve continuar usando o número "Transaction" ao longo de todo o proceso. Considere o seguinte exemplo:'transactionID': '1234', (deve ser o mesmo valor usado na função _setTransaction)
Outras questões
P: Quando o carrinho de compras está indisponível?
R: Quando a sincronização com a Salesforce está ativa.
P: O que acontece se a página de checkout é hospedada em outro domínio, subdomínio ou é completamente diferente?
R: Todas as páginas envolvidas no processo de compra, incluindo a página de confirmação final de compra, devem ser rastredas na SharpSpring. Não há problema que seja uma página diferente, desde que:
-
Cada um dos sites seja adicionado para rastreamento, na SharpSpring.
-
O tracking code seja implementado no Header das páginas.
-
O site possibilite a geração das funções de API JavaScript.
Ainda, o domínio precisa ser estático. Não é possível usar um subdomínio gerado aleatoriamente, ou seja, que você não saiba de antemão. Isso se deve ao fato que você precisa adicionar o domínio completo, enquanto site rastreável, na SharpSpring.
Exemplo do Código em Ação
O código abaixo é um exemplo de integração:
<script type='text/javascript'>
_ss.push(['_setTransaction', {
'transactionID': '1234',
'storeName': 'My Store',
'total': '100.00',
'tax': '4.32',
'shipping': '8.00',
'city': 'Gainesville',
'state': 'Florida',
'zipcode': '32601',
'country': 'USA', }]);
</script>
<script type='text/javascript'>
_ss.push(['_addTransactionItem', {
'transactionID': '1234',
'itemCode': 'DD44',
'price': '11.99',
'quantity': '1'
'productName': 'TShirt',
'category': 'Olive Medium',
</script>
<script type='text/javascript'>
_ss.push(['_completeTransaction', {
'transactionID': '1234'
</script>
Comentários
0 comentário
Artigo fechado para comentários.