API de Integração
Transcrição
API de Integração
layer de integração Layer de Integração EZ Commerce Versão 1.32 1 layer de integração Sumário Layer de Integração .................................................................................................................................... 3 Arquitetura da Solução .............................................................................................................................. 3 Famílias de Dados Disponíveis ................................................................................................................. 4 Objetos Compartilhados ............................................................................................................................ 5 Tabela de Erros........................................................................................................................................... 6 Fluxo da Família de Produto ...................................................................................................................... 7 Família de Produtos ...................................................................................................................................................... 7 Fluxo de Marcas ............................................................................................................................................................ 9 Fluxo de Categorias do Site ......................................................................................................................................... 10 Fluxo de Fornecedores ................................................................................................................................................ 12 Fluxo de Produtos ....................................................................................................................................................... 14 Fluxo de Variações de Produtos.................................................................................................................................. 22 Fluxo de Sub Variações de Produtos ........................................................................................................................... 24 Fluxo de Preços ........................................................................................................................................................... 26 Fluxo de Estoque ......................................................................................................................................................... 29 Fluxo de Menus Personalizados .................................................................................................................................. 30 Fluxo de Clientes ...................................................................................................................................... 32 Fluxo de Pedidos ...................................................................................................................................... 37 Tabelas de Códigos de Referência para Integração .............................................................................. 51 Histórico de Alterações............................................................................................................................ 51 Exemplo de integração no Visual Studio 2008 ....................................................................................... 54 Exemplo de fluxo em .net (3.5) – Linguagem c#..................................................................................... 55 2 layer de integração Layer de Integração A Layer de Integração EZ Commerce (LIEZ) tem como objetivo disponibilizar aos nossos clientes uma maneira segura e padronizada para integração de dados entre sistemas legados e a plataforma de e-commerce. A LIEZ foi desenvolvida sobre plataforma Microsoft (WCF – Windows Communication Foundation) e segue normas para integração entre diversas tecnologias, como Java, PHP, etc. Arquitetura da Solução Tecnologia Microsoft WCF Autenticação HTTP / Basic Autentication (Credenciais na mensagem) Servidor IIS 6.0 Segurança Nível do transporte (SSL) – Criptografia e assinatura das mensagens Tempo de defasagem da informação Informação disponível em tempo real 3 layer de integração Famílias de Dados Disponíveis Produtos Os serviços da família de produtos têm como objetivo possibilitar ao sistema integrado criar/alterar/excluir informações dos catálogos de produtos. Dessa maneira, o cliente poderá integrar seu ERP e fazer a gestão de produtos pelo mesmo. O catálogo de produto envolve Marcas, Categorias do Site, Fornecedores, Produtos, Preços, Estoque. Nessa família, a LIEZ recebe as chamadas do sistema externo e faz as modificações necessárias no banco de dados do e-commerce. As informações são realizadas em tempo real. Clientes Os serviços da família de clientes têm como objetivo possibilitar ao sistema integrado receber informações de clientes ou assinantes de newsletter cadastrados ou modificados. Não é possível criar novos clientes ou assinantes pela LIEZ. Quando um cliente ou assinante novo se cadastra, ou um cliente ou assinante existente altera o cadastro, o mesmo é colocado em uma fila de integração, ficando disponível na LIEZ para ser integrado. Pedidos Os serviços da família de pedidos têm como objetivo possibilitar ao sistema integrado receber informações de pedidos novos. Não é possível criar novos pedidos pela LIEZ. Quando um pedido novo é criado, o mesmo é colocado em uma fila de integração, ficando disponível na LIEZ para ser integrado. O pedido só é colocado na fila quando o mesmo possui forma de pagamento selecionada. Pedidos abandonados no carrinho, sem forma de pagamento selecionada, não serão disponibilizados na LIEZ. 4 layer de integração Objetos Compartilhados Objetos compartilhados são utilizados como envelopes (wrappers) para a chamada e retorno dos métodos. Propriedades Resposta de Processamento Nome Status Objeto: RespostaProcessamento Descrição Tipo de dado Indica o status do processamento Obrigatório Chave Tamanho StatusProcessamento Sim Não - Object Não Não - Exemplo: Sucesso Objeto de retorno da chamada do método Resultado Cada método poderá retornar um objeto no teu retorno. Isso será útil para capturar alguma informação que possa ser gerada pela layer, como um ID. Exemplo: (Marca)Resultado Coleção de erros ocorridos Erros [] RespostaProcessamentoErro Não Não - Obrigatório Chave Tamanho Int Sim Não 8 String Sim Não 500 Uma coleção de objetos do tipo RespostaProcessamentoErro indicando os erros ocorridos. Exemplo: Erro de Processamento Nome Codigo Objeto: ErroProcessamento Descrição Tipo de dado Indica o código do erro Exemplo: 101 Mensagem Mensagem explicativa do erro Exemplo: Marca inexistente Status de Processamento Nome Código Enum: StatusProcessamento Descrição Sucesso 0 Processamento do método ocorreu com sucesso Erro 1 Houve um ou mais erros no processamento do método. Olhar a coleção de erros no objeto ErroProcessamento.Erros 5 layer de integração Tabela de Erros Tabela de Erros Nome Fluxo Descrição 01 Todos Os dados enviados para o processo de integração estão inválidos. 10 Todos Erro durante o processo de integração dos dados. 11 Todos Erro desconhecido de banco de dados. 12 Preço Erro ao atualizar a descrição das condições de pagamentos no site. 101 Marca A marca não existe no banco de dados. 102 Categoria 103 Fornecedor 104 Produto O produto não existe no banco de dados. 105 Produto A variação do produto não existe no banco de dados. 106 Produto A subvariação do produto não existe no banco de dados. 107 Pedido O pedido não existe no banco de dados. 108 Pedido O pedido não foi encontrado na fila de integração. 109 Cliente O cliente não foi encontrado na fila da integração. Cliente O assinante não foi encontrado na fila de integração. Produto A extensão informada para o produto não existe no mapeamento de meta dados. Extensão: {Alias} Produto A extensão informada para o produto possui tamanho incompatível com o configurado no mapeamento de meta dados. Extensão: { Alias } Produto A extensão informada para o produto possui tipo de dados incompatível com o configurado no mapeamento de meta dados. Extensão: { Alias } Produto A coleção de extensões informada não contém um elemento obrigatório. Elemento obrigatório: {Alias} Pedido Pacote não encontrado Pedido Status de andamento de pacote informado não encontrado Pedido Código de barras não informado Pedido Código do pacote e código de barras não informados Pedido O produto {Alias} não foi encontrado no pedido. Verificar se não foi removido. Pedido O pedido não possui produtos ativos para a montagem do pacote Pedido O produto {Alias} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado Produto O código de associação informado {0} nao foi encontrado. Cliente O cliente da fila {0} não foi excluído pois ainda existem sistemas do cliente que precisam ler o registro ou o sistema corrente não possui permissão de mofificação na fila. Pedido O pedido da fila {0} não foi excluído pois ainda existem sistemas do cliente que precisam ler o registro ou o sistema corrente não possui permissão de mofificação na fila. Cliente O assinante da fila {0} não foi excluído pois ainda existem sistemas do cliente que precisam ler o registro ou o sistema corrente não possui permissão de mofificação na fila. 110 200 205 210 215 315 320 326 330 335 336 337 350 360 361 362 A categoria do site não existe no banco de dados. O fornecedor não existe no banco de dados. 6 layer de integração Fluxo da Família de Produto Arquitetura Endereço do Serviço: http://services03.ezcommerce.com.br/catalogows.svc Família de Produtos O produto pode ser estruturado sozinho ou em famílias. Um produto sozinho representa uma unidade em estoque que não possui nenhum tipo de variação (ex: Câmera Digital Sony XYZ). Famílias de produtos representam todas as variações de um mesmo produto. Na plataforma da EZ Commerce só é possível ter no máximo dois níveis de variações, o que chamamos de Variação e Sub Variação. Tanto a variação como a sub variação funcionam com meta-dados, então é possível criar um produto, por exemplo, que varie por Cor/Tamanho, ou Tamanho/Cor. Cada variação ou sub variação deverá ter seu preço e estoque, pois representam uma unidade física de um produto. Sub Variação Variação Sub Variação Produto Pai Variação Sub Variação 7 layer de integração Exemplo: P Azul M Camisa Polo Vermelho M 8 layer de integração Fluxo de Marcas Métodos Método Descrição SalvarMarca Insere a marca se não existir. Atualiza todos os campos da marca se existir. Parâmetros de Entrada Tipo Marca Marca Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 01 Os dados enviados para o processo de integração estão inválidos. 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. Método Descrição SalvarMarcaLst Baseado em uma coleção de marcas, insere a marca se não existir. Atualiza todos os campos da marca se existir. Sugere-se o número de 200 itens dentro da coleção a ser operada; Parâmetros de Entrada Tipo List<Marca> Marca[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 01 Os dados enviados para o processo de integração estão inválidos. 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. Método Descrição ExcluirMarca Exclui uma marca se existir. Parâmetros de Entrada Tipo Tamanho Descrição MarcaId Int 8 ID da marca a ser excluída Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. 101 A marca não existe no banco de dados. Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição 9 layer de integração Propriedades Marca de Produto Nome MarcaID Objeto: Marca Descrição Tipo de dado Id de identificação da marca Obrigatório Chave Tamanho Int (positivo) Sim Sim 8 String Sim Não 50 String Não Não 500 Exemplo: 10 Nome Nome da marca Exemplo: Sony Url do site da marca Url O link para o site da marca será feito de acordo com a string informada. Por esse motivo, é necessário passar o http://, se for o caso. Exemplo: http://www.sony.com Nome da imagem que representa o logotipo Logotipo String Não Não 50 O nome da imagem que estará no diretório pré-determinado. O diretório será acessado por FTP ou pelo gerenciador de arquivos do sistema. Exemplo: logosony.jpg Ordem de listagem da marca Ordem Int Não Não 8 Sim Não 1 Campo utilizado para ordenação das marcas. Ordenará do menor ao maior. Exemplo: 10 Status da marca Ativo Bool Indica se a marca está ativa. Exemplo: True Fluxo de Categorias do Site Métodos Método Descrição SalvarSiteCategoria Insere a categoria do site se não existir. Atualiza todos os campos da categoria do site se existir. Parâmetros de Entrada Tipo SiteCategoria SiteCategoria Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 01 Os dados enviados para o processo de integração estão inválidos. 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. 102 A categoria pai não existe no banco de dados. Método Descrição ExcluirSiteCategoria Excluir uma categoria do site se existir. Parâmetros de Entrada Tipo Tamanho Descrição SiteCategoriaID Int 8 ID da categoria Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Tamanho Descrição Tamanho Descrição 10 layer de integração Erros Possíveis Descrição 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. 102 A categoria do site não existe no banco de dados. Propriedades Categoria do Site Nome SiteCategoriaID Objeto: SiteCategoria Descrição Id de identificação da categoria Tipo de dado Obrigatório Chave Tamanho Int (positivo) Sim Sim 8 Int (positivo) Sim Não 8 Exemplo: 7 Id da categoria pai SiteCategoriaPaiID Se for uma categoria de primeiro nível (root), informar “0” (zero) nessa propriedade Exemplo: 0 Nome da categoria do site Nome String Sim Não 50 String Não Não 50 String Não Não 50 Int (positivo) Não Não 8 O nome que irá aparecer no site para a categoria Exemplo: Informática Descrição da categoria do site Descricao Descrição da categoria do site que aparecerá abaixo da paginação. Exemplo: Palavras-chave da categoria PalavrasChave Palavras-chave para auxiliar na busca. Não será exibido no site. Exemplo: Computadores, Notebook, Sony, MP3 Ordem da categoria no site Ordem Campo pelo qual o site irá ordenar ar categorias irmãs. O segundo critério de ordenação será o nome da categoria. Exemplo: Computadores, Notebook, Sony, MP3 Url para o link da categoria Url String Não Não 50 Uma url opcional para fazer um link na categoria. Nesse caso, a categoria não apontará para a página de lista de produtos dessa categoria. Esse comportamento só acontecerá se a propriedade “Redirecionar” estiver marcada com True. Exemplo: HTTP://www.sony.com.br Flag que indica se deve redirecionar Redirecionar Bool Sim Não 1 Bool Sim Não 1 Int Não Não 1 Indica se a categoria deve redirecionar para o campo “Url” Exemplo: True Status da categoria Ativo Indica se a categoria está ativa. Exemplo: True VisualizaLogado Padrão ZERO. Se valor é igual a UM, mostra categoria apenas se logado. MetaTitle MetaTitle da Categoria Exemplo: String Não Não 200 MetaDescription MetaDescription da Categoria Exemplo: String Não Não 200 11 layer de integração Fluxo de Fornecedores Métodos Método Descrição SalvarFornecedor Insere o fornecedor se não existir. Atualiza todos os campos do fornecedor se existir. Parâmetros de Entrada Tipo Fornecedor Fornecedor Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 01 Os dados enviados para o processo de integração estão inválidos. 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. Método Descrição SalvarFornecedorLst Baseado em uma coleção de fornecedores, insere o fornecedor se não existir. Atualiza todos os campos do fornecedor se existir. Sugere-se o número de 200 itens dentro da coleção a ser operada; Parâmetros de Entrada Tipo List<Fornecedor> Fornecedor[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 01 Os dados enviados para o processo de integração estão inválidos. 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. Método Descrição ExcluirFornecedor Exclui um fornecedor se existir. Parâmetros de Entrada Tipo Tamanho Descrição FornecedorID Int 8 Pode ser preenchido somente o campo ID Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 10 Erro durante o processo de integração dos dados. 11 Erro desconhecido de banco de dados. 103 O fornecedor não existe no banco de dados. Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Propriedades Fornecedor Objeto: Fornecedor Nome Descrição FornecedorID Id de identificação do fornecedor Tipo de dado Int (positivo) Obrigatório Chave Tamanho Sim Sim 8 12 layer de integração Exemplo: 10 Nome Nome do fornecedor String Sim Não 50 String Não Não 50 String Não Não 50 String Não Não 50 String Não Não 50 String Não Não 50 Exemplo: Fornecedor ZYX Telefone Telefone do fornecedor Exemplo: 51 3013-7816 Contato Nome do contato no fornecedor Exemplo: João da Silva Url do site do fornecedor Url Importante cadastrar junto o “Http://”. O site irá fazer o link diretamente para essa string. Exemplo: HTTP://www.fornecedorxyz.com.br Email Email do fornecedor Exemplo: [email protected] Observacoes Observações cadastradas para o fornecedor 13 layer de integração Fluxo de Produtos Métodos Método Descrição SalvarProduto Insere o produto se não existir. Atualiza todos os campos do produto, se existir. Parâmetros de Entrada Tipo Produto Produto Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição SalvarProdutoLst Baseado em uma coleçao de produtos, insere o produto se não existir. Atualiza todos os campos do produto, se existir. Sugere-se o número de 200 itens dentro da coleção a ser operada; Parâmetros de Entrada Tipo List<Produto> Produto[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição ExcluirProduto Excluir um produto, se existir. Parâmetros de Entrada Tipo Tamanho Descrição CodigoIntegracao int 8 Código de integração do produto Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 401 Produto inexistente Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição 14 layer de integração Método Descrição SalvarListaProdutos Cria uma lista de produtos. Parâmetros de Entrada Tipo ListaProdutos ListaProdutos Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 401 Produto inexistente Tamanho Descrição Tamanho Descrição Propriedades Produto Nome CodigoIntegracao Objeto: Produto Descrição Id de identificação do produto. Tipo de dado String Obrigatório Chave Tamanho Sim Sim 50 Não 8 O sistema que integrador deverá gerar um código para cada produto e informar nessa propriedade. Tipo do produto Tipo TipoProdutoEnum Sim O tipo de produto será utilizado para determinar o seu comportamento em relação as variações e sua apresentação no detalhe do produto. Exemplo: ComVariacaoEmCombo Id do fornecedor FornecedorID Int Não Não 8 Int Não Não 8 String Não Não 50 Fluxo de Fornecedor Exemplo: 15 Id da Marca MarcaID Fluxo de Marca Exemplo: 10 Referência utilizada para o produto Referencia Um código pelo qual o sistema integrador identifica produtos. Pode ser um código de barra, um código de fornecedor, etc. Exemplo: PTR3434 Id da Classificação Classificacao ClassificacaoProdutoEnum Sim Não 8 String Não Não 100 String Não Não 50 Código da classificação do produto que indica seu estado (novo, usado, etc) Exemplo: Novo Modelo do produto Modelo Texto do modelo do produto Exemplo: XYZ Unidade de medida e quantidade Conteudo Indica em que unidade de medida está se comercializando o produto (unidade, caixa, etc) e a quantidade que aquele produto representa. Exemplo: 1 UM Nome do produto Nome String Sim Não 200 String Não Não 200 Não - Não - Campo destinado para o nome do produto Exemplo: iPhone 3GS DescricaoCurta Descrição curta do produto Descrição curta que será apresentada na listagem, pesquisa e detalhe do produto, abaixo do nome. DescricaoLonga Descrição Longa String Não Descrição mais detalhada do produto que será apresentada somente no detalhe do produto TermoDeAceitacao Termo de aceitação para a compra String Não Contrato apresentado ao adicionar o produto no carrinho. O produto só será adicionado se o termo for aceito Custo Custo do produto para o lojista Money Não Não 8,2 15 layer de integração O custo não será apresentado para o cliente, apenas será utilizado pelo sistema para gerar relatórios. Exemplo: 22,56 Preço de venda do produto Preco Money Sim Não 8,2 Sim Não 1 Preço que será apresentado para o cliente se o produto não possuir promoção. Exemplo: 30,00 Indica se existe promoção no produto Promocao Boolean Se existir promoção, a data de inicio e fim da promoção deverão ser válidas para que a mesma seja aplicada. Exemplo; True Preço da promoção PrecoPromocao Money Não Não 8,2 Não Não 16 Não 16 Não 1 O preço que será aplicado se o produto tiver promoção e estiver em vigência. Será apresentado como De: 30,00 Por: 28,50 Exemplo: 28,50 Data de início da promoção PromocaoInicio Datetime Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Data de fim da promoção PromocaoFim Datetime Não Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Regra para preço para produtos com variação PrevalecerPreco PrevalecerPrecoEnum Sim Indica se deve prevalecer o preço do pai, mesmo que as variações possuam preços mais baratos ou caros. O default é PrevalecerPrecoVariacao Exemplo: PrevalecerPrecoPai Valor da taxa cobrada no produto Taxa Money Não Não 8,2 Informa o valor em reais da taxa do produto. Pode ser uma taxa de conveniência cobrada em um ingresso, por exemplo. Exemplo: 15,00 Número máximo de parcelas NumeroMaximoParcelas Int Não Não 8 Indica o número máximo de parcelas para o produto. Mesmo que a forma de pagamento permita mais, o produto irá permitir somente até esse número de parcelas. Exemplo: 6 Estoque mínimo do produto EstoqueMinimo Int Sim Não 8 Indica a que ponto do estoque o administrador deverá ser avisa da reposição de estoque. Exemplo: 2 Estoque atual do produto EstoqueAtual Int Sim Não 8 TipoDisponibilidadeEnum Sim Não 8 Saldo atual em estoque do produto Exemplo: 10 Tipo de disponibilidade do produto TipoDisponibilidade Indica como será o comportamento da disponibilidade do produto. Poderá ser normal, sob encomenda, sob consulta ou até mesmo indisponível, sobrepondo a regra de estoque. Exemplo: Normal Pré venda do produto PreVenda Data limite para a pré-venda PreVendaData Sim Não 1 Datetime Não Não 16 A pré-venda só será realizada até essa data. Posteriormente, o produto assume sua disponibilidade configurada. Se não for informada, a pré venda não terá data limite. Limite de vendas em pré-venda PreVendaLimite Boolean Indica se o produto poderá ser vendido em pré-venda, respeitando as regras de data e limite. Exemplo: True Int Não Não 8 Indica a quantidade máxima de produto a serem vendidos em pré-venda. Se não for informado, a venda acontecerá sem limite. Exemplo: 10 Venda do produto sem estoque (backorder) VendaSemEstoque Data limite da venda sem estoque VendaSemEstoqueData Boolean Sim Não 1 Não 16 Indica que o produto pode ser vendido sem estoque respeitando as regras de data e limite. Exemplo: true Datetime Não A venda sem estoque só será realizada até essa data. Posteriormente, o produto assume sua disponibilidade configurada. Se não for informada, a venda sem estoque não terá data limite. 16 layer de integração Limite de vendas sem estoque VendaSemEstoqueLimite Int Não Não 8 Indica a quantidade máxima de produto a serem vendidos sem estoque. Se não for informado, a venda acontecerá sem limite. Exemplo: 10 Exibir disponibilidade no site ExibirDisponibilidade Boolean Sim Não 1 Não Não 8 Não Não 8 Indica se o site deve apresentar o campo disponibilidade para o cliente Exemplo: True Disponibilidade do produto em estoque DisponibilidadeEmEstoque Int Disponibilidade a ser apresentada (em dias) quando o produto possuir estoque. Exemplo: 5 Disponibilidade do produto sem estoque DisponibilidadeSemEstoque Int Disponibilidade a ser apresentada (em dias) quando o produto não possuir estoque. Caso utilizado apenas para Venda Sem Estoque. Exemplo: 10 Tipo de reposição do produto TipoReposicao TipoReposicaoEnum Sim Não 1 Indica o comportamento da reposição do produto. Se ele for descontinuado, ao acabar o estoque, o produto ficará escotado. Exemplo: Normal Peso do produto (em Kg) Peso Double(Positivo) Sim Não 8,2 Double Não Não 8,2 Double Sim Não 8,2 Double Sim Não 8,2 Double Sim Não 8,2 Int Sim Não 8 Importante para cálculo do frete nos correios Exemplo: 2,4 Peso cúbico do produto PesoCubico Largura Se não for informado, será calculado através das dimensões e peso Exemplo: 1,2 formula para calculo em: http://www.lojamais.com.br/Ajuda/ajuda.asp?pergunta=92 Largura do Produto(em cm) Exemplo: 105 Altura Altura do produto (em cm) Exemplo: 40 Profundidade Profundidade do produto (em cm) Exemplo: 20 Quantidade máxima por cliente QuantidadeMaximaPorCliente Limita a quantidade máxima que um mesmo cliente poderá colocar no carrinho de uma única vez. Se for zero não terá limite. Exemplo: 10 Quantidade mínima para venda. Int Não Não 8 String Não Não 500 Boolean Sim Não 1 QuantidadeMinimaVenda Exemplo: 2 EstoqueMinimoFrase Frase à ser monstrada ao cliente sobre o mínimo de estoque. Exemplo: Apenas 3 unidades no estoque. Frete Grátis FreteGratis Flag para indicar que o produto sempre será vendido com frete grátis. Se existir mais de um produto no carrinho e um dele não for frete grátis, o frete será calculado para o produto sem frete grátis Exemplo: true Sem entrega SemEntrega Boolean Sim Não 1 Indica se o produto tem o comportamento de não ser entregue na casa do cliente, como um Dinheiro Virtual, Serial Number de jogo, etc. Exemplo: true Status ativo Ativo Boolean Sim Não 1 String Não Não 50 String Não Não 50 Indica se o produto está ativo para ser exibido no site. Exemplo: true TituloVariacao Título da Variação Exemplo: Cores TituloSubVariacao Título da Sub Variação 17 layer de integração Exemplo: Tamanhos Data de entrada do produto DataEntrada Datetime Não Não 16 Data que o produto estará visível na loja, quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Data de saído do produto DataSaida Datetime Não Não 16 Data em que o produto sairá da loja automaticamente, quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Códigos de integração com Mercado Livre MercadoLivreCodigos String Não Não 50 String Não Não 50 String Não Não 50 String Não Não 300 String Não Não 200 String Não Não 130 String Não Não 200 8 Códigos (separados por ;) de referência com o produto do Mercado Livre Exemplo: 45645; 546546 Códigos de integração com Arremate ArremateCodigos Códigos de referência com o produto do Arremate Exemplo: 45645 Códigos de integração com TodaOferta TodoOfertaCodigos Códigos (separados por ;) de referência com o produto do TodaOferta Exemplo: 45645; 546546 MetaTitle Meta Title para o produto Meta Title utilizado no HTML do detalhe do produto MetaDescription Meta Description para o produto Meta Description utilizado no HTML do detalhe do produto MetaKeyWords Meta Key Words para o produto Meta Key Words utilizado no HTML do detalhe do produto Palavras utilizadas na busca PalavrasParaPesquisa Palavras que auxiliam na busca dos produtos. Essas palavras não serão apresentadas no site. Exemplo:Note notebook hp34 pavillon Ordem Ordem do produto em uma listagem Int Não Não [] CampoExtendido Não Não Campo auxiliar para a ordenação dos produtos em uma listagem CamposExtendidos Coleção de campos extendidos Os campos extendidos precisam ser criados primeiramente no catálogo da EZ Commerce. Id da categoria principal do produto SiteCategoriaPrincipal SiteCategoriasAlternativas Int(positivo) Sim Não 8 A categoria que será utilizada quando o produto vier de um busca ou exportado para algum XML (Buscapé, Cota Cota, etc) . Coleção de ids de categorias alternativas AssociacaoID Demais categorias que o produto se encontra. Código da associação segundo tabela de parâmetros ProdutosAssociados Coleção de códigos de integração de produtos a serem associados [] int Não Não 8 int Não Não 8 [] Associacao Não Não VisualizarBusca Se valor igual a UM, não mostra o produto na busca da loja int Não Não 1 VisualizaLogado Padrão ZERO. Se valor é igual a UM, somente usuários logados podem visualizar. Int Não Não 1 VisualizaPreco Padrão ZERO. Se valor é igual a UM, somente usuários logados podem visualizar o preço. int Não Não 1 VisualizaUrlDireta Padrão ZERO. Se valor é igual a UM, produto é apenas visualizado pela URL direta. int Não Não 1 Presente Padão NULO. Se valor igual a UM, opção de presente é apresentada no produto. Int Não Não 1 PresenteValor Valor do pacote de presente. Apenas utilizado se Presente = 1. Double Não Não 8,2 18 layer de integração Link “embed” ou “incorporar” da página do vídeo Video exemplo: <iframe width="560" height="315" src="http://www.youtube.com/embed/M8TT6NWJfoU " frameborder="0" allowfullscreen></iframe> Campo Extendido Nome Não Não 300 Objeto: CampoExtendido Descrição Tipo de dado Alias do campo extendido Alias String string Obrigatório Chave Tamanho Sim Sim 50 Um nome dado ao campo extendido no catálogo da EZ Commerce. Esses campos deverão ser criados na instalação da loja. Valor Pontos Valor do campo extendido string Sim Não - Pontos do produto. inteiro Não Não - Importante: Os campos extendidos precisam ser criados anteriormente na plataforma da EZ Commerce. A Layer só aceitará campos extendidos criados e ativos. Entrar em contato com a área técnida para solicitar os campos extendidos necessários. Os campos extendidos podem ser do tipo: Flag (verdadeiro/falso) Texto Simples (sem formatação e uma única linha) Texto Multilinha (sem formatação e multiplas linhas) Número Data Dinheiro Pré-Definido Decimal Texto HTML Associação Nome CodigoIntegracao Objeto: Associacao Descrição Obrigatório Chave Tamanho Sim Sim 50 Obrigatório Chave Tamanho int Não Sim 8 Título da lista string Sim Não 100 Apelido da lista string Sim Não 100 []ListaProdutosLista Sim Não Código de integração do produto a associar Lista de Produtos Nome ProdutosListaID Titulo Alias Produtos Tipo de dado string Objeto: ListaProdutos Descrição Código da lista Produto associados a lista Tipo de dado 19 layer de integração Lista de Produtos Associados Nome ListaID CodigoIntegracao Objeto: ListaProdutosLista Descrição Tipo de dado Código da lista a associar Código de integração do produto a associar Tipo de Produto Obrigatório Chave Tamanho int Sim Sim 50 []string Sim Sim 50 Objeto: TipoProdutoEnum Valores Descrição SemVariacaoNormal Produto normal, sem variações ou subvariações ComVariacoesEmComboELista As variações em combo e as subvariações em lista ComVariacaoEmLista Somente variações com lista ComVariacaoCoresTamanhos ComVariacaoCoresEmGrade Somente variações com quantidade a escolher KitDeProdutos Obs: Deve ser implementado ValePresente ComVariacoesOpcoesEmCombo Variações e subvariações em combo ComVariacaoOpcoesEmGradeComPreco Somente variação com quantidade a escolher e mais o preço Classificação de Produto Valores Objeto: ClassificacaoProdutoEnum Descrição Novo SemiNovo Usado Refurbished Tipo de Disponibilidade Valores Objeto: TipoDisponibilidadeEnum Descrição Disponivel SobEncomenda SobConsulta Indisponivel 20 layer de integração VendaEncerrada Tipo de Reposição Valores Objeto: TipoReposicaoEnum Descrição Normal Descontinuado Prevalecer Preço Valores Objeto: PrevalecerPrecoEnum Descrição PrevalecerPrecoPai PrevalecerPreceVariacao 21 layer de integração Fluxo de Variações de Produtos Métodos Método Descrição SalvarVariacao Insere a variação se não existir. Atualiza todos os campos da variação, se existir. Parâmetros de Entrada Tipo Variacao Variacao Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição ExcluirVariacao Excluir uma variação, se existir. Parâmetros de Entrada Tipo Tamanho Descrição CodigoIntegracaoVariacao String 50 Pode ser preenchido somente o campo ID Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 401 Produto inexistente Tamanho Descrição Tamanho Descrição Propriedades Variação Nome CodigoIntegracao Objeto: Variacao Descrição Id de identificação da integração do produto pai Tipo de dado Obrigatório Chave Tamanho String Sim Sim 50 String Sim Sim 50 String Sim Não 100 String Não Não 50 Money Não Não 8,2 Money Não Não 8,2 Boolean Sim Não 1 Exemplo: 4 CodigoIntegracaoVariacao Id de identificação da integração da variação Exemplo: 40 Nome da variação Nome O nome que irá aparecer no site para a variação. Exemplo: Cor Referencia Referência utilizada para o produto Exemplo: XZ3433 PrecoVariacao Preço da variação Exemplo: 30,00 Preço de Custo da Variação PrecoCustoVariacao Exemplo: 10,00 Indica se existe promoção na variação Promocao Se existir promoção, as data de inicio e fim da promoção deverão ser válidas para que a mesma seja aplicada. Exemplo: True 22 layer de integração PrecoPromocaoVariacao Preço promocional do produto Estoque mínimo da variação EstoqueMinimo Money Não Não 8,2 Int (Positivo) Sim Não 8 Indica a que ponto do estoque o administrador deverá ser avisado da reposição de estoque. Exemplo: 2 Estoque atual da variação EstoqueAtual Int (Positivo) Sim Não 8 Boolean Sim Nao 1 Int Não Não 8 Stringcodigoin Não Sim 50 Decimal Sim Não 8,2 Decimal Não Não 8,2 String Não Sim 100 String Não Sim 100 Foto da variação String Não Sim 50 Código EAN da Variação String Não Não 50 Código NBM da Variação String Não Não 50 Código MPN da Variação String Não Não 50 Saldo atual em estoque da variação Exemplo: 10 Disponivel Indica se a variação está disponível Exemplo: True Ordem Ordem da variação em uma listagem Campo auxiliar para a ordenação dos produtos em uma listagem Cor Hexa decimal da cor do produto Exemplo: #fe34e3 Peso da variação (em Kg) Peso Importante para cálculo do frete nos correios Exemplo: 2,4 Peso Cúbico (em Kg) da variação PesoCubico Exemplo: 1,2 Códigos mapeados do Mercado Livre CodigosMercadoLivre Códigos separados por ; Exemplo: 3434; 3421; 4545 Códigos mapeados do TodaOferta CodigosTodaOferta Códigos separados por ; Exemplo: 3434; 3421; 4545 Foto Ean Nbm Mpn 23 layer de integração Fluxo de Sub Variações de Produtos Métodos Método Descrição SalvarSubVariacao Insere a sub variação se não existir. Atualiza todos os campos da sub variação, se existir. Parâmetros de Entrada Tipo SubVariacao SubVariacao Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição ExcluirSubVariacao Excluir uma sub variação, se existir. Parâmetros de Entrada Tipo Tamanho Descrição CodigoIntegracaoSubVariacao String 50 Pode ser preenchido somente o campo ID Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 401 Produto inexistente Tamanho Descrição Tamanho Descrição Propriedades Sub Variação Nome CodigoIntegracao Objeto: Subvariacao Descrição Id de identificação da integração do produto pai Tipo de dado Obrigatório Chave Tamanho String Sim Sim 50 String Sim Sim 50 String Sim Sim 50 String Sim Não 100 String Não Não 50 Money Não Não 8,2 Money Não Não 8,2 Boolean Sim Não 1 Exemplo: 4 CodigoIntegracaoVariacao Id de identificação da integração da variação Exemplo: 40 CodigoIntegracaoSubVariacao Id de identificação da integração da subvariação Exemplo: 456 Nome da subvariação Nome O texto que irá ser apresentado no site Exemplo: GG Referencia Referência da subvariação Exemplo: GT3433 PrecoSubVariacao Preço da subvariação Exemplo: 23,67 Preço de custo da subvariação PrecoCustoSubVariacao Exemplo:8,00 Promocao Indica se a subvariação possui promoção Exemplo: True 24 layer de integração PrecoPromocaoSubVariacao Preço promocional da subvariação Money Não Não 8,2 Int (Positivo) Sim Não 8 Exemplo: 45,33 Estoque mínimo da subvariação EstoqueMinimo Indica a que ponto do estoque o administrador deverá ser avisado da reposição de estoque. Exemplo: 2 Estoque atual da subvariação EstoqueAtual Int (Positivo) Sim Não 8 Boolean Sim Nao 1 Int (Positivo) Sim Não 8 Decimal Sim Não 8,2 Decimal Não Não 8,2 Foto da subvariação String Não Sim 50 Código EAN da SubVariação String Não Não 50 Código NBM da SubVariação String Não Não 50 Saldo atual em estoque da subvariação Exemplo: 10 Disponivel Indica se a subvariação está disponível Exemplo: True Ordem Ordem da subvariação em uma listagem Campo auxiliar para a ordenação dos produtos em uma listagem Peso Peso (em Kg) da subvariação Exemplo: 3,2 Peso Cúbico (em Kg) da subvariacao PesoCubico Exemplo:1,00 Foto Ean Nbm Mpn Código MPN da SubVariação 25 layer de integração Fluxo de Preços Métodos Método Descrição SalvarPreco Atualiza os campos de preço do produto. Importante: O método SalvarPreco será utilizado para atualizar Produtos, Variações e SubVariações, seguindo a seguinte regra: Para atualizar o preço do produto, informar somente o CodigoIntegracao Para atualizar o preço da variação informar somente CodigoIntegracao e CodigoIntegracaoVariacao Para atualizar o preço da subvariacao informar CodigoIntegracao, CodigoIntegracaoVariacao e CodigoIntegracaoSubVariacao Parâmetros de Entrada Tipo Preco Preco Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição SalvarPrecoLst Baseado em uma lista de Produtos, atualiza os campos de preço do produto. Importante: O método SalvarPreco será utilizado para atualizar Produtos, Variações e SubVariações, seguindo a seguinte regra: Para atualizar o preço do produto, informar somente o CodigoIntegracao Para atualizar o preço da variação informar somente CodigoIntegracao e CodigoIntegracaoVariacao Para atualizar o preço da subvariacao informar CodigoIntegracao, CodigoIntegracaoVariacao e CodigoIntegracaoSubVariacao Sugere-se o número de 200 itens dentro da coleção a ser operada; Parâmetros de Entrada Tipo List<Preco> Preco[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição SalvarListaDePrecos Cria uma lista de preços. Parâmetros de Entrada Tipo listaDePrecos ListaDePrecos Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição ExcluirListaDePrecos Excluir uma lista de preços, se existir. Parâmetros de Entrada Tipo Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição 26 layer de integração ListaDePrecosID int 8 Retorno Tipo Tamanho RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 345 Lista de Preços inexistente Descrição Método Descrição SalvarListaDePrecosProduto Cadastra ou Atualiza o preço para um produto em determinada lista de preços. Importante: O método SalvarListaDePrecosProduto será utilizado para salvar preço para Produtos, Variações e SubVariações, seguindo a seguinte regra: Para salvar o preço do produto, informar somente o CodigoIntegracao Para salvar o preço da variação informar somente CodigoIntegracao e CodigoIntegracaoVariacao Para salvar o preço da subvariacao informar CodigoIntegracao, CodigoIntegracaoVariacao e CodigoIntegracaoSubVariacao Parâmetros de Entrada Tipo listaDePrecosProduto ListaDePrecosProduto Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 104 Produto inexistente. 345 Lista de Preços inexistente. Tamanho Descrição Tamanho Descrição Método Descrição ExcluirListaDePrecosProduto Exclui a definição de preço de um produto em uma determinada lista de preços, se existir. Parâmetros de Entrada Tipo Tamanho ListaDePrecosID int 8 CodigoIntegracao String 50 CodigoIntegracaoVariacao String 50 CodigoIntegracaoSubVariacao String 50 Retorno Tipo Tamanho RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 345 Lista de Preços inexistente Descrição Descrição Propriedades Preco do Produto Nome CodigoIntegracao Objeto: Preco Descrição Id de identificação da integração do produto pai Tipo de dado Obrigatório Chave Tamanho String Sim Sim 50 String Não Sim 50 String Não Sim 50 Money Sim Não 8,2 Exemplo: 4 Id de identificação da integração da variação CodigoIntegracaoVariacao Exemplo: 40 Id de identificação da integração da subvariação CodigoIntegracaoSubVariacao Exemplo: 456 PrecoProduto Preço a ser atualizado 27 layer de integração Exemplo: 44,32 Promocao Atualiza o flag promoção Boolean Sim Não 1 Money Não Não 8,2 Datetime Não Não 16 Exemplo: true PrecoPromocao Preço promocional a ser atualizado Exemplo: 34,56 Data início da promoção PromocaoInicio Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Data fim da promoção PromocaoFim Datetime Não Não 16 Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Lista de Preços Nome ListaDePrecosID Objeto: ListaDePrecos Descrição Tipo de dado Id de identificação da lista de preços Obrigatório Chave Tamanho Int Sim Sim 8 String Sim Sim 250 Boolean Sim Nao 1 Obrigatório Chave Tamanho Int Sim Sim 8 String Sim Sim 50 String Não Sim 50 String Não Sim 50 Money Sim Não 8,2 Boolean Sim Não 1 Money Não Não 8,2 Datetime Não Não 16 Exemplo: 4 Nome para identificar a lista de preços Nome Exemplo: Lista de Preços para teste Define se a lista está ativo ou não Ativo Exemplo: True Lista de Preços Produto Nome ListaDePrecosID Objeto: ListaDePrecosProduto Descrição Id de identificação da lista de preços Tipo de dado Exemplo: 4 CodigoIntegracao Id de identificação da integração do produto pai Exemplo: 4 Id de identificação da integração da variação CodigoIntegracaoVariacao Exemplo: 40 Id de identificação da integração da subvariação CodigoIntegracaoSubVariacao Exemplo: 456 PrecoProduto Preço a ser atualizado Exemplo: 44,32 Promocao Atualiza o flag promoção Exemplo: true PrecoPromocao Preço promocional a ser atualizado Exemplo: 34,56 Data início da promoção PromocaoInicio Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. Data fim da promoção PromocaoFim Datetime Não Não 16 Quando possuir valor é aceito somente dia, mês e ano. Datas com hora ou minutos serão truncadas. Exemplo de data válida: 23/03/2010. 28 layer de integração Fluxo de Estoque Métodos Método Descrição SalvarEstoque Atualiza os campos de estoque do produto. Importante: O método SalvarEstoque será utilizado para atualizar Produtos, Variações e SubVariações, seguindo a seguinte regra: Para atualizar o estoque do produto, informar somente o CodigoIntegracao Para atualizar o estoque da variação informar somente CodigoIntegracao e CodigoIntegracaoVariacao Para atualizar o estoque da subvariacao informar CodigoIntegracao, CodigoIntegracaoVariacao e CodigoIntegracaoSubVariacao Parâmetros de Entrada Tipo Estoque Estoque Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição SalvarEstoqueLst Baseado em uma coleçao de estoque, atualiza os campos de estoque do produto. Importante: O método SalvarEstoque será utilizado para atualizar Produtos, Variações e SubVariações, seguindo a seguinte regra: Para atualizar o estoque do produto, informar somente o CodigoIntegracao Para atualizar o estoque da variação informar somente CodigoIntegracao e CodigoIntegracaoVariacao Para atualizar o estoque da subvariacao informar CodigoIntegracao, CodigoIntegracaoVariacao e CodigoIntegracaoSubVariacao Sugere-se o número de 200 itens dentro da coleção a ser operada; Parâmetros de Entrada Tipo List<Estoque> Estoque[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Propriedades Estoque do Produto Nome CodigoIntegracao Objeto: Estoque Descrição Obrigatório Chave Tamanho String Sim Sim 50 String Não Sim 50 String Não Sim 50 Estoque mínimo Int Sim Não 8 Saldo do Estoque Atual do produto Int Sim Não 8 Id de identificação da integração do produto pai Tipo de dado Exemplo: 4 Id de identificação da integração da variação CodigoIntegracaoVariacao Exemplo: 40 Id de identificação da integração da subvariação CodigoIntegracaoSubVariacao Exemplo: 456 EstoqueMinimo EstoqueAtual O Salvar estoque irá atualizar (sobrescrever) o estoque atual no produto. Não será feito acréscimo ou desconto do estoque. Exemplo: 23 29 layer de integração Fluxo de Menus Personalizados Métodos Método Descrição BuscaMenusPersonalizados Retorna todos os menus personalizados do sistema Parâmetros de Entrada Tipo Tamanho Descrição Retorno Tipo Tamanho Descrição Resposta IEnumerable<Menu> Método Descrição BuscaRelacaoMenuCategoria Retorna a relação entre um menu e uma categoria, se houver. Retorna null se não houve relação. Parâmetros de Entrada Tipo Tamanho Descrição menuID Int 8 Identificador do menu personalizado categoriaID Int 8 Identificador da categoria Retorno Tipo Tamanho Descrição Resposta MenuRelation Método Descrição Efetua o relacionamento entre um menu personalizado que seja vinculável, e uma categoria do sistema que seja pai. Validações: SetaRelacaoMenuSecao - A categoria deve ser pai. Quando vinculamos uma categoria pai, automaticamento suas categorias filhas serão vinculadas. Não pode ser vinculado uma categoria filha por este método. - O menu personalizado deve ser vinculável, ou seja, quando ela estará disponível para que uma categoria seja associada a ele. Acesso pela propriedade “Vinculavel” na classe Menu. Parâmetros de Entrada Tipo Relation MenuRelation Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Tamanho Descrição Tamanho Descrição Categoria Inexistente Categoria deve ser uma categoria pai Propriedades Menu Nome MenuID Objeto: Menu Descrição Identificador do menu personalizado Tipo de dado Obrigatório Chave Tamanho Int Sim Sim 8 String Sim Não 50 String Sim Não 50 Bool Sim Não - Exemplo: 4 Título do menu MenuTitulo Exemplo: “Menu Horizontal” Alias de identificação do menu MenuAlias Exemplo: “menu-horizontal” Ativo Indica se o menu está ativo 30 layer de integração Indica se o menu é vinculável, ou seja, pode ser associável Bool Sim Não - Obrigatório Chave Tamanho Int Sim Sim 8 Int Sim Sim 8 Int Sim Não 8 Vinculavel MenuRelation Nome MenuID Objeto: MenuRelation Descrição Identificador do menu personalizado Tipo de dado Exemplo: 4 Identificador da categoria CategoriaID Exemplo: 3 Ordem que a categoria ocupará no menu OrdemSecao Exemplo: 1 31 layer de integração Fluxo de Clientes Arquitetura Endereço do Serviço: http://services03.ezcommerce.com.br/clientews.svc Métodos Método Descrição ClientesDisponiveis Retorna uma coleção de clientes disponíveis para integração. A quantidade de clientes retornados está ligada ao parâmetro layer_NumMaxClienteFila configurado na tabela ezcommerce_configuracoes. Parâmetros de Entrada Tipo - - Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição Tamanho Descrição Tamanho Descrição 32 layer de integração ConfirmaRecebimentoCliente Confirma o recebimento de um cliente, removendo o mesmo da fila de integração. Parâmetros de Entrada Tipo Protocolo String Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 701 Protocolo inexistente ou cliente já removido da fila de integração. Tamanho Descrição 36 Tamanho Descrição Método Descrição ConfirmaRecebimentoClienteLst Confirma o recebimento de uma lista de clientes, removendo os mesmos da fila de integração. Parâmetros de Entrada Tipo Protocolo String[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 701 Protocolo inexistente ou cliente já removido da fila de integração. Tamanho Descrição Tamanho Descrição Método Descrição AssinantesDisponiveis Retorna uma coleção de assinantes disponíveis para integração. A quantidade de clientes retornados está ligada ao parâmetro layer_NumMaxAssinanteFila configurado na tabela ezcommerce_configuracoes. Parâmetros de Entrada Tipo - - Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Tamanho Descrição Tamanho Descrição Método Descrição ConfirmaRecebimentoAssinante Confirma o recebimento de um assinante, removendo o mesmo da fila de integração. Parâmetros de Entrada Tipo Protocolo String Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 701 Protocolo inexistente ou assinante já removido da fila de integração. Tamanho Descrição 36 Tamanho Descrição Método Descrição ConfirmaRecebimentoAssinanteLst Confirma o recebimento de uma lista de assinantes, removendo os mesmos da fila de integração. 33 layer de integração Parâmetros de Entrada Tipo Protocolo String[] Tamanho Descrição Retorno Tipo Tamanho Descrição RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 701 Protocolo inexistente ou assinante já removido da fila de integração. Propriedades Cliente Nome Objeto: Cliente Descrição Uma hash de identificação da integração do cliente Protocolo Tipo de dado String Obrigatório Chave Tamanho Sim Não 36 Comentário: Essa hash será utilizada para remover da fila de integração o cliente integrado com sucesso. Exemplo: 724f8c63-b2fb-4061-999c-3b5b03cb1c8c ClienteID Id de identificação do cliente Int (Positivo) Sim Sim 8 TipoClienteEnum Sim Não 1 Exemplo: 15 Tipo de cadastro do cliente TipoCliente Cliente poderá ser do tipo Pessoa Física ou Pessoa Jurídica. Dependendo do Tipo de Cliente, as validações serão aplicadas somente nos campos utilizados por esse tipo. Exemplo: PessoaFisica Apelido Nome do cliente Nome String Não Não 100 String Não Não 150 Datetime Não Não 16 ClienteSexoEnum Não Não 1 String Não Não 16 String Não Não 16 String Não Não 150 String Não Não 150 String Não Não 11 String Não Não 10 Somente para TipoCliente = PessoaFisica Exemplo: João da Silva DataNascimento Data de nascimento Somente para TipoCliente = PessoaFisica Sexo do cliente Sexo Somente para TipoCliente = PessoaFisica Exemplo: Masculino CNPJ da empresa CNPJ Somente para TipoCliente = PessoaJuridica Somente números. Exemplo: 4497644587000104 Inscrição Estadual da empresa IE Somente para TipoCliente = PessoaJuridica Somente números. Exemplo: 4497644587000104 RazaoSocial Razão social da empresa Somente para TipoCliente = PessoaJuridica NomeFantasia Nome fantasia da empresa Somente para TipoCliente = PessoaJuridica CPF da pessoa física CPF Somente para TipoCliente = PessoaFisica Somente números. Exemplo: 97191698001 Registro Geral da pessoa físcia RG Somente para TipoCliente = PessoaFisica Somente números e letras.Sem “.” Ou traços. Exemplo: 4497644587000104 34 layer de integração Logradouro Logradouro do endereço do cliente String Não Não 250 String Não Não 50 String Não Não 150 String Não Não 8 String Não Não 150 String Não Não 50 String Não Não 2 String Não Não 2 String Não Não 50 String Não Não 50 String Não Não 50 String Não Não 50 String Sim Não 100 Exemplo: Av. Assis Brasil Numero Número do endereço do cliente Exemplo: 154 Complemento Complemento do endereço do cliente Exemplo: Sala 504 CEP do endereço do cliente CEP Somente números. Exemplo: 91120211 Bairro Bairro do endereço do cliente Exemplo: Lindóia Cidade Cidade do endereço do cliente Exemplo: Porto Alegre Estado do endereço do cliente Estado Versão abreviada do Estado Exemplo: RS, SP, RJ Pais do endereço do cliente Pais Versão abreviada do país Exemplo: BR Telefone Telefone principal do cliente Exemplo: 51 4845-2822 Telefone2 Telefone secundário do cliente Exemplo: 51 3845-2822 Celular Telefone celular do cliente Exemplo: 51 9845-2822 Fax Fax do cliente Exemplo: 51 2845-2822 Email do cliente Email Também utilizado como login para a área do cliente e processo de compra. O email não poderá repetir. Exemplo: [email protected] DataCadastro ReceberEmail Data do registro do cliente no site Datetime Sim Não 16 Indica se o cliente deseja receber emails (newsletters) Boolean Não Não 1 Texto livre para indicar como o cliente descobriu o site String Não Não 50 Observações do cadastro do cliente String Não Não 1000 String Não Não 20 String Não Sim 36 Obrigatório Chave Tamanho Sim Não 36 True = Sim, deseja Exemplo: True ComoDescobriu Observacoes Exemplo: IP IP no momento do cadastro do cliente Exemplo: 200.155.12.144 Token Hash de autenticação do Cliente Exemplo: 25446B38-A1F2-441A-8A9D-E7551E802626 Assinante Nome Objeto: Assinante Descrição Uma hash de identificação da integração do assinante Protocolo Tipo de dado String Comentário: Essa hash será utilizada para remover da fila de integração o assinante integrado com sucesso. Exemplo: 724f8c63-b2fb-4061-999c-3b5b03cb1c8c 35 layer de integração EmailD Id de identificação do assinante Int (Positivo) Sim Sim 8 String Não Não 150 Datetime Não Não 16 String Sim Não 100 Exemplo: 15 Nome Nome do cliente Exemplo: João da Silva DataCadastro Email Data do registro do assinante no site Email do assinante Exemplo: [email protected] Tipo de Cliente Objeto: TipoClienteEnum Valores Descrição PessoaFisica Cadastro para tipo de pessoa física (possui campos CPF, RG, Nome, Data Nascimento, Sexo) PessoaJuridica Cadastro para tipo de pessoa jurídia (possui campos CNPJ, IE, Razão Social, Nome Fantasia) Cliente Sexo Valores Objeto: ClienteSexoEnum Descrição Masculino Feminino 36 layer de integração Fluxo de Pedidos Arquitetura Endereço do Serviço: http://services03.ezcommerce.com.br/pedidows.svc 37 layer de integração Métodos Método Descrição PedidosDisponiveis Retorna uma coleção de pedidos disponíveis para integração. A quantidade de pedidos retornados está ligada ao parâmetro layer_NumMaxPedidoFila configurado na tabela ezcommerce_configuracoes. Parâmetros de Entrada Tipo - - Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição PedidosDisponiveisComFiltro Retorna uma coleção de pedidos disponíveis para integração. A quantidade de pedidos retornados está ligada ao parâmetro layer_NumMaxPedidoFila configurado na tabela ezcommerce_configuracoes. Leva em consideração um filtro pré-definido. Parâmetros de Entrada Tipo Filter PedidoFiltro Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição PedidosAtualizados Retorna uma coleção de pedidos disponíveis para integração. Os pedidos retornados através desse método são pedidos que sofreram qualquer tipo de alteração. A quantidade de pedidos retornados está ligada ao parâmetro layer_NumMaxPedidoFila configurado na tabela ezcommerce_configuracoes. Parâmetros de Entrada Tipo - - Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição Método Descrição ConfirmaRecebimentoPedido Confirma o recebimento de um pedido, removendo o mesmo da fila de integração. Parâmetros de Entrada Tipo Protocolo String Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 801 Protocolo inexistente ou pedido já removido da fila de integração. Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição Tamanho Descrição 36 Tamanho Descrição 38 layer de integração Método Descrição ConfirmaRecebimentoPedidoLst Confirma o recebimento de uma lista de pedidos, removendo os mesmos da fila de integração. Parâmetros de Entrada Tipo Protocolo String[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 801 Protocolo inexistente ou pedido já removido da fila de integração. Tamanho Descrição Tamanho Descrição Método Descrição ConfirmaRecebimentoPedidoAtualizado Confirma o recebimento de um pedido, removendo o mesmo da fila de integração de pedidos atualizados. Parâmetros de Entrada Tipo Protocolo String Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 801 Protocolo inexistente ou pedido já removido da fila de integração. Tamanho Descrição 36 Tamanho Descrição Método Descrição ConfirmaRecebimentoPedidoAtualizadoLst Confirma o recebimento de uma lista de pedidos, removendo os mesmos da fila de integração de pedidos atualizados. Parâmetros de Entrada Tipo Protocolo String[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 801 Protocolo inexistente ou pedido já removido da fila de integração. Tamanho Descrição Tamanho Descrição Método Descrição AtualizarStatusPedido Atualiza status de determinado pedido informado pelo cliente. Parâmetros de Entrada Tipo StatusPedido StatusPedido Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 4001 Pedido não encontrado. Tamanho Descrição Tamanho Descrição 39 layer de integração Método Descrição CriarPacote Cria um pacote de entrega de produtos para o pedido. Parâmetros de Entrada Tipo Pacote Pacote Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 320 Status de andamento de pacote informado não encontrado 335 O produto {Alias} não foi encontrado no pedido. Verificar se não foi removido. 337 O produto {0} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado. Pedido não encontrado 4001 Tamanho Descrição Tamanho Descrição Método Descrição RemoverPacotePorPacoteID Exclui um pacote de entrega de produtos para um pedido. Parâmetros de Entrada Tipo PacoteID int Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. Tamanho Descrição Identificador do pacote Tamanho Descrição Método Descrição RemoverPacotePorCodigoBarras Exclui um pacote de entrega de produtos para um pedido. Parâmetros de Entrada Tipo CodigoBarras string Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 326 Código de barras não informado Tamanho 20 Tamanho Descrição Código de barras do pacote Descrição Método Descrição AtualizarStatusPacotePorPacoteID Atualiza o status de um pacote de entrega de produtos para um pedido. Parâmetros de Entrada Tipo PacoteID Int Identificador do pacote TrackingStatusID Int Status do pacote Observacoes string Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 320 Status de andamento de pacote informado não encontrado Tamanho Descrição Observações a respeito da troca de status Tamanho Descrição 40 layer de integração Método Descrição AtualizarStatusPacotePorCodigoBarras Atualiza o status de um pacote de entrega de produtos para um pedido. Parâmetros de Entrada Tipo CodigoBarras string Código de barras do pacote TrackingStatusID Int Status do pacote Observacoes string Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 326 Código de barras não informado 320 Status de andamento de pacote informado não encontrado Tamanho Descrição Observações a respeito da troca de status Tamanho Descrição Método Descrição AdicionarProdutoPacote Adiciona um produto a um pacote existente. Parâmetros de Entrada Tipo List<PacoteProduto> PacoteProduto[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 104 Identifica que um produto não foi localizado no banco de dados 337 O produto {0} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado Método Descrição RemoverProdutoPacote Remove um produto de um pacote. Parâmetros de Entrada Tipo List<PacoteProduto> PacoteProduto[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 104 Identifica que um produto não foi localizado no banco de dados Tamanho Descrição Lista de produtos a serem adicionados ao pacote Tamanho Tamanho Descrição Descrição Lista de produtos a serem removidos do pacote Tamanho Descrição Método Descrição SalvarCupomDesconto Insere o cupom de desconto. Atualiza todos os campos do cupom, se existir. Parâmetros de Entrada Tipo CupomDesconto CupomDesconto Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 104 Produto informado não encontrado Tamanho Descrição Tamanho Descrição 41 layer de integração Método Descrição CriarPacoteEntrega Cria um pacote de entrega de produtos para o pedido. Parâmetros de Entrada Tipo PacoteEntrega PacoteEntrega Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 339 Previsão de entrega maior que data de envio. 107 Pedido não encontrado. 336 Pedido não possui items ativos. 340 O produto {0} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado. Código de Rastreio já cadastrado para outro pacote. 338 Tamanho Descrição Tamanho Descrição Método Descrição RemoverPacoteEntrega Exclui um pacote de entrega de produtos para um pedido. Parâmetros de Entrada Tipo PacoteID int Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. Tamanho Descrição Identificador do pacote Tamanho Descrição Método Descrição AdicionarProdutoPacoteEntrega Adiciona um produto a um pacote de entrega existente. Parâmetros de Entrada Tipo List<PacoteEntregaItem> PacoteEntregaItem[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 104 Identifica que um produto não foi localizado no banco de dados 340 O produto {0} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado Método Descrição RemoverProdutoPacoteEntrega Remove um produto de um pacote de entrega. Parâmetros de Entrada Tipo List<PacoteEntregaItem> PacoteEntregaItem[] Retorno Tipo RespostaProcessamento RespostaProcessamento Erros Possíveis Descrição 315 Pacote não encontrado. 104 Identifica que um produto não foi localizado no banco de dados Tamanho Descrição Lista de produtos a serem adicionados ao pacote Tamanho Tamanho Descrição Descrição Lista de produtos a serem removidos do pacote Tamanho Descrição 42 layer de integração Propriedades Pedido Nome Objeto: Pedido Descrição Tipo de dado Protocolo de integração Protocolo String Obrigatório Chave Tamanho Sim Sim 36 Um hash gerado para cada item na integração que será utilizado posteriormente para chamar o método ConfirmaRecebimentoPedido Exemplo: 25446B38-A1F2-441A-8A9D-E7551E802626 PedidoID Código do pedido Int (positivo) Sim Sim 8 Int (positivo) Sim Não 8 String Não Não 20 String Não Não 10 Int (positivo) Sim Não 8 Money Sim Não 8,2 Money Sim Não 8,2 Money Sim Não 8,2 Money Sim Não 8,2 Money Sim Não 8,2 Datetime Sim Não 16 String Sim Não 200 String Sim Não 200 String Não Não 500 String Não Não 200 String Sim Não 200 String Sim Não 200 String Não Não 200 String Sim Não 200 Exemplo: 455645 ClienteID NumeroRegistroCliente ID de identificação do cliente Exemplo: 451 CPF ou CNPJ do Cliente, depente do tipo de cliente Exemplo: 002.454.333-65 Define se o Cliente é PJ ou PF TipoCliente Exemplo: PF ID de identificação da forma de entrega FormaEntregaID Ver tabela de referência Formas de Entrega Exemplo: 15 Valor total do pedido ValorTotal Valor total informado ao cliente. Exemplo: 155,24 ValorFrete Valor do frete do pedido. Exemplo: 10,00 Valor de todos os encargos do pedido. ValorEncargos Encargos podem ser acréscimos, taxas, etc. Exemplo: 154,66 ValorDesconto Valor do desconto praticado no pedido. Exemplo: 44,55 ValorEmbalagemPresente Valor da embalagem para presente. Exemplo: 45,22 DataVenda EntregaNome Data da venda do pedido Nome cadastrado no endereço de entrega Exemplo: João da Silva EntregaEmail Email cadastrado no endereço de entrega Exemplo: [email protected] Código de rastreamento do envio do produto FreteCodEnvio Exemplo: PG509005318BR EntregaTelefone Telefone cadastrado no endereço de entrega Exemplo: 51 30137816 EntregaLogradouro Logradouro cadastrado no endereço de entrega Exemplo: Avenida Assis Brasil EntregaNumero EntregaComplementoEndereco Numero cadastrado no endereço de entrega Exemplo: 25 Complemento cadastrado no endereço de entrega Exemplo: Casa EntregaBairro Bairro cadastrado no endereço de entrega Exemplo: Auxiliadora 43 layer de integração EntregaCidade Cidade cadastrada no endereço de entrega String Sim Não 200 String Sim Não 2 String Sim Não 2 String Sim Não 8 String Sim Não 20 Money Sim Não 8,2 FormaDePagamento Sim Não - ConfirmacaoPagamento Não Não - Exemplo: Porto Alegre EntregaEstado Estado cadastrado no endereço de entrega Exemplo: RS EntregaPais País cadastrado no endereço de entrega Exemplo: BR Cep cadastrado no endereço de entrega EntregaCEP Somente números. Exemplo: 91120210 CupomCodigo Código do cupom de desconto utilizado no pedido Exemplo: XSFDSG34 CupomValorDesconto Valor do cupom de desconto utilizado Exemplo: 154,22 FormasDePagamento Forma de pagamento utilizada no pedido Ver objeto FormDePagamento. Confirmacao do Pagamento ConfirmacaoPagamento Itens Objeto que representa a confirmação do pagamento para formas de pagamento que necessitam de análise e aprovação, como cartões de crédito Braspag. Ver objeto ConfirmacaoPagamento. Coleção de itens do pedido [] PedidoItem Sim Não - String Não Não 1000 String Não Não 1000 Int (Positivo) Não Não 8 Int (Positivo) Não Não 8 String Não Não 200 String Não Não 50 Previsão de entrega para o pedido int Não Não 8 Valor da maior disponibilidade de entrega dentro dos itens que compoem o pedido int Não Não 8 String Não Não 200 String Não Não 50 String Não Não 100 String Não Não 50 String Não Não 100 String Não Não 250 DateTime Não Não 16 Ver objeto PedidoItem Observações do cliente no pedido Observacoes ObservacoesLoja AfiliadoID Exemplo: Entregar após meio dia Observações da loja no pedido Id de identificação do afiliado Exemplo: 14 StatusID Status do pedido no momento da integração Ver tabela de referencia de Status StatusDesc Nome do status do pedido Exemplo: Aguardando Pagamento FormaEntregaAlias PrevisaoEntregaEmDias MaiorDisponibilidadeItem OrigemPedido Alias da forma de entrega Origem do Pedido Exemplo: Desktop, Mobile, Mercado Livre, Extra, Walmart, Submarino, etc... CodigoPedidoExterno Identificador do pedido no integrador externo (Extra, Walmart, Rakuten, Submarino, Shoptime, Mercado Livre, etc...) Exemplo: 1238943890 NotaFiscalNumero Número da Nota Fiscal Exemplo: 123875329010 NotaFiscalSerie Número de série da Nota Fiscal Exemplo: 010 NotaFiscalChave Chave da Nota Fiscal Exemplo: 12387532901012387532901012387532901012387532 NotaFiscalLink URL para acessar a Nota Fiscal Exemplo: http://exemplo.com.br/notafiscal/123875329010 NotaFiscalData Data de Emissão da Nota Fiscal 44 layer de integração PedidoFiltro Nome DataInicial DataInicial StatusID Objeto: PedidoFiltro Descrição Tipo de dado Obrigatório Chave Tamanho Data Inicial do pedido DateTime Não Não - Data final do pedido DateTime Não Não - Int (Positivo) Não Não 8 Int(Positivo) Não Não 9 CNPJ do cliente relacionado ao pedido String Não Não 20 CPF do cliente relacionado ao pedido String Não Não 20 Obrigatório Chave Tamanho Sim Sim 36 Status do pedido no momento da integração Ver tabela de referencia de Status PedidoID Identificador do pedido Exemplo: 1 CNPJ CPF PedidoAcompanhamento Nome Objeto: PedidoAcompanhamento Descrição Tipo de dado Protocolo de integração Protocolo String Um hash gerado para cada item na integração que será utilizado posteriormente para chamar o método ConfirmaRecebimentoPedido Exemplo: 25446B38-A1F2-441A-8A9D-E7551E802626 PedidoID Código do pedido Int (positivo) Sim Sim 8 Int (Positivo) Não Não 8 String Não Não 200 DateTime Não Não 8 Exemplo: 455645 StatusID Status do pedido no momento da integração Ver tabela de referencia de Status StatusDesc Nome do status do pedido Exemplo: Aguardando Pagamento DataAtualizacao Data em que o pedido foi atualizado Forma de Pagamento Nome FormaPagamentoID Objeto: FormaDePagamento Descrição ID de identificação da forma de pagamento Tipo de dado Obrigatório Chave Tamanho Int (positivo) Sim Não 8 Money Sim Não 8,2 String Não Não 16 Exemplo: 15 Valor Valor a ser pago com essa forma de pagamento Exemplo: 140,55 CartaoNumero Número do cartão de crédito Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. CartaoCodigoSeguranca Código de segurança do cartão de crédito String Não Não 3 Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. Validade do cartão de crédito CartaoValidade String Não Não 6 Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. Formato: AAAAMM 45 layer de integração Exemplo: 200912 CartaoNomeImpresso Nome impresso no cartão de crédito String Não Não 50 Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. CartaoQuantidadeParcelas Número de parcelas do cartão Int Não Não 8 Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. Código de autorização da transação por cartão de String Não Não 50 crédito CartaoCodigoAutorizacao Somente informado se for forma de pagamento Cartão de Crédito e estiver configurado para enviar dados do cartão. Somente informado se o cartão for autorizado no momento do fechamento do pedido BoletoVencimento BoletoNumeroBancario Data de vencimento do boleto Número do boleto bancário Datetime Não Não 16 String Não Não 50 String Não Não 50 Obrigatório Chave Tamanho Sim Sim 50 String Não Não 50 String Não Não 50 Somente informado se o pagamento for com boleto bancário FormaDePagamentoAlias Alias da forma de pagamento Item do Pedido Nome Objeto: PedidoItem Descrição Id de identificação do produto CodigoIntegracao Tipo de dado String Se for uma venda de variação ou subvariação, esse campo será o id do produto pai. Exemplo: 2 Referência do produto. Referencia Exemplo: ABC112233 Id de identificação da variação CodigoIntegracaoVariacao CodigoIntegracaoSubVariacao Se for uma venda de subvariação, esse campo será o id do produto pai da subvariacao Exemplo: 5 Id de identificação da subvariação String Não Não 50 Money Sim Não 8,2 Int (positivo) Sim Não 8 Boolean Sim Não 1 String Não Não 500 Preço de custo do item do pedido Money Sim Não 8,2 Previsão de entrega para o pedido int Não Não 8 Valor da disponibilidade de entrega do item int Não Não 8 Nome do produto String Não Não 500 Desconto aplicado ao item Money Não Não 8,2 Exemplo: 10 PrecoUnitario Preço unitário do item Exemplo: 15,55 Quantidade EmbalagemPresente Quantidade desse item no pedido Exemplo: 2 Flag indicando se esse item deve ser embalado para presente Exemplo: true Atributos do produto AtributosEspeciais Texto descritivo dos atributos escolhidos pelo cliente Exemplo: Modelo: Corsa PrecoCusto PrevisaoEntregaEmDias DisponibilidadeItem NomeDoProduto DescontoItem Exemplo: 7,50 CodigoDoKit Identificador do Kit que o item faz parte. int Não Não 8 Exemplo: 12 46 layer de integração Confirmação de Pagamento Nome Objeto: ConfirmacaoPagamento Descrição Tipo de dado Status da confirmação de pagamento Status String Obrigatório Chave Tamanho Sim Sim 50 Status da confirmação de pagamento da forma de pagamento selecionada. Cada forma de pagamento poderá ter seu grupo de status e deverá ser consultado com a EZ Commerce no momento do desenvolvimento. Exemplo: 00 Código de Erro CodigoErro String Não Não 50 String Não Não 50 String Sim Não 50 String Sim Não 50 Identificador da autorização da transação String Não Não 100 Data de Captura String Não Não 50 Obrigatório Chave Tamanho Int (positivo) Sim Não 8 Int (positivo) Sim Não 8 Boolean Sim Não 1 Int (positivo) Sim Não 1 String Não’ Não 50 String Não Não 100 String Não Não 50 String Não Não 100 String Não Não 250 DateTime Não Não 16 Código de erro retornado pela forma de pagamento Exemplo: 5 Mensagem de erro MensagemErro Mensagem de erro retornada pela forma de pagamento Exemplo: 10 Código de Autorização CodigoAutorizacao Código de autorização retornado pela forma de pagamento Exemplo: 15,55 Id da transação IdTransacaoBraspag Id da transação quando a forma de pagamento for Braspag Exemplo: 2 NumeroAutorizacao DataCaptura Data de captura da transação recebida da operadora Exemplo: 2011-03-11 00:00:00 Status do Pedido Nome PedidoID Objeto: StatusPedido Descrição Código do pedido Tipo de dado Exemplo: 45455 Id do status a ser atualizado no pedido StatusID Ver tabela de referência Status do Pedido NotificarCliente Flag indicando se a integração deve enviar email para o cliente informando o novo status TemplateEmailID Exemplo: true Id do template de email a ser enviado notificando o cliente Ver tabela de referência Templates de Email NumeroObjeto Código de envio da transportadora Exmeplo: BR342353CX NotaFiscalNumero Número da Nota Fiscal Exemplo: 123875329010 NotaFiscalSerie Número de série da Nota Fiscal Exemplo: 010 NotaFiscalChave Chave da Nota Fiscal Exemplo: 12387532901012387532901012387532901012387532 NotaFiscalLink URL para acessar a Nota Fiscal Exemplo: http://exemplo.com.br/notafiscal/123875329010 NotaFiscalData Data de Emissão da Nota Fiscal 47 layer de integração Pacote Nome PacoteID Objeto: Pacote Descrição Tipo de dado Código do pacote. Ao criar pacote, valor NULO. Obrigatório Chave Tamanho Int(positivo) Não Sim 8 Int(positivo) Sim Não 8 Int(positivo) Sim Não 8 Datetime Sim Não 16 Int(positivo) Sim Não 8 String Não Não 50 Boolean Sim Não 1 Datetime Não Não 16 String Não Não 30 [] PacoteProduto Sim Não String Não Não 200 Obrigatório Chave Tamanho Int(positivo) Não Sim 8 Int(positivo) Sim Não 8 Int(positivo) Não Não 8 Int(positivo) Não Não 8 Int(positivo) Sim Não 8 Datetime Sim Não 16 Exemplo: 1 PedidoCodigo Código do pedido. Exemplo: 1 TrackingStatus Código do status do acompanhamento do pacote. Exemplo: 1 DataCriacao Data da criação do pacote. Exemplo: 05/04/2010 FormaDeEnvio Código da forma de envio do pacote. Exemplo: 1 CodigoObjeto Código de envio dos correios. Exemplo: BR14253696XX Entregue Indica se o pacote foi entregue. Exemplo: false DataEntrega Data de entrega do pacote. Exemplo: 05/04/2010 CodigoBarra Código de barras do pacote. Exemplo: 000000111111222222 PacoteProduto Coleção de produtos do pacote. Ver objeto PacoteProduto Observacoes Observações. Exemplo: Pacote enviado na data Produtos de um pacote Nome PacoteID Objeto: PacoteProduto Descrição Código do pacote. Tipo de dado Exemplo: 1 ProdutoCodigo Código de integracao do produto. Exemplo: 1 VariacaoCodigo Código de integracao da variação. Exemplo: 1 SubVariacaoCodigo Código de integracao da subvariação. Exemplo: 1 Quantidade Quantidade do produto. Exemplo: 10 Data Data de envio. Exemplo: 05/04/2010 48 layer de integração Acompanhamento de pacote Nome PacoteID Objeto: PacoteAcompanhamentoStatus Descrição Tipo de dado Código do pacote. Obrigatório Chave Tamanho Int(positivo) Sim Sim 8 Int(positivo) Sim Sim 8 Datetime Sim Não 16 String Não Não 50 Obrigatório Chave Tamanho Não Não 10 Exemplo: 1 TrackingStatusID Código do status do acompanhamento. Exemplo: 1 Data Data do acompanhamento. Exemplo: 05/04/2010 Observacao Observações do acompanhamento. Exemplo: Pacote enviado na data Cupom de Desconto Nome Objeto: CupomDesconto Descrição Tipo de dado Id de indentificação do cupom de desconto. Cupom String Deverá ser um código aleatório de 10 posições, que será informado para o cliente. Deve conter apenas letras maiúsculas e números. Exemplo: 8T5F7O7R6C Título para identificar o cupom Titulo Indica se o cupom está ativo Ativo DataInicio DataFim Desconto Data de inicio da validade do cupom FreteGratis Bool Sim Não 1 Money Sim Não 8,2 Datetime Sim Não 16 Datetime Sim Não 16 LimiteUsoEnum Sim Não - Não 1 Não Não - Não Não 10,2 Sim Não 1 Data de fim da validade do cupom Exemplo: 23/03/2011 Pode ser indeterminado, podendo ser utilizado quantas vezes quiser, apenas barrado pelas datas. Ou 1 vez e o cupom é invalidado. Exemplo: 1vez Flag que indica que o cupom deve dar desconto no Bool Sim pedido/produtos Exemplo: true TipoDescontoEnum O Cupom pode dar desconto % ou em R$ Exemplo: Percentual É obrigatório se a propriedade “Desconto” vier marcada como true Indica o valor em % ou em R$ para o desconto ValorDesconto 100 Exemplo: 23/03/2010 Indica o tipo de desconto do cupom TipoDesconto Não Indica o valor mínimo para tornar o desconto válido, assim será possível criar um cupom para as compras acima de R$ 100,00 Exemplo: 10,00 Identifica qual o comportamento de uso do cupom LimiteUso Sim Exemplo: True Valor mínimo do pedido para aplicar o desconto ValorMinimo String Exemplo: Cupom para pedido 1923 Decimal O valor do desconto %: 40,55 siginifica 40,55 % O valor em R$ deve ser o valor absoluto: 56,32 siginifica R$ 56,32 de desconto É obrigatório se a propriedade “Desconto” vier marcada como true Flag que indica que o cupom deve dar frete grátis no Bool pedido/produtos Exemplo: true 49 layer de integração Coleção de produtos Produtos [] string Indica se o cupom faz parte de um clube Clube Sim Não 1 String Não Não 20 String Não Não 100 String Não Não 20 Obrigatório Chave Tamanho Int(positivo) Não Sim 8 Int(positivo) Sim Não 8 String Não Não 50 Datetime Não Não 16 Datetime Não Não 16 [] PacoteEntregaItem Sim Não Obrigatório Chave Tamanho Int(positivo) Não Sim 8 Int(positivo) Sim Não 8 Int(positivo) Não Não 8 Int(positivo) Não Não 8 Int(positivo) Sim Não 8 Datetime Sim Não 16 É obrigatório se a propriedade “Clube” vier marcada como true Exemplo: clubeloja É obrigatório se a propriedade “Clube” vier marcada como true Exemplo: Produtos especiais para você Template do skin do clube ClubeTemplate - Bool Título do clube ClubeTitulo Não Exemplo: true Palavra chave para entrar no clube ClubePalavraChave Não Coleção de CodigoIntegracao dos produtos que fazem parte do cupom. Se essa coleção não for informada, o cupom será aplicado para o pedido. Se for informado, o cupom será aplicado somente para os produtos. (tanto desconto como frete grátis) Exemplo: clube-hdtv PacoteEntrega Nome PacoteID Objeto: PacoteEntrega Descrição Tipo de dado Código do pacote. Ao criar pacote, valor NULO. Exemplo: 1 PedidoCodigo Código do pedido. Exemplo: 1 CodigoRastreio Código de envio dos correios. Exemplo: BR14253696XX DataEntregaTransportadora Data de entrega do pacote. Exemplo: 05/10/2014 DataEstimativaEntrega Data de Estimativa de entrega. Exemplo: 10/10/2014 PacoteEntregaItems Coleção de produtos do pacote. Ver objeto PacoteEntregaItem Produtos de um pacote de entrega Nome PacoteID Objeto: PacoteEntregaItem Descrição Tipo de dado Código do pacote. Exemplo: 1 ProdutoCodigo Código de integracao do produto. Exemplo: 1 VariacaoCodigo Código de integracao da variação. Exemplo: 1 SubVariacaoCodigo Código de integracao da subvariação. Exemplo: 1 Quantidade Quantidade do produto. Exemplo: 10 Data Data de envio. Exemplo: 05/04/2010 Limite de Uso do Cupom Objeto: LimiteUsoEnum 50 layer de integração Valores Descrição 1vez Indeterminado Tipo de Desconto do Cupom Valores Objeto: TipoDescontoEnum Descrição Percentual Valor Tabelas de Códigos de Referência para Integração Endereço: http://services03.ezcommerce.com.br/Pages/ParameterList.aspx Status do Pedido Formas de Pagamento Formas de Entrega Templates de Email Status de Rastreamento Códigos de Associações Lista todos os status possíveis de pedidos. Novos status deverão ser cadastrados através da ferramenta administrativa (Configurações / Situações de Pedido) Lista todas as formas de pagamento cadastradas no sistema. Novas formas de pagamento poderão ser cadastradas/configuradas através da ferramenta administrativa (Configurações / Formas de Pagamento) Lista todas as formas de entrega cadastradas no sistema. Novas formas de entrega poderão ser cadastradas/configuradas através da ferramenta administrativa (Configurações / Formas de Entrega) Lista todos os templates de emails cadastrados no sistema. Novos templates de email poderão ser cadastradas/configuradas através da ferramenta administrativa (Configurações / Emails Personalizados) Lista os status de rastreamento cadastrados no sistema. Lista os códigos de associações cadastrados no sistema. Histórico de Alterações Data 15/04/2010 Versão Histórico de Alterações 1.7 Implementações do tracking de pedidos Métodos CriarPacote RemoverPacotePorPacoteID RemoverPacotePorPacoteID AtualizarStatusPacotePorPacoteID AtualizarStatusPacotePorCodigoBarras Autor Cícero Wolowski 51 layer de integração AtualizarStatusPacotePorObjeto AdicionarProdutoPacote RemoverProdutoPacote Objetos Pacote AcompanhamentoStatus PacoteProduto PacoteAcompanhamentoStatus 04/05/2010 1.8 Codigos de Erro 315 - Pacote não encontrado 320 - Status de andamento de pacote informado não encontrado 326 - Código de barras não informado 330 - Código do pacote e código de barras não informados 335 - O produto {Alias} não foi encontrado no pedido. Verificar se não foi removido. 336 - O pedido não possui produtos ativos para a montagem do pacote 337 - O produto {Alias} possui uma quantidade indevida para a montagem do pacote. Verificar a quantidade contratada no pedido de acordo com oque ja foi despachado Implementações associações de produtos Métodos SalvarProduto Cícero Wolowski Objetos Produto Codigos de Erro 350 - Produto O código de associação informado {0} nao foi encontrado. 05/05/2010 1.9 Implementações criação de cupom de desconto Métodos SalvarCupomDesconto Cícero Wolowski Objetos CupomDesconto Enumeradores LimiteUsoEnum TipoDescontoEnum 11/05/2010 1.10 Implementações lista de produtos Métodos SalvarListaProdutos Cícero Wolowski Objetos ListaProdutos 52 layer de integração 16/09/2010 1.11 17/05/2011 1.12 03/06/2011 1.13 19/01/2012 1.15 15/02/2013 18/02/2013 1.20 1.20 20/02/2013 1.21 24/12/2013 1.22 13/02/2014 1.23 07/03/2014 26/03/2014 1.24 1.25 27/05/2014 17/10/2014 1.26 1.27 10/11/2014 19/12/2014 1.28 1.29 18/03/2015 1.30 24/03/2015 1.31 29/04/2015 1.32 LIstaProdutosLista Implementação da leitura das filas da layer por multiplos sistemas de um mesmo cliente Métodos: PedidosAtualizados ConfirmaRecebimentoPedidoAtualizado ConfirmaRecebimentoPedidoAtualizadoLst Objetos PedidoAcompanhamento Implementação de visibilidade de produtos. Implementeção de visibiliade de seções. Implementação de novos campos para pacote de presente no produto Fluxo de criação de pacotes testado e alterado para aceitar variação e subvariação. Inclusão de métodos dos menus personalizados Inclusão do parâmetro “Observações da loja” no método de PedidosDisponiveis Inclusão do parâmetro “DataCaptura” no método de “PedidosDisponiveis” na “ConfirmacaoPagamento”. Propriedade Token no objeto Cliente Propriedade NumeroRegistroCliente no objeto Pedido. Propriedade TipoCliente no objeto Pedido Propriedade FreteCodEnvio no objeto Pedido Propriedade CNPJ no objeto PedidoFiltro Propriedade CPF no objeto PedidoFiltro Propriedade NumeroAutorizacao no objeto ConfirmacaoPagamento Preço de Custo da Variação Preço de Custo da SubVariação Round para 3 casas decimais no Peso e Peso Cúbico dos Produtos, Variações e SubVariações Disponibilização de Lista de Assinantes para integração Propriedades QuantidadeMinimaVenda e EstoqueMinimoFrase em Produto. Propriedade Referencia em PeditoItem. Propriedade Pontos em Produto Implementação dos métodos para o novo sistema de Pacotes de Entrega Propriedade OrigemPedido em Pedido. Propriedade DescontoItem em PedidoItem Propriedades EAN, NBM e MPN em Variação e SubVariação Propriedade CodigoDoKit nos items de um pedido Propriedade CodigoPedidoExterno no pedido Propriedade MetaTitle e MetaDescription em SiteCategoria Propriedades da Nota Fiscal na integração do Pedido e atualização de status de pedido. Metodos de administração de Lista de Preços Cícero Wolowski Jefferson Souza Jefferson Souza Jefferson Souza Leonardo Bortolini Leonardo Bortolini Gustavo Baladão Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez Daniel Mendez 53 layer de integração Exemplo de integração no Visual Studio 2008 Passo 1: Criando a referência com o serviço. 1. No visual Studio, criar o projeto da integração. 2. Clicar com o direito no projeto criado no solution Explorer e ir em “Add Service Reference...” 3. A tela de Add Service Reference, digitar em Address o endereço do serviço 4. No campo Namespace colocar o nome para a referencia (Ex: Catalogo) 54 layer de integração Exemplo de fluxo em .net (3.5) – Linguagem c# Após criada a referência, a seguinte implementação será possível para o fluxo de marcas, por exemplo: // Criação do objeto proxy que terá a responsabilidade de fazer a comunicação // com o Web Service // Catalogo.CatalogoWSClient proxy = new Catalogo.CatalogoWSClient(); // // Informa o usuário e a senha para as credenciais da chamada do web service // De preferência guardar o usuário e senha em um lugar configurável (ex: app.config ou banco) // string user = "usuario"; string pass = "senha"; proxy.ClientCredentials.HttpDigest.ClientCredential.UserName = user; proxy.ClientCredentials.HttpDigest.ClientCredential.Password = pass; proxy.ClientCredentials.UserName.UserName = user; proxy.ClientCredentials.UserName.Password = pass; // // Criação e população do objeto marca para ser enviado ao SalvarMarca do proxy // Catalogo.Marca marca = new Catalogo.Marca(); marca.Nome = "Sony"; marca.Ativo = true; marca.Url = "www.sony.com.br"; marca.Id = 10; // // Faz a chamada do proxy passando o objeto marca como parâmetro // try { Catalogo.RespostaProcessamento resposta = proxy.SalvarMarca(marca); // // Testa o objeto resposta para saber o status do processamento // if (resposta.Status == Catalogo.StatusProcessamento.Sucesso) { // SUCESSO. Lógica da integração de sucesso // Log de sucesso // Remover da fila de integração // etc } else { // ERRO. Lógica da integração de sucesso // Log de erro // etc Catalogo.RespostaProcessamentoErro[] erros = resposta.Erros; foreach (Catalogo.RespostaProcessamentoErro erro in erros) { // Pega cada erro da resposta } } } catch (Exception ex) { // // Faz o tratamento caso aconteça algum erro inesperado // Ex: Sem conexão, falha na rede, falha na autenticação, etc // } finally { // // Verifica se o proxy não está fechado ou com erro e chama o close para fechar a conexão // if (proxy.State != CommunicationState.Closed && proxy.State != CommunicationState.Faulted) { proxy.Close(); } } 55