Ir para o conteúdo

setNotificaVenda

Notifica (envia) para o CRM Rock as vendas realizadas no PDV, de forma que possam ser processadas por todas as ferramentas de incentivo e aceleração fornecidas pelo CRM.

Fluxo

A setNotificaVenda é chamada após a identificação do cliente. O envio deve seguir o padrão de WebService descrito no Bnex.

Item Valor
URL (WSDL) http://servidor:porta/IntegradorGSWS/GerenciaVendaWS?wsdl
Método setNotificaVenda
Protocolo SOAP
Namespace http://ws.integrador.gs.com.br/

Parâmetros de entrada

Nome Tipo de dado Obrigatório Regra
Venda WSVenda Sim Objeto contemplando as informações gerais da venda.
lVenda List<WSItemVenda> Sim Lista de itens da venda.
lPagamentos List<WSItemPagamento> Sim Lista de pagamentos da venda.
lUtilizacaoVoucher List<WSUtilizacaoVoucher> Não Indica se os vouchers disponíveis foram ou não utilizados.
Hash String Sim Chave MD5 gerada a partir de CPF - Data Atual. Ver cálculo do Hash.
token String Sim Valor fornecido à empresa integradora pela Rock Conecta.

Regras do XML

  • Mesmo que não exista valor para um campo, a tag correspondente deve existir.
  • As tags devem ser envoltas por < e >, sem espaços em branco após o < nem antes do >.
  • Os valores dos exemplos são ilustrativos — use os valores reais na chamada.

Exemplo de requisição

<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ws="http://ws.integrador.gs.com.br/">
  <soapenv:Header/>
  <soapenv:Body>
    <ws:setNotificaVenda>
      <Venda>
        <cpf>12345678909</cpf>
        <datahora>2020-09-22T08:46:00</datahora>
        <loja>1</loja>
        <numerocupom>20372232</numerocupom>
        <pdv>3</pdv>
        <operador />
        <identificacaoOperador>458</identificacaoOperador>
        <valor>19.20</valor>
        <valordesconto>2.00</valordesconto>
        <usuario />
        <origemvenda>FRENTE DE CAIXA (PDV)</origemvenda>
      </Venda>
      <lVenda>
        <codigobarraproduto>123456</codigobarraproduto>
        <descricaoproduto>ESPUMANTE</descricaoproduto>
        <quantidade>1</quantidade>
        <valorunitario>17.20</valorunitario>
        <valordesconto>2.00</valordesconto>
        <diasrecompra>30</diasrecompra>
      </lVenda>
      <lVenda>
        <codigobarraproduto>654321</codigobarraproduto>
        <descricaoproduto>Molho de Tomate</descricaoproduto>
        <quantidade>1</quantidade>
        <valorunitario>2.00</valorunitario>
        <valordesconto>0.00</valordesconto>
      </lVenda>
      <lPagamento>
        <codigoformapagamento>1</codigoformapagamento>
        <valor>14.20</valor>
        <valorbin>628157</valorbin>
        <nsu>123456</nsu>
      </lPagamento>
      <lPagamento>
        <codigoformapagamento>3</codigoformapagamento>
        <valor>5</valor>
        <valorbin></valorbin>
        <nsu></nsu>
      </lPagamento>
      <Hash>9d9357fa875c8c9298e2d99fd5d246d1</Hash>
      <lUtilizacaoVoucher>
        <identificacaovoucher>1775578</identificacaovoucher>
        <status>UTILIZADO</status>
      </lUtilizacaoVoucher>
      <lUtilizacaoVoucher>
        <identificacaovoucher>1963537</identificacaovoucher>
        <status>UTILIZADO</status>
      </lUtilizacaoVoucher>
      <token>ff2d83dd-8019-450c-8374-f0329230f628</token>
    </ws:setNotificaVenda>
  </soapenv:Body>
</soapenv:Envelope>

Resposta

O retorno tem variações que devem ser levadas em conta para decidir se a venda deve ser sincronizada novamente ou não. Consulte a Classe WSRetorno e os Códigos de retorno do WebService.

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <ns2:TarceId xmlns:ns2="http://ws.integrador.gs.com.br/">26f54e</ns2:TarceId>
  </S:Header>
  <S:Body>
    <ns2:setNotificaVendaResponse xmlns:ns2="http://ws.integrador.gs.com.br/">
      <return>
        <codigopreco>0</codigopreco>
        <codigoretorno>2</codigoretorno>
        <msgretorno>VENDA INSERIDA COM SUCESSO - CLIENTE NÃO CADASTRADO</msgretorno>
        <saldocliente>0.0</saldocliente>
      </return>
    </ns2:setNotificaVendaResponse>
  </S:Body>
</S:Envelope>

Classe WSVenda

