Escolar Documentos
Profissional Documentos
Cultura Documentos
Documentacao WEBService REST Ecletica E GarcomPro Mesa Comanda Balcao 3.2.0
Documentacao WEBService REST Ecletica E GarcomPro Mesa Comanda Balcao 3.2.0
Comanda - Balcão
Versão: 3.2.0 (atualizado em 23/01/2024)
Os serviços são desenvolvidos em REST em formato JSON (Javascript Object Notation). Os verbos
HTTP utilizados nestes serviços são POST e GET. O timeout para cada requisição é de no máximo
60 segundos.
1
Autenticação
Existem dois modelos de se conectar à API Eclética, de forma local(HTTP) e online(HTTPS).
Cada modelo tem seu próprio endpoint com seus devidos parâmetros específicos. O header
loginToken para autenticação difere para cada modo de conexão e será enviado pela Eclética
para o integrador.
API Local:
Endpoint: http://IP_API:PORTA/ecletica_ws/services/?metodo={nome_metodo}
IP_API: Esta sigla deve ser substituída pelo número IP da máquina onde a API está instalada.
PORTA: Geralmente utilizamos a porta 8080 para as requisições, se por necessidade específica a
porta da API estiver em outro range, o ideal é entrar em contato com nosso suporte.
metodo: Em cada método terá o nome que deve ser enviado em nome_metodo
metodo: Em cada método terá o nome que deve ser enviado em nome_metodo
2
Verificações Iniciais (GET)
Retorna dados em geral como versão da API, dados do próprio dispositivo e configurações da
loja como número de mesas, comandas, e etc...
metodo: verificacoesIniciais
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"versao_api": "1.1.2",
"numero_pocket": "1",
"ip": "192.168.0.6",
"usa_multisabor": "S",
"operacao_multisabor": "V",
"comandas_min": "1",
"comandas_max": "50",
"mesas": "50",
}
}
3
Explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais do método
verificacoesIniciais:
Obs: dados como numero_pocket e ip são importantes serem armazenados em sua app para envio
posterior de alguns métodos específicos. É importante que este método seja realizado primeiro, pois
a partir dos dados de resposta, esses outros métodos recebem seus parâmetros.
4
Lista Detalhe Bandeiras (GET)
metodo: listaDetalheBandeiras
5
ó
á
é
ç
ã
Segue explica o da estrutura de cada par metro de resposta do n dados_adicionais-
>bandeiras do m todo listaDetalheBandeiras:
6
ó
ó
ó
ç
ã
ç
ã
é
ç
ã
ã
á
á
â
ç
ã
ã
ó
ó
Lista Grupos (GET)
metodo: listaGrupos
Ex endpoint: ?metodo=listaGrupos&num_pocket=X…
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"colecao": {
"grupos": [{
"cod_grupo": "4",
"descr_grupo": "Entradas",
"cor_grupo": "#ffff80",
"cor_fonte": "#000000",
"porc_desc": "0.00",
"valor_f": "0.00",
"valor_i": "0.00",
"descr_eua": "",
"descr_esp": "",
"descr_bra": "",
"imagem": ""
}, {
"cod_grupo": "5",
"descr_grupo": "Lanches",
"cor_grupo": "#ff0000",
"cor_fonte": "#ffffff",
"porc_desc": "0.00",
"valor_f": "0.00",
"valor_i": "0.00",
"descr_eua": "",
7
"descr_esp": "",
"descr_bra": "",
"imagem": ""
}, {
"cod_grupo": "8",
"descr_grupo": "Pizzas",
"cor_grupo": "#ff8000",
"cor_fonte": "#000000",
"descr_eua": "",
"descr_esp": "",
"descr_bra": "",
"imagem": ""
}, {
"cod_grupo": "9",
"descr_grupo": "Pizzas Doces",
"cor_grupo": "#0000ff",
"cor_fonte": "#ffffff",
"descr_eua": "",
"descr_esp": "",
"descr_bra": "",
"imagem": ""
}, {
"cod_grupo": "2",
"descr_grupo": "Refrigerantes",
"cor_grupo": "#80ff00",
"cor_fonte": "#000000",
"descr_eua": "refri",
"descr_esp": "refri",
"descr_bra": "refri",
"imagem": ""
}],
"subgrupos": [{
"cod_sub_grupo": "1",
"cod_grupo": "8",
"descricao": "Pizzas Grande Salgada"
}, {
"cod_sub_grupo": "1",
"cod_grupo": "9",
"descricao": "Pizzas Grande Doce"
}]
}
}
}
8
Segue explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais-
>colecao (grupos e subgrupos) do método listaGrupos:
grupos:
Alguns campos extras podem aparecer no JSON de resposta, porém não são utilizados nos métodos
de inserção de itens na mesa/comanda.
subgrupos:
9
Lista Produtos (GET)
metodo: listaProdutos
10
"impressao2": "0",
"cod_sub_grupo": null,
"nome_sub_grupo": null,
“ordem_touch” : 2.00000,
“produto_pizza” : ’N',
“cod_grupo_web”: “0",
“descricao_web” : “Stela Artois",
“info_extra_web”: “”,
“qtde_calorica”: “0”,
“info_nutricional”: “”,
"service_open_delivery”: “DELIVERY, TAKEOUT, INDOOR”,
“url_imagem_od”: “”
}]
}
}
11
fi
fi
fi
cod_unid String Código da unidade física que é utilizada para vender
o produto, os códigos padrões são: “0” quilo, “1”
litro, “2” unidade.
impressao1 String Número da impressora que imprime a primeira via
da compra.
impressao2 String Número da impressora que imprime a segunda via da
compra.
cod_sub_grupo String ID do código do subgrupo ao qual o produto
pertence.
nome_sub_grupo String Nome do subgrupo ao qual o produto pertence.
ordem_touch Double(1,5) Número usado para ordenação dos produtos na lista
de exibição.
produto_pizza String Flag que demarca se o produto é o item principal da
pizza. Ex: Pizza Grande 2 Sabores. “S” caso seja,
“N” caso não seja.
cod_grupo_web Integer ID do código do grupo web ao qual pertence este
produto.
descricao_web String Descrição alternativa do produto na web.
info_extra_web String Informação extra alternativa do produto.
qtde_calorica String Quantidade em calorias do produto.
info_nutricional String Informação nutricional do produto.
service_open_delivery String Exibe os tipos de serviços que este produto se
enquadra na loja: Ex: DELIVERY, TAKEOUT,
INDOOR
url_imagem_od String URL da imagem do produto hospedada no servidor
12
Lista Combos (GET)
metodo: listaCombos
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"combos": [{
"cod_prod_princ": "3",
"cod_prod_vinc": "7",
"qtde_obrig": "2.00",
"cor_combo": "#ffffff",
"cor_fonte": "#000000",
"descr_item": "Queijo Mussarela de Bufalo Albino",
"vlr_unit_prod": "0.40",
"observacao": "0",
"preco_diferenciado": "S",
"vlr_unit_combo": "12.00",
"combo_princ": "0",
"qtde_max": "N",
"nome_nivel": "Selecione um queijo",
"impressao1": "0",
"impressao2": "0"
}, {
"cod_prod_princ": "3",
"cod_prod_vinc": "6",
"qtde_obrig": "2.00",
"cor_combo": "#ffffff",
"cor_fonte": "#000000",
"descr_item": "Queijo Prato",
"vlr_unit_prod": "0.50",
"observacao": "0",
"preco_diferenciado": "N",
"vlr_unit_combo": "0.00",
"combo_princ": "0",
"qtde_max": "N",
"nome_nivel": "Selecione um queijo",
"impressao1": "0",
"impressao2": "0"
}]
}
}
13
Segue explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais-
>combos do método listaCombos:
14
fi
fi
ã
fi
á
ó
ã
nome_nivel String Nome do nível do combo Ex: “Selecione o ponto da
carne”
impressao1 String Número da impressora que imprime a primeira via
da compra.
Impressao2 String Número da impressora que imprime a segunda via da
compra.
15
Lista Pizzas (GET)
Exibe a listagem das configurações, opcionais e sabores dos produtos pizza da loja.
metodo: listaPizzas
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"pizzas": {
"con guracao_pizzas": [{
"cod_item_pizza": "20",
"num_sabores": "2",
"usa_preco_principal": "N"
},{
"cod_item_pizza": "21",
"num_sabores": "3",
"usa_preco_principal": "S"
}],
"sabores_pizzas": [{
"cod_item_pizza": "20",
"cod_item": "11",
"tipo": "S"
}, {
"cod_item_pizza": "20",
"cod_item": "12",
"tipo": "S"
}, {
"cod_item_pizza": "20",
"cod_item": "13",
"tipo": "S"
}, {
"cod_item_pizza": "20",
"cod_item": "14",
"tipo": "S"
}, {
"cod_item_pizza": "20",
"cod_item": "21",
"tipo": "M"
}, {
"cod_item_pizza": "20",
"cod_item": "22",
"tipo": "M"
16
fi
}, {
"cod_item_pizza": "20",
"cod_item": "23",
"tipo": "M"
}, {
"cod_item_pizza": "20",
"cod_item": "24",
"tipo": "B"
}, {
"cod_item_pizza": "20",
"cod_item": "25",
"tipo": "B"
}],
"opcionais_pizzas": [{
"cod_item_sabor": "25",
"cod_item": "26",
"preco_diferenciado": "N"
}, {
"cod_item_sabor": "25",
"cod_item": "27",
"preco_diferenciado": "N"
}]
}
}
}
17
cod_item Integer(9) Código do produto referente ao sabor da pizza.
tipo String(1) Flag que determina o tipo do produto. “S” para
sabor, “M” para massa e “B” para borda. Quando um
produto principal de pizza é selecionado, exibem-se
os sabores(S) e ao selecionar determinado sabor
também é exibido os opcionais deste se houverem.
Ao m da seleção da quantidade de sabores exibem-
se as massas(M) – se houverem – e por m as
bordas(B) – se houverem-.
18
fi
fi
Lista Promoções (GET)
metodo: listaPromocoes
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"promocoes": [{
"prioridade": "4",
"cod_item": "2",
"perc_desc": "10.00000",
"data_ini_desc": "2001-10-01 00:00:00",
"data_fim_desc": "2032-10-30 23:00:00",
"dias_semana": "1, 2, 3, 4, 5, 6, 7"
}, {
"prioridade": "3",
"cod_item": "5",
"perc_desc": "50.00000",
"data_ini_desc": "2010-10-01 00:00:00",
"data_fim_desc": "2022-10-30 22:00:00",
"dias_semana": "1, 2, 3, 4, 5, 6, 7"
}, {
"prioridade": "4",
"cod_item": "5",
"perc_desc": "20.00000",
"data_ini_desc": "2001-10-01 00:00:00",
"data_fim_desc": "2002-10-30 08:00:00",
"dias_semana": "1, 2, 3, 4, 5, 6, 7"
}]
}
}
19
Segue explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais-
>promocoes do método listaPromocoes:
20
fl
fi
Lista Produtos Faltantes (GET)
metodo: listaProdutosFaltantes
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"produtos_faltantes": [{
"cod_item": "2",
"descricao": "Fruit Dolly"
},{
"cod_item": "3",
"descricao": "Pepsi Twist 2L"
}]
}
}
21
Lista Produtos Vinculados (GET)
metodo: listaProdutosVinculados
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"produtos_vinculados": [{
"cod_item": "4",
"cod_item_vinc": "10",
"vlr_unit": "0.00",
"preco_diferenciado": "N"
}, {
"cod_item": "4",
"cod_item_vinc": "5",
"vlr_unit": "0.00",
"preco_diferenciado": "N"
}]
}
}
22
Segue explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais-
>produtos_vinculados do método listaProdutosVinculados:
Imagine que no exemplo acima o cod_item 4 é uma Coca-cola. No momento que o cliente
selecionar esta Coca, como este item possui 2 vinculos, o cod_item_vinc=10 seria “Gelo” e o
cod_item_vinc=5 seria o “Limão”. O vínculo funciona como uma forma de pedir, opcionalmente,
algum item a mais no seu pedido.
23
Lista Operadores (GET)
metodo: listaOperadores
Ex endpoint: ?metodo=listaOperadores&operacao=mesa…
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"operadores": [{
"cod_fun": "2",
"nome_login": "JOSÉ",
"senha": "123",
"permite_cancelar": "S",
"permite_desconto": "N",
"permite_consulta": "S",
"permite_prefechamento": "S",
"permite_venda": "S",
"permite_transferencia": "S",
"permite_fecharconta": "N"
}, {
"cod_fun": "3",
"nome_login": "MARIA",
"senha": "1234",
"permite_cancelar": "S",
"permite_desconto": "N",
"permite_consulta": "S",
"permite_prefechamento": "S",
"permite_venda": "S",
"permite_transferencia": "S",
"permite_fecharconta": "N"
}]
}
}
24
Segue explicação da estrutura de cada parâmetro de resposta do nó dados_adicionais-
>operadores do método listaOperadores:
25
Consulta Itens da Mesa/Comanda (GET)
metodo: consultaItens
Ex endpoint: ?metodo=consultaItens&operacao={mesa/comanda}&mesa_comanda=X…
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"itens": [{
"cod_reg": "34",
"cod_item": "90",
"descr_item": "COMBO 1",
"vlr_unit": "10.00",
"qtde": "0.500",
"vlr_total": "5.00000",
"posicao": "0",
"transf": "0.00",
"multi_sabor": "N"
}, {
"cod_reg": "34",
"cod_item": "700",
"descr_item": "COMBO PIZZA E REFRIGERANTE",
"vlr_unit": "10.00",
"qtde": "0.500",
"vlr_total": "5.00000",
"posicao": "0",
"transf": "0.00",
"multi_sabor": "N"
}]
}
}
26
Segue explicação da estrutura de cada parâmetro do array de resposta do nó
dados_adicionais->itens do método consultaItens:
27
fi
Inserir Itens na Mesa/Comanda (POST)
Envia a inclusão de itens para determinada mesa/comanda para o sistema (Ainda não é o
fechamento).
metodo: efetuaVenda
JSON: é um objeto que será enviado no body via POST na chamada do WebService.
28
"observacao": "",
"multisabor": "S",
"impressao1": "2",
"impressao2": "3",
"brinde": "N",
"cod_reg": 1,
"combo": "N",
"promocao": "N",
"status": "N",
"faltante": "N",
"valor_total": "60.00"
}],
"CpfnaNota": [],
"FormaDePagamento": [],
"Pagamento": {
"valor_total": 0,
"dinheiro": 0,
"cheque": 0,
"cartao": 0,
"ticket": 0,
"outros": 0,
"servico": 0,
"desconto": 0,
"vale_ref": 0,
"contra_vale_emi": 0,
"contra_vale_rec": 0,
"troco": 0,
"numero_de_pessoas": 1,
"nome_cliente": "",
"telefone_cliente": "",
"repique": 0,
"pendura": 0,
"cpf": ""
},
"Checkin": "",
"ComprovantePagamento": []
}
}
}]
29
Campo Exemplo de Descrição
Conteúdo
metodo inserirPedidoJSON Nome do método que está sendo consumido
numero 1,2,3,... Número da mesa/comanda
tipo_operacao “mesa” Tipo de operação que está sendo realizada. Será
“mesa” ou “comanda”
modulo Nome do programa/empresa que está consumindo a
“NOME_INTEGRADOR” API
30
cod_reg 1,2,3,... Código de agrupamento. Cada item terá um código de
agrupamento específico, exceto produtos multisabor
ou dentro de um combo. Ex: para uma pizza meia
calabresa, meia mussarela deve ser enviados dois
registros com “ordem” diferente, mas cod_reg iguais.
O mesmo exemplo se aplica para itens pertencentes
ao mesmo combo.
cod_item 1,2,3,... Código interno da eclética
descr_item Suco de Laranja Nome do produto na base da eclética
descr_item_impr Suco de Laranja Nome do produto na base da eclética.
esso
quantidade 1,2,3,... Quantidade do produto
vlr_unit 8.50 Valor unitário do produto
valor_total 17.00 Valor unitário multiplicado pela quantidade
posicao 2 Posição do item na mesa ou o número da mesa em
caso de comanda. Caso não exista, enviar valor ‘0’
observacao Com gelo Observação variável do item
multisabor “S” ou “N” “S” caso seja uma pizza multisabor (meia de um
sabor, meia de outro)
Impressao1 1,2,3 Código interno da eclética. Informa em qual
impressora que o produto será impresso na impressora
1
Impressao2 1,2,3 Código interno da eclética. Informa em qual
impressora que o produto será impresso na impressora
2
brinde “S” ou “N” Mandar sempre “N”.
combo “S” ou “N” “S” caso o produto faça parte de um combo. Ex:
hambúrguer + batata + bebida
promocao “S” ou “N” “S” caso o produto esteja sendo enviado com algum
desconto
status “S”, “N”, “V” “N” normal para venda. “S” não deve ser vendido.
“V” produto vinculado a um outro conforme o
cadastro do produto.
faltante “S” ou “N” “S” caso o produto esteja como faltante na loja mas
mesmo assim esteja sendo enviado.
CpfnaNota - Mandar sempre em branco.
numero 000.000.000.00 Mandar sempre em branco.
31
FormaDePaga - Mandar sempre em branco.
mento
Pagamento -
cartao 0.00 Sempre mandar zero.
cheque 0.00 Sempre mandar zero.
contra_vale_emi 0.00 Sempre mandar zero.
contra_vale_rec 0.00 Sempre mandar zero.
cpf Mandar sempre em branco.
desconto 0.00 Sempre mandar zero.
dinheiro 0.00 Sempre mandar zero.
nome_cliente “João” Enviar nome do cliente para identificação. Opcional
numero_de_pess 1 Numero de pessoas na mesa. Mandar no mínimo o
oas número “1”.
outros 0.00 Sempre mandar zero.
pendura 0.00 Sempre mandar zero.
repique 0.00 Sempre mandar zero.
servico 0.00 Sempre mandar zero.
telefone_cliente “11987654321” Enviar telefone do cliente para identificação.
Opcional
ticket 0.00 Sempre mandar zero.
troco 0.00 Sempre mandar zero.
vale_ref 0.00 Sempre mandar zero.
valor_total 0.00 Sempre mandar zero.
Checkin Mandar objeto em branco
ComprovantePa Mandar objeto em branco
gamento
32
Pré Fechamento da Mesa/Comanda (POST)
metodo: enviaPreFechamento
Ex endpoint: ?metodo=enviaPreFechamento&operacao=mesa…
JSON: é um objeto que será enviado no body via POST na chamada do WebService.
Exemplo da estrutura de JSON:
[{
"JSON": {
"metodo": "emitirPreFechamentoJSON",
"numero": 5,
"tipo_operacao": "mesa",
"modulo": "Goomer",
"numero_pocket": "1",
"versao_atual": "2.3.0",
"usa_pinpad": "N",
"id_transacao": "3020188616266251",
"dadosDispositivo": {
"ip_dispositivo": "192.168.0.6",
"sistema_operacional": "android",
"modelo_pinpad": "homolog_html_v2_cupom",
"operadora_pinpad": ""
},
"dadosOperador": {
"nome_operador": "MARIA",
"codigo_operador": "3"
},
"emitirPreFechamentoJSON": {
"valor_desconto": 10,
"tipo_desconto": "porcentagem",
"numero_pessoas": 1
}
33
}
}]
34
dadosOperador
nome_operador Maria Nome do operador logado.
codigo_operador 3 Código interno da Eclética do operador logado.
emitirPreFechamen
toJSON
valor_desconto 0 Enviar valor caso a conta tenha desconto.
tipo_desconto dinheiro ou Modo de desconto em dinheiro ou porcentagem,
porcentagem deve-se enviar literalmente dessa forma
numero_pessoas 1 Numero de pessoas na mesa.
35
Chamar Garçom (POST)
metodo: chamarGarcom
Ex endpoint: ?metodo=chamarGarcom&operacao=mesa…
JSON: é um objeto que será enviado no body via POST na chamada do WebService.
Exemplo da estrutura de JSON:
[{
"JSON": {
"metodo": "chamarGarcomJSON",
"numero": 7,
"tipo_operacao": "mesa",
"nome_cliente": "João da Silva"
}
}]
36
Consultar a Conta da Mesa/Comanda (POST)
Solicita o total da conta (incluindo valores de serviço, descontos e lista de produtos) da mesa/
comanda inteira. Também pode ser consultado individualmente por cliente via posição na
mesa/comanda.
metodo: consultaTotalConta
JSON: é um objeto que será enviado no body via POST na chamada do WebService.
Exemplo da estrutura de JSON:
[{
"JSON": {
"metodo": "consultarTotalContaJSON",
"tipo_operacao": "comanda",
"numero": "1",
"numero_conta": 0
}
}]
37
Formato da Resposta da requisição (Consulta Total Conta)
O retorno será em JSON contendo até 3 elementos:
cod: código da resposta.
msg: mensagem referente a resposta.
dados_adicionais: uma lista com dados adicionais, onde irá trazer o total da conta, serviço, se o
serviço é obrigatório ou não, descontos, listagem de produtos e um nó chamado total indicando
diversos campos a respeito do total da conta.
{
"valido": true,
"cod": "000",
"msg": "CONSULTA TOTAL PEDIDO",
"dados_adicionais": {
"msg_adicional": "",
"total_conta": 7.7,
"servico": 0.7,
"servico_obrigatorio": "N",
"desconto": 0.0,
"produtos": [
{
"cod_item": 86,
"descr_item": "ÁGUA MINERAL COM GÁS NESTLÉ 2 L",
"qtde": 1.0,
"vlr_unit": 7.0,
"cod_reg": 13,
"isento_servico": "N",
"isento_desconto": "N"
}
],
"total": {
"vlr_total_produtos": 7.0,
"vlr_adiantamento": 0.0,
"vlr_desconto_conta": 0.0,
"vlr_desconto_tempo_permanencia": 0.0,
"vlr_servico": 0.7
},
"html": "",
"json": [],
"cupom_json": null
}
}
38
Fechar a Conta da Mesa/Comanda (POST)
Fecha conta de uma mesa ou comanda previamente aberta. Com isso, permite que uma mesa
ou comanda consumida por horas ou minutos seja fechada atrav s desse servi o.
Obs: Para fechar uma mesa ou comanda, antes é necessário emitir o pré-fechamento da mesma (inclusive se for
aplicar desconto) e na sequência chamar o método consultaTotalConta.
metodo: fecharConta
39
é
ç
"FormaDePagamento": [{
"flag_de_pagamento": "C",
"nome_bandeira": "Visa",
"codigo_bandeira": "1",
"valor": "66"
}],
"Pagamento": {
"valor_total": 66,
"dinheiro": 0,
"cheque": 0,
"cartao": 66,
"ticket": 0,
"outros": 0,
"servico": 6,
"desconto": 0,
"vale_ref": 0,
"contra_vale_emi": 0,
"contra_vale_rec": 0,
"troco": 0,
"numero_de_pessoas": 1,
"nome_cliente": "",
"telefone_cliente": "",
"repique": 0,
"pendura": 0,
"cpf": ""
},
"ComprovantePagamento": ["{\"details\":{\"sale\":{\"id\":\"2020-20191128101646\",\"fiscal_coupon_nr\":
\"2020\",\"customer_name\":\"Unknow\",\"operator_name\":\"Terminal 01\",\"terminal_name\":\"Unknow\",\"payment_method\":
\"credit\",\"status\":\"started\",\"transfer_datetime\":\"2019-11-28T12:16:54.000Z\",
\"total_value\":1,\"total_taxes\":0,\"transfer_canceled\":false,\"store_id\":\"00000000\",\"pdv_id\":\"AA000001\",\"cc_first_digits\":
\"516292\",\"card_type_obj\":{\"code\":\"00002\",\"description\":\"Mastercard\",\"category\":\"Crédito\",\"subcategory\":\"-\"},
\"customer_receipt_coupon\":\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\\nSI Rede 5\\nMU Codigo
transacao: 200\\nLA Codigo operacao: 3000\\nDO Valor: 1\\n.....S...I...M...U...L...A...D...O....\\nSI
NSU SiTef: 280016\\nMU 28/11/19 10:16\\nLA ID PDV: AA000001\\nDO Estab.:
000000000000005\\n.....S...I...M...U...L...A...D...O....\\nSI Host: 999280016\\nMU Transacao Simulada Aprovada\
\n (SiTef)\\n\",\"vendor_receipt_coupon\":\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\\nSI Rede 5\
\nMU Codigo transacao: 200\\nLA Codigo operacao: 3000\\nDO Valor: 1\
\n.....S...I...M...U...L...A...D...O....\\nSI NSU SiTef: 280016\\nMU 28/11/19 10:16\\nLA ID PDV:
AA000001\\nDO Estab.: 000000000000005\\n.....S...I...M...U...L...A...D...O....\\nSI Host: 999280016\\nMU
Transacao Simulada Aprovada\\n (SiTef)\\n\",\"authorizer_id\":\"00005\",\"card_type\":\"00002\",
\"payment_type_code\":\"0200\",\"sitef_nsu\":\"280016\",\"host_nsu\":\"999280016\",\"credit_authorizer\":\"280016\",
\"institution_name\":\"MASTERCARD \"},\"fiscalDate\":\"20191128\",\"fiscalHour\":\"101646\",\"couponText\":
\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\\nSI Rede 5\\nMU Codigo transacao: 200\\nLA Codigo
operacao: 3000\\nDO Valor: 66\\n.....S...I...M...U...L...A...D...O....\\nSI NSU SiTef: 280016\\nMU
28/11/19 10:16\\nLA ID PDV: AA000001\\nDO Estab.: 000000000000005\\n.....S...I...M...U...L...A...D...O....
\\nSI Host: 999280016\\nMU Transacao Simulada Aprovada\\n (SiTef)\\n\",
\"vendorCouponText\":\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\\nSI Rede 5\\nMU Codigo transacao: 200\
\nLA Codigo operacao: 3000\\nDO Valor: 1\\n.....S...I...M...U...L...A...D...O....\\nSI NSU SiTef:
280016\\nMU 28/11/19 10:16\\nLA ID PDV: AA000001\\nDO Estab.: 000000000000005\
\n.....S...I...M...U...L...A...D...O....\\nSI Host: 999280016\\nMU Transacao Simulada Aprovada\\n
(SiTef)\\n\",\"cc_first_digits\":\"516292\",\"authorizer_id\":\"00005\",\"card_type\":\"00002\",\"payment_type_code\":\"0200\",
\"sitef_nsu\":\"280016\",\"host_nsu\":\"999280016\",\"credit_authorizer\":\"280016\",\"institution_name\":\"MASTERCARD \"},
\"id\":\"2020-20191128101646\",\"fiscal_coupon_nr\":\"2020\",\"customer_name\":\"Unknow\",\"operator_name\":\"Terminal 01\",
\"terminal_name\":\"Unknow\",\"payment_method\":\"credit\",\"status\":\"done\",\"transfer_datetime\":
\"2019-11-28T12:16:54.000Z\",\"total_value\":66,\"total_taxes\":0,\"transfer_canceled\":false,\"store_id\":\"00000000\",\"pdv_id\":
40
\"AA000001\",\"cc_first_digits\":\"516292\",\"card_type_obj\":{\"code\":\"00002\",\"description\":\"Mastercard\",\"category\":
\"Crédito\",\"subcategory\":\"-\"},\"customer_receipt_coupon\":\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\\nSI Rede
5\\nMU Codigo transacao: 200\\nLA Codigo operacao: 3000\\nDO Valor: 66\
\n.....S...I...M...U...L...A...D...O....\\nSI NSU SiTef: 280016\\nMU 28/11/19 10:16\\nLA ID PDV:
AA000001\\nDO Estab.: 000000000000005\\n.....S...I...M...U...L...A...D...O....\\nSI Host: 999280016\\nMU
Transacao Simulada Aprovada\\n (SiTef)\\n\",\"vendor_receipt_coupon\":\".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S....\
\nSI Rede 5\\nMU Codigo transacao: 200\\nLA Codigo operacao: 3000\\nDO
Valor: 66\\n.....S...I...M...U...L...A...D...O....\\nSI NSU SiTef: 280016\\nMU 28/11/19 10:16\\nLA
ID PDV: AA000001\\nDO Estab.: 000000000000005\\n.....S...I...M...U...L...A...D...O....\\nSI Host: 999280016\
\nMU Transacao Simulada Aprovada\\n (SiTef)\\n\",\"authorizer_id\":\"00005\",\"card_type\":\"00002\",
\"payment_type_code\":\"0200\",\"sitef_nsu\":\"280016\",\"host_nsu\":\"999280016\",\"credit_authorizer\":\"280016\",
\"institution_name\":\"MASTERCARD \"}"
"}]
}
}]
41
id_transacao 30201872512155936 Número único da transação. Recomendamos
1 concatenar:
número_interno+ano+mês+dia+hora+minuto
+segundo+milésimos
Não poderá haver, em hipótese alguma, 2
transações com o mesmo ID.
dadosDispositivo -
ip_dispositivo 192.168.0.1 IP do dispositivo que está efetuando o
lançamento
sistema_operacional android Sistema operacional do dispositivo
modelo_pinpad homolog_html_v2_cup Indica qual modelo de resposta será retornado
om
dos cupons fiscais:
42
Pagamento -
cartao 0.00 Enviar valor caso seja pagamento em cartão
cheque 0.00 Sempre mandar zero.
contra_vale_emi 0.00 Sempre mandar zero.
contra_vale_rec 0.00 Sempre mandar zero.
cpf Utilizado geralmente para programa
fidelidade
desconto 0.00 Sempre mandar zero.
dinheiro 0.00 Enviar valor caso o pagamento seja em
dinheiro
nome_cliente 0.00 Enviar nome do cliente caso necessário para
identificação.
numero_de_pessoas 1 Numero de pessoas na mesa. Mandar no
mínimo o número “1”.
outros 0.00 Enviar valor caso o pagamento seja do tipo
“Outras”
pendura 0.00 Sempre mandar zero.
repique 0.00 Enviar valor caso o cliente queira dar gorjeta
ao garçom.
servico 0.00 Informar valor se serviço se houver
telefone_cliente Informar telefone do cliente se houver
necessidade para identificação
ticket 0.00 Informar valor se o pagamento for feito com
“Ticket”
troco 0.00 Informar valor caso haja troco no pagamento
em dinheiro
vale_ref 0.00 Sempre mandar zero.
valor_total 0.00 Informar o valor total da conta
ComprovantePagamento Enviar JSON/XML do cupom em texto (com
as aspas juntas das barras Ex: \” ) retornado
pelo gateway caso o pedido seja pago
diretamente no dispositivo de auto-
atendimento. É importante que neste
aglomerado de informações contenha um
dado crucial para a loja que é o nsu da
transação.
43
Formato da Resposta da requisição (Fechar Conta)
O retorno será em JSON contendo até 3 elementos:
cod: código da resposta.
msg: mensagem referente a resposta.
dados_adicionais: uma lista com dados adicionais do fechamento da mesa/comanda. Neste
exemplo foi requerido o cupom no modelo “homolog_html_v2_cupom” BASE64 como segue:
{
"cod": "000",
"msg": "Pedido realizado com sucesso",
"dados_adicionais": {
"msg_adicional": "",
"total_conta": 0.0,
"servico": 0.0,
"servico_obrigatorio": "N",
"desconto": 0.0,
"produtos": [],
"html": "",
"json": [
{
"operation": "PRINT_IMAGE",
"style": [],
"value": [ "/9j/4AAQSkZJRgABAQEBLAEsAAD/
2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
EBAQEBAQEBAQEBAQEBAQH/
2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
EBAQEBAQEBAQEBAQEBAQH/..."
]
}
],
}
}
44
Mapa de Mesas (GET)
metodo: mapaDeMesas
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"mesas": [{
"num": 1,
"status": "EmUso"
},
{
"num": 2,
"status": "Livre"
},
{
"num": 3,
"status": "Fechando"
}
]
}
}
45
Mapa de Comandas (GET)
metodo: mapaDeComandas
{
"cod": "000",
"msg": "Operação efetuada com sucesso",
"dados_adicionais": {
"comandas": [{
"num": 1,
"status": "EmUso"
“motivo”: “”
},
{
"num": 2,
"status": "Livre"
“motivo”: “”
},
{
"num": 3,
"status": "Bloqueada",
“motivo”: “MOTIVO DO BLOQUEIO”
}
]
}
}
46
Venda Balcão/Comanda (POST)
Obs: Para comanda, diferente do modelo anterior onde deve-se enviar primeiramente os produtos através do
método de inserir itens para posteriormente usar o método de fechamento, neste modelo é possível inserir os
itens já fechando (enviando o pagamento) numa única requisição.
metodo: efetuaVenda
"Itens": [{
"ordem": 1,
47
"cod_item": "18",
"descr_item": "Skol Long Neck",
"descr_item_impresso": "Skol Long Neck",
"quantidade": 1,
"vlr_unit": "8.00",
"posicao": 0,
"observacao": "",
"multisabor": "N",
"impressao1": "2",
"impressao2": "3",
"brinde": "N",
"cod_reg": 1,
"combo": "N",
"promocao": "N",
"status": "N",
"faltante": "N",
"valor_total": "8.00"
}],
"CpfnaNota": [{
"numero": "370.343.488-04",
"valor_cupom": “8.00”
}],
"FormaDePagamento": [{
"flag_de_pagamento": "C",
"nome_bandeira": “MasterCard Crédito",
"codigo_bandeira": "2",
"valor": “5,50"
}],
"Pagamento": {
"valor_total": 8.00,
"dinheiro": 2.50,
"cheque": 0,
"cartao": 5.50,
"ticket": 0,
"outros": 0,
"servico": 0,
"desconto": 0,
"vale_ref": 0,
"contra_vale_emi": 0,
"contra_vale_rec": 0,
"troco": 0,
"numero_de_pessoas": 1,
"nome_cliente": "",
48
"telefone_cliente": "",
"repique": 0,
"pendura": 0,
"cpf": ""
},
"ComprovantePagamento": [{"createdAt":"Aug 17, 2018 5:07:31
PM”,"id":"06e05655-29cf-4643-9310-57be1c00ea06","items":[{"description":"","details":"","id":"27839565-b09b-4668-
b45d-3862e72d64b1","name":"Skol Long
Neck","quantity":1,"reference":"","sku":"1234","unitOfMeasure":"unidade","unitPrice":30}],"notes":"","number":"","paidAmount":
9,"payments":
[{"accessKey":"FOQBvCi5UvsjFgyiSOHlhRxDjWfD","amount":9,"applicationName":"com.ads.lio.uriappclient","authCode":"0753
59","brand":"VISA","cieloCode":"447840","description":"","discountedAmount":0,"externalId":"4a6c4d8b-bfee-4b96-
be20-835570a75e41","id":"4554c304-5667-444b-899f-2a5e33612058","installments":0,"mask":"************3694","merchantCod
e":"0011035627439400","paymentFields":{"clientName":"RUBENS F AMARAL F
","upFrontAmount":"0","creditAdminTax":"0","firstQuotaDate":"0","hasSignature":"false","hasPrintedClientReceipt":"false","hasW
arranty":"false","interestAmount":"0","serviceTax":"0","cityState":"SAO PAULO
SP","hasSentReference":"false","originalTransactionId":"0","cardLabelApplication":"CREDITO","originalTransactionDate":"17/08/
18","hasConnectivity":"true","productName":"CREDITO A
VISTA","finalCryptogram":"FC77B4A519506BB7","entranceMode":"303010104080","firstQuotaAmount":"0","cardCaptureType":
"0","requestDate":"1534536472000","boardingTax":"0","numberOfQuotas":"0","isDoubleFontPrintAllowed":"false","hasPassword":
"true","primaryProductCode":"1000","isExternalCall":"true","primaryProductName":"CREDITO","receiptPrintPermission":"1","isO
nlyIntegrationCancelable":"false","externalCallMerchantCode":"0011035627439400","isFinancialProduct":"true","applicationName
":"com.ads.lio.uriappclient","changeAmount":"0","v40Code":"4","secondaryProductName":"A
VISTA","paymentTransactionId":"4a6c4d8b-bfee-4b96-be20-835570a75e41","typeName":"VENDA A
CREDITO","avaiableBalance":"0","pan":"************3694","secondaryProductCode":"1","hasSentMerchantCode":"true","docu
mentType":"J","statusCode":"1","merchantAddress":"R. CONSOLACAO
3367","merchantCode":"0011035627439400","paymentTypeCode":"1","merchantName":"ECLETICA
TECNOLOGIA","totalizerCode":"10","applicationId":"cielo.launcher","document":"002143500000108"},"primaryCode":"1000","re
questDate":"1534536472000","secondaryCode":"1","terminal":"78286226"}],"pendingAmount":0,"price":9,"reference":"Order","sta
tus":"ENTERED","type":"PAYMENT","updatedAt":"Aug 17, 2018 5:07:32 PM"}]
}
}
}]
49
numero_pocket 1 Número individual do dispositivo. Usado para
identificar o lançador. Sempre enviar 1.
versao_atual 1.2.5 , 2.5.4, ... Versão do sistema integrador.
pagar_agora “S” ou “N” Mandar sempre “S”
usa_pinpad “S” ou “N” Mandar sempre “N”
id_transacao 30201872512155 Número único da transação. Recomendamos
9361 concatenar:
número_interno+ano+mês+dia+hora+minuto+segund
o+milésimos
Não poderá haver, em hipótese alguma, 2 transações
com o mesmo ID.
dadosDispositivo -
ip_dispositivo 192.168.0.1 IP do dispositivo que está efetuando o lançamento
sistema_operacional android Sistema operacional do dispositivo
modelo_pinpad homolog_html_v2_c Indica qual modelo de resposta será retornado dos
upom
cupons fiscais:
50
descr_item Suco de Laranja Nome do produto na base da eclética
descr_item_impresso Suco de Laranja Nome do produto na base da eclética.
quantidade 1,2,3,... Quantidade do produto
vlr_unit 8.50 Valor unitário do produto
valor_total 17.00 Valor unitário multiplicado pela quantidade
posicao 2 Posição do item na mesa ou o número da mesa em
caso de comanda. Caso não exista, enviar valor ‘0’
observacao Com gelo Observação variável do item
multisabor “S” ou “N” “S” caso seja uma pizza multisabor (meia de um
sabor, meia de outro)
Impressao1 1,2,3 Código interno da eclética. Informa em qual
impressora que o produto será impresso na
impressora 1
Impressao2 1,2,3 Código interno da eclética. Informa em qual
impressora que o produto será impresso na
impressora 2
brinde “S” ou “N” Mandar sempre “N”.
combo “S” ou “N” “S” caso o produto faça parte de um combo. Ex:
hambúrguer + batata + bebida
promocao “S” ou “N” “S” caso o produto esteja sendo enviado com algum
desconto
status “S”, “N”, “V” “N” normal para venda. “S” não deve ser vendido.
“V” produto vinculado a um outro conforme o
cadastro do produto.
faltante “S” ou “N” “S” caso o produto esteja como faltante na loja mas
mesmo assim esteja sendo enviado.
CpfnaNota - Array para caso de divisão de cupom por parte dos
clientes numa mesma comanda/balcão por exemplo.
numero 370.343.488-04 Enviar caso cliente queira CPF na nota.
valor_cupom 0.00 Valor pago por determinado cliente na nota fiscal
para CPF na nota.
FormaDePagamento - Array com detalhes de bandeiras dos pagamentos
enviados.
codigo_bandeira 1, 2, 3, 4 Código interno da Eclética. Identifica a bandeira
dentro da nossa base de dados.
51
flag_de_pagamento C, T, O “C” para cartão; “T” para ticket; “O” para outras.
52
ComprovantePagam Mandar resposta (comprovante do pagamento) da
ento transação do Gateway em formato JSON para log
interno do sistema Eclética. O JSON de resposta que
demonstramos nesta propriedade é de um gateway da
CIELO.
{
"cod": "000",
"msg": "Pedido realizado com sucesso",
"dados_adicionais": {
"msg_adicional": "",
"total_conta": 0.0,
"servico": 0.0,
"servico_obrigatorio": "N",
"desconto": 0.0,
"produtos": [],
"html": "",
"json": [
{
"operation": "PRINT_IMAGE",
"style": [],
"value": [ "/9j/4AAQSkZJRgABAQEBLAEsAAD/
2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
EBAQEBAQEBAQEBAQEBAQH/
2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
EBAQEBAQEBAQEBAQEBAQH/..."
]
}
],
}
}
53
54
Tabela de Respostas (Sucesso e Erro) das requisições
55