Ir para o conteúdo

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;

Email

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;

Email

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 

}