Páginas filhas
  • API - Pedidos Online: Cartão

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Pedido Cartão

Índice
maxLevel10
minLevel2
excludeÍNDICE
stylecircle

Envio de pedidos para o Cartão via API PedidosOnline




URL do Serviço:

POST: http://{url_do_servidor}/CartaoService.svc/EnviarPedido


 

Request

...


Pedido Cartão

 URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/EnviarPedido

...

TipoItem: Indica se o item é individual (Normal) ou uma composição de frações de 2 ou mais produtos (Fracionado). Deve respeitar a tabela abaixo

Tipo Item

Código

Normal

0

Fracionado

1


Item normal não aceita Subitens no atributo ItensFracao, exemplo de item do tipo Normal:

{
   CodigoExterno: "1190454611",
   TipoItem: 0,
   Produto: {
      Codigo: "10011001",
      Descricao: "COCA COLA LT",
      PrecoVenda: 2.5
   },
   Quantidade: 1,
   Acrescimo: 0,
   Desconto: 0,
   AcrescimoDiferencaFracionada: 0,
   Observacao: "com gelo e limao",
   ItensFracao: null,
   ItensAdicionais: [],
   ValorTotal: 2.5
}


Item fracionado deve conter 2 ou mais itens de composição de fração, exemplo de item do tipo Fracionado:

{
   CodigoExterno: null,
   TipoItem: 1,
   Produto: null,
   Quantidade: 0,
   Acrescimo: 0,
   Desconto: 0,
   AcrescimoDiferencaFracionada: 0,
   Observacao: null,
   ItensFracao: [
      {
         CodigoExterno: "1503699207",
         TipoItem: 0,
         Produto: {
            Codigo: "10011002",
            Descricao: "FRANGO COM CATUPIRY",
            PrecoVenda: 35.65
         },
         Quantidade: 0.5,
         Acrescimo: 0,
         Desconto: 0,
         AcrescimoDiferencaFracionada: 0,
         Observacao: "",
         ItensFracao: null,
         ItensAdicionais: [],
         ValorTotal: 17.82
      },
      {
         CodigoExterno: "2104044743",
         TipoItem: 0,
         Produto: {
            Codigo: "10011003",
            Descricao: "PORTUGUESA",
            PrecoVenda: 40.98
         },
         Quantidade: 0.5,
         Acrescimo: 0,
         Desconto: 0,
         AcrescimoDiferencaFracionada: 0,
         Observacao: "SEM CEBOLA",
         ItensFracao: null,
         ItensAdicionais: [],
         ValorTotal: 20.49
      }
   ],
   ItensAdicionais: null,
   ValorTotal: 38.31
}


A soma das quantidades de todos ItensFracao deve formar 1 inteiro, sendo aceito apenas as frações 1/2 (0,5 + 0,5) 1/3 (0,333 + 0,333 + 0,334) ou 1/4 (0,25 + 0,25 + 0,25 + 0,25).

Um item do tipo fracionado pode ser cobrado pelo valor proporcional de cada fração ou pelo preço do produto de maior valor entre os itens da fração, esta configuração é individual de cada estabelecimento, exemplos:

Valor proporcional

Produto

Preço

Quantidade

Valor Total

FRANGO COM CATUPIRY

35,65

0,5

17,82

QUATRO QUEIJOS

50,14

0,5

25,07

Total



42,89

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      Pedido: {
         NumeroCartao: 5566,
         NumeroMesaEntrega: 10,
         CodigoGarcom: 2,
         Itens: [
            {
               CodigoExterno: null,
               TipoItem: 1,
               Produto: null,
               Quantidade: 0,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: null,
               ItensFracao: [
                  {
                     CodigoExterno: "1710156186",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011002",
                        Descricao: "FRANGO COM CATUPIRY",
                        PrecoVenda: 35.65
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [],
                     ValorTotal: 17.82
                  },
                  {
                     CodigoExterno: "229743968",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011004",
                        Descricao: "QUATRO QUEIJOS",
                        PrecoVenda: 50.14
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [],
                     ValorTotal: 25.07
                  }
               ],
               ItensAdicionais: null,
               ValorTotal: 42.89
            }
         ]
      }
   }
}


