Árvore de páginas

Índice




1. Pré-Requisitos - Versões


Produto

Versão

TOTVS Varejo PDV OMNI3.2.148.0
TOTVS VAREJO FRANQUIAS E REDES

2022.7.12.34 (on premise) 

TOTVS AGENT19.8.12.0
TOTVS PRÉ REQUISITOS OMNI1.0.42.0



2. Pré- Requisitos Hardware





3. Jornadas

3.1. Jornada de venda



3.2. Jornada de integração





4. Autenticação 

Para que o consumo dos métodos disponíveis da API seja possível é necessário que o Self Checkout realize o processo de autenticação para obter o Token de Acesso. 

O token obtido deverá ser informado nas requisições do totem para API, sendo necessário à validação da expiração do token antes de cada requisição.

Exemplo de Requisição

GET: api/usuario/autenticar?Login=teste&senha=teste


Exemplo de Retorno

/api/usuario/autenticar - Requisição
{
  "success": true,
  "message": "Usuario",
  "data": {
    "perfilId": 5,
    "nome": "Usuário Padrão",
    "cpf": "00000000000",
    "login": "",
    "senha": "",
    "administrador": 1,
    "tokenAcesso": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXJ9.eyJ1bmlxdWVfbmFtZSI6IlVzdcOhcmlvIFBhZHLDLCJyb2xlIjoiQWRtaW5pc3RyYWRvciIsIm5iZiI6MTY2MDY2Mjc0OCwiZXhwIjoxNjkyMTk4NzQ4LCJpYXQiOjE2NjA2NjI3NDh9.pXmH-sPu0CC2ks8uCP8lgMhHee3OyRq_w0v0IqBmDBs",
    "perfil": {
      "nome": "Administrador",
      "tipoPerfil": 1,
      "descontoMaximoItem": 100,
      "descontoMaximoTotal": 100,
      "funcionalidades": {},
    },
    "id": 1,
    "idRetaguarda": "",
    "situacao": 1,
    "dataCadastro": "2022-06-01T17:26:39.456566",
    "dataAtualizacao": "2022-06-01T17:26:39.456566",
    "_expandables": []
  }
}



5. Adicionando totem como dispositivo no PDV 

A loja já possuindo dispositivos móveis em funcionamento, deverá somente ser realizado o cadastro do dispositivo totem conforme abaixo. Caso a loja não irá trabalhar com dispositivos móveis, deverá ser realizado o cadastro do dispositivo totem conforme abaixo e posteriormente as configurações padrões de uma instalação para dispositivo móvel (modelo fiscal, série e numeração fiscal (para NFC-e), etc.).

Chame o metodo a seguir para cadastrara e/ou obter o numero do PDV.

Método para consultar dispositivo: 

GET: /api/dispositivo/IdentificacaoUnica/numero-pdv

Obs: "IdentificacaoUnica" deve ser substituido pelo codigo unico do totem.

Retorno
{
    "success": true,
    "message": "Dispositivo",
    "data": {
        "id": 29,
        "numeroPdv": 25,
        "configurado": false
    }
}


Método para Atualizar informações do dispositivo:

A seguir execute o patch para atualizar as informações do dispositivo.

PATCH: api/dispositivo/id

Obs: "id" deve ser substituido pelo id obtido no metodo .../numero-pdv

REQUEST
[
  { "path": "Configurado", "value": true, "op": "replace" },
  { "path": "Marca", "value": "Avell High Performance",  "op": "replace" },
  { "path": "Modelo", "value": "A70 HYB", "op": "replace" },
  { "path": "Nome", "value": "AVELL-A70-XYZ",  "op": "replace" },
  { "path": "Versao", "value": "10.0.22621.755",  "op": "replace" },
  { "path": "VersaoApp", "value": "3.2.54.0", "op": "replace" },
  { "path": "Sistema", "value": "UWP", "op": "replace" },
]



A partir da versão 3.4. do PDV Omni, poderá ser enviado o sistema: Linux na integração da API de dispositivo, para identificar um dispositivo = Selfcheckout.

"path": "Sistema", "value": "Linux", "op": "replace" },



Exemplo de Retorno

/api/dispositivo - Retorno
{
    "success": true,
    "message": "Dispositivo",
    "data": {
        "idDevice": "PDV01DEBUGGER",
        "idLoja": 1,
        "pdv": 8,
        "dataAtivacao": "2022-08-31T10:31:47.212553",
        "rede": "1",
        "sistema": "UWP",
        "urlAtivacao": "http://127.0.0.1:9000/TotvsPDV/",
        "urlServer": "http://127.0.0.1:9000/TotvsPDV/",
        "ipTef": null,
        "versao": "10.0.22621.755",
        "versaoApp": "3.2.54.0",
        "chaveTefOtp": null,
        "sincronizado": false,
        "idImpressora": null,
        "modoOperacao": 0,
        "idBalanca": null,
        "nome": "AVELL-A70-XYZ",
        "modelo": "A70 HYB",
        "marca": "Avell High Performance",
        "pdvImpressoraAuxiliar": null,
        "balanca": null,
        "impressora": null,
        "numeroContingencia": 0,
        "numeroOnline": 0,
        "numeroPdv": 0,
        "serieContingencia": 0,
        "serieOnline": 0,
        "imei": null,
        "tipoPdv": 0,
        "modeloFiscal": 0,
        "configurado": true,
        "idSegundoMonitor": null,
        "segundoMonitor": null,
        "id": 5,
        "idRetaguarda": null,
        "situacao": 1,
        "dataCadastro": "2022-08-31T10:31:47.212533",
        "dataAtualizacao": "2022-11-01T22:15:18.827317",
        "_expandables": []
    }
}


O totem deverá armazenar a informação retornada no campo PDV, para que seja enviada a numeração ao finalizar uma venda.



6. Consultar Vendedor

Método utilizado para  recuperar os dados do vendedor que será atribuído na venda.

A identificação do vendedor na venda é opcional, caso não seja informado a venda será atribuída ao usuário padrão TOTVS.


Exemplo de Requisição

GET:  api/usuario?Login=0267

Exemplo de Retorno 

/api/usuario - Retorno
{
  "success": true,
  "message": "Usuario",
  "data": [
    {
      "perfilId": 5,
      "nome": "Usuário Padrão",
      "cpf": "00000000000",
      "login": "",
      "senha": "",
      "administrador": 1,
      "tokenAcesso": null,
      "perfil": {
        "nome": "Administrador",
        "tipoPerfil": 1,
        "descontoMaximoItem": 100,
        "descontoMaximoTotal": 100,
        "funcionalidades": [
          {
            "nome": "Permite realizar o cancelamento de venda",
            "atalho": "",
            "tela": "VendaCancelarPage",
            "id": 3,
            "idRetaguarda": "",
            "situacao": 1,
            "dataCadastro": "2022-06-06T15:51:02.620212",
            "dataAtualizacao": "2022-06-06T15:51:02.620212",
            "_expandables": []
          }
        ],
        "id": 5,
        "idRetaguarda": "3",
        "situacao": 1,
        "dataCadastro": "2022-06-06T15:51:02.620212",
        "dataAtualizacao": "2022-06-06T15:51:02.620212",
        "_expandables": []
      },
      "id": 1,
      "idRetaguarda": "",
      "situacao": 1,
      "dataCadastro": "2022-06-06T15:51:02.620212",
      "dataAtualizacao": "2022-06-06T15:51:02.620212",
      "_expandables": []
    }
  ]
}


No TOTEM será apresentado o fluxo abaixo para a identificação do vendedor:


         

   Tela para informar o código do vendedor                   Tela de confirmação do vendedor



7. Consultar Produto

Método utilizado para validar cadastro do produto e recuperar os dados do mesmo.

Método

GET: api/produto?Pesquisa=<codProduto> 

Deverão ser validados pela aplicação os seguintes campos retornados pela API:


  • IDImposto = diferente de nulo e maior que 0
  • IDNcm = diferente de nulo e maior que 0
  • IDPisCofins = diferente de nulo e maior que 0
  • Preco = diferente de nulo e maior que 0


Produto válido

Estando os campos acima válidos, o produto poderá ser inserido no carrinho.


Exemplo de Retorno 

/api/produto - Retorno
{
  "success": true,
  "message": "Produto",
  "data": [
    {
      "descricao": "PINCEL",
      "idImposto": 1,
      "idNcm": 22,
      "unidadeMedida": "CX",
      "descontoMaximo": 99,
      "tipoArredondaTrunca": "1",
      "codigoProduto": "904",
      "codigoAlternativo": "0904",
      "origemProduto": "0",
      "idPisCofins": 1545,
      "imagem": null,
      "tipoProduto": 2,
      "fracionado": false,
      "cnpjFornecedor": "",
      "escalaRelevante": true,
      "valorBaseFcp": null,
      "codigoBeneficioFiscal": null,
      "percentualFcp": null,
      "cstIcms": null,
      "percentualReducaoIcms": null,
      "aliquotaIcms": null,
      "vlicmsRet": null,
      "motivoDesoneracaoIcms": 0,
      "descontaDesoneracaoNf": false,
      "cest": "",
      "valorPautaIcms": null,
      "md5Paf": null,
      "imposto": {
        "aliquotaTributo": 0,
        "tipo": "0",
        "modalidade": "Subs.trib",
        "indiceTributoImpressora": "",
        "reducaoBaseCalculo": 0,
        "simbolo": "FF",
        "id": 1,
        "idRetaguarda": "eaaefc08-4a15-426d-9f90-f6ea5aa48ec0",
        "situacao": 1,
        "dataCadastro": "2022-06-06T16:13:08.809376",
        "dataAtualizacao": "2022-06-06T16:13:08.809376",
        "_expandables": []
      },
      "ncm": {
        "codigoNcm": "96033000",
        "codigoExcecao": "0",
        "aliquotaNacional": 0,
        "aliquotaImportada": 0,
        "aliquotaEstadual": 0,
        "aliquotaMunicipal": 0,
        "chave": "0",
        "fonte": "IBPT",
        "codigoCest": "9603300",
        "id": 22,
        "idRetaguarda": "be6a87fe-7d13-434b-bd41-8acf7c707f77",
        "situacao": 1,
        "dataCadastro": "2022-06-06T15:53:49",
        "dataAtualizacao": "2022-06-06T15:53:49",
        "_expandables": []
      },
      "pisCofins": {
        "cstPis": "99",
        "aliquotaPis": 0,
        "cstCofins": "99",
        "aliquotaCofins": 0,
        "id": 1545,
        "idRetaguarda": "a40fb541-3bd0-4f8e-8681-622f0ecbc56c",
        "situacao": 1,
        "dataCadastro": "2022-06-06T15:57:04.718135",
        "dataAtualizacao": "2022-06-06T16:15:42",
        "_expandables": []
      },
      "preco": 28.9,
      "valorTotal": 28.9,
      "quantidade": 1,
      "precoPromocional": 0,
      "mD5PAFPreco": null,
      "estoque": -48,
      "mD5PAFEstoque": null,
      "valorModalidade": 0,
      "idMotivoDescontoModalidade": null,
      "motivoDescontoModalidade": null,
      "catalogosProdutosItens": [],
      "codigosIdentificacoesProdutos": [
        {
          "idProduto": 123456,
          "codigo": "0904",
          "codigoExterno": null,
          "descricao": "Código referencia",
          "id": 1538,
          "idRetaguarda": null,
          "situacao": 1,
          "dataCadastro": "2022-06-06T16:34:10",
          "dataAtualizacao": "2022-06-06T16:34:10",
          "_expandables": []
        }
      ],
      "estoques": [
        {
          "saldo": -48,
          "sincronizado": null,
          "idProduto": 1545,
          "md5Paf": null,
          "saldoPaf": null,
          "dataAtualizacaoPaf": null,
          "id": 252,
          "idRetaguarda": null,
          "situacao": 1,
          "dataCadastro": "2022-09-23T16:17:54.292139",
          "dataAtualizacao": "2022-10-13T11:28:12.274684",
          "_expandables": []
        }
      ],
      "precos": [
        {
          "idProduto": null,
          "dataVigenciaInicial": "2022-04-19T00:00:00",
          "dataVigenciaFinal": "9999-12-31T23:59:59",
          "valor": 28.9,
          "sincronizadoEtiquetaEletronica": 0,
          "precoPromocional": 0,
          "motivoDesconto": null,
          "md5Paf": null,
          "id": 1368,
          "idRetaguarda": "2e5a1ca8-8d21-42c7-9860-35fb7cafab21",
          "situacao": 1,
          "dataCadastro": "2022-06-06T16:01:31",
          "dataAtualizacao": "2022-06-06T16:01:31",
          "_expandables": []
        }
      ],
      "produtosKits": [],
      "produtosSimilaresIdsSimilares": [],
      "produtosSugestoesIdsSugestoes": [],
      "motivoDescontoPromocional": null,
      "id": 1545,
      "idRetaguarda": "a40fb541-3bd0-4f8e-8681-622f0ecbc56c",
      "situacao": 1,
      "dataCadastro": "2022-06-06T15:57:04.718135",
      "dataAtualizacao": "2022-06-06T16:34:10",
      "_expandables": []
    }
  ]
}  


