setCancelaVenda¶
Cancela uma venda previamente notificada, quando o cancelamento ocorre na sequência da notificação da venda.
Alinhamento com a equipe de negócios
Por padrão, o intervalo de geração de benefícios é de 2 minutos — ou seja, há
apenas 2 minutos para cancelar. Para usar a setCancelaVenda de forma confiável, é
necessário alinhar com a equipe de negócios da Rock para configurar um intervalo
maior (normalmente 30 minutos) do lado da Rock.
| Item | Valor |
|---|---|
| URL (WSDL) | http://servidor:porta/IntegradorGSWS/GerenciaVendaWS?wsdl |
| Método | setCancelaVenda |
| 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 da venda a ser cancelada. |
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:setCancelaVenda>
<Venda>
<cpf>12345678909</cpf>
<datahora>2020-09-22T08:46:00</datahora>
<loja>2</loja>
<numerocupom>789456</numerocupom>
<pdv>8</pdv>
<identificacaoOperador>132</identificacaoOperador>
<valor>18.00</valor>
</Venda>
<Hash>9d9357fa875c8c9298e2d99fd5d246d1</Hash>
<token>ff2d83dd-8019-450c-8374-f0329230f628</token>
</ws:setCancelaVenda>
</soapenv:Body>
</soapenv:Envelope>
Resposta¶
O modelo de resposta segue a Classe WSRetorno.
Consulte também os Códigos de retorno do WebService — em especial os
códigos 11 (venda cancelada com sucesso) e 12 (venda não cancelada).
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:setCancelaVendaResponse xmlns:ns2="http://ws.integrador.gs.com.br/">
<return>
<codigoretorno>11</codigoretorno>
<msgretorno>VENDA CANCELADA COM SUCESSO</msgretorno>
</return>
</ns2:setCancelaVendaResponse>
</S:Body>
</S:Envelope>
Campos não preenchidos em setCancelaVenda
Em setCancelaVenda, os campos idCliente, informacaocliente, saldocliente e
codigopreco da WSRetorno não são preenchidos.
Exemplo de código — Python¶
import requests
# URL do método setCancelaVenda
url = "http://servidor:porta/IntegradorGSWS/GerenciaVendaWS?wsdl"
# Envelope SOAP
corpo_xml = """
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://ws.integrador.gs.com.br/">
<soapenv:Header/>
<soapenv:Body>
<ws:setCancelaVenda>
<Venda>
<cpf>12345678909</cpf>
<datahora>2020-09-22T08:46:00</datahora>
<loja>2</loja>
<numerocupom>789456</numerocupom>
<pdv>8</pdv>
<identificacaoOperador>132</identificacaoOperador>
<valor>18.00</valor>
</Venda>
<Hash>9d9357fa875c8c9298e2d99fd5d246d1</Hash>
<token>ff2d83dd-8019-450c-8374-f0329230f628</token>
</ws:setCancelaVenda>
</soapenv:Body>
</soapenv:Envelope>
"""
# Headers da requisição
headers = {"Content-Type": "application/soap+xml"}
# Requisição
response = requests.post(url, data=corpo_xml, headers=headers)
print(response.status_code, response.text)