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.

Requisitos Básicos

Para analisar o funcionamento do carrinho de compras, é necessário:

  1. Acesso a solução de carrinho de compras.
  2. 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.
  3. Verificar se a implementação inclui o tracking code da SharpSpring no Head de todas as páginas do carrinho.
  4. 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': 'T­Shirt',
'category': 'Olive Medium',
</script>

<script type='text/javascript'>
_ss.push(['_completeTransaction', {
'transactionID': '1234'
</script>
Encontrou sua resposta?