No TOTEM será apresentado o fluxo abaixo para a identificação do produto:

                                    

Tela início para identificação dos produtos                            Campo para digitar o código do produto                         


      Produtos informados no carrinho




8. Consultar Imagens do Produto


MINIATURA

/api/Resources/Images/<CodigoProduto>/mini_<CodigoProduto>.png

LISTA DE IMAGENS

/api/Resources/Images/<CodigoProduto>/<CodigoProduto>_0.png
/api/Resources/Images/<CodigoProduto>/<CodigoProduto>_1.png
/api/Resources/Images/<CodigoProduto>/<CodigoProduto>_2.png
(...)
/api/Resources/Images/<CodigoProduto>/<CodigoProduto>_10.png

Buscar o índice até que retorne 404 - não encontrado.


Mesmo que o produto seja localizado via codigo de barras, deverá ser utilizado sempre o codigoProduto retornado da consulta de produtos para buscar a imagem.


Configuração 

A configuração deve ser realizada localmente no PDV adicionando as imagens do produto no caminho abaixo:

Caminho: C:\TOTVSPDV\Resources\Images




Regras das imagens

  • Dentro da pasta: "Images", deverá ser criada uma pasta nomeando cada código de produto (item);
  • Deverá ser utilizado o "Código Produto" para nomear as pastas e os arquivos. Não utilizar código de barras;
  • Na pasta com o respectivo código do produto, deverá conter a imagem em arquivo *.PNG e ela deve ser nomeada conforme abaixo:


Modelo1 - Miniatura (Utilizado para o carrinho de venda e visualização no Self Checkout)

/Images/<CodigoProduto>/mini_<CodigoProduto>.png





Imagem do produto no Totem 





9. Consultar Cliente Fidelidade


Método utilizado para recuperar os dados  do cliente cadastrado no programa Fidelidade.

Método: api/cliente/AdquirirCliente

GET: /api/cliente/AdquirirCliente

Importante

Para realizar a consulta do cliente no programa Fidelidade é necessário que algumas informações sejam informadas conforme as configurações disponíveis no PDV Omni. 

As configurações estão disponíveis a partir do método:


GET: /api/parametro

Exemplo de requisição

/api/parametro?Chave=30


Sendo as chaves para consulta: 

ChaveDescrição
26Determina se  a loja utiliza o programa Fidelidade
86URL de comunicação com a retaguarda
88URL de comunicação com o Fidelidade
99Código do canal Fidelidade
100Código do canal de campanha do Fidelidade
/api/parametro
{
  "success": true,
  "message": "Parametro",
  "data": [
    {
      "idParametroTipo": 7,
      "descricao": "Servidor TEF",
      "dadoTipo": 2,
      "valorDefault": "0",
      "visivel": 1,
      "chave": 30,
      "parametroTipo": {
        "descricao": "Configuração de TEF",
        "id": 7,
        "idRetaguarda": "",
        "situacao": 1,
        "dataCadastro": "2022-06-06T15:51:02.644169",
        "dataAtualizacao": "2022-06-06T15:51:02.644169",
        "_expandables": []
      },
      "parametrosValores": [
        {
          "valor": "10.173.23.165",
          "lastUpdate": null,
          "idParametro": 30,
          "idLoja": 1,
          "id": 30,
          "idRetaguarda": "",
          "situacao": 1,
          "dataCadastro": "2022-06-06T15:51:02.644169",
          "dataAtualizacao": "2022-10-04T20:27:24",
          "_expandables": []
        }
      ],
      "id": 30,
      "idRetaguarda": "",
      "situacao": 1,
      "dataCadastro": "2022-06-06T15:51:02.644169",
      "dataAtualizacao": "2022-06-06T15:51:02.644169",
      "_expandables": []
    }
  ]
}


Exemplo de Requisição

/api/cliente/AdquirirCliente - Requisição
{
	"ClientIdModalidade": null,
	"ClientSecretModalidade": null,
	"CodigoCanal": "10", 
	"CodigoCanalCampanha": "2", 
	"CodigoLoja": "4951", 
	"CpfCnpj": "33642521319",
	"IdModalidadeVenda": null,
	"IdTransacaoMotorPromocaoTerceiro": null,
	"ImgToFace": null,
	"Nome": null,
	"NumeroPDV": 0,
    "OwnerIdModalidade": null,
	"PrimeiraCompra": false,
	"SistemaConsultaCliente": 1,
	"UrlFidelidade": "http://fidelidadecrm.boticario.com.br:82/",
	"UrlRetaguarda": "http://practicolive.e-boticario.com.br/",
	"UrlServicoModalidade": null,
	"UrlToface": "",
	"VersaoPOS": "3.0.190.0",
	"DataAtualizacao": null,
	"Situacao": true
}
ParâmetroDescriçãoObrigatório
ClientIdModalidadeIdentificador da modalidade do cliente Não
ClientSecretModalidadeIdentificador da modalidade do cliente Não
CodigoCanal

Código do canal de venda.

Enviar o valor obtido no parâmetro chave 99

Sim
CodigoCanalCampanha

Código do canal de campanha.

Enviar o valor obtido no parâmetro chave 100 

Sim
CodigoLojaNúmero de série da lojaSim
CpfCnpjCPF/CNPJ  do clienteSim
IdModalidadeVendaIdentificador da modalidade do cliente Não
IdTransacaoMotorPromocaoTerceiroIdentificador da transação no Motor de Promoções Terceiro, não TOTVSNão
ImgToFaceURL da imagem do clienteNão
NomeNome do clienteNão
NumeroPDVNúmero do TOTEM cadastrado no PDVSim
OwnerIdModalidadeIdentificador do owner de modalidadeNão
PrimeiraCompra

Identificador de primeira compra do cliente.

Como não é possível o cadastro de cliente através do totem, enviar "False"

Sim
SistemaConsultaCliente

Enviar o valor obtido no parâmetro chave 26

Quando configurado para:

  • Utilizar o Fidelidade deve ser enviado o valor "1"
  • Não utilizar o Fidelidade deve ser enviado o valor "2"
Sim
UrlFidelidadeEnviar o valor obtido no parâmetro chave 88Sim
UrlRetaguardaEnviar o valor obtido no parâmetro chave 86Sim
UrlServicoModalidadeURL de comunicação com a API de modalidadeSim
UrlTofaceURL da imagem do clienteNão
VersaoPOSVersão do totemSim
DataAtualizacaoData de atualização da informaçãoNão
SituacaoSituação do cadastro, enviar "true"Sim


Exemplo de Retorno

api/cliente/AdquirirCliente - Retorno
{
	"success": true,
	"message": "Cliente",
	"data": {
		"clientes": [
			{
				"atividade": null,
				"avatarUrl": null,
				"bairro": "CENTRO",
				"celular": "(001)1961476546",
				"cep": "13215845",
				"cidade": "JUNDIAI",
				"cnpj": null,
				"complemento": "",
				"cpf": "33642521319",
				"cpfCnpj": "33642521319",
				"cracha": null,
				"dataAceiteTermoConsentimento": null,
				"dataNascimento": "1985-03-23T00:00:00",
				"email": "[email protected]",
				"endereco": "R TESTE",
				"enderecos": [
					{
						"idCliente": 0,
						"tipo": null,
						"endereco": "R TESTE",
						"numero": "0",
						"complemento": "",
						"bairro": "CENTRO",
						"cidade": "JUNDIAI",
						"estado": "SP",
						"cep": "13215845",
						"enviarPnet": null,
						"padrao": true,
						"id": null,
						"idRetaguarda": null,
						"situacao": 1,
						"dataCadastro": "0001-01-01T00:00:00",
						"dataAtualizacao": "0001-01-01T00:00:00",
						"_expandables": []
					}
				],
				"estado": "SP",
				"estadoCivil": 0,
				"fidelidade": {
					"cadastroMinimoValido": true,
					"efetuarConfirmacaoFidelidade": true,
					"enviarComunicacao": false,
					"lgpdCartaConsentimentoAceite": true,
					"lgpdCartaConsentimentoAceiteData": "2011-06-06T00:00:00",
					"lgpdCartaConsentimentoId": "99394584-d8d0-43f2-a1dc-fc36df2d63e9",
					"membroDesde": "2011-06-06T00:00:00",
					"podePontuar": true,
					"podeTrocar": true,
					"pontosVencer": [
						{
							"classID": "VencimentoPonto",
							"creation": "2022-01-28T03:49:07.56Z",
							"dataVencimento": "2022-01-31T03:00:00Z",
							"lastUpdate": "2022-01-28T03:49:07.56Z",
							"objectID": "00000000-0000-0000-0000-000000000000",
							"pontos": 0
						},
						{
							"classID": "VencimentoPonto",
							"creation": "2022-01-28T03:49:07.56Z",
							"dataVencimento": "2022-02-28T03:00:00Z",
							"lastUpdate": "2022-01-28T03:49:07.56Z",
							"objectID": "00000000-0000-0000-0000-000000000000",
							"pontos": 0
						},
						{
							"classID": "VencimentoPonto",
							"creation": "2022-01-28T03:49:07.56Z",
							"dataVencimento": "2022-03-31T03:00:00Z",
							"lastUpdate": "2022-01-28T03:49:07.56Z",
							"objectID": "00000000-0000-0000-0000-000000000000",
							"pontos": 0
						}
					],
					"possuiCampanha": false,
					"possuiCampanhasNaoAbordadas": false,
					"proximosPontosVencer": 0,
					"saldoAtualMoeda": 14.740000000000002,
					"saldoAtualPontos": 443,
					"situacao": 1,
					"tipoCadastroCliente": 1,
					"todasCampanhasSemAbordar": true
				},
				"idTermoConsentimento": null,
				"inscricao": null,
				"nome": "CLIENTETESTE",
				"numero": "0",
				"pessoaFisica": false,
				"rg": null,
				"rgInscricao": null,
				"sexo": 2,
				"telefone": "",
				"tipoDocumento": null,
				"tipoEndereco": null,
				"id": null,
				"idRetaguarda": null,
				"situacao": 1,
				"dataCadastro": "0001-01-01T00:00:00",
				"dataAtualizacao": "0001-01-01T00:00:00",
				"_expandables": []
			}
		],
		"fidelidadeOffLine": false,
		"id": null,
		"dataAtualizacao": null,
		"sucesso": true
	}
}



