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"
}
}