API de E-Commerce¶
Esse documento identifica os webservices que são utilizados para a integração entre as aplicações de e-commerce e Focco. Estão definidos aqui os endereços dos webservices, bem como seus parâmetros de entrada e saída.
No endereço dos webservices abaixo descritos, há o trecho “<endereçoERP>
” nos mesmos que deve ser alterado conforme o cliente em questão. Esse endereço será o link de acesso à aplicação web da Focco.
Todos as requisições aos webservices devem ter, em seu cabeçalho a chave “Content-Type” como “application/json”.
Segue, abaixo, a relação de webservices.
Requisitar Acesso¶
Requisitar Acesso
Esse webservice irá realizar a requisição de autenticação com o sistema.
POST
<endereçoERP>/api/authentication/requestaccess
Entrada
ClientID
Deve ser passado fixo como “ECOMMERCE”, que define o tipo de autenticação para essa aplicação em específico;
User
Deve ser um usuário de conexão ao FoccoERP, cadastrado pelo próprio cliente para o e-commerce;
Password
Deve ser a senha de conexão do usuário ao FoccoERP, cadastrado pelo próprio cliente para o e-commerce.
KillOthersSessions
Define se irá encerrar as sessões abertas do usuário informado ao realizar a autenticação. Como a aplicação de eCommerce permite várias conexões simultâneas, deve ser passado como “false”.
Exemplo
{
ClientID: "ECOMMERCE",
User: "`<usuário>`",
Password: "`<senha>`",
KillOtherSessions: false
}
Retorno
{
"$id": "32282",
"ErrorReason": 0,
"CustomErrorMessage": null,
"Token": "CfDJ8N9H4sMCRcZJj7vaStaDeKjUduS6BEpAXl6KimLfnZWDfD2GunFWISyFgqQasaSD77Q9jcqhAM3tOhSwiRj0vTr8UEhKjo1_E6DPa1nBqrD6AggY6fpdaTXIhRhFYp1ETjwst86Vddu3f3tqXSn0RlbwzlPHu2HHa0DbxSBShPvLXVCWokJCQOgl_op66idLBgUbrjQq0cSCZox79g2PxyydUF0Uj4JdpgTq36WLwxeAdUTansW4q_G8XuTpaSxCjKTLXJFdSwso3hw_yOb8osHHnI0-yyvOIDaeM1-PRvvv_2iPAClUp8Eg4WV7JrPkKIcWGoaojpC1gE9qDoA043fYt_TRtDuZJ8-z38XgGuY7K4OLjb-_kgoYvONped6jtelsF7dW3I-XwZpR9Ds_QvnHUOoCc4JE-MmG8n1PPlGzJklcsJU5xwqXb1lcQOAbzMxjp-lkP-vZxsRouQvt9emSTCaaq1zIaZHCe6P_CLRH0kGDKX5I4FIuXIiUchNqSnzyVJ7NRCgkQiFrEGg9rpH2c00if6pfRsU2exAVAwCdrE9zK_QioTokOuLN8ON4bINVxCRsGH177yHaV_uOJJ-TYykZTCR8ssZpl0uIHGZZaxPnXA4GZZ_Ymj2F3AGgWBQBeFq-lJvL17H_p29kP-Tzw84Y4l8-3Jepu0mSrXul4t8cnOInol3VWQhk4c0bzurbgRpljYQuB5Sn0VinMLKbv602t6v59VPlu0OBpcAD",
"IsSuccessful": true
}
O json de retorno da requisição de autenticação irá retornar um token que deverá ser utilizado no cabeçalho das outras chamadas de webservices, na chave “Authorization”, com a seguinte informação:
“Bearer <token>
”
Buscar Condições de Pagamento¶
Buscar Condições de Pagamento
Esse webservice irá buscar todas as condições de pagamento do sistema que estão marcadas para envio ao eCommerce.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetCondicoesPagamentoCommand
Entrada
Esse webservice não requer parâmetros de entrada.
Retorno
ID
ID interno da condição de pagamento no ERP;
Codigo
Código da condição de pagamento que foi cadastrada no ERP;
Descricao
Descrição da condição de pagamento que foi cadastrada no ERP.
{
"$id": "2",
"$values": [
{
"$id": "3",
"ID": 595,
"Codigo": 3,
"Descricao": "PARCELAMENTO LIVRE"
},
{
"$id": "4",
"ID": 727,
"Codigo": 99,
"Descricao": "TESTE FGK"
}
]
}
Buscar Itens¶
Buscar Itens
Esse webservice busca todos os itens do sistema que estão marcados para envio ao eCommerce, retornando-os conforme a quantidade solicitada na requisição.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetItensCommand
Entrada
skip
Identifica a quantidade de registros que serão ignorados na busca dos itens. Os registros sempre retornarão ordenados, portanto ao informar esse parâmetro maior que zero, indica-se que a quantidade informada de registros não precisa ou não deve ser retornada;
take
Identifica a quantidade de registros que devem ser retornados na busca. Esse parâmetro é limitado em um máximo de 1000 registros.
{
skip: 0,
take: 2
}
Retorno
TotalRowCount
Indica a quantidade de registros que há para consulta. Ou seja, a quantidade de itens que estão marcados para envio ao eCommerce;
ID
ID interno do item no ERP;
Codigo
Código do item que foi cadastrada no ERP;
Descricao
Descrição resumida do item que foi cadastrada no ERP;
DescTecnica
Descrição técnica do item que foi cadastrada no ERP;
DescComplementar
Descrição complementar do item cadastrada no ERP;
Observação
Observação da capa do cadastro do item no ERP;
DadosEmpresa
Agrupado de informações do item separados por empresa.
Empresa
Código da empresa ao qual o agrupado de informações do cadastro se refere.
DescComercial
Descrição do item na pasta comercial cadastrada no ERP;
CodFornecedor
Código do fornecedor preferencial do item. Retorna nulo caso não encontre um fornecedor preferencial.
Fornecedor
Descrição do fornecedor preferencial do item. Retorna nulo caso não encontre um fornecedor preferencial;
UnidadeMedida
Unidade de medida do item, será retornada a unidade de medida da pasta comercial, caso não houver, será retornada da pasta estoque;
Classificação
Descrição do grupo de classificação do item;
DescGrupo
Descrição do grupo de inventário ao qual o item pertence;
MultiploVenda
Multiplo de venda da pasta comercial do item no ERP;
CodBarra
Código de barra preferencial cadastrado para o item.
DadosConfigurado
Agrupado de informações de configurado do item separado por empresa.
ID
ID interno do sistema para o configurado.
Mascara
Descrição da máscara do item;
Ativo
Indicação se o configurado está ativo ou inativo.
DataInclusao
Data da inclusão do configurado para o item.
DataUltimaAlteracao
Data da última alteração do configurado para o item
{
"$id": "5363",
"TotalRowCount": 7,
"Rows": {
"$id": "5364",
"$values": [
{
"$id": "6916",
"ID": 30726,
"Codigo": "10032",
"Descricao": "CAPA PLASTICA P/ MINIFIX",
"DescTecnica": "CAPA PLASTICA P/ MINIFIX",
"DescComplementar": null,
"Observacao": null,
"Configurado": "Sim",
"DadosEmpresa": {
"$id": "6917",
"$values": [
{
"$id": "6918",
"Empresa": 10,
"DescComercial": null,
"CodFornecedor": null,
"Fornecedor": null,
"UnidadeMedida": "MILHEIRO",
"Classificacao": "FERRAGENS",
"DescGrupo": "MATERIA PRIMA",
"MultiploVenda": null,
"CodBarra": null,
"DadosConfigurado": {
"$id": "6919",
"$values": [
{
"$id": "6920",
"ID": 20,
"Mascara": "AZUL",
"Ativo": "Sim",
"DataInclusao": null,
"DataUltimaAlteracao": "2011-07-08T18:01:25-03:00"
},
{
"$id": "6921",
"ID": 42,
"Mascara": "LILAS",
"Ativo": "Sim",
"DataInclusao": null,
"DataUltimaAlteracao": "2011-07-08T18:01:25-03:00"
},
{
"$id": "6922",
"ID": 91,
"Mascara": "VINHO",
"Ativo": "Sim",
"DataInclusao": null,
"DataUltimaAlteracao": "2011-07-08T18:01:25-03:00"
}
]
}
}
]
}
}
{
"$id": "6939",
"ID": 30888,
"Codigo": "FG7003",
"Descricao": "FOGÃO VIDRO 4Q 7003",
"DescTecnica": "FOGÃO VIDRO 4Q 7003",
"DescComplementar": null,
"Observacao": null,
"Configurado": "Sim",
"DadosEmpresa": {
"$id": "6940",
"$values": [
{
"$id": "6941",
"Empresa": 10,
"DescComercial": null,
"CodFornecedor": null,
"Fornecedor": null,
"UnidadeMedida": "UNIDADE",
"Classificacao": "FOGOES",
"DescGrupo": "PRODUTO PRONTO",
"MultiploVenda": null,
"CodBarra": null,
"DadosConfigurado": {
"$id": "6942",
"$values": [
{
"$id": "6943",
"ID": 30512,
"Mascara": "STAR#VINHO",
"Ativo": "Sim",
"DataInclusao": null,
"DataUltimaAlteracao": "2011-07-08T18:01:27-03:00"
}
]
}
}
]
}
}
]
}
}
Buscar Clientes¶
Buscar Clientes
Busca todos os clientes da base que tem, no mínimo, um estabelecimento marcado para utilização no eCommerce.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetClientesCommand
Entrada
Esse webservice não requer parâmetros de entrada.
Retorno
ID
ID interno do cliente no ERP;
Codigo
Código do cliente cadastrado no ERP;
Descricao
Descrição do cliente cadastrado no ERP.
CpfCnpjs
CNPJ ou CPF do cliente cadastrado no ERP.
Cpf
CPF.
Cnpj
CNPJ.
{
"$id": "218",
"$values": [
{
"$id": "219",
"ID": 5308,
"Codigo": 999,
"Descricao": "TESTE REP"
"CpfCnpjs[
{
"$id": "5",
"Cpf": 0,
"Cnpj": 92534593000194
}
}
]
}
Buscar Fornecedores¶
Buscar Fornecedores
Busca uma lista de todos os representantes ativos do sistema.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetRepresentantesCommand
Entrada
Esse webservice não requer parâmetros de entrada.
Retorno
ID
ID interno do representante no ERP;
Codigo
Código do representante cadastrado no ERP;
Descricao
Descrição do representante cadastrado no ERP;
E-mail do representante cadastrado no ERP.
{
"$id": "1",
"$values": [
{
"$id": "2",
"ID": 561,
"Codigo": 41,
"Descricao": "SUDESTE REPRESENTAÇÕES",
"Email": null
},
{
"$id": "3",
"ID": 562,
"Codigo": 42,
"Descricao": "NORTE REPRESENTAÇÕES",
"Email": null
},
{
"$id": "4",
"ID": 721,
"Codigo": 7,
"Descricao": "REPRESENTANTE ECOMMERCE",
"Email": "teste.ecommerce@focco.com.br"
}
]
}
Buscar Clientes de um Representante¶
Buscar Clientes de um Representante
Busca todos os clientes vinculados ao representante desejado.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetClientesRepresentanteCommand
Entrada
codigoRepresentante
Código do representante do qual se deseja buscar os clientes vinculados.
{
codigoRepresentante: 44
}
Retorno
ID
ID interno do cliente no ERP;
Codigo
Código do cliente cadastrado no ERP;
Descricao
Descrição do cliente cadastro no ERP.
{
"$id": "296",
"$values": [
{
"$id": "297",
"ID": 5211,
"Codigo": 2,
"Descricao": "BIGFER IND COM DE FERR LTDA"
},
{
"$id": "298",
"ID": 5408,
"Codigo": 201,
"Descricao": "OXALIS"
},
{
"$id": "299",
"ID": 5457,
"Codigo": 65,
"Descricao": "TESTE NFCE"
}
]
}
Buscar Saldo de Estoque de Item¶
Buscar Saldo de Estoque de Item
Busca o saldo de estoque do item/configuração informado em seu almoxarifado padrão. É retornado o estoque do item em todas as empresas às quais o mesmo está vinculado.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetEstoqueItemCommand
Entrada
codigoItem
Código do item cujo saldo em estoque se deseja consultar;
mascaraId
ID da máscara do item cujo saldo em estoque se deseja consultar. Caso o item seja configurado e a máscara não seja informada, a rotina busca o saldo consolidado de todas as máscaras.
{
codigoItem: 'EN7000',
mascaraId: null
}
Retorno
CodigoEmpresa
Código da Empresa no ERP;
Uf
Unidade Federativa na qual encontra-se a empresa;
Saldo
Saldo em estoque do item/configuração informados.
{
"$id": "41",
"Value": {
"$id": "42",
"$type": "Focco.Framework.DataAccess.BaseDatabase+<Query>d__39`1[[Focco.ERP.Core.Commands.Comercial.Ecommerce.WebServices.GetEstoqueItemCommand+Result, Focco.ERP.Core]], Focco.Framework.DataAccess",
"$values": [
{
"$id": "43",
"CodigoEmpresa": 10,
"Uf": "RS",
"Saldo": -2
},
{
"$id": "44",
"CodigoEmpresa": 100,
"Uf": "RS",
"Saldo": 0
}
]
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Buscar Itens Comercializáveis ao Cliente¶
Buscar Itens Comercializáveis ao Cliente
Esse webservice busca todos os itens que estão disponíveis para venda à um cliente. Ou seja, todos os itens que estão marcados para e-Commerce. Caso o cliente em específico possua inclusões cadastradas, o serviço irá retornar apenas os itens incluídos a ele, caso contrário, irá retornar todos do sistema marcados para e-Commerce. Caso o item seja configurado, o webservice irá retornar um registro do item para cada máscara. A quantidade de registros retornado é controlada a partir do valor informado na solicitação na requisição.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetItensClienteCommand
Entrada
codigoCliente
Código do cliente ao qual se deseja buscar os itens comercializáveis;
cnpjCpf
CNPJ ou CPF do cliente ao qual se deseja buscar os itens comercializáveis;
skip
Identifica a quantidade de registros que serão ignorados na busca dos itens. Os registros sempre retornarão ordenados, portanto ao informar esse parâmetro maior que zero, indica-se que a quantidade informada de registros não precisa ou não deve ser retornada;
take
Identifica a quantidade de registros que devem ser retornados na busca. Esse parâmetro é limitado em um máximo de 1000 registros.
{
codigoCliente: 4,
cnpjCpf: “56643018000913”,
skip: 0,
take: 1000
}
Retorno
TotalRowCount: Indica a quantidade de registros que há para consulta. Ou seja, a quantidade de itens que estão marcados para envio ao eCommerce;
ID
ID interno do item no ERP;
Codigo
Código do item que foi cadastrada no ERP;
Descricao
Descrição resumida do item que foi cadastrada no ERP;
DescTecnica
Descrição técnica do item que foi cadastrada no ERP;
DescComercial
Descrição do item na pasta comercial cadastrada no ERP;
DescComplementar
Descrição complementar do item cadastrada no ERP;
Observação
Observação da capa do cadastro do item no ERP;
CodFornecedor
Código do fornecedor preferencial do Item. Retorna nulo caso não encontre um fornecedor preferencial;
Fornecedor
Descrição do fornecedor preferencial do item. Retorna nulo caso não encontre um fornecedor preferencial;
UnidadeMedida
Unidade de medida do item, será retornada a unidade de medida da pasta comercial, caso não houver, será retornada da pasta estoque;
MascaraID
ID da máscara do item no ERP;
Mascara
Descrição da máscara do item no ERP;
IpiPerc
Percentual de IPI do item no ERP;
PesoBruto
Peso bruto do item;
Classificação
Descrição do grupo de classificação do item;
DescGrupo
Descrição do grupo de inventário ao qual o item pertence;
MultiploVenda
Multiplo de venda da pasta comercial do item no ERP;
CodBarra
Código de barra preferencial cadastrado para o item;
Configurado
Indica se o item é configurado ou não. Ou seja, se tem ou não máscaras.
{
"$id": "6",
"Value": {
"$id": "7",
"TotalRowCount": 2,
"Rows": {
"$id": "8",
"$values": [
{
"$id": "9",
"ID": 30808,
"Codigo": "REV1003",
"Descricao": "TOMADA P/ ENGATE PRETA",
"DescTecnica": "TOMADA P/ ENGATE PRETA",
"DescComercial": null,
"DescComplementar": null,
"Observacao": "teste",
"CodFornecedor": 9,
"Fornecedor": "ELETROPECAS COM ELETRONICA LTDA",
"UnidadeMedida": "UNIDADE",
"MascaraID": 0,
"Mascara": null,
"IpiPerc": null,
"PesoBruto": 0,
"Classificacao": "TOMADAS",
"DescGrupo": "MATERIAL COMERCIALIZACAO",
"MultiploVenda": null,
"CodBarra": null,
"Configurado": "Não"
},
{
"$id": "10",
"ID": 33234,
"Codigo": "MARK",
"Descricao": "MARK",
"DescTecnica": "MARK",
"DescComercial": "TESTE DESCRIÇÃO ",
"DescComplementar": "UTILIZADO PARA INETEGRA",
"Observacao": "Item cadastrado apenas para a empresa 10"
"Fornecedor": null,
"UnidadeMedida": "UNIDADE",
"MascaraID": 0,
"Mascara": null,
"IpiPerc": null,
"PesoBruto": 0,
"Classificacao": "ITEM GENERICO",
"DescGrupo": "GENERICO",
"MultiploVenda": null,
"CodBarra": null,
"Configurado": "Não"
}
]
}
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Criar Item em Orçamento¶
Criar Item em Orçamento
Esse webservice irá criar um item em um orçamento, a fim de realizar os cálculos necessários sobre o mesmo, para retornar ao e-commerce. Conforme os parâmetros de entrada da requisição, é identificado se a capa do orçamento deve ser criada ou se o item está sendo adicionado a um orçamento já existente.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.CriaItemOrcamentoCommand
Entrada
orcamentoID
Utilizado quando já existe um orçamento em uso. Caso esteja informado, o sistema irá adicionar o item informado ao orçamento;
cnpjCpf
CNPJ ou CPF do cliente que está logado no sistema. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoCliente
Código do cliente que está logado no sistema. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoCondPagamento
Código da condição de pagamento utilizada no carrinho. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoRepresentante
Código do representante que está efetuando o pedido em nome do cliente. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoItem
Código do item que deve ser adicionado ao orçamento;
mascaraId
ID da máscara do item que está sendo adicionado ao orçamento;
quantidade
Quantidade do item.
tipoDctAcr
Tipo de Informação de Desconto/Acréscimo.
(D – Desconto, A – Acréscimo)
tipoVlrDctAcr: Tipo de valor.
(P - percentual, Q - quilo, U – unidade, V - valor)
vlrDctAcr
Valor de desconto ou acréscimo a ser aplicado, conforme parâmetros anteriores.
ordemCompra
Ordem de compra do cliente.
precoUnitario
Preço unitário do item.
{
orcamentoId: null,
cnpjCpf: 56643018000913,
codigoCliente: 4,
codigoCondPagamento: 1,
codigoRepresentante: null,
codigoItem: "KIT9999",
mascaraId: null,
quantidade: 3
tipoDctAcr: "D",
tipoVlrDctAcr: "P",
vlrDctAcr: 2,
ordemCompra: "326",
precoUnitario: 15.50
}
Retorno
IdOrcamento
ID do orçamento criado pelo no ERP;
CodigoEmpresa
Código da empresa na qual se encontra o orçamento;
Uf
Unidade Federativa da empresa na qual se encontra o orçamento;
ValorFrete
Valor total de frete do pedido.
TipoFrete
Tipo de frete do pedido.
(C - CIF, F - FOB, R - Retira, O - Convênio ou S - Cortesia)
IdItem
ID da linha do item criado no orçamento do ERP;
ValorLiquido
Valor líquido do item calculado no orçamento;
ValorIpi
Valor de IPI do item calculado no orçamento;
ValorSubIcms
Valor de Substituição de ICMS do item calculado no orçamento.
TipoDctAcr
Tipo de Informação de Desconto/Acréscimo.
(D – Desconto, A – Acréscimo)
TipoVlrDctAcr: Tipo de valor.
(P - percentual, Q - quilo, U – unidade, V - valor)
VlrDctAcr
Valor de desconto ou acréscimo a ser aplicado, conforme parâmetros anteriores.
{
"$id": "4",
"Value": {
"$id": "5",
"$type": "Focco.Framework. DataAccess. BaseDatabase +<Query>d__39`1[[Focco.ERP.Core.Commands. Comercial.Ecommerce.WebServices. GetEstoqueItemCommand+Result, Focco.ERP.Core]], Focco.Framework.DataAccess",
"$values": [
{
"$id": "6",
"IdOrcamento": 50900,
"CodigoEmpresa": 10,
"Uf": "RS",
"ValorFrete": 270,
"TipoFrete": "C",
"IdItem": 623358,
"ValorLiquido": 6.06,
"ValorIpi": 0,
"ValorSubIcms": 0,
"TipoDctAcr": "A",
"TipoVlrDctAcr": "P",
"VlrDctAcr": 2
}
]
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Criar Item Completo em Orçamento¶
Criar Item Completo em Orçamento
Esse webservice irá criar um item em um orçamento, a fim de realizar os cálculos necessários sobre o mesmo, para retornar ao e-commerce. Conforme os parâmetros de entrada da requisição, é identificado se a capa do orçamento deve ser criada ou se o item está sendo adicionado a um orçamento já existente.
Criado para substituir o webservice “Cria Item Orçamento” nas situações em que é necessária a utilização de mais parâmetros.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.CriaItemOrcamentoCompletoCommand
Entrada
orcamentoID
Utilizado quando já existe um orçamento em uso. Caso esteja informado, o sistema irá adicionar o item informado ao orçamento;
cnpjCpf
CNPJ ou CPF do cliente que está logado no sistema. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoCliente
Código do cliente que está logado no sistema. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoCondPagamento
Código da condição de pagamento utilizada no carrinho. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoRepresentante
Código do representante que está efetuando o pedido em nome do cliente. Passar nulo quando o parâmetro orcamentoID for preenchido;
codigoItem
Código do item que deve ser adicionado ao orçamento;
mascaraId
ID da máscara do item que está sendo adicionado ao orçamento;
quantidade
Quantidade do item.
tipoDctAcr
Tipo de Informação de Desconto/Acréscimo.
(D – Desconto, A – Acréscimo)
tipoVlrDctAcr: Tipo de valor.
(P - percentual, Q - quilo, U – unidade, V - valor)
vlrDctAcr
Valor de desconto ou acréscimo a ser aplicado, conforme parâmetros anteriores.
ordemCompra
Ordem de compra do cliente.
precoUnitario
Preço unitário do item.
codigoEmpresa
Código da empresa.
valorLiquido
Valor Líquido.
recalculaOrcamento
Define se o orçamento deve ser recalculado.
NumPedidoRepresentante
Número do pedido do representante.
codigoTransportadora
Código da transportadora.
tipoFrete
Tipo de Frete.
valorFrete
Valor de Frete.
codigoPrecosVen
Código do Preço de Venda.
percComisIt
Percentual de Comissão.
comissaoRepresebtante
Comissão do Representante
tpInfComisIt
Tipo de informação da comissão
codigoEstabFaturamento
Código do estabelecimento de faturamento.
codigoEstabCobranca
Código do estabelecimento de cobrança.
codigoEstabEntrega
Código do estabelecimento de Entrega.
codigoTipoNota
Código do Tipo de Nota
{"parametros":
{
orcamentoId: null,
cnpjCpf: 56643018000913,
codigoCliente: 4,
codigoCondPagamento: 1,
codigoRepresentante: null,
codigoItem: "KIT9999",
mascaraId: null,
quantidade: 3
tipoDctAcr: "D",
tipoVlrDctAcr: "P",
vlrDctAcr: 2,
ordemCompra: "326",
precoUnitario: 15.50,
codigoEmpresa: 10,
valorLiquido: 2,
recalculaOrcamento: null,
numPedidoRepresentante: 1,
codigoTransportadora: 1,
tipoFrete: null,
valorFrete: 1,
codigoPrecosVen: 10,
percComisIt: 3,
tpInfComisIt: null,
codigoEstabFaturamento: 4,
codigoEstabEntrega: 2,
codigoEstabCobranca: 1,
codigoTipoNota: 1002
}
}
Retorno
IdOrcamento
ID do orçamento criado pelo no ERP.
CodigoEmpresa
Código da empresa na qual se encontra o orçamento;
Uf
Unidade Federativa da empresa na qual se encontra o orçamento;
ValorFrete
Valor total de frete do pedido.
TipoFrete
Tipo de frete do pedido.
(C - CIF, F - FOB, R - Retira, O - Convênio ou S - Cortesia)
IdItem
ID da linha do item criado no orçamento do ERP;
ValorLiquido
Valor líquido do item calculado no orçamento;
ValorIpi
Valor de IPI do item calculado no orçamento;
ValorSubIcms
Valor de Substituição de ICMS do item calculado no orçamento.
TipoDctAcr
Tipo de Informação de Desconto/Acréscimo.
(D – Desconto, A – Acréscimo)
TipoVlrDctAcr
Tipo de valor.
(P - percentual, Q - quilo, U – unidade, V - valor)
VlrDctAcr
Valor de desconto ou acréscimo a ser aplicado, conforme parâmetros anteriores.
{
"$id": "6053",
"Value": {
"$id": "6054",
"$type": "Focco.Framework. DataAccess. BaseDatabase<Query>d__41`1[[ Focco.ERP.Core. Commands. Comercial. Ecommerce.WebServices. CriaItemOrcamentoCompletoCommand +Result, Focco.ERP.Core]], Focco.Framework.DataAccess",
"$values": [
{
"$id": "6055", "IdOrcamento": 51808,
"CodigoEmpresa": 10,
"Uf": "RS", "ValorFrete": 0.0,
"TipoFrete": "F", "IdItem": 626663,
"ValorLiquido": 46.035,
"ValorIpi": 0.0,
"ValorSubIcms": 0.0,
"TipoDctAcr": "D",
"TipoVlrDctAcr": "P","VlrDctAcr": 1.0
}
]
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Atualizar Item de Orçamento¶
Atualizar Item de Orçamento
Esse webservice irá atualizar um item em um orçamento, a fim de efetuar os cálculos necessários sobre o mesmo quando for alterada a sua quantidade, para retornar ao e-commerce. Ele também pode ser adicionado o desconto ou acréscimo ao item do pedido.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.AtualizaItemOrcamentoCommand
Entrada
itemId
ID da linha do item do orçamento que se deseja atualizar;
quantidade
Nova quantidade para o item do orçamento.
tipoDctAcr
Informa se “D” desconto e "A” acréscimo ;
tipoVlrDctAcr
Tipo do valor informado, (Q – Quilo, V- Valor, P – Porcentagem, U - Unidade).
vlrDctAcr
Valor do desconto ou acréscimo;
{
itemId: 623298,
quantidade: 15,
tipoDctAcr: D,
tipoVlrDctAcr: V,
vlrDctAcr: 10.0o
}
Retorno
IdOrcamento
ID do orçamento alterado;
IdItem
ID da linha do item do orçamento alterada;
ValorLiquido
Valor líquido atualizado do item calculado no orçamento;
ValorIpi
Valor de IPI atualizado do item calculado no orçamento;
ValorSubIcms
Valor de Substituição de ICMS atualizado do item calculado no orçamento.
{
"$id": "5",
"Value": {
"$id": "6",
"$type": "Focco.Framework.DataAccess.BaseDatabase+<Query>d__39`1[[Focco.ERP.Core.Commands.Comercial.Ecommerce.WebServices.GetEstoqueItemCommand+Result, Focco.ERP.Core]], Focco.Framework.DataAccess",
"$values": [
{
"$id": "7",
"IdOrcamento": 50840,
"IdItem": 623298,
"ValorLiquido": 178.2,
"ValorIpi": 8.91,
"ValorSubIcms": 0
}
]
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Apagar Item de Orçamento¶
Apagar Item de Orçamento
Esse webservice irá apagar um item em um orçamento. Caso exista apenas um item no orçamento, irá apagar o orçamento inteiro.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.ApagaItemOrcamentoCommand
Entrada
itemId: ID da linha do item do orçamento que se deseja excluir.
{
itemId: 623250
}
Retorno
Retorna o sucesso ou falha da execução da requisição.
{
"$id": "13",
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Atualizar Condição de Pagamento de Orçamento¶
Atualizar Condição de Pagamento de Orçamento
Esse webservice permite alterar a condição de pagamento de um orçamento e o recalcula, devolvendo seus respectivos valores atualizados
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.AtualizaCondPagamentoCommand
Entrada
codigoCondPagamento
Código da nova condição de pagamento para o orçamento;
orcamentoId
ID do orçamento.
{
codigoCondPagamento: 2,
orcamentoId: 50880
}
Retorno
IdOrcamento
Id do orçamento alterado;
ValorLiquido
Valor líquido total do orçamento;
ValorIpi
Valor de IPI total do orçamento;
ValorSubIcms
Valor de Substituição de ICMS total do orçamento;
IdItem
ID da linha do item no orçamento;
ValorLiquido
Valor líquido do item;
ValorIpi
Valor de IPI do item;
ValorSubIcms
Valor de Substituição de ICMS do item.
{
"$id": "10",
"Value": {
"$id": "11",
"IdOrcamento": 0,
"ValorLiquido": 6.06,
"ValorIpi": 0,
"ValorSubIcms": 0,
"Itens": {
"$id": "12",
"$values": [
{
"$id": "13",
"IdItem": 623338,
"ValorLiquido": 6.06,
"ValorIpi": 0,
"ValorSubIcms": 0
}
]
}
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Apagar Orçamento¶
Apagar Orçamento
Esse webservice irá apagar um orçamento completo do ERP.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.ApagaOrcamentoCommand
Entrada
orcamentoId: ID do orçamento.
{
orcamentoId: 50869
}
Retorno
Retorna o sucesso ou falha da execução da requisição.
{
"$id": "4",
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Buscar Orçamento Completo¶
Buscar Orçamento Completo
Esse webservice retorna o orçamento completo, com seus valores de capa, itens e respectivos valores.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetOrcamentoCommand
Entrada
orcamentoId
ID do orçamento.
{
orcamentoId: 50871
}
Retorno
IdOrcamento
Id do orçamento consultado;
CodigoEmpresa
Código da empresa na qual se encontra o orçamento;
Uf
Unidade Federativa da empresa na qual se encontra o orçamento;
ValorLiquido
Valor líquido total do orçamento;
ValorIpi
Valor de IPI total do orçamento;
ValorSubIcms
Valor de Substituição de ICMS total do orçamento;
ValorFrete
Valor total de frete do pedido.
TipoFrete
Tipo de frete do pedido.
(C - CIF, F - FOB, R - Retira, O - Convênio ou S - Cortesia)
IdItem
ID da linha do item no orçamento;
ValorLiquido
Valor líquido do item;
ValorIpi
Valor de IPI do item;
ValorSubIcms
Valor de Substituição de ICMS do item.
{
"$id": "11",
"Value": {
"$id": "12",
"IdOrcamento": 50871,
"CodigoEmpresa": 10,
"Uf": "RS",
"ValorLiquido": 41.7,
"ValorIpi": 1.78,
"ValorSubIcms": 0,
"ValorFrete": 270,
"TipoFrete": "C",
"Itens": {
"$id": "13",
"$values": [
{
"$id": "14",
"IdItem": 623323,
"ValorLiquido": 35.64,
"ValorIpi": 1.782,
"ValorSubIcms": 0
},
{
"$id": "15",
"IdItem": 623324,
"ValorLiquido": 6.06,
"ValorIpi": 0,
"ValorSubIcms": 0
}
]
}
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Criar Pedido de Venda¶
Criar Pedido de Venda
Cria um pedido de venda no sistema a partir do orçamento informado. O orçamento utilizado, caso o processo seja bem-sucedido, será apagado do ERP.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.CriaPedidoCommand
Entrada
orcamentoId
ID do orçamento que se deseja transformar em pedido de venda.
{
orcamentoId: 50826
}
Retorno
IdPedido
ID do pedido de venda criado no ERP;
NumeroPedido
Número do pedido de venda criado no ERP;
ValorLiquido
Valor líquido total do pedido;
ValorIpi
Valor de IPI total do pedido;
ValorSubIcms
Valor de Substituição de ICMS total do pedido;
IdItem
ID da linha do item no pedido;
ValorLiquido
Valor líquido do item;
ValorIpi
Valor de IPI do item;
ValorSubIcms
Valor de Substituição de ICMS do item.
{
"$id": "307",
"Value": {
"$id": "308",
"IdPedido": 50873,
"NumeroPedido": 379,
"ValorLiquido": 41.7,
"ValorIpi": 1.78,
"ValorSubIcms": 0,
"Itens": {
"$id": "309",
"$values": [
{
"$id": "310",
"IdItem": 623325,
"ValorLiquido": 35.64,
"ValorIpi": 1.782,
"ValorSubIcms": 0
},
{
"$id": "311",
"IdItem": 623326,
"ValorLiquido": 6.06,
"ValorIpi": 0,
"ValorSubIcms": 0
}
]
}
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Buscar Status de Pedido de Venda¶
Buscar Status de Pedido de Venda
Busca o status atual do Pedido de Venda, a afim de acompanhar o seu andamento, podendo ser um dos seguintes:
-
Cancelado;
-
Faturado;
-
Em separação;
-
Em processamento.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetStatusPedidoCommand
Entrada
pdvId
ID do pedido de venda cujo status se deseja consultar.
{
pdvId: 50480
}
Retorno
NumeroPedido
Número do pedido de venda no ERP.
PosicaoPedido
Posição do pedido de venda.
Status
Retorna o status atual do pedido de venda.
{
"$id": "314",
"NumeroPedido": "379",
"PosicaoPedido": "PE",
"Status": "Faturado",
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Buscar Cliente Específico¶
Buscar Cliente Específico
Esse webservice tem o propósito de retornar os dados completos por cliente, será necessário informar o CNPJ ou CPF do estabelecimento marcado como e-Commerce e o código do cliente para que busque as informações corretamente.
Endereço
<endereçoERP>/api/Commands/Comercial.Ecommerce.WebServices.GetClienteCommand
Entrada
codigoCliente
Código do cliente ao qual se deseja buscar os dados;
cnpjCpf
CNPJ ou CPF do cliente ao qual se deseja buscar os dados.
{
codigoCliente: 12,
cnpjCpf: “91514836000160”
}
Retorno
ID
ID interno do Cliente no ERP;
Codigo
Código do cliente cadastrado no ERP;
RazaoSocial
Razão social do estabelecimento cadastrada no ERP;
NomeFantasia
Nome fantasia do estabelecimento cadastrada no ERP;
Cnpj
CNPJ do estabelecimento, caso houver;
Cpf
CPF do cliente, caso houver;
Contato
Contato de ranking mais baixo do cadastro do cliente no ERP;
DataNasc
Data de nascimento do contato, caso houver;
E-Mail do cliente/estabelecimento de ranking mais baixo;
Cep
CEP do endereço do estabelecimento informado;
Endereco
Endereço do cliente/estabelecimento;
NumEndereco
Número do endereço do cliente/estabelecimento;
Bairro
Bairro do cliente/estabelecimento;
Complemento
Complemento do endereço cadastrado;
Cidade
Cidade do cliente/estabelecimento;
UF
UF do cliente/estabelecimento;
Pais
País do cliente/estabelecimento;
NumTelefones
Números de telefones cadastrados para o cliente no ERP;
DDD
DDD do telefone;
Telefone
Número do telefone;
TipoTelefone
Tipo do telefone.
CodicaoPagamento
Condição de pagamento do cliente/estabelecimento.
Codigo
Código da condição de pagamento.
Descricao
Descrição da condição de pagamento.
{
"$id": "10",
"Value": {
"$id": "11",
"ID": 5211,
"Codigo": 2,
"RazaoSocial": "BIGFER IND COM DE FERR LTDA",
"NomeFantasia": "BIGFER IND COM DE FERR LTDA",
"Cnpj": 92534593000194,
"Cpf": null,
"InscEstadual": "0450026205",
"Contato": null,
"DataNasc": null,
"Email": "marcos.facchin@focco.com.br",
"Cep": 95180000,
"Endereco": "R PAPA JOAO XXIII TESTE TESTE TESTE TEST",
"NumEndereco": "675",
"Bairro": "CENTRO",
"Complemento": null,
"Cidade": "FARROUPILHA",
"UF": "RS",
"Pais": "BRASIL",
"NumTelefones": {
"$id": "12",
"$values": []
},
"CodicaoPagamento": {
"$id": "13",
"Codigo": 90,
"Descricao": "A VISTA"
}
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Alterar Observações de Pedidos / Orçamentos¶
Alterar Observações de Pedidos / Orçamentos
Esse webservice tem o propósito de realizar a alteração de Observação do Pedido e Observação do Pedido que será levada para a Nota Fiscal, com opção de substituir as observações existentes.
Endereço
<endereçoERP>/api/commands/Comercial.Ecommerce.WebServices.AtualizaObservacaoOrcamentoCommand
Entrada
idOrcamento
ID do pedido de venda/orçamento que se deseja alterar as observações.
obsPedido
Texto que será considerado como observação do pedido de venda / orçamento.
obsNfs
Texto que será considerado como observação para Nota Fiscal no pedido de venda / orçamento.
substitui
Indica se o conteúdo dos campos obsPedido e obsNfs, devem substituir o conteúdo existente para os mesmos no pedido.
{
idOrcamento: 51000,
obsPedido: "Observação",
obsNfs: "Observação Nota Fiscal",
substitui: 1
}
Retorno
IdOrcamento
ID do pedido de venda/orçamento que teve alteração das observações.
Substitui
Indica se o conteúdo dos campos obsPedido e obsNfs foram substituídos.
ObsPedido
Observação do pedido de venda / orçamento.
ObsNfs
Observação para Nota Fiscal no pedido de venda / orçamento.
{
"$id": "4",
"Value": {
"$id": "5",
"IdOrcamento": 51000,
"Substitui": 1,
"ObservacaoPedido": "Observação",
"ObservacaoNfs": "Observação Nota Fiscal"
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Alterar Frete de Pedido de Venda / Orçamento¶
Alterar Frete de Pedido de Venda / Orçamento
Esse webservice tem o propósito de realizar a alteração de informações de frete de pedidos de venda / orçamentos.
Endereço
<endereçoERP>/api/commands/Comercial.Ecommerce.WebServices.AtualizaFreteOrcamentoCommand
Entrada
idOrcamento
ID do pedido de venda/orçamento que se deseja alterar as informações de frete.
valorFrete
Valor do frete que deve ser considerado para o pedido de venda / orçamento.
tipoFrete
Tipo do frete do pedido de venda / orçamento.
(C - CIF, F - FOB, R - Retira, O - Convênio ou S - Cortesia)
codigoFornecedor
Código do fornecedor no FoccoERP, que deve ser considerado como transportadora do pedido de venda / orçamento.
{
idOrcamento: 50001,
valorFrete: 300,
tipoFrete: "C",
codigoFornecedor: 2
}
Retorno
IdOrcamento
ID do pedido de venda/orçamento que teve as informações de frete alteradas.
ValorFrete
Valor do frete do pedido de venda / orçamento.
TipoFrete
Tipo do frete do pedido de venda / orçamento.
(C - CIF, F - FOB, R - Retira, O - Convênio ou S - Cortesia)
CodigoFornecedor
Código do fornecedor no FoccoERP, considerado como transportadora do pedido de venda / orçamento.
{
"$id": "10",
"Value": {
"$id": "11",
"IdOrcamento": 50001,
"ValorFrete": 300,
"TipoFrete": "C",
"CodigoFornecedor": 2
},
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}
Alterar representante¶
Alterar representante
Esse webservice tem o propósito de realizar a alteração de informações do representante pedidos de venda / orçamentos.
Endereço
<endereçoERP>/api/commands/Comercial.Ecommerce.WebServices.IncluiRepresentantesPedidoCommand
Entrada
pdvID
ID do pedido de venda/orçamento que se deseja alterar as informações de frete.
ListaRepresentante
Podendo montar uma lista de representantes para o mesmo pedido.
idRepresentante
ID do representante
PercentualComissao
percentual de comissão para o representante
{
pdvID: 50001,
ListaRepresentante:
[{
idRepresentante: 300,
PercentualComissao: 2
}]
}
Retorno
{
"$id": "4",
"InnerSingleStatuses": [],
"Succeeded": true,
"AnySucceeded": false,
"Failed": false,
"AllFailed": false,
"BaseErrorMessage": null,
"ErrorMessage": "",
"Exception": null
}