Neste caso o ValorTotal do Item deve ser a igual a soma do ValorTotal de todos ItensFracao.

Produto de maior valor

Produto

Preço

Quantidade

Valor Total

FRANGO COM CATUPIRY

35,65

0,5

17,82

QUATRO QUEIJOS

50,14

0,5

25,07

Total



50,14

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      Pedido: {
         NumeroCartao: 5566,
         NumeroMesaEntrega: 10,
         CodigoGarcom: 2,
         Itens: [
            {
               CodigoExterno: null,
               TipoItem: 1,
               Produto: null,
               Quantidade: 0,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: null,
               ItensFracao: [
                  {
                     CodigoExterno: "835053132",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011002",
                        Descricao: "FRANGO COM CATUPIRY",
                        PrecoVenda: 35.65
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [],
                     ValorTotal: 17.82
                  },
                  {
                     CodigoExterno: "1911282169",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011004",
                        Descricao: "QUATRO QUEIJOS",
                        PrecoVenda: 50.14
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [],
                     ValorTotal: 25.07
                  }
               ],
               ItensAdicionais: null,
               ValorTotal: 50.14
            }
         ]
      }
   }
}


Neste caso o ValorTotal do item é igual ao valor ao maior preço entre os ItensFracao, a soma dos totais dos itens da fração difere do valor total, mas com esta configuração o importante é o valor total do item apenas e não das frações.

...

Produtos adicionais são produtos que só devem ser vendidos associado a outro produto, um exemplo é Borda Recheada. Os adicionais devem respeitar o relacionamento retornado no serviço ObterCardapio, exemplo uma Borda Recheado não pode ser adicional de uma Coca-Cola.  Exemplo de item com adicional:  

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      Pedido: {
         NumeroCartao: 8890,
         NumeroMesaEntrega: 10,
         CodigoGarcom: 2,
         Itens: [
            {
               CodigoExterno: "852545473",
               TipoItem: 0,
               Produto: {
                  Codigo: "10011002",
                  Descricao: "FRANGO COM CATUPIRY",
                  PrecoVenda: 35.65
               },
               Quantidade: 1,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: "",
               ItensFracao: null,
               ItensAdicionais: [
                  {
                     CodigoExterno: "158959555",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011006",
                        Descricao: "BORDA CATUPIRY",
                        PrecoVenda: 6.4
                     },
                     Quantidade: 1,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: null,
                     ItensFracao: null,
                     ItensAdicionais: null,
                     ValorTotal: 6.4
                  }
               ],
               ValorTotal: 35.65
            }
         ]
      }
   }
}


O ValorTotal do item não deve conter o somatório dos adicionais.

...

A tabela abaixo indica a limitação de casa decimais de acordo com cada atributo  

Campo

Decimais

Quantidade

3

Desconto

2

Troco

2

Forma de valor

2

Valor Total Item

2

Valor Total Pedido

2





7-     Truncamento

Quando o cálculo de ValorTotal do item tiver mais do que 2 casas decimais este resultado deve ser truncado em 2 casas conforme exemplo abaixo:


Produto

Preço

Quantidade

Valor Total

Valor Final

Presunto Seara

4,25

2,654

11,2795

