Roteiro de Venda

Introdução

Nesta seção apresentamos o roteiro de vendas para os produtos SPTRANS. Para obter as informações dos produtos que serão utilizadas realize a operação Consultar Produtos disponível no anexo de Consultas

Consulta de informações específicas

Para realizar qualquer venda de produtos SPTrans deve se consumir a operação Consultar valores do cartão para obter informações específicas de um produto SPTRANS.

Obs. 1: Existem dois tipos de resposta que se pode obter através dessa consulta: deve se atentar ao campos "quantidadeMinima", "quantidadeMaxima", "valorMinimo", "valorMaximo" e "valorUnitario". Pois existem casos de produtos com um range de valores em que o "valorUnitario" é igual a zero(0), nesses casos os campos "quantidadeMinima", "quantidadeMaxima" e "valorUnitario" não estão presentes e dão lugar ao campos: "valorMinimo" e "valorMaximo" que representam o range de valor que podem ser passados na solicitação de venda Solicitar Venda no campo "valor":

Produto com range de valor:

{
    "numeroCartao": "123456",
    "tipoCredito": "2",
    "tipoProduto": "687",
    "descricao": "ESTUDANTE/PROFESSOR - DINHEIRO",
    "valorMinimo": "180",
    "valorMaximo": "16870"
}

Produto com quantidade(opcional) informada na venda :

{
    "numeroCartao": "123456",
    "tipoCredito": "1",
    "tipoProduto": "850",
    "descricao": "COMUM - DIARIO TRILHO",
    "quantidadeMinima": "1",
    "quantidadeMaxima": "15",
    "valorUnitario": "1680"
}

Exemplo de REQUEST:

GET /venda/transporte/sptrans/consulta-valores/81AA1C20B1688E4C7424C4E000334DD4/sptrans/123456 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNzk3OGI0MzItYzdhYS01MzJhLTgyMjAtMDIxNzlkZWUyZmMwIiwiaWF0IjoxNjUzNjY1MTgwLCJleHAiOjE2NTM4Mzc5ODAsIm5hbWUiOiJhZG1pbiJ9.Wb8SkxkPN5glFk7XAp-v7XWdQLdhhqf-YvRSwhcw_sI
Host: sandbox.grupocard.com.br

Exemplo de RESPONSE:

{
  "valores": [
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "853",
      "descricao": "COMUM - DIARIO  INTEGRADO (ONIBUS+TRILHO)",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "15",
      "valorUnitario": "2252"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "850",
      "descricao": "COMUM - DIARIO TRILHO",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "15",
      "valorUnitario": "1680"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "847",
      "descricao": "COMUM - DIARIO ONIBUS",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "15",
      "valorUnitario": "1680"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "855",
      "descricao": "COMUM - MENSAL INTEGRADO (ONIBUS+TRILHO)",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "1",
      "valorUnitario": "33800"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "852",
      "descricao": "COMUM - MENSAL TRILHO",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "1",
      "valorUnitario": "21380"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "849",
      "descricao": "COMUM - MENSAL ONIBUS",
      "quantidadeMinima": "1",
      "quantidadeMaxima": "1",
      "valorUnitario": "21380"
    },
    {
      "numeroCartao": "123456",
      "tipoCredito": "1",
      "tipoProduto": "691",
      "descricao": "CREDITO COMUM",
      "valorMinimo": "1",
      "valorMaximo": "34000"
    }
  ]
}

Fluxo de sucesso

1 - Consumir a operação Solicitar Venda

Utilize essa operação para solicitar a venda de qualquer produto disponível no estabelecimento. Este serviço faz apenas a SOLICITAÇÃO da venda, portanto, se na resposta desta operação o campo status for igual a AUTORIZADA, na sequência a confirmação da transação deve ser enviada através da operação a seguir: Confirmar Venda

Obs. 1: Se ao invocar essa operação o cliente não obter uma resposta, é ALTAMENTE RECOMENDADO que seja realizado o cancelamento da solicitação.

Obs. 2: A representação dos centavos no campo "valor" não deve ter separação por virgula. Ex: R$10,99 = 1099

Obs.3: O campo "idExterno" é o identificador da requisição, sendo assim, deve ser enviado com um valor DIFERENTE a cada requisição.