Informações gerais da venda.

Nome Tipo de dado Obrigatório Regra
cpf String Sim Somente números do CPF (11) ou CNPJ (14). Para clientes não identificados, 00000000000.
numerocupom Int Sim Maior que zero e diferente de nulo. Tamanho máximo: 19 dígitos.
datahora DateTime Sim Data/hora da venda.
loja String Sim Código único de identificação da loja.
pdv String Sim Tamanho máximo: 25 caracteres.
operador String Não Tamanho máximo: 50 caracteres. Identificação do operador que realizou a venda. Ver observação abaixo.
identificacaoOperador String Não Tamanho máximo: 50 caracteres. Mesma informação de operador. Ver observação abaixo.
valor Numeric(18,2) Sim Valor total da venda.
usuario String Não Não informar — usado apenas para processamentos internos.
origemvenda String Não Tamanho máximo: 50 caracteres. Ex.: E-Commerce, Televendas. Ver observação abaixo.
valordesconto Numeric(18,2) Não Valor total de desconto da venda. Se informado, deve ser maior ou igual a zero. Compreende quaisquer descontos (preço 2, preço 3, etc.).

operador x identificacaoOperador

Os campos operador e identificacaoOperador dizem respeito à mesma informação. Caso um deles seja informado, não é necessário informar o outro.

Origem da venda

A origem de venda é cadastrada automaticamente caso ainda não exista. Se o campo origemvenda não estava sendo utilizado e passar a ser, a integração deverá passar por nova homologação.


Classe WSItemVenda

Itens que compõem a venda (lVenda).

Nome Tipo de dado Obrigatório Descrição
codigobarraproduto String Sim Código de identificação única do produto. Máx. 50 caracteres.
descricaoproduto String Sim Descrição do produto. Máx. 255 caracteres.
quantidade Numeric(18,4) Sim Maior que zero e diferente de nulo.
valorunitario Numeric(18,4) Sim Valor unitário do item. Maior que zero e diferente de nulo.
valordesconto Numeric(18,2) Não Valor de desconto do item. Se informado, maior ou igual a zero.
diasrecompra Int Não Dias, a partir da compra, em que o produto poderá ser adquirido novamente pelo shopper.

Classe WSItemPagamento

Formas de pagamento da venda (lPagamentos).

Nome Tipo de dado Obrigatório Descrição
codigoformapagamento Int Sim Código de identificação única da forma de pagamento.
valor Numeric(18,2) Sim Maior que zero e diferente de nulo.
valorbin String[6] Condicional BIN relacionado à forma de pagamento (ex.: cartão). Máx. 6 caracteres. Caso contrário, deixar em branco.
nsu String[100] Não NSU relacionado à forma de pagamento. Máx. 100 caracteres.

Classe WSUtilizacaoVoucher

Indica a utilização dos vouchers (lUtilizacaoVoucher).

Nome Tipo de dado Descrição
identificacaovoucher Int Código de identificação única do voucher.
Status String UTILIZADO (voucher utilizado pelo cliente) ou NAO UTILIZADO (não utilizado).

Classe WSRetorno

Modelo de resposta comum aos métodos do GerenciaVendaWS.

Nome Tipo de dado Descrição Observações
idCliente Long Identificação interna única na plataforma CRM (ex.: 1361). Necessário solicitar ativação ao Suporte. Não preenchido em setCancelaVenda.
informacaocliente String[160] Primeiro nome do cliente cujo CPF foi informado (ex.: José). Não preenchido em setCancelaVenda.
saldocliente Numeric(18,2) Saldo disponível do cliente em campanha de fidelidade ativa, desconsiderando a compra notificada; caso contrário, zero. Não preenchido em setCancelaVenda.
codigopreco Int PLU a ser aplicado (ex.: 2). Não preenchido em setCancelaVenda.
codigoretorno Int Código correspondente ao resultado da operação. Ver Códigos de retorno do WebService.
msgretorno String Descrição do resultado correspondente ao codigoretorno.
situacaocadastro Int Situação do cadastro do cliente: 1 Pré-Cadastro, 2 Cadastro Incompleto, 3 Cadastro Completo. Vazio se não cadastrado.
dadosVenda DadosVendaResponseWS Informações a respeito da venda. Retornado no método setNotificaVenda.
lCodigoTagCliente List<WSCodigoTagCliente> Classificação do cliente. Não existe se o cliente não tiver classificação. Retornado apenas em setIdentificaCliente.
lPremio List<PremioResponseWS> Prêmios resgatados pelo cliente em campanhas de fidelidade. Retornado apenas em setIdentificaCliente.
lVoucher List<WSVoucher> Vouchers a serem disponibilizados ao PDV. Retornado apenas em setIdentificaCliente.

Referências