10. LGPD - Fidelidade 


Importante

Utilize o endpoint abaixo para verificar se o cliente precisa aceitar o termo de consentimento. 

GET: /api/selfcheckout/exibirTermoConsentimento?CpfCnpj=<CPF>

response
{
    "success": true,
    "message": "SelfCheckout",
    "data": {
        "exibirTermoConsentimento": true,
        "termoConsentimento": "<div style=\"font-size:12pt;font-family:"Segoe UI";\"><p style=\"margin:0;\">1. TERMO DE CONSENTIMENTO - Alterada</p><p style=\"margin:0;\"><br></p><p style=\"margin:0;\">A proteção de seus Dados Pessoais e a sua privacidade são muito importantes para nós.</p><p style=\"margin:0;\">Informamos que coletamos os Dados Pessoais: CPF, RG, Nome, Data de nascimento, sexo, endereço(s), telefone(s) e e-mail para controle financeiro, obrigações fiscais e/ou programas de incentivo e bonificações.</p><p style=\"margin:0;\"><br></p><p style=\"margin:0;\">Caso você ainda não possui 18 anos de idade - é um “Menor”. Por isso, É NECESSÁRIO QUE UM DE SEUS PAIS OU SEU RESPONSÁVEL LEGAL LEIA E CONCORDE COM ESTA AUTORIZAÇÃO, PARA QUE VOCÊ POSSA SEGUIR EM FRENTE.</p><p style=\"margin:0;\">Os Dados Pessoais serão armazenados e preservados por um período de até 05(cinco) anos caso exista movimentação fiscal, nos termos da Lei.</p><p style=\"margin:0;\">Nós poderemos compartilhar os Dados Pessoais com outras plataformas.</p><p style=\"margin:0;\">Você ou representante legal do Menor poderá a qualquer momento:</p><p style=\"margin:0;\"><br></p><p style=\"margin:0;\">•<span style=\"display:inline-block;width:0px\"></span>Acessar gratuitamente os dados, bem como acessar as informações sobre a forma e a duração de tratamento dos dados na nossa plataforma;</p><p style=\"margin:0;\">•<span style=\"display:inline-block;width:0px\"></span>Solicitar a atualização ou correção dos dados;</p><p style=\"margin:0;\">•<span style=\"display:inline-block;width:0px\"></span>Solicitar um relatório com a relação dos Dados Pessoais armazenados em nossa plataforma;</p><p style=\"margin:0;\">•<span style=\"display:inline-block;width:0px\"></span>Solicitar a eliminação dos dados tratados e revogação do consentimento, nos termos da Lei.</p><p style=\"margin:0;\">As solicitações e questionamentos acerca do Tratamento e eliminação dos dados deverão ser realizadas através do canal de atendimento.</p><p style=\"margin:0;\">Caso ACEITE os termos descritos acima concorde com este aviso.</p><p style=\"margin:0;\"><br></p></div>",
        "termoConsentimentoId": "a4f52e48-55b5-4a32-a00d-3ce4fa8ae9b7"
    }
}


No TOTEM será apresentado o fluxo abaixo para a identificação do cliente:


                                       

         Identificação do CPF do cliente                       Apresentação da carta de consentimento para

                                                                                             clientes cadastrados  LGPD           

          

       Apresentação do cliente na venda




11. Motor de Promoções - Terceiro / On Premise


Os métodos a baixo descrevem a integração com o Motor de Promoções de terceiro. 

Importante

Para identificar qual o motor de promoções utilizado pelo loja, é necessário que o totem valide a configuração disponível na loja. 

As configurações estão disponíveis a partir do método:

GET: /api/parametro

Exemplo de requisição

/api/parametro?Chave=48


Sendo as chaves para consulta: 


ChaveDescrição
48Quando ativo determina que a loja utiliza  Motor de Promoções TOTVS
9170Quando ativo determina que a loja utiliza  Motor de Promoções de Terceiro
9171URL de comunicação com o Motor de Promoções de Terceiro 


Caso os dois parâmetros estejam ativos considerar a utilização do Motor de Promoções TOTVS

/api/parametro
{
  "success": true,
  "message": "Parametro",
  "data": [
    {
      "idParametroTipo": 7,
      "descricao": "Servidor TEF",
      "dadoTipo": 2,
      "valorDefault": "0",
      "visivel": 1,
      "chave": 30,
      "parametroTipo": {
        "descricao": "Configuração de TEF",
        "id": 7,
        "idRetaguarda": "",
        "situacao": 1,
        "dataCadastro": "2022-06-06T15:51:02.644169",
        "dataAtualizacao": "2022-06-06T15:51:02.644169",
        "_expandables": []
      },
      "parametrosValores": [
        {
          "valor": "10.173.23.165",
          "lastUpdate": null,
          "idParametro": 30,
          "idLoja": 1,
          "id": 30,
          "idRetaguarda": "",
          "situacao": 1,
          "dataCadastro": "2022-06-06T15:51:02.644169",
          "dataAtualizacao": "2022-10-04T20:27:24",
          "_expandables": []
        }
      ],
      "id": 30,
      "idRetaguarda": "",
      "situacao": 1,
      "dataCadastro": "2022-06-06T15:51:02.644169",
      "dataAtualizacao": "2022-06-06T15:51:02.644169",
      "_expandables": []
    }
  ]
}

11.1. Iniciar transação

Método utilizado para iniciar uma transação ou atualizar uma transação em andamento, o mesmo deverá ser acionado quando:

  • Iniciada uma venda
  • Identificado um cliente Fidelidade
  • Informado um cupom promocional/voucher

Método /api/motorpromocaoterceiro/iniciar


Exemplo de Requisição 

/api/motorpromocaoterceiro/iniciar - Requisição
{
	"CPFCliente": "89096149934",
	"Cupons": null,
	"DataHoraInicioVenda": "2022-08-17T10:42:17.4423224-03:00",
	"IDTransacao": null,
	"Loja": 9004316,
	"NumeroVenda": 50438,
	"PDV": 2,
	"Versao": "3.0.190.0",
	"URL": "http://localhost:6000",
	"NomeRede": "Boticario",
	"MotorPromocaoAtivo": true,
	"Situacao": 1
}
ParâmetroDescriçãoObrigatório
CPFClienteCPF do cliente Fidelidade identificado na vendaNão
Cupons[]

Lista de cupons usados pelo cliente

Não
Cupons.codigoCódigo do cupom promocional informado pelo usuárioNão
DataHoraInicioVenda

Data/hora que iniciou a venda

Não
IDTransacao

Identificador da transação no Motor de Promoções.

Quando o método estiver sendo acionado na abertura do carrinho o valor deverá ser null, caso o método esteja sendo acionado em uma atualização, enviar o id retornado pelo Motor na abertura

Não
LojaNúmero de série da lojaSim
NumeroVendaNúmero do atendimentoSim
PDVNúmero do totem cadastrado no PDVSim
VersaoVersão do totemSim
URL

URL de comunicação com Motor de Promoções

Enviar o valor obtido no parâmetro chave 9171

Sim
NomeRedeNome da rede da loja (obter a partir da loja)Sim
MotorPromocaoAtivoEnviar "True"Sim
SituacaoEnviar 1Sim


Exemplo de Retorno

/api/motorpromocaoterceiro/iniciar - Retorno
{
    "success": true,
    "message": "MotorPromocaoTerceiro",
    "data": {
      "versao": "3.0.2.0",
      "idTransacao": "4bfbd501-d305-4318-a1d4-a320d8f408ed",
      "promocoesAplicadas": [],
      "sugestaoBrindes": [],
      "promocoesDisponiveis": [
        {
          "id": "00d885d1-4364-43ac-ac19-5cd8ac11d763",
          "descricao": "DESCONTO PROGRESSIVO MANU ",
          "ordem": "1"
        },
        {
          "id": "0de4e6ef-9cb9-4e1d-ae76-2c28d8c52d0a",
          "descricao": "ITENS SELECIONADOS DE MAQUIAGEM INTENSE BOCA E ROSTO COM 20% DE DESCONTO",
          "ordem": "2"
        },
        {
          "id": "109157f2-50c8-49fd-98b5-c1f60e7ceb05",
          "descricao": "LANÇAMENTO DE BABY COM 20% DE DESCONTO",
          "ordem": "3"
        },
        {
          "id": "132d97d1-73de-4206-852d-bd4e7080e9b5",
          "descricao": "COMBO AROMATIZADOR POR 149,90",
          "ordem": "4"
        },
        {
          "id": "1c49332f-f820-4e05-b6de-435527cbe308",
          "descricao": "COMBO DE BODY SPRAY DE MARCAS SELECIONADOS COM 20% DE DESCONTO",
          "ordem": "5"
        },
      ],
      "criticas": [],
      "mensagemImpressao": null,
      "tipoImpressora": 0
    }
  }

Parâmetro

Descrição

versaoVersão do totem
idTransacaoId da transação aberta no motor de promoções 
promocoesAplicadas[]

Lista das promoções aplicadas no carrinho 
promocoesAplicadas.id

Identificação da promoção

promocoesAplicadas.descricao

Descrição da promoção

promocoesAplicadas.mecanica

Id da mecânica

promocoesAplicadas.ordem

Ordem que a promoção deve ser exibida

sugestaoBrindes []

Lista das sugestões de brindes 
promocoesDisponiveis[]

Lista das promoções disponíveis na loja
promocoesDisponiveis.idId da promoção disponíveis
promocoesDisponiveis.descricao