Exemplo de REQUEST:

POST /venda/transporte/sptrans/solicitar HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNmQwZjQyYzQtMWNjOS01ODNmLWE3N2QtZDI0ZmI0NGFjYTdhIiwiaWF0IjoxNjU2MzQxNTM2LCJleHAiOjE2NTY1MTQzMzYsIm5hbWUiOiJBZG1pbmlzdHJhdG9yIn0.-dnblIvspnmVnS-IQGjZkU3gZcKOr_vX4z1dG_a92hA
Host: sandbox.grupocard.com.br
Content-Length: 273

{"estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4","idExterno":"321456","produto":"SPTRANS","numeroCartao":"321456","tipoCredito":"1","tipoProduto":"853","descricao":"COMUM - DIARIO  INTEGRADO (ONIBUS+TRILHO)","dataHoraCliente":"2022-06-27T13:09:40.244Z","valor":"2252"}
{
   "estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4",
   "idExterno":"321456",
   "produto":"SPTRANS",
   "numeroCartao":"321456",
   "tipoCredito":"1",
   "tipoProduto":"853",
   "descricao":"COMUM - DIARIO  INTEGRADO (ONIBUS+TRILHO)",
   "dataHoraCliente":"2022-06-27T13:09:40.244Z",
   "valor":"2252"
}

Exemplo de RESPONSE:

{
  "venda": {
    "estabelecimento": {
      "cnpjCpf": "75.862.116/0001-39",
      "nome": "Homologação Plataforma WS recarga Multiproduto - NÃO MEXER"
    },
    "produto": {
      "fornecedor": {
        "nome": "SPTRANS"
      }
    },
    "transacao": {
      "valor": 2252,
      "status": "AUTORIZADA",
      "instrucao": "{\"tipoProduto\":\"COMUM - DIARIO  INTEGRADO (ONIBUS+TRILHO)\",\"nsuFornecedor\":74518345,\"valorFormatado\":\"22,52\",\"nomeProduto\":\"SPTRANS\",\"mensagens\":\"\",\"cartao\":\"321456\"}",
      "idTransacao": "e4272296-1f09-434d-ae35-7bfd72389fd3",
      "dataHora": "2022-06-27T12:06:04.000-04:00"
    },
    "idExterno": "321456"
  }
}

2 - Consumir a operação Confirmar Venda

Utilize essa operação para efetivar/confirmar uma transação de venda solicitada anteriormente pela operação Solicitar Venda

Obs. 1: A transação uma vez sendo Confirmada, seu status não poderá mais ser alterado, e mesmo que a operação seja invocada para tal ação, não surtirá efeito!

Exemplo de REQUEST:

POST /venda/transporte/sptrans/confirmar HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNmQwZjQyYzQtMWNjOS01ODNmLWE3N2QtZDI0ZmI0NGFjYTdhIiwiaWF0IjoxNjU2MzQxNTM2LCJleHAiOjE2NTY1MTQzMzYsIm5hbWUiOiJBZG1pbmlzdHJhdG9yIn0.-dnblIvspnmVnS-IQGjZkU3gZcKOr_vX4z1dG_a92hA
Host: sandbox.grupocard.com.br
Content-Length: 172

{"produto":"SPTRANS","estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4","idTransacao":"e4272296-1f09-434d-ae35-7bfd72389fd3","dataHoraCliente":"2022-06-27T13:09:40.244Z"}
{
   "produto":"SPTRANS",
   "estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4",
   "idTransacao":"e4272296-1f09-434d-ae35-7bfd72389fd3",
   "dataHoraCliente":"2022-06-27T13:09:40.244Z"
}

Exemplo de RESPONSE:

{
  "transacao": {
    "status": "EFETIVADA",
    "idTransacao": "e4272296-1f09-434d-ae35-7bfd72389fd3"
  }
}

Fluxo de cancelamento

1 - Consumir a operação Solicitar Venda

Utilize essa operação para solicitar a venda de qualquer produto disponível no estabelecimento. Este serviço faz apenas a SOLICITAÇÃO da venda, portanto, se optar por cancelar a venda, o cancelamento da transação deve ser enviada através da operação a seguir: Cancelar Venda