11,27

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      Pedido: {
         NumeroCartao: 8890,
         NumeroMesaEntrega: 10,
         CodigoGarcom: 2,
         Itens: [
            {
               CodigoExterno: "1096751580",
               TipoItem: 0,
               Produto: {
                  Codigo: "10011001",
                  Descricao: "COCA COLA LT",
                  PrecoVenda: 2.5
               },
               Quantidade: 2,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: "COM GELO E LIMAO",
               ItensFracao: null,
               ItensAdicionais: [],
               ValorTotal: 5
            },
            {
               CodigoExterno: "1963160123",
               TipoItem: 0,
               Produto: {
                  Codigo: "10011002",
                  Descricao: "FRANGO COM CATUPIRY",
                  PrecoVenda: 35.65
               },
               Quantidade: 1,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: "",
               ItensFracao: null,
               ItensAdicionais: [
                  {
                     CodigoExterno: "1906432659",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011006",
                        Descricao: "BORDA CATUPIRY",
                        PrecoVenda: 6.4
                     },
                     Quantidade: 1,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: null,
                     ItensFracao: null,
                     ItensAdicionais: null,
                     ValorTotal: 6.4
                  },
                  {
                     CodigoExterno: "550138083",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011008",
                        Descricao: "BACON",
                        PrecoVenda: 10.59
                     },
                     Quantidade: 1,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: null,
                     ItensFracao: null,
                     ItensAdicionais: null,
                     ValorTotal: 10.59
                  }
               ],
               ValorTotal: 35.65
            },
            {
               CodigoExterno: null,
               TipoItem: 1,
               Produto: null,
               Quantidade: 0,
               Acrescimo: 0,
               Desconto: 0,
               AcrescimoDiferencaFracionada: 0,
               Observacao: null,
               ItensFracao: [
                  {
                     CodigoExterno: "1966018044",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011003",
                        Descricao: "PORTUGUESA",
                        PrecoVenda: 40.98
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [
                        {
                           CodigoExterno: "1522464024",
                           TipoItem: 0,
                           Produto: {
                              Codigo: "10011006",
                              Descricao: "BORDA CATUPIRY",
                              PrecoVenda: 6.4
                           },
                           Quantidade: 1,
                           Acrescimo: 0,
                           Desconto: 0,
                           AcrescimoDiferencaFracionada: 0,
                           Observacao: null,
                           ItensFracao: null,
                           ItensAdicionais: null,
                           ValorTotal: 6.4
                        }
                     ],
                     ValorTotal: 20.49
                  },
                  {
                     CodigoExterno: "1823141131",
                     TipoItem: 0,
                     Produto: {
                        Codigo: "10011004",
                        Descricao: "QUATRO QUEIJOS",
                        PrecoVenda: 50.14
                     },
                     Quantidade: 0.5,
                     Acrescimo: 0,
                     Desconto: 0,
                     AcrescimoDiferencaFracionada: 0,
                     Observacao: "",
                     ItensFracao: null,
                     ItensAdicionais: [],
                     ValorTotal: 25.07
                  }
               ],
               ItensAdicionais: null,
               ValorTotal: 50.14
            }
         ]
      }
   }
}


 

Response


O serviço retorna um JSON no formato abaixo:

...

Sucesso = true indica que o pedido foi registrado corretamente.

{
   EnviarPedidoResult: {
      Erros: [],
      CodigosItens: [
         {
            CodigoControle: "28158",
            CodigoExterno: "1096751580"
         },
         {
            CodigoControle: "28159",
            CodigoExterno: "1963160123"
         },
         {
            CodigoControle: "28160",
            CodigoExterno: "1906432659"
         },
         {
            CodigoControle: "28161",
            CodigoExterno: "550138083"
         },
         {
            CodigoControle: "28162",
            CodigoExterno: "1966018044"
         },
         {
            CodigoControle: "28163",
            CodigoExterno: "1522464024"
         },
         {
            CodigoControle: "28164",
            CodigoExterno: "1823141131"
         }
      ],
      Sucesso: true
   }
}


2-     Erro

Sucesso = false indica que o pedido não foi registrado no sistema, no atributo Erros encontra a lista de motivos/problemas que ocorreram.

{
   EnviarPedidoResult: {
      Erros: [
         "Produto "FRANGO COM CATUPIRY" com quantidade zero.",
         "Produto "BORDA CATUPIRY" com quantidade zero.",
         "C�digo externo do item inv�lido."
      ],
      CodigosItens: null,
      Sucesso: false
   }
}


A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.

Mensagem de erro

Erro interno de processamento da requisição.

Erro ao enviar pedido.

Não foi possível estabelecer uma conexão com a loja.

Pedido inválido.

Código integração inválido.

O pedido deve conter no mínimo 1 item.

Item inválido.

Produto "{0}" com quantidade zero.