Descrição da promoção disponível
promocoesDisponiveis.ordemOrdem em que a promoção deve ser apresentada
criticas []Lista com as criticas/falhas 
criticas.codigoCódigo da critica/falha
criticas.mensagemMensagem da critica/falha
criticas.tipoTipo da critica/falha
mensagemImpressaoMensagem promocional a ser impressa
tipoImpressora

Tipo do documento em que a mensagem promocional deve ser impressa, sendo:

0 - No cupom fiscal 

1 - Em comprovante a parte


11.2. Cupom Promocional / Voucher

Método utilizado para validar / incluir um cupom promocional.:

Método /api/motorpromocaoterceiro/iniciar


Exemplo de Requisição 

/api/motorpromocaoterceiro/iniciar - Requisição
{
  "versao": "3.4.1.0",
  "cpfCliente": null,
  "loja": 9004316,
  "pdv": 2,
  "numeroVenda": 4474,
  "dataHoraInicioVenda": "2023-03-15T13:50:34.0422273-03:00",
  "idTransacao": "b754bfd7-2bd7-4bf4-8958-8300f88f7a69",
  "itemPromocao": null,
  "cupons": [{ "codigo": "ld20" }],
  "url": "http://localhost:6000",
  "nomeRede": "Boticario",
  "motorPromocaoAtivo": true,
  "valorLiquido": 0
}

ParâmetroDescriçãoObrigatório
Cupons[]

Lista de cupons usados pelo cliente

Não
Cupons.codigoCódigo do cupom promocional informado pelo usuárioNão
DataHoraInicioVenda

Data/hora que iniciou a venda

Não
IDTransacao

Identificador da transação no Motor de Promoções.

Quando o método estiver sendo acionado na abertura do carrinho o valor deverá ser null, caso o método esteja sendo acionado em uma atualização, enviar o id retornado pelo Motor na abertura

Não
LojaNúmero de série da lojaSim
NumeroVendaNúmero do atendimentoSim
PDVNúmero do totem cadastrado no PDVSim
VersaoVersão do totemSim
URL

URL de comunicação com Motor de Promoções

Enviar o valor obtido no parâmetro chave 9171

Sim
NomeRedeNome da rede da loja (obter a partir da loja)Sim
MotorPromocaoAtivoEnviar "True"Sim


Exemplo de Retorno

/api/motorpromocaoterceiro/iniciar - Retorno
{
  "success": true,
  "message": "MotorPromocaoTerceiro",
  "data": {
    "versao": "3.1.1.0",
    "idTransacao": "b754bfd7-2bd7-4bf4-8958-8300f88f7a69",
    "promocoesAplicadas": [],
    "sugestaoBrindes": [],
    "promocoesDisponiveis": [
      {
        "id": "0266447a-f137-40ed-983c-bd440e932f77",
        "descricao": "ITENS SELECIONADOS DE AROMA E TERAPIA COM 15% DE DESCONTO",
        "ordem": "1"
      }
    ],
    "criticas": [],
    "mensagemImpressao": null,
    "tipoImpressora": 0
  }
}

Parâmetro

Descrição

versaoVersão do totem
idTransacaoId da transação aberta no motor de promoções 
promocoesAplicadas[]

Lista das promoções aplicadas no carrinho 
promocoesAplicadas.id

Identificação da promoção

promocoesAplicadas.descricao

Descrição da promoção

promocoesAplicadas.mecanica

Id da mecânica

promocoesAplicadas.ordem

Ordem que a promoção deve ser exibida

sugestaoBrindes []

Lista das sugestões de brindes 
promocoesDisponiveis[]

Lista das promoções disponíveis na loja
promocoesDisponiveis.idId da promoção disponíveis
promocoesDisponiveis.descricao

Descrição da promoção disponível
promocoesDisponiveis.ordemOrdem em que a promoção deve ser apresentada
criticas[]Lista com as criticas/falhas 
criticas.codigoCódigo da critica/falha
criticas.mensagemMensagem da critica/falha
criticas.tipoTipo da critica/falha
mensagemImpressaoMensagem promocional a ser impressa
tipoImpressora

Tipo do documento em que a mensagem promocional deve ser impressa, sendo:

0 - No cupom fiscal 

1 - Em comprovante a parte


11.2.1. Exemplo de inclusão de um segundo cupom inválido

Exemplo de Requisição 

/api/motorpromocaoterceiro/iniciar - Requisição
{
  "versao": "3.4.1.0",
  "cpfCliente": null,
  "loja": 9006882,
  "pdv": 3,
  "numeroVenda": 4474,
  "dataHoraInicioVenda": "2023-03-15T13:50:34.0422273-03:00",
  "idTransacao": "b754bfd7-2bd7-4bf4-8958-8300f88f7a69",
  "itemPromocao": null,
  "cupons": [{ "codigo": "ld20" }, { "codigo": "xpto123" }],
  "url": "http://localhost:6000",
  "nomeRede": "Boticario",
  "motorPromocaoAtivo": true,
  "valorLiquido": 0
}



Exemplo de Retorno

/api/motorpromocaoterceiro/iniciar - Retorno
{
  "success": true,
  "message": "MotorPromocaoTerceiro",
  "data": {
    "versao": "3.1.1.0",
    "idTransacao": "b754bfd7-2bd7-4bf4-8958-8300f88f7a69",
    "promocoesAplicadas": [],
    "sugestaoBrindes": [],
    "promocoesDisponiveis": [
      {
        "id": "0266447a-f137-40ed-983c-bd440e932f77",
        "descricao": "ITENS SELECIONADOS DE AROMA E TERAPIA COM 15% DE DESCONTO",
        "ordem": "1"
      }
    ],
    "criticas": [
      {
        "codigo": "COUPON_INVALID",
        "mensagem": "O cupom xpto123 é inválido",
        "tipo": "Warning"
      }
    ],
    "mensagemImpressao": null,
    "tipoImpressora": 0
  }
}



11.3. Recalcular carrinho

Método utilizado par recalcular os itens do carrinho no Motor de Promoções.

Deve ser acionado sempre que:

  • Adicionado um novo item no carrinho
  • Alterada a quantidade de um produto 
  • Removido um item no carrinho
  • Após a chamada para iniciar uma transação

O totem sempre deverá enviar a posição do carrinho atual, e não apenas os novos itens adicionados ou alterados. 


Método  /api/motorpromocaoterceiro/recalcular


Exemplo de Requisição

/api/motorpromocaoterceiro/recalcular - Requisição
{
	"Versao": "3.2.18.0",
	"CPFCliente": null,
	"Loja": 9006882,
	"PDV": 2,
	"NumeroVenda": 507,
	"DataHoraInicioVenda": "2022-10-17T15:56:59.6539163-03:00",
	"IDTransacao": "06d725f9-8018-44fe-811c-f13aa97c8db2",
	"ItemPromocao": [
		{
			"IdProduto": 520,
			"Sequencia": 1,
			"ProdutoPromocao": {
				"Marca": null,
				"SKU": "19685",
				"SubCategoriaProdutoPromocao": null
			},
			"Desconto": 0.0,
			"DescontoCalculado": 0.0,
			"PrecoCalculado": 0.0,
			"PrecoBase": 99.9,
			"Quantidade": 2
		}
	],
	"Cupons": null,
	"URL": "http://localhost:6000",
	"NomeRede": "Boticario",
	"MotorPromocaoAtivo": true,
	"ValorLiquido": 199.8
}

Parâmetro

Descrição

Requerido

VersaoVersão do totemSim
CPFClienteCPF do cliente identificadoNão
LojaNúmero de série da lojaSim
PDVNúmero do totem, armazenado como dispositivo no PDV OmniSim
NumeroVendaNúmero do atendimentoSim
DataHoraInicioVendaData e hora do inicio da vendaSim
IDTransacao

Id da transação aberto no Motor de PromoçõesSim
ItemPromocao []

Lista de itens no atendimentoSim
ItemPromocao.IdProdutoId do produto retornado na consulta de produto, propriedade codigosIdentificacoesProdutos.idProdutoSim
ItemPromocao.SequenciaNúmero de sequência do produto no atendimentoSim

ItemPromocao.ProdutoPromocao.Marca

Marca do produto, enviar nullNão

ItemPromocao.ProdutoPromocao.SKU

Código do produto retornado na consulta de produto, propriedade codigosIdentificacoesProdutos.codigoSim

ItemPromocao.ProdutoPromocao.SubCategoriaProdutoPromocao

Subcategoria do produto, enviar nullNão
DescontoDesconto manual do produto, enviar 0.00Não
DescontoCalculado 0.0,Desconto manual calculado do produto, enviar 0.00Não
PrecoCalculado": 0.0,Valor liquido, enviar 0.00Não
PrecoBasePreço do produto retornado na consulta do produto, propriedade precoSim
QuantidadeQuantidade do produto no carrinhoSim
CuponsInterno, não é necessário enviarNão
URL

URL de comunicação com Motor de Promoções

Enviar o valor obtido no parâmetro chave 9171

Sim
NomeRede

Nome da rede da loja (obter a partir da loja)Sim
MotorPromocaoAtivo

Enviar "True"Sim
ValorLiquidoValor total liquido do carrinhoSim


Exemplo de Retorno 