Obs. 1: Se ao invocar essa operação o cliente não obter uma resposta, é ALTAMENTE RECOMENDADO que seja realizado o cancelamento da solicitação.

Obs. 2: A representação dos centavos no campo "valor" não deve ter separação por virgula. Ex: R$10,99 = 1099

Obs.3: O campo "idExterno" é o identificador da requisição, sendo assim, deve ser enviado com um valor DIFERENTE a cada requisição.

Exemplo de REQUEST:

POST /venda/transporte/sptrans/solicitar HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNmQwZjQyYzQtMWNjOS01ODNmLWE3N2QtZDI0ZmI0NGFjYTdhIiwiaWF0IjoxNjU2MzQxNTM2LCJleHAiOjE2NTY1MTQzMzYsIm5hbWUiOiJBZG1pbmlzdHJhdG9yIn0.-dnblIvspnmVnS-IQGjZkU3gZcKOr_vX4z1dG_a92hA
Host: sandbox.grupocard.com.br
Content-Length: 273

{"estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4","idExterno":"1018","produto":"SPTRANS ESTUDANTE","numeroCartao":"654123","tipoCredito":"2","tipoProduto":"10000","descricao":"TAXA - SOLICITACAO DE BENEFICIO","dataHoraCliente":"2022-06-27T13:09:40.244Z","valor":"3080"}
{
   "estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4",
   "idExterno":"1018",
   "produto":"SPTRANS ESTUDANTE",
   "numeroCartao":"654123",
   "tipoCredito":"2",
   "tipoProduto":"10000",
   "descricao":"TAXA - SOLICITACAO DE BENEFICIO",
   "dataHoraCliente":"2022-06-27T13:09:40.244Z",
   "valor":"3080"
}

Exemplo de RESPONSE:

{
  "venda": {
    "estabelecimento": {
      "cnpjCpf": "75.862.116/0001-39",
      "nome": "Homologação Plataforma WS recarga Multiproduto - NÃO MEXER"
    },
    "produto": {
      "fornecedor": {
        "nome": "SPTRANS"
      }
    },
    "transacao": {
      "valor": 3080,
      "status": "AUTORIZADA",
      "instrucao": "{\"tipoProduto\":\"TAXA - SOLICITACAO DE BENEFICIO\",\"nsuFornecedor\":74518345,\"valorFormatado\":\"30,80\",\"nomeProduto\":\"SPTRANS ESTUDANTE\",\"mensagens\":\"\",\"cartao\":\"654123\"}",
      "idTransacao": "ce5f8eed-6794-4cc2-98c9-90162c585429",
      "dataHora": "2022-06-27T12:10:55.000-04:00"
    },
    "idExterno": "1018"
  }
}

2 - Consumir a operação Cancelar Venda

Utilize essa operação para cancelar uma transação de venda solicitada anteriormente pela operação Solicitar Venda

Obs. 1: A transação uma vez sendo Cancelada, seu status não poderá mais ser alterado, e mesmo que a operação seja invocada para tal ação, não surtirá efeito!

Exemplo de REQUEST:

POST /venda/transporte/sptrans/cancelar HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5ncnVwb2NhcmQuY29tLmJyIiwic3ViIjoiNmQwZjQyYzQtMWNjOS01ODNmLWE3N2QtZDI0ZmI0NGFjYTdhIiwiaWF0IjoxNjU2MzQxNTM2LCJleHAiOjE2NTY1MTQzMzYsIm5hbWUiOiJBZG1pbmlzdHJhdG9yIn0.-dnblIvspnmVnS-IQGjZkU3gZcKOr_vX4z1dG_a92hA
Host: sandbox.grupocard.com.br
Content-Length: 118

{"idExterno":"1018","estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4","dataHoraCliente":"2022-06-27T13:09:40.244Z"}
{
   "idExterno":"1018",
   "estabelecimento":"81AA1C20B1688E4C7424C4E000334DD4",
   "dataHoraCliente":"2022-06-27T13:09:40.244Z"
}

Exemplo de RESPONSE:

{
  "transacao": {
    "status": "CANCELADA"
  }
}