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. |