O valor total do item "{0}" difere do cálculo do sistema.

Produto "{0}" não permite fração.

Produto "{0}" inválido.

Produto "{0}" com preço desatualizado.

Produto "{0}" sem preço de venda.

Erro ao salvar pedido no sistema.

Erro ao consultar status do estabelecimento.

O valor total do pedido deve ser igual ou superior a R$ 0,01.

Quantidade do item é inválida para uma venda fracionada (1/2, 1/3 ou 1/4).

A soma dos itens da venda fracionada deve completar 1 inteiro.

O valor total do item fracionado deve ser igual ao preço do item de maior valor.

Item fracionado deve conter no mínimo 2 frações (itens).

O valor total do item deve ser truncado em 2 casas decimais.

A quantidade do item deve conter no máximo 3 casas decimais.

O valor total do item fracionado deve ser igual à soma dos valores das frações (itens).

Item do tipo "normal" não aceita itens fração.

Os itens da fração devem ser do tipo "normal".

Os itens adicionais devem ser do tipo "normal".

Produto "{0}" não é um adicional do produto "{1}".

Quantidade do item "{0}" superior ao máximo permitido.

Quantidade de adicionais do item "{0}" superior ao máximo permitido.

Quantidade de adicionais do item "{0}" inferior ao mínimo permitido.

Item do tipo fracionado não pode conter adicionais.

Erro ao baixar estoque dos itens vendidos.

Mesa em digitação em outro terminal.

Erro ao imprimir pedidos na impressora de boqueta.

Erro ao imprimir monitor

Erro ao imprimir

Erro ao consultar movimentação da mesa.

Erro ao consultar mesas em aberto.

Erro ao consultar transferências de itens.

Erro ao consultar itens cancelados da mesa.

Erro ao solicitar garçom.

Número mesa invalido.

Mesa fechada.

Código externo {0} duplicado na lista de itens do pedido.

Código externo do item inválido.

Código externo {0} duplicado.


Consultar Cartões em Aberto

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/ConsultarCartoesAbertos


Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1
   }
}


Response

{
   ConsultarCartoesAbertosResult: {
      Erros: null,
      Cartoes: [
         {
            NumeroCartao: 90,
            StatusCartao: 3
         },
         {
            NumeroCartao: 8890,
            StatusCartao: 1
         }
      ]
   }
}


StatusCartao retorna o status conforme tabela abaixo.

Status

Código

Disponivel

0

Aberto

1

EmDigitacao

2

Fechado

3


Consultar Movimentação Cartão

...

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/ConsultarMovimentacaoCartao

 

Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      NumeroCartao: 8890
   }
}


Response

{
   ConsultarMovimentacaoCartaoResult: {
      Erros: null,
      Itens: [
         {
            Acrescimo: 0,
            AcrescimoDiferencaFracionada: 0,
            Desconto: 0,
            ItensAdicionais: [
               {
                  Acrescimo: 0,
                  AcrescimoDiferencaFracionada: 0,
                  Desconto: 0,
                  ItensAdicionais: null,
                  ItensFracao: null,
                  Observacao: "",
                  Produto: {
                     Codigo: "10011006",
                     Descricao: "BORDA CATUPIRY",
                     PrecoVenda: 6.4
                  },
                  Quantidade: 1,
                  TipoItem: 0,
                  ValorTotal: 6.4,
                  CodigoControle: "28160",
                  CodigoExterno: "1906432659"
               },
               {
                  Acrescimo: 0,
                  AcrescimoDiferencaFracionada: 0,
                  Desconto: 0,
                  ItensAdicionais: null,
                  ItensFracao: null,
                  Observacao: "",
                  Produto: {
                     Codigo: "10011008",
                     Descricao: "BACON",
                     PrecoVenda: 10.59
                  },
                  Quantidade: 1,
                  TipoItem: 0,
                  ValorTotal: 10.59,
                  CodigoControle: "28161",
                  CodigoExterno: "550138083"
               }
            ],
            ItensFracao: null,
            Observacao: "",
            Produto: {
               Codigo: "10011002",
               Descricao: "FRANGO COM CATUPIRY",
               PrecoVenda: 35.65
            },
            Quantidade: 1,
            TipoItem: 0,
            ValorTotal: 35.65,
            CodigoControle: "28159",
            CodigoExterno: "1963160123"
         },
         {
            Acrescimo: 0,
            AcrescimoDiferencaFracionada: 0,
            Desconto: 0,
            ItensAdicionais: [],
            ItensFracao: null,
            Observacao: "COM GELO E LIMAO",
            Produto: {
               Codigo: "10011001",
               Descricao: "COCA COLA LT",
               PrecoVenda: 2.5
            },
            Quantidade: 1,
            TipoItem: 0,
            ValorTotal: 5,
            CodigoControle: "28158",
            CodigoExterno: "1096751580"
         }
      ],
      StatusCartao: 1,
      Totais: {
         Desconto: 0,
         Servico: 5.51,
         Subtotal: 55.14,
         TotalConta: 60.65
      }
   }
}    

Consultar Transferências de Itens

...

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/ConsultarTransferenciasItens


Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1
   }
}


Response

{
   ConsultarTransferenciasItensResult: {
      Erros: null,
      Transferencias: [
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28162",
            CodigoExterno: "1966018044",
            Quantidade: 0.5
         },
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28164",
            CodigoExterno: "1823141131",
            Quantidade: 0.5
         },
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28163",
            CodigoExterno: "1522464024",
            Quantidade: 1
         },
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28156",
            CodigoExterno: "852545473",
            Quantidade: 1
         },
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28157",
            CodigoExterno: "158959555",
            Quantidade: 1
         },
         {
            CartaoAtual: 60,
            CartaoOriginal: 8890,
            CodigoControle: "28165",
            CodigoExterno: "",
            Quantidade: 1
         }
      ]
   }
}


Consultar Itens Cancelados

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/ConsultarItensCanceladosCartao


Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      NumeroCartao: 60
   }
}


Response


{
   ConsultarItensCanceladosCartaoResult: {
      Erros: null,
      Itens: [
         {
            Acrescimo: 0,
            AcrescimoDiferencaFracionada: 0,
            Desconto: 0,
            ItensAdicionais: null,
            ItensFracao: null,
            Observacao: "",
            Produto: {
               Codigo: "10011006",
               Descricao: "BORDA CATUPIRY",
               PrecoVenda: 6.4
            },
            Quantidade: 1,
            TipoItem: 0,
            ValorTotal: 6.4,
            CodigoControle: null,
            CodigoExterno: null
         }
      ]
   }
}

Solicitar Garçom

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/SolicitarGarcom


Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      NumeroMesa: 20
   }
}


Response

{
   SolicitarGarcomResult: {
      Erros: null,
      Sucesso: true
   }
}


Fechar Conta

URL do Serviço POST: http://{url_do_servidor}/CartaoService.svc/FecharConta


Request

{
   parametros: {
      CodigoEstabelecimento: "96700001PC90",
      CodigoIntegracao: 1,
      Conta: {
         NumeroCartao: 8890,
         NumeroMesaEntrega: 60,
         QuantidadePessoas: 3,
         TirarServico: false,
         Desconto: 4.69
      }
   }
}


Response

O serviço retorna um JSON no formato abaixo:

1-     Sucesso

{
   FecharContaResult: {
      Erros: [],
      Sucesso: true
   }
}


2-     Erro

{
   FecharContaResult: {
      Erros: [
         "Mesa fechada."
      ],
      Sucesso: false
   }
}


A tabela abaixo tem a relação completa de possíveis erros e validações que devem ser tratados pelo aplicado integrado.

Mensagem de erro

Erro interno de processamento da requisição.

Número mesa invalido.

Mesa sem movimentação.

Mesa em digitação em outro terminal.

Mesa fechada.

Configure o G-ECF para utilizar esta função.

G-ECF Inativo.

Erro ao calcular taxa de serviço.

O valor de desconto deve ser inferior ao total da conta.

Erro ao fechar conta.

Erro ao imprimir conta.