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