/api/motorpromocaoterceiro/recalcular - Retorno
{
  "Success": true,
  "Message": "MotorPromocaoTerceiro",
  "Data": {
    "IdTransacao": null,
    "Criticas": [],
    "PromocoesAplicadas": [
      {
        "Id": "64c51b47-3567-48cb-85dd-b03985aad625",
        "Descricao": "LOJA - ITENS SELECIONADOS DCOM ATÉ 20% DE DESCONTO - SSP SEM PR",
        "Ordem": 1,
        "Itens": [
          {
            "IdProduto": null,
            "Sequencia": 1,
            "ProdutoPromocao": {
              "Marca": {
                "Id": "PRODUTO SEM CLASSIFICADOR",
                "Descricao": "PRODUTO SEM CLASSIFICADOR"
              },
              "SKU": "19685",
              "SubCategoriaProdutoPromocao": {
                "Id": "PRODUTO SEM CLASSIFICADOR",
                "Descricao": "PRODUTO SEM CLASSIFICADOR",
                "CategoriaProdutoPromocao": {
                  "Id": "PRODUTO SEM CLASSIFICADOR",
                  "Descricao": "PRODUTO SEM CLASSIFICADOR"
                },
                "GerenciamentoMarketing": {
                  "Id": "PRODUTO SEM CLASSIFICADOR",
                  "Descricao": "PRODUTO SEM CLASSIFICADOR"
                }
              }
            },
            "Desconto": 10.0,
            "DescontoCalculado": 19.99,
            "PrecoCalculado": 179.81,
            "PrecoBase": 89.91,
            "Quantidade": 2
          }
        ]
      }
    ],
    "PromocoesDisponiveis": [
      {
        "Id": "ea82c66a-7132-4c46-89c2-3cf105a514b0",
        "Descricao": "[CASHBACK] AQUISIÇÃO C15'22",
        "Ordem": "1"
      },
      {
        "Id": "00d885d1-4364-43ac-ac19-5cd8ac11d763",
        "Descricao": "DESCONTO PROGRESSIVO GAVASSI",
        "Ordem": "2"
      },
      {
        "Id": "faa3113b-81bc-496a-aba6-9a9bb401e656",
        "Descricao": "ITENS SELECIONADOS COM ATÉ 20% DE DESCONTO",
        "Ordem": "3"
      },
      {
        "Id": "fa4296a2-c786-4a52-94c6-20c2e484f49a",
        "Descricao": "COMBO CUIDADOS MASCULINOS COM 20% DE DESCONTO",
        "Ordem": "4"
      },
      {
        "Id": "f173cee5-d3eb-456d-a175-be1154a03774",
        "Descricao": "COMBO DE ITENS SELECIONADOS COM 20% DE DESCONTO",
        "Ordem": "5"
      },
      {
        "Id": "cfa032f4-a41d-4549-9c38-e11a4be7d00a",
        "Descricao": "LOJA - BRAVE COM 30% DE DESCONTO SSP SEM PR",
        "Ordem": "6"
      },
      {
        "Id": "c6369548-ce7d-44dd-be3d-84a95f67050b",
        "Descricao": "SUN COM 20% DE DESCONTO",
        "Ordem": "7"
      },
      {
        "Id": "c2d76e3c-d02d-4a79-aba7-dd218264b047",
        "Descricao": "LOJA - PROGRESSIVA ITENS SELECIONADOS COM ATÉ 30% DE DESCONTO",
        "Ordem": "8"
      },
      {
        "Id": "b6c595bd-9646-4462-9b26-cb06d9d17648",
        "Descricao": "EXAUSTÃO  SPAORGÂNICOS COM 50% DESCONTO",
        "Ordem": "9"
      },
      {
        "Id": "ab845c19-bb48-4f3d-8849-4c2494909431",
        "Descricao": "LANÇAMENTOS  ÓLEOS COM 30% DE DESCONTO",
        "Ordem": "10"
      },
    ],
    "SugestaoBrindes": [],
    "Versao": "3.1.1.0",
    "MensagemImpressao": "",
    "TipoImpressora": 0,
    "DataAtualizacao": null,
    "Id": null,
    "Sucesso": true
  },
  "Code": null,
  "DetailedMessage": null,
  "HelpUrl": null,
  "Details": null
}

Parâmetro

Descrição

Requerido

IdTransacaoId da transação aberto no Motor de PromoçõesNão
PromocoesAplicadas[]Lista de promoções aplicadas no carrinhoSim, se retornado
PromocoesAplicadas.IdId da promoção aplicadaSim, se retornado
PromocoesAplicadas.DescricaoDescrição da promoção aplicadaSim, se retornado
PromocoesAplicadas.OrdemOrdem em que a promoção deve ser aplicadaSim, se retornado
PromocoesAplicadas.Itens[]

Lista de produtos que foram atingidos pela promoção

Sim, se retornado
PromocoesAplicadas.Itens.IdProdutoInterno Não
PromocoesAplicadas.Itens.SequenciaSequencia do item no atendimento que foi atingido na promoçãoSim, se retornado
PromocoesAplicadas.Itens.ProdutoPromocaoInternoSim
PromocoesAplicadas.Itens.Desconto

Valor em percentual do desconto. 

Não é recomendado sua utilização devido a casa decimais, onde no arredondamento poderá ocorrer divergência entre o desconto e descontoCalculado. 

Sim, se retornado
PromocoesAplicadas.Itens.DescontoCalculado

Valor do desconto que deverá aplicado no item/sequencia.

O valor retornado já está calculado considerando a quantidade do item, não é necessária nenhum calculo em cima do retornado.

Sim, se retornado
PromocoesAplicadas.Itens.PrecoCalculadoPreço total liquido calculado do item, PrecoBase (enviado pelo PDV) * Quantidade - DescontoCalculado Sim, se retornado
PromocoesAplicadas.Itens.PrecoBasePreço liquido do produtoSim, se retornado
PromocoesAplicadas.Itens.QuantidadeQuantidade do itemSim, se retornado
MensagemImpressaoMensagem promocional que deverá ser impressa após a finalização da vendaSim, se retornado
TipoImpressora

Determina o local da mensagem promocional, sendo: 

0-Cupom fiscal, campo de mensagem complementar 

1 - comprovante não fiscal após a emissão do cupom fiscal e TEF.

Sim, se retornado



Importante

  • Um item poderá estar presente em mais de uma promoção, pois as promoções são acumulativas.
  • A aplicação das promoções deverá respeitar a ordem retornada pelo Motor de Promoções, pois caso o item esteja em mais de uma promoção o DescontoCalculado será retornado já considerando o valor liquido do item após a aplicação de outras promoções. 
  • As informações PromocoesAplicadas.Id e PromocoesAplicadas.Descricao deverão ser armazenadas pelo totem, pois deverão ser enviadas na finalização da venda. 
  • Deve ser considerado apenas dos valores do MensagemImpressao e TipoImpressora da ultima interação da chamada do Recalcular, pois os valores não são acumulativos os valores sempre serão atualizados conforme as promoções retornadas no momento.



11.4. Encerrar carrinho

Método utilizado para encerrar uma transação no Motor de Promoções. O totem deverá chamar este método ao final da venda a fim de sinalizar que a transação foi finalizada com sucesso ou cancelada.

Método  /api/motorpromocaoterceiro/encerrar

Exemplo de Requisição

 /api/motorpromocaoterceiro/encerrar - Requisição
{
	"Versao": "3.2.18.0",
	"Loja": 9006882,
	"PDV": 2,
	"NumeroVenda": 647,
	"DataHoraInicioVenda": "2022-10-17T12:01:30.5945197-03:00",
	"DataHoraTerminoVenda": "2022-10-17T12:05:52.8626279-03:00",
	"IDTransacao": "9f5ed307-930b-41f4-b03d-3f06d006c82c",
	"Cancelado": false,
	"ValorLiquido": 0.0,
	"URL": "http://localhost:6000",
	"MotorPromocaoAtivo": true,
	"NomeRede": "Boticario"
}

Parâmetro

Descrição

Requerido

VersaoVersão do totemSim
LojaNúmero de série da lojaSim
PDVNúmero do totem, armazenado como dispositivo no PDV OmniSim
NumeroVendaNúmero do atendimentoSim
DataHoraInicioVendaData e hora do inicio da vendaSim
DataHoraTerminoVendaData e hora do termino da vendaSim
Cancelado

Determina se a venda foi cancelada ou finalizada com sucesso. 

Caso a venda tenha sido finalizada com sucesso enviar False, em caso de cancelamento enviar True

Sim
ValorLiquidoValor total liquido da vendaSim
URL

URL de comunicação com Motor de Promoções

Enviar o valor obtido no parâmetro chave 9171

Sim
MotorPromocaoAtivoEnviar "True"Sim


Exemplo de Retorno

 /api/motorpromocaoterceiro/encerrar - Retorno
{
    "success": true,
    "message": "MotorPromocaoTerceiro",
    "data": {}
  }


11.5. Consultar produto

Método utilizado para consultar o preço promocional de um produto no Motor de Promoções, independente de um carrinho, cliente ou cupons promocionais.

Método  /api/motorpromocaoterceiro/obterpreco

Exemplo de Requisição

/api/motorpromocaoterceiro/obterpreco - Requisição
{
  "CPFConsumidor": null,
  "Cupons": null,
  "IDTransacao": null,
  "ItemPromocao": [
    {
      "IdProduto": 523,
      "Sequencia": 1,
      "ProdutoPromocao": {
        "Marca": null,
        "SKU": "7897596080096",
        "SubCategoriaProdutoPromocao": null
      }
  ],
  "PDV": "2",
  "Versao": "3.2.18.0",
  "URL": "http://localhost:6000",
  "MotorPromocaoAtivo": true,
  "NomeRede": "Boticario"
}

Parâmetro

Descrição

Requerido

CPFClienteInternoNão
CuponsInterno, não é necessário enviarNão
IDTransacaoId da transação aberto no Motor de PromoçõesNão
ItemPromocao[]Lista de itens consultadoSim
ItemPromocao.IdProdutoId do produto retornado na consulta de produto, propriedade codigosIdentificacoesProdutos.idProdutoSim
ItemPromocao.SequenciaNúmero de sequência do produto na consultaSim
ItemPromocao.ProdutoPromocao.MarcaMarca do produto, enviar nullNão
ItemPromocao.ProdutoPromocao.SKUCódigo do produto retornado na consulta de produto, propriedade codigosIdentificacoesProdutos.codigoSim
ItemPromocao.ProdutoPromocao.SubCategoriaProdutoPromocaoSubcategoria do produto, enviar nullNão
URL

URL de comunicação com Motor de Promoções

Enviar o valor obtido no parâmetro chave 9171

Sim
NomeRedeNome da rede da loja (obter a partir da loja)Sim
MotorPromocaoAtivoEnviar "True"Sim
ValorLiquidoValor total liquido do carrinhoSim


Exemplo de Retorno

/api/motorpromocaoterceiro/obterpreco - Retorno
 


No TOTEM será apresentado o fluxo abaixo para aplicação de descontos com Motor de Promoções:


              

       Calculando os descontos para                                      Detalhamento dos descontos

               os itens informados


                           

      Detalhamento dos produtos                               Campo para informar um                         Cálculo da promoção com cupom promocional

                                                                                      cupom promocional



12. Finalizar Venda


Método utilizado para finalizar a venda no emissor fiscal (NFC-e ou SAT). Comunicação com a API TOTVS Varejo PDV Omni/Self Checkout

Exemplo de Requisição

POST: api/SelfCheckout/FecharVenda

NFCe / SAT
{
  "NumeroPDV": 24,
  "CodigoVendedor": "695",   
  "CpfFidelidade": 76224778779,
  "CpfConsumidor": 76224778779,
  "IdTransacaoMotorPromocaoTerceiro": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "Descontos": [
    {
      "ValorDesconto":"0.02",
      "DescricaoMotivoDesconto":"Para Cada 6 Sai 10",
      "TipoDesconto": "Manual"
    },
    {
      "ValorDesconto":"3.65",
      "DescricaoMotivoDesconto":"Desconto Fidelidade",       
      "TipoDesconto": "Fidelidade"
    }
  ],
  "Itens": [
    {
      "CodigoProduto": "2000000",
      "Quantidade": 6,
      "Preco": 5.50,
      "Descontos": [
        {
          "ValorDesconto":"22.98",
          "DescricaoMotivoDesconto":"Para Cada 6 Sai 10",
          "IdMotivoMotorPromocaoTerceiro": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "MecanicaMotorPromocaoTerceiro": 5
        }
      ],    
    },
    {
      "CodigoProduto": "1000097",
      "Quantidade": 3,
      "Preco": 2.75,      
      "Descontos": [], 
    }
  ],
  "Pagamentos": [
    {
      "Tipo": 3,
      "QuantidadeParcelas": 1,
      "ValorTotal": 2.60,
      "Autorizacao": "15635",
      "Nsu": "000024455",
      "Administradora": "5",
      "Bandeira": "00002"
    },
    {
      "Tipo": 2,
      "QuantidadeParcelas": 1,
      "ValorTotal": 12.00,
      "Autorizacao": "45678",
      "Nsu": "123444",
      "Administradora": "5",
      "Bandeira": "00002"
    }
  ]  
}


Especificação dos campos a informar:

CampoDescriçãoObservação/validação
NumeroPDVCódigo identificador do PDVObrigatório
CodigoVendedorCódigo do vendedor para atribuir a vendaOpcional
CnpjLojaCNPJ da lojaObrigatório
CpfFidelidadeCPF do cliente identificado na vendaOpcional
CpfConsumidorCPF do cliente identificado para incentivo fiscalOpcional
IdTransacaoMotorPromocaoTerceiroRetornado no endpoint Iniciar do motorOpcional
Descontos[]Lista de descontos na capa (desconto no total)Opcional
  Descontos[].ValorDescontoValor do desconto no totalMaior ou igual a 0
  Descontos[].DescricaoMotivoDescontoDescrição do motivo de desconto no totalObrigatório, se ValorDesconto > 0
  Descontos[].TipoDescontoManual / FidelidadeObrigatório
Itens[]Lista de produtosObrigatório
  Itens[].CodigoProdutoCódigo do produtoObrigatório
  Itens[].QuantidadeQuantidade do itemObrigatório
  Itens[].PrecoValor bruto do itemObrigatório
  Itens[].Descontos[]Lista de descontos no item
    Descontos[].ValorDescontoValor de desconto do itemMaior ou igual a 0
    Descontos[].DescricaoMotivoDescontoDescrição do motivo de desconto do itemObrigatório, se Itens.ValorDesconto > 0
    Descontos[].IdMotivoMotorPromocaoTerceiroPromocoesAplicadas.Id (retorno do endpoint Recalcular do motor)Obrigatório
    Descontos[].MecanicaMotorPromocaoTerceiropromocoesAplicadas.mecanica (Retorno do endpoint Recalculcular do motor)Obrigatório
Pagamentos[]Lista de pagamentosObrigatório
  Pagamentos[].TipoCódigo do tipo de pagamento (ver tabela abaixo)De 0 a 3
  Pagamentos[].QuantidadeParcelasNúmero de parcelasMaior ou igual a 1
TipoCampo Sitef: 505
  Pagamentos[].ValorTotalTotal da forma de pagamentoMaior que 0
  Pagamentos[].AutorizacaoNúmero da autorização (TEF)

Obrigatório, se Pagamentos.Tipo = 2 ou 3

TipoCampo Sitef: 135

  Pagamentos[].NsuNSU (TEF)

Obrigatório, se Pagamentos.Tipo = 2 ou 3

TipoCampo Sitef: 133

  Pagamentos[].AdministradoraCódigo administradora (TEF)

Obrigatório, se Pagamentos.Tipo = 2 ou 3

TipoCampo Sitef: 131

  Pagamentos[].BandeiraCódigo bandeira (TEF)

Obrigatório, se Pagamentos.Tipo = 2 ou 3

TipoCampo Sitef: 132


Códigos do Tipo de Pagamento:

Forma de pagamentoTipo
Outros0
Dinheiro1
Crédito2
Débito3


Exemplos de Retorno

  • Modelo fiscal NFCe

Emitida online
{
  "Mensagem": "NFC-e",
  "DadosVenda": {
    "Processado": true,
    "Numero": "13",
    "ChaveConsulta": "13200982373077000171653590000000131330451293",
    "DataTransmissao": "2020-09-16T21:28:56",
    "CodigoErro": "",
    "DetalhesProcessamento": "Lote processado",
    "Xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><nfeProc versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\" ><NFe><infNFe versao=\"4.00\" Id=\"NFe13200982373077000171653590000000131330451293\"><ide><cUF>13</cUF><cNF>33045129</cNF><natOp>VENDA</natOp><mod>65</mod><serie>359</serie><nNF>13</nNF><dhEmi>2020-09-16T21:28:50-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>1302603</cMunFG><tpImp>4</tpImp><tpEmis>1</tpEmis><cDV>3</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>1.0.0.0</verProc></ide><emit><CNPJ>82373077000171</CNPJ><xNome>R DAL RI</xNome><xFant>LOJA MANAUS</xFant><enderEmit><xLgr>RUA NOEL NUTELS</xLgr><nro>1762</nro><xBairro>CIDADE NOVA</xBairro><cMun>1302603</cMun><xMun>MANAUS</xMun><UF>AM</UF><CEP>69095000</CEP><cPais>1058</cPais><xPais>Brasil</xPais></enderEmit><IE>054134722</IE><CRT>3</CRT></emit><dest><CPF>76224778779</CPF><xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome><indIEDest>9</indIEDest></dest><det nItem=\"1\"><prod><cProd>2000000</cProd><cEAN>7896986231339</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>18069000</NCM><CEST>1700600</CEST><indEscala>S</indEscala><CFOP>5405</CFOP><uCom>UN</uCom><qCom>6.0000</qCom><vUnCom>5.5000</vUnCom><vProd>33.00</vProd><cEANTrib>7896986231339</cEANTrib><uTrib>UN</uTrib><qTrib>6.0000</qTrib><vUnTrib>5.5000</vUnTrib><vDesc>24.99</vDesc><indTot>1</indTot></prod><imposto><vTotTrib>0.00</vTotTrib><ICMS><ICMS60><orig>0</orig><CST>60</CST></ICMS60></ICMS><PIS><PISNT><CST>04</CST></PISNT></PIS><COFINS><COFINSNT><CST>04</CST></COFINSNT></COFINS></imposto></det><det nItem=\"2\"><prod><cProd>1000097</cProd><cEAN>7896986231469</cEAN><xProd>TRUFFON ART CEREJA 30G</xProd><NCM>18069000</NCM><CEST>1700600</CEST><indEscala>S</indEscala><CFOP>5405</CFOP><uCom>UN</uCom><qCom>3.0000</qCom><vUnCom>2.7500</vUnCom><vProd>8.25</vProd><cEANTrib>7896986231469</cEANTrib><uTrib>UN</uTrib><qTrib>3.0000</qTrib><vUnTrib>2.7500</vUnTrib><vDesc>1.66</vDesc><indTot>1</indTot></prod><imposto><vTotTrib>0.00</vTotTrib><ICMS><ICMS60><orig>5</orig><CST>60</CST></ICMS60></ICMS><PIS><PISNT><CST>04</CST></PISNT></PIS><COFINS><COFINSNT><CST>04</CST></COFINSNT></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>41.25</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>26.65</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>14.60</vNF><vTotTrib>0.00</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>03</tPag><vPag>12.00</vPag><card><tpIntegra>2</tpIntegra></card></detPag><detPag><indPag>0</indPag><tPag>04</tPag><vPag>2.60</vPag><card><tpIntegra>2</tpIntegra></card></detPag><vTroco>0.00</vTroco></pag><infAdic><infCpl>OBSERVACOES DO CONTRIBUINTE                                         Trib Aprox: R$ 0.00 Fed, 0.00 Est, 0.00 Mun, Total R$ 0.00          Fonte IBPT 0                                                        Vend: Usuario Padrao                                                Compra realizada via Self Checkout                                  ***Compra nao pontuada no Fidelidade***</infCpl></infAdic><infRespTec><CNPJ>82373077000171</CNPJ><xContato>Desenvolvimento</xContato><email>[email protected]</email><fone>1145838800</fone></infRespTec></infNFe><infNFeSupl><qrCode><![CDATA[https://sistemas.sefaz.am.gov.br/nfceweb-hom/consultarNFCe.jsp?p=13200982373077000171653590000000131330451293|2|2|1|F2CE34662E9DC615092FDBAF0E729F6882AA1FAF]]></qrCode><urlChave>http://sistemas.sefaz.am.gov.br/nfceweb-hom/formConsulta.do</urlChave></infNFeSupl><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#NFe13200982373077000171653590000000131330451293\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>EiGmSq53mQ4BJplbYVJdBS5N/rs=</DigestValue></Reference></SignedInfo><SignatureValue>MVEsNgAp7+VmbgTLpMUT9jafmf6vGnIr67EQ0CfiOWlXXqOVGSWkcPxhOVi6deFqXm+KuJGcRyVtEJesVJVByf7s+RyovHIYaMAXdKEhtvCewSwc0nG8SXSd7dhkGuD54lRYveDU9gobTiNlH0VahsPkrI1gHc/SrLPXoOFm1t82HwEF0wGf9iLBOXZivqVsn1JbzBTt/9at3nLs392AwmLO82dwT2KhqNO0Le3q3RBBEZI6/4hM1BCfx7zHc9Os4zuSc0IzQCiSfYsSw+2DUJgkVQbYXTaCTKknvuodLT2WrfZXwOhlgkTPAlAlI+mFxhDNLTnXaPRczI8cDgp4Hw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe><protNFe versao=\"4.00\"><infProt><tpAmb>2</tpAmb><verAplic>AM3.10-4.00</verAplic><chNFe>13200982373077000171653590000000131330451293</chNFe><dhRecbto>2020-09-16T21:28:50-03:00</dhRecbto><nProt>113200008881996</nProt><digVal>EiGmSq53mQ4BJplbYVJdBS5N/rs=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e [Exija sempre a nota. Sao varios premios DIARIOS. Voce podera ser premiado na proxima!]</xMotivo></infProt></protNFe></nfeProc>"
  },
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}
Virada de contingência
{
  "Mensagem": "NFC-e",
  "DadosVenda": {
    "Processado": true,
    "Numero": "36464",
    "ChaveConsulta": "13200782373077000171650020000364649255328479",
    "DataTransmissao": null,
    "CodigoErro": "",
    "DetalhesProcessamento": "[Virada de contingência] Falha na comunicação com os servidores da SEFAZ.",
    "Xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><enviNFe versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\" ><idLote>0</idLote><indSinc>1</indSinc><NFe><infNFe versao=\"4.00\" Id=\"NFe13200782373077000171650020000364649255328479\"><ide><cUF>13</cUF><cNF>25532847</cNF><natOp>VENDA</natOp><mod>65</mod><serie>2</serie><nNF>36464</nNF><dhEmi>2020-07-30T16:44:50-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>1302603</cMunFG><tpImp>4</tpImp><tpEmis>9</tpEmis><cDV>9</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>1.0.0.0</verProc><dhCont>2020-07-30T16:44:50-03:00</dhCont><xJust>EMITIDA EM CONTINGENCIA</xJust></ide><emit><CNPJ>82373077000171</CNPJ><xNome>13202-LAH-SHOPPING VIA VERDE-RIO BRANCO</xNome><xFant>13202-LAH-SHOPPING VIA VERDE-RIO BRANCO</xFant><enderEmit><xLgr>AV MARIA COLEHO AGUIAR</xLgr><nro>215</nro><xBairro>JARDIM SAO LUIS</xBairro><cMun>1302603</cMun><xMun>MANAUS</xMun><UF>AM</UF><CEP>05805000</CEP><cPais>1058</cPais><xPais>Brasil</xPais></enderEmit><IE>999999990</IE><CRT>1</CRT></emit><det nItem=\"1\"><prod><cProd>30006</cProd><cEAN>7891000243527</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>33051000</NCM><CFOP>5102</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>100.0000</vUnCom><vProd>100.00</vProd><cEANTrib>7891000243527</cEANTrib><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>100.0000</vUnTrib><vDesc>10.00</vDesc><indTot>1</indTot></prod><imposto><vTotTrib>0.00</vTotTrib><ICMS><ICMSSN102><orig>0</orig><CSOSN>102</CSOSN></ICMSSN102></ICMS><PIS><PISAliq><CST>01</CST><vBC>90.00</vBC><pPIS>0.6500</pPIS><vPIS>0.58</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>90.00</vBC><pCOFINS>3.0000</pCOFINS><vCOFINS>2.70</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>100.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>10.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.58</vPIS><vCOFINS>2.70</vCOFINS><vOutro>0.00</vOutro><vNF>90.00</vNF><vTotTrib>0.00</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>03</tPag><vPag>90.00</vPag><card><tpIntegra>2</tpIntegra></card></detPag><vTroco>0.00</vTroco></pag><infAdic><infCpl>OBSERVACOES DO CONTRIBUINTE                                         Trib Aprox: R$ 0,00 Fed, 0,00 Est, 0,00 Mun, Total R$ 0,00          Fonte IBPT 0                                                        Vend: Usuario Padrao                                                Compra realizada via Self Checkout                                  ***Compra nao pontuada no Fidelidade***</infCpl></infAdic><infRespTec><CNPJ>82373077000171</CNPJ><xContato>Desenvolvimento</xContato><email>[email protected]</email><fone>1145838800</fone></infRespTec></infNFe><infNFeSupl><qrCode><![CDATA[https://sistemas.sefaz.am.gov.br/nfceweb-hom/consultarNFCe.jsp?p=13200782373077000171650020000364649255328479|2|2|30|90.00|375a456175336274646c32466c6136524b3371666a5853734e49343d|1|444689C7828521C80B0AD186CE33D092915B4C0F]]></qrCode><urlChave>http://sistemas.sefaz.am.gov.br/nfceweb-hom/formConsulta.do</urlChave></infNFeSupl><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#NFe13200782373077000171650020000364649255328479\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>7ZEau3btdl2Fla6RK3qfjXSsNI4=</DigestValue></Reference></SignedInfo><SignatureValue>CmDPVFOcVFGkchlWUSqHZ+cHP/r2/B2RM5OQJ5VcKrE0SXD0VKjGdrwwzoBymJneGt3yEPxp8aUrtEy1JgJp2Av4Gfrr9s0jlvl3yFs/PWQY2GMTJ/ioDpnba3UO7w72OccqwdlEdPL4sia8qHZ+oeV6Op57LiJ8L/ENCUW3uW4D2noqu2GdF6BtZqS7+Znlhx+QqJzjwvBhZeBh0EAVM7hG1scJXtkOYMNGRRppYXsztjoV/sEK/ykv3tf1EcNVQq1pKhL0NxD87tZ8OXew5PDcZ+HSALEksprIML30gXkbC93zK9yv1CU+X560hw3UCzMOSILGUOJLR2jmxEgaLQ==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe></enviNFe>"
  },
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}
Emitida em contingência
{
  "Mensagem": "NFC-e",
  "DadosVenda": {
    "Processado": true,
    "Numero": "36465",
    "ChaveConsulta": "13200782373077000171650020000364659574705595",
    "DataTransmissao": "2020-07-30T16:53:06",
    "CodigoErro": "",
    "DetalhesProcessamento": null,
    "Xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><enviNFe versao=\"4.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\" ><idLote>0</idLote><indSinc>1</indSinc><NFe><infNFe versao=\"4.00\" Id=\"NFe13200782373077000171650020000364659574705595\"><ide><cUF>13</cUF><cNF>57470559</cNF><natOp>VENDA</natOp><mod>65</mod><serie>2</serie><nNF>36465</nNF><dhEmi>2020-07-30T16:53:00-03:00</dhEmi><tpNF>1</tpNF><idDest>1</idDest><cMunFG>1302603</cMunFG><tpImp>4</tpImp><tpEmis>9</tpEmis><cDV>5</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><indFinal>1</indFinal><indPres>1</indPres><procEmi>0</procEmi><verProc>1.0.0.0</verProc><dhCont>2020-07-30T16:53:00-03:00</dhCont><xJust>EMITIDA EM CONTINGENCIA</xJust></ide><emit><CNPJ>82373077000171</CNPJ><xNome>13202-LAH-SHOPPING VIA VERDE-RIO BRANCO</xNome><xFant>13202-LAH-SHOPPING VIA VERDE-RIO BRANCO</xFant><enderEmit><xLgr>AV MARIA COLEHO AGUIAR</xLgr><nro>215</nro><xBairro>JARDIM SAO LUIS</xBairro><cMun>1302603</cMun><xMun>MANAUS</xMun><UF>AM</UF><CEP>05805000</CEP><cPais>1058</cPais><xPais>Brasil</xPais></enderEmit><IE>999999990</IE><CRT>1</CRT></emit><det nItem=\"1\"><prod><cProd>30006</cProd><cEAN>7891000243527</cEAN><xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd><NCM>33051000</NCM><CFOP>5102</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>100.0000</vUnCom><vProd>100.00</vProd><cEANTrib>7891000243527</cEANTrib><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>100.0000</vUnTrib><vDesc>10.00</vDesc><indTot>1</indTot></prod><imposto><vTotTrib>0.00</vTotTrib><ICMS><ICMSSN102><orig>0</orig><CSOSN>102</CSOSN></ICMSSN102></ICMS><PIS><PISAliq><CST>01</CST><vBC>90.00</vBC><pPIS>0.6500</pPIS><vPIS>0.58</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>90.00</vBC><pCOFINS>3.0000</pCOFINS><vCOFINS>2.70</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>100.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>10.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.58</vPIS><vCOFINS>2.70</vCOFINS><vOutro>0.00</vOutro><vNF>90.00</vNF><vTotTrib>0.00</vTotTrib></ICMSTot></total><transp><modFrete>9</modFrete></transp><pag><detPag><indPag>0</indPag><tPag>03</tPag><vPag>90.00</vPag><card><tpIntegra>2</tpIntegra></card></detPag><vTroco>0.00</vTroco></pag><infAdic><infCpl>OBSERVACOES DO CONTRIBUINTE                                         Trib Aprox: R$ 0,00 Fed, 0,00 Est, 0,00 Mun, Total R$ 0,00          Fonte IBPT 0                                                        Vend: Usuario Padrao                                                Compra realizada via Self Checkout                                  ***Compra nao pontuada no Fidelidade***</infCpl></infAdic><infRespTec><CNPJ>82373077000171</CNPJ><xContato>Desenvolvimento</xContato><email>[email protected]</email><fone>1145838800</fone></infRespTec></infNFe><infNFeSupl><qrCode><![CDATA[https://sistemas.sefaz.am.gov.br/nfceweb-hom/consultarNFCe.jsp?p=13200782373077000171650020000364659574705595|2|2|30|90.00|754f72494a4977666d32345a39336368307475492f79352b35666f3d|1|62EB36F127EB4781A0DF14E1FEF9DD7E0B336E5F]]></qrCode><urlChave>http://sistemas.sefaz.am.gov.br/nfceweb-hom/formConsulta.do</urlChave></infNFeSupl><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/><Reference URI=\"#NFe13200782373077000171650020000364659574705595\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><DigestValue>uOrIJIwfm24Z93ch0tuI/y5+5fo=</DigestValue></Reference></SignedInfo><SignatureValue>DRrfLzKv4GKfYyjWUrlhv/ekhsg9YRIwI5auA7rtADhYByRlh8ivCpMtcJS8dcMDZ4M7cAYfF6PHIDRsPlXG+ozNJSjQMaPM1kbZdWfcyN+p5Y3/SHgvovtR6RHeaMAAkISOY8/ObFgjwcGDm3G2t3RDhwU0Kfdv4akOoZSzN6ZCNZN7aaTQMF7F4iKbCpK6l+WP8tKzMJXvYFNppo5XBn+5dYYPYOXno01FyjlZWKPgWjpqUxPel5a+nCX6Rx//1glRkAh/C29uHYrHeZV3mz/t/0dy5znwpFp+2a0dmZ1S3FS3tbNu/HEb0kBzWeeMbgZ/yYhG6Fbx6th/YyXG/g==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe></enviNFe>"
  },
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}
Erro
{
  "Mensagem": "Falha na emissao de cupom fiscal! Modelo Fiscal:NFC-e",
  "DadosVenda": {
    "Processado": false,
    "Numero": null,
    "ChaveConsulta": null,
    "DataTransmissao": null,
    "CodigoErro": null,
    "DetalhesProcessamento": null,
    "Xml": null
  },
  "Id": null,
  "DataAtualizacao": null,
  "Erros": [
    {
      "Codigo": "Totvs.Pdv.Api.Fiscal.NFCe.NFCePos+TipoErro.2",
      "MensagemUsuario": "FalhaComunicacao",
      "MensagemDesenvolvedor": "Falha na comunicação com fiscal manager"
    }
  ],
  "Sucesso": false
}
Rejeição da SEFAZ
{
  "Mensagem": "NFC-e",
  "DadosVenda": {
    "Processado": false,
    "Numero": "36487",
    "ChaveConsulta": "13200882373077000171650020000364871724447621",
    "DataTransmissao": null,
    "CodigoErro": "869",
    "DetalhesProcessamento": "Rejeicao: Valor do troco incorreto\r\nLote processado",
    "Xml": null
  },
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}


  • Modelo fiscal SAT

Emitida com sucesso
{
  "Mensagem": "SAT",
  "DadosVenda": {
    "Processado": true,
    "Numero": "1184",
    "ChaveConsulta": "41200782373077000171599000047660011842473616",
    "DataTransmissao": "2020-07-30T17:50:24",
    "CodigoErro": "",
    "DetalhesProcessamento": "venda SAT realizada com sucesso!",
    "Xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?><CFe><infCFe Id=\"CFe41200782373077000171599000047660011842473616\" versao=\"0.07\" versaoDadosEnt=\"0.07\" versaoSB=\"020100\"><ide><cUF>41</cUF><cNF>247361</cNF><mod>59</mod><nserieSAT>900004766</nserieSAT><nCFe>001184</nCFe><dEmi>20200730</dEmi><hEmi>175024</hEmi><cDV>6</cDV><tpAmb>2</tpAmb><CNPJ>16716114000172</CNPJ><signAC>SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT</signAC><assinaturaQRCODE>Nw9w4FR+Nmbl8iet5E0a9bHGvTql7aVk7KkQzRJaUZ2pKhrG9mQcP32V/cJ4o81FXQVww7hVi8X/EDTiQ4CBAEcW08f/O1IBMLsrVcgArtX21a/mzZIypt5m6fDTg5+zQHmLHq/4IzmrmSg01kBaRPqMGpwkljKpi4N4Dhx/FyvJoojf0gp2aYS4/rV1R5UtTcSJIeLrjR2vbykjwSGteI2zt1IBMDMTpTMFbwemoABsvElSQajP7d5zOnxSW0eDNlyQNCRwzptexFZOFmywDVKAmLtIF7tjZUxEWWSB5aq/Ol+YmWdHvf4rxjZsXk0CL+DX+Jm7P7KSa1GEAUb6ag==</assinaturaQRCODE><numeroCaixa>001</numeroCaixa></ide><emit><CNPJ>82373077000171</CNPJ><xNome>BEMATECH S.A</xNome><enderEmit><xLgr>AVENIDA RUI BARBOSA</xLgr><nro>2529</nro><xCpl>: MODULOS 06 07 E 08;</xCpl><xBairro>IPE</xBairro><xMun>SAO JOSE DOS PINHAIS</xMun><CEP>83055320</CEP></enderEmit><IE>111111111111</IE><cRegTrib>1</cRegTrib><indRatISSQN>N</indRatISSQN></emit><dest><CPF></CPF></dest><det nItem=\"1\"><prod><cProd>40012</cProd><cEAN>7891033283910</cEAN><xProd>CBEM PROT SOL OL CAN FPS15 120</xProd><NCM>33049990</NCM><CFOP>5102</CFOP><uCom>PC</uCom><qCom>1.0000</qCom><vUnCom>129.90</vUnCom><vProd>129.90</vProd><indRegra>A</indRegra><vDesc>0.00</vDesc><vOutro>0.00</vOutro><vItem>129.90</vItem><obsFiscoDet xCampoDet=\"codcest\"><xTextoDet>2001500</xTextoDet></obsFiscoDet></prod><imposto><vItem12741>0.00</vItem12741><ICMS><ICMSSN102><Orig>0</Orig><CSOSN>102</CSOSN></ICMSSN102></ICMS><PIS><PISAliq><CST>01</CST><vBC>129.90</vBC><pPIS>0.0065</pPIS><vPIS>0.84</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>129.90</vBC><pCOFINS>0.0300</pCOFINS><vCOFINS>3.90</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vICMS>0.00</vICMS><vProd>129.90</vProd><vDesc>0.00</vDesc><vPIS>0.84</vPIS><vCOFINS>3.90</vCOFINS><vPISST>0.00</vPISST><vCOFINSST>0.00</vCOFINSST><vOutro>0.00</vOutro></ICMSTot><vCFe>129.90</vCFe><vCFeLei12741>0.00</vCFeLei12741></total><pgto><MP><cMP>04</cMP><vMP>129.90</vMP></MP><vTroco>0.00</vTroco></pgto><infAdic><infCpl>Complemento</infCpl><obsFisco xCampo=\"xCampo1\"><xTexto>xTexto1</xTexto></obsFisco></infAdic></infCFe><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"></CanonicalizationMethod><SignatureMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\"></SignatureMethod><Reference URI=\"#CFe41200782373077000171599000047660011842473616\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"></Transform><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"></Transform></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha256\"></DigestMethod><DigestValue>DsS7NXK8+/0n3mJ1SG0IUo/uELTs5sxFRJPKoC0NhX0=</DigestValue></Reference></SignedInfo><SignatureValue>B8bQ23XpSgojvDTqwJbwFc5xtBi+nW5iaA2Enpbz/rWdGjsnvLffcFvG+ubC6wSH4DZJpanYa3ixES+zUKBED39mUcODYWB6n/L/smETGw45wZsqn2E+A7KJBgHEt4aa3SXCIvgLX/bCcT5X64kwUEE/iMa21nQ/j6Oy2avSZ1msstn7rzrN804gBaqYs/McFcVbCGIY22AiMYk5KZW3LabJJZmyIrtB2NfkSvx+freVnAo7TIGZaFqca3B/q6/q4gYQfZu4aRQJY26BZKGE+CU+DoRAlzkUYs3Jt6oNaBkbCmTMvma4jx3iSx5AmYEkFynTZ7TxMLOOxgOn044Y5w==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></CFe>"
  },
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}
Erro
{
   "Mensagem":"Falha ao erro emissao de cupom fiscal! Modelo Fiscal:SAT",
   "DadosVenda":{
      "Processado":false,
      "Numero":null,
      "ChaveConsulta":null,
      "DataTransmissao":null,
      "CodigoErro":null,
      "DetalhesProcessamento":null,
      "Xml":null
   },
   "Id":null,
   "DataAtualizacao":null,
   "Erros":[
      {
         "Codigo":"Totvs.Pdv.Core.HttpClientExtended+TipoErro.2",
         "MensagemUsuario":"FalhaDeserializacaoHttp",
         "MensagemDesenvolvedor":"Erro ao deserializar resposta api: 'http://10.172.104.16:9001/TotvsPDV//SAT/EnviarDadosVenda/'",
         "Excecao":"Mensagem: Falha de comunicação\nStackTrace: em Totvs.Pdv.Core.HttpClientExtended.<Send>d__0`1.MoveNext() na C:\\Fontes\\PdvMobile\\3.2_release\\Fontes\\Pdv\\Framework\\Totvs.Pdv.Core\\HttpClientExtended.cs:linha 127\nSource: Totvs.Pdv.Core\nException: System.Exception: Falha de comunicação\r\n em Totvs.Pdv.Core.HttpClientExtended.<Send>d__0`1.MoveNext() na C:\\Fontes\\PdvMobile\\3.2_release\\Fontes\\Pdv\\Framework\\Totvs.Pdv.Core\\HttpClientExtended.cs:linha 127"
      }
   ],
   "Sucesso":false
}


No TOTEM será apresentado o fluxo abaixo para finalização da venda:


                               

   Iniciar o fechamento da venda                                      Escolher as formas de pagamento


                         

       Venda sendo processada                                          Venda finalizada e cupons impressos




13. Cancelar Venda 

Para o cancelamento da venda, são necessários três passos, adquirir dados da venda para validar status e obter informações utilizadas nos próximos requests, cancelamento fiscal  e caso seja retornado sucesso o cancelamento da venda no banco local para integração com o Retaguarda.


Passo 1

Método utilizado para localizar dados da venda no banco local. Comunicação com a API TOTVS Varejo PDV Omni

Exemplo de Requisição
GET
: /api/venda&Coo=205&SerieNota=1&Situacao=1

Exemplo de Retorno

api/Venda
{
   "success":true,
   "message":"Venda",
   "data":[
      {
         "ccf":"205",
         "coo":"205",
         "vendaData":"2022-08-05T10:06:34.631533",
         "idTransacaoFidelidade":null,
         "numeroPdv":"1",
         "numeroReducaoZ":null,
         "situacaoVenda":0,
         "valorLiquido":921.5,
         "valorBruto":1031.5,
         "valorDescontoAcrescimo":null,
         "idMotivo":null,
         "idCaixa":"40",
         "idImpressoraSat":1,
         "sincronizadoVenda":1,
         "sincronizadoCancelamento":0,
         "sincronizadoFidelidade":0,
         "identificacaoCliente":null,
         "identificacaoFidelidade":"05414745889",
         "cpfCnpjConsumidor":"",
         "nomeConsumidor":"",
         "enderecoConsumidor":"",
         "idOperador":7,
         "chaveAcesso":"35220800740770000121590011985800002056261339",
         "idPreVenda":295,
         "serieNota":0,
         "tipoVenda":1,
         "modeloFiscal":1,
         "cepConsumidor":"",
         "numeroConsumidor":"",
         "complementoConsumidor":"",
         "bairroConsumidor":"",
         "cidadeConsumidor":"",
         "estadoConsumidor":"",
         "promocaoMotor":0,
         "promocaoSms":0,
         "campanhaPromocional":0,
         "codigoPromocional":"",
         "idCampanhaPromocional":null,
         "idTransacaoMotorPromocaoTerceiro":null,
         "idCanalVenda":null,
         "idPedidoOmni":null,
         "numeroPedidoOmni":null,
         "modalidadeVenda":null,
         "md5Paf":null,
         "sistemaPdv":2,
         "limiteCompra":null,
         "usuario":{},
         "vendaDescontosAcrescimos":[{ }],
         "vendaItens":[{ }],
         "vendaPagamentos":[{ }],
         "id":186,
         "idRetaguarda":"9b7d267d-760c-4366-bedd-f1689409a4ab",
         "situacao":1,
         "dataCadastro":"2022-08-05T10:06:34.633754",
         "dataAtualizacao":"2022-08-05T10:06:34.633755",
         "_expandables":[
            
         ]
      }
   ]
}  


Passo 2

Método utilizado para cancelar venda no emissor fiscal (NFC-e). Comunicação com a API Fiscal TOTVS Varejo PDV Omni

Exemplo de Requisição:

POST: /api/nfce/cancelar

Exemplo de Requisição
{
  "Serie": "359",
  "Nota": "50",
  "DataHoraVenda": "2021-10-02T22:25:15",
  "NumeroPDV": "24",
  "NomeOperador": "string",
  "IdLoja": 1,
 "ModoApresentacao": false,
  "ImprimirComprovante": true,
  "ImpressaoModoCondensado": true,
  "LogAtivado": true,
  "SalvarXml": true,
  "IdRetaguarda": "81e285d4-7872-42aa-adca-def63bfec1f6",
  "DataAtualizacao": "2021-10-02T22:25:15",
  "Situacao": true
}


Exemplo de Retorno
{
  "ChaveConsulta": "13210282373077000171653590000000501714582947",
  "NumeroNota": "50",
  "SerieNota": "359",
  "DetalhesProcessamento": null,
  "Processado": true,
  "CodigoErro": null,
  "DataHoraVenda": "2021-10-02T22:25:15",
  "NumeroPDV": "24",
  "NomeOperador": "string",
  "CancelamentoImpressao": null,
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}


Passo 3

Método utilizado para cancelar venda no banco local. Comunicação com a API TOTVS Varejo PDV Omni

Exemplo de Requisição:

PACTH : /api/Venda

Exemplo de Requisição
{
  "Id": 569,
  "IdVendedor": 1,
  "VersaoPOS": "",
  "CodigoIdentificacaoLoja": "121921184",
  "NumeroPDV": 24,
  "DataAtualizacao": "2021-10-02T22:41:15",
  "Situacao": true
}
Exemplo de Retorno
{
  "Id": null,
  "DataAtualizacao": null,
  "Sucesso": true
}




14. Identificação das vendas - Self Checkout


Todas as vendas realizadas no Self checkout serão gravadas no banco do PDV Omni e integradas normalmente na Retaguarda TVFR, onde fica disponível para visualização nos relatórios da aplicação.

No Relatório: Comercial > Consulta analítica será possível visualizar quais vendas foram efetuadas no TOTEM de acordo com o campo: Sistema PDV que passará a ter essas vendas identificadas como: Self Checkout:






  • Sem rótulos