Ir para o conteúdo

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)

Referências