Métodos
Esta interface disponibiliza os seguintes métodos:
Busca de pedidos presentes na base de acordo com as informações definidas no filtro. Junto ao pedido são retornadas as principais informações que o compõe.
Pedido[] BuscarPedidos(Login login, FiltroPedido filtro);
Leitura de pedido presentes na base de acordo com as informações definidas no filtro. Será retornado o primeiro pedido que se enquadrar no filtro. Sendo assim recomenda-se o uso do campo ‘CodigoPedido’ presente no filtro para a leitura de um único item.
Pedido LerPedido(Login login, FiltroPedido filtro);
Gravação de informações de pedido comercial. Este método permite a inclusão e alteração de pedidos conforme as consistências existentes na própria tela, acessível através do aplicativo desktop.
O retorno deste método é basicamente o mesmo objeto de pedido, com o código atualizado em caso de inclusão, e a atual situação dos demais campos.
No evento de uma atualização recomenda-se que o pedido seja lido, alteradas as informações e gravado. Informações que forem enviadas em branco (ou nulas) sobrescreverão os dados originais do movimento.
Neste item, é importante salientar que o campo código é a chave do pedido gerado pelo Radar Comercial, ao informar um valor neste campo é assumido que a gravação seja uma alteração de pedido ou se o valor for branco trata-se de uma inclusão.
Ao informar um código diferente dos valores disponibilizados pelo Radar será gerada uma falha referente a ‘Pedido não encontrado’.
O campo ‘CodigoProprio’ serve para a geração de relacionamento ou de/para que for desejado entre o Radar Comercial e o Middleware/Aplicação.
O campo ‘DataPedido’ é um campo apenas de leitura, não sendo necessário informar na inclusão/alteração O campo ‘CodigoFilial’ é um campo obrigatório, deve ser informado o código da filial a qual se destina o pedido conforme o cadastro na base.
Os campos ‘CodigoCliente’ e ‘CPF_CNPJ_Cliente’ trabalham em paralelo, com prioridade para o
‘CodigoCliente’, estes são campos obrigatórios para que seja possível definir a qual cliente se destina o Pedido. O cliente deve existir previamente cadastrado no sistema.
Os campos ‘CodigoCFOP’ e ‘CodigoSituacaoServico’ servem como parâmetros padrão para os Itens do pedido. Caso o Produto/Serviço não possua uma CFOP ou Situação de Serviço informados. O sistema irá assumir estas situações como alternativa. Nem no pedido nem nos itens estes dados não são obrigatórios, eles têm como objetivo agilizar o processo de faturamento.
Os campos ‘CodigoTransportadora’ e ‘CPF_CNPJ_Transportadora’ trabalham em paralelo, com prioridade para o ‘’CodigoTransportadora’, estes não são campos obrigatórios para que seja possível definir qual
transportadora fará o manejo dos itens do Pedido. A transportadora deve existir previamente cadastrada no sistema. Numa inclusão de Pedido a transportadora informada deve ter o cadastro ativo.
O campo ‘ValorTotal’, o valor total pode ser informado, mas será recalculado durante a inclusão do pedido, trata-se do meio de avaliar se o somatório das parcelas é válido, já considerando impostos.
Os campos ‘ValorDescontoProduto’ e ‘ValorDescontoServico’ tratam de descontos gerais sobre produtos e serviços, respectivamente
O campo ‘ValorFrete’, trata-se do valor do frete atribuído ao pedido. Não é obrigatório.
O campo ‘ValorAcrescimo’, trata-se do valor de acréscimo proveniente da condição de pagamento do pedido. Na leitura este valor já estará somado ao valor total do pedido. Não é obrigatório.
O campo ‘SomarAcrescimoAoTotal’, tem como função indicar se durante a gravação o valor informado em ‘ValorAcrescimo’ deve ser somado ao pedido. Se definido como verdadeiro, o valor será somado
proporcionalmente às parcelas e aos totalizadores do pedido. Não é obrigatório.
O campo ‘Observacoes’, trata-se das observações gerais atribuídas ao pedido. Não é obrigatório. O campo ‘SituacaoPedido’ é apenas leitura, maiores detalhes estão definidos na área de enumerações abaixo.
O campo ‘EnderecoEntrega’ tem como finalidade preencher os dados referentes ao local de entrega do Pedido. Internamente este campo é formatado com os dados ‘{Endereco}, {NumeroEndereco},
{ComplementoEndereco}’. Não obrigatório, mas se não informado exige manutenção no desktop.
No cenário de inclusão, somente, o processo faz a sugestão de valores para alíquotas de impostos como, IRRF, ISS, ISS Retido, PIS, CSLL, COFINS, INSS, IPI, ICMS e ICMS/ST conforme informado no cadastro de produto/serviço da base. No caso de uma alteração estes valores deverão ser revistos na aplicação Desktop.
No caso das informações de rateio há algumas possibilidades, sendo elas:
No caso de inclusão, as informações de rateio podem ser omitidas para posterior preenchimento na tela desktop por um profissional da empresa.
Informação do rateio por total. Informação do rateio por item.
Caso seja uma alteração de pedido, e não houver informações de rateio no momento da alteração, os rateios cadastrados anteriormente serão apagados. Para que sejam mantidos é necessário ler o pedido completo, efetuar as alterações necessárias e enviar o pedido para gravação.
Caso informado novos rateios sobre um pedido já gravado, os rateios anteriores serão sobrescritos. A validação sobre rateios ocorre somente se for obrigatória a informação, conforme definição no Radar Comercial.
Nos itens do pedido, os campos de ‘CasasDecimaisPreco’ e ‘CasasDecimaisQuantidade’ serão sobrescritos no evento da gravação. Os valores configurados no Radar Empresarial, cadastro de Produtos/Serviços,
prevalece neste caso.
No evento de alteração de itens do pedido, alteração em valores unitários, quantidades ou descontos dos itens, não refletirá automaticamente nos rateios.
O campo ‘CondicaoPagamento’ deve ser preenchido de acordo com o cadastro da base (acessível através da interface Empresarial, métodos ‘BuscarCondicoesPagamento’ ou ‘LerCondicaoPagamento’).
Caso não seja encontrado a condição com o código informado uma exceção com o descritivo da falha será ser retornado. Para gravação apenas o campo ‘Código’ é considerado, os demais são buscados do cadastro.
As parcelas trabalham associadas a condição de pagamento informada, sendo assim, se informado que a condição é a vista, mas inserir 3 parcelas ou o contrário, o sistema retornará exceção para a inconsistência.
Num pedido de valor total de R$100, se a condição de pagamento for, por exemplo, ‘30/60/90’ e nas
parcelas informados os valores de R$40, R$30, R$30, o pedido deverá ser validado desta maneira. Caso a soma das parcelas não seja idêntico ao valor total do pedido uma inconsistência será gerada.
No cenário de inclusão de pedido, há a possibilidade de não informar nem as parcelas nem o valor total do pedido, mas pode ser informada a condição de pagamento. Desta maneira o sistema irá assumir o cálculo do Módulo Comercial como base e irá efetuar os cálculos necessários com base nos impostos cadastrados para os itens.
O campo ‘InformacoesExtras’ permite a inserção de dados complementares ao pedido. No evento de ser necessário alterar apenas as Informações complementares, é aconselhável utilizar o método específico,
‘AlterarInformacoesExtras’. Sendo assim, o uso demanda a configuração entre as partes sobre o seu devido uso. As listas de ‘Vendedores’ e ‘Representantes’ servem para identificar os vendedores e/ou representantes ligados ao Pedido. Para ambos é considerado o campo código. Para uma listagem completa de vendedores ou representantes há métodos de busca para ambos cadastros na interface Empresarial.
A lista de dados de ‘InfoPlus’ quando informado apenas sobrescreve os dados informados, os demais permanecem os mesmos no pedido. O objetivo de dados de ‘InfoPlus’ para movimentação é para viabilizar a integração de campos que não estão previstos no Pedido. Sendo assim, o uso demanda a configuração entre as partes sobre o seu devido uso.
Referente aos campos disponibilizados nos itens do pedido: O campo ‘EhServico’ serve apenas como indicativo.
O campo ‘CodigoItem’ deve ser informado com o código do produto/serviço conforme cadastrado no Radar Empresarial. Este campo é obrigatório.
Os campos ‘DescricaoGrade’ de 1 a 3 tem como objetivo permitir informar a variação do produto. Apenas o código é considerado.
Os campos ‘CodigoCFOP’ e ‘CodigoSituacaoServico’ servem como parâmetros para os respectivos dados. Estes dados não são obrigatórios, eles têm como objetivo agilizar o processo de faturamento.
O campo ‘CodigoTabelaPreco’ é basicamente informativo não sendo obrigatório. O campo ‘Preco’ trata do valor unitário do item, sem descontos.
O campo ‘CasasDecimaisPreco’ define a quantidade de casas decimais do preço. Este campo é sobrescrito com a informação cadastrada no cadastro de Produtos.
O campo ‘Quantidade’ trata da quantidade de itens vendido.
O campo ‘CasasDecimaisQuantidade define a quantidade de casas decimais da quantidade. Este campo é sobrescrito com a informação cadastrada no cadastro de Produtos.
O campo ‘ComplementoItem’ destina-se a informar dados adicionais ao item atual do pedido, como uma observação.
Os campos ‘ValorDesconto’ e ‘PercentualDesconto’ funcionam de maneira mutualmente exclusivos, se informado em valor, o campo de percentual é desconsiderado, somente é considerado o desconto em percentual se somente ‘PercentualDesconto’ é informado.
As informações para o campo ‘RateiosEmpresariais’, são sugeridos na inclusão caso exista a definição no cadastro do Produto. No caso de uma alteração estes valores deverão ser revistos na aplicação Desktop. Todavia, o valor total rateado para o item deve ser igual ao valor total do produto/serviço, valor unitário somado a impostos que somam e já efetuado os descontos.
O apontamento é sugerido de acordo com a propriedade definida nas propriedades do Radar Comercial. Caso apontamentos sejam informados, eles serão mesclados com o fluxo do apontamento gerado de acordo com o ‘CodigoFluxo’.
O campo ‘Historico’ trata do histórico associado ao pedido. Caso o histórico possua complementos informados eles serão validados com os tipos de dados esperados, definidos no Cadastro de Históricos. Caso não sejam enviados somente será associado o histórico ao pedido. No cenário de gravação, basta enviar o código e os complementos se aplicável.
O campo ‘TipoCobranca’ permite o envio da informação de tipo de cobrança, disponível no cadastro de Tipos de Cobrança. No cenário de gravação, basta enviar o código.
O campo ‘AbrirKits’ indica que os itens do pedido que forem do tipo Kit serão expandidos. Os itens que compõem os Kits serão adicionados ao pedido como itens do pedido e terão o campo ‘CodigoKit’ preenchido com o código do Kit que os gerou. O valor do Kit deve ser igual a soma do valor dos itens que compõem o Kit.”, informando que o comportamento padrão na ausência do campo será de expandir e gravar os produtos.
Assim como o rateio por total, a validação sobre rateios por item ocorre somente se for obrigatória a informação, conforme definição no Radar Comercial.
Internamente, ao gravar um pedido é avaliado se a quantidade de itens é superior a quantidade de itens liberados, esta validação deve ocorrer somente em casos de alteração de um pedido.
Podem haver casos de tratativas não descriminadas neste documento que tratam de itens específicos, como propriedades no módulo Comercial, ou até de permissões de usuários. Estes itens devem ser avaliados
individualmente.
Pedido GravarPedido(Login login, Pedido pedido);
Leitura de propriedades do Comercial. Esta leitura traz alguns itens definidos nas propriedades do comercial. Estes itens têm como objetivo disponibilizar valores de parametrização definidas pelo cliente.
PropriedadesComercial LerPropriedadesComercial(Login login);
Cancelamento de pedido. Através deste método é possível cancelar um pedido, já desfazendo suas integrações, se houverem. O cancelamento deve ser efetuado um a um através da sua chave do Radar ou código próprio, se utilizado.
Void CancelarPedido(Login login, FiltroAcaoPedido filtroAcaoPedido);
Alteração de informações extras do pedido. Através deste método é possível alterar alguns dados do pedido sem a necessidade de ler o pedido em sua completude, facilitando o processo e diminuindo a chance de alterar alguma informação indevidamente.
Void AlterarInformacoesExtras(WCF.Server.Areas.Empresarial.Login login, FiltroAcaoPedido filtroAcaoPedido, AlteracoesInformacoesExtras nformaçõe);
Busca de notas fiscais, com foco em aquisição de notas ligadas a pedidos presentes na base de dados. Junto a nota são retornadas informações básicas permitindo o acompanhamento do faturamento do pedido.
Busca as informações do cadastro de acompanhamento de fluxo baseando-se no filtro informado.
AcompanhamentoFluxo[] BuscarAcompanhamentosFluxo(Login login, FiltroAcompanhamentoFluxo filtro);
Realiza o apontamento do pedido informado no filtro, de acordo com o a situação (Será selecionado
automaticamente o primeiro processo do fluxo). O apontamento será efetuado com o usuário enviado no “login” e irá possuir a data/hora atual.
Void ApontarPedido(Login login, FiltroAcaoPedido filtro, string CodigoSituacao, string Observacao);
Realiza um cálculo simulado de um pedido, dado informações de um CFRT não cadastrado e definido os produtos já cadastrados na base, são retornados os dados referentes a alíquotas consideradas e os valores totais por item e o somatório geral do pré-calculo.
Os itens do pré-calculo que forem do tipo Kit serão expandidos. Sendo assim o pré-calculo passará a considerar os itens que compõem os Kit no lugar do Kit. Os itens do pré-calculo gerados a partir do Kit terão o campo ‘CodigoKit’ preenchido com o código do Kit que os gerou. O valor do Kit deve ser igual a soma do valor dos itens que compõem o Kit.
PreCalculo EfetuarPreCalculoPedido(WCF.Server.Areas.Empresarial.Login login, PreCalculo preCalculo);
Gera vários tokens de acordo com o filtro de Notas Fiscais, pode ser utilizado para realizar o download de XML da NF-e e NFS-e da Nota Fiscal. Os tokens possuem duração de 1 (um) minuto. Este método aceita requisições via WEB API. Este método deve ser usado em conjunto com o método DownloadXMLNFeNFSe. String[] BuscarTokenXMLNotas(WCF.Server.Areas.Empresarial.Login login, FiltroNotaFiscal filtro);
Realiza o download de um XML de NF-e ou NFS-e com base em um token. Este método aceita requisições via WEB API. Este método deve ser usado em conjunto com o método BuscarTokenXMLNotas.
Stream DownloadXMLNFeNFSe(string token);
Gera vários tokens de acordo com o filtro de Notas Fiscais, pode ser utilizado para realizar o download de PDF da NF-e da Nota Fiscal. Os tokens possuem duração de 1 (um) minuto. Este método aceita requisições via WEB API. Este método deve ser usado em conjunto com o método DownloadPDFNFe.
String[] BuscarTokenPDFNFe(WCF.Server.Areas.Empresarial.Login login, FiltroNotaFiscal filtro);
Realiza o download de um PDF da NF-e com base em um token. Este método aceita requisições via WEB API. Este método deve ser usado com conjunto com o método BuscarTokenPDFNFe.
Enumerações
Para as enumerações, o primeiro valor apresentado pode ser considerado o valor padrão quando associado a um campo nas classes.
Enumeração de OrigemPedido SOAP JSON
TODOS= 0 0 WEBSERVICE= 1 1 COMERCIAL= 2 2 WEB= 3 3 IMPORTACAO= 4 4 ORCAMENTO= 5 5
Enumeração SituacaoPedido SOAP JSON
TODOS = Apenas para filtro, não se aplica ao pedido. 0 CANCELADO = O pedido foi completamente cancelado. Quando o
pedido é parcialmente faturado e o restante cancelado o status do pedido termina como faturado. Como se apenas 5 itens tivessem sido
pedidos e não o total de 10 inicial, por exemplo. 1 BLOQUEADO = Ocorreu pendencia do pedido junto ao ERP e o pedido é
bloqueado (não é possível faturar o pedido). 2 FATURADO = Todos os itens do pedido possuem uma liberação e uma
nota fiscal associada. 3
ATENDIDO = Todos os itens do pedido possuem uma liberação. O que
os deixam ‘disponíveis’ para faturamento. 4 PARCIALMENTE_ATENDIDO = Parte dos itens do pedido possuem uma
liberação. O que os deixa ‘disponíveis’ para faturamento. 5 PARCIALMENTE_FATURADO = Parte dos itens do pedido possuem uma
liberação. Parte ou todos os itens liberados foram faturados. 6 EM_ANALISE = Dada configuração no sistema, o pedido pode ao ser
incluso, antes de estar como pendente, estar no status de ‘Em Análise’. Desta maneira um supervisor tem de liberar a continuação do fluxo do
pedido. 7
PENDENTE = Status inicial padrão do pedido logo após inclusão. 8 Enumeração de TipoProducaoLiberacao SOAP JSON
EXTERNO = 0 0
INTERNO = 1 1
Enumeração de QuemTransporta SOAP JSON
EMITENTE = 0 0 DESTINATARIO = 1 1 TERCEIRO = 2 2 PROPRIO_POR_CONTA_REMETENTE = 3 3 PROPRIO_POR_CONTA_DESTINATARIO = 4 4 SEM_FRETE = 9 9
Enumeração de IndicadorIntermediadorEnum SOAP JSON
Nenhum = 0 0
SitePlataformaTerceiros = 1 1
9
Classes
A seguir serão apresentadas as classes contidas nesta interface.
Classe FiltroPedido
1 CodigoFilial String
Código da Filial a ser
considerado no filtro de pedido
2
CodigoPedido String
Código no Radar do Pedido a ser considerado no filtro de pedido. Se informado este campo, os demais campos são ignorados
3
CodigoProprioPedido String
Código próprio do Pedido a ser considerado no filtro de pedido. Se informado este campo, os demais campos são ignorados
4
CodigoCliente String
Código do Cliente a ser
considerado no filtro de pedido
5
CPF_CNPJ_Cliente String
CPF/CNPJ de Cliente a ser considerado no filtro de pedido
6
CodigoTransportadora String
Código da Transportadora a ser considerado no filtro de pedido
7
CPF_CNPJ_Transportadora String
CPF/CNPJ da Transportadora a ser considerado no filtro de pedido
8
SituacaoPedido String
Situação do Pedido a ser considerado no filtro de pedido
9
OrigemPedido String
Origem do Pedido a ser considerado no filtro de pedido
10
DataHoraBaseAlteracao String
Busca somente os Pedidos atualizados após a Data/Hora(no formato ‘dd/MM/yyyy
HH:mm:ss’) informado.
11
BuscarDadosInfoPlus Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os dados de Info Plus do pedido.
12
BuscarApontamentos Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os dados dos apontamentos do pedido.
13
BuscarLiberacoes Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os dados das liberações dos itens. Caso o “BuscarItemPedido” estiver marcado com false, as liberações não serão retornadas.
14
BuscarItemPedido Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os
dados dos itens do pedido.
15
BuscarParcelaPagamento Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os dados das parcelas do pedido.
16
BuscarRateioEmpresarial Bool
Indicador se, ao adquirir os pedidos, devem ser lidos os dados dos rateios do pedido. Classe FiltroAcaoPedido
1 CodigoPedido String
Código no Radar do Pedido a ser considerado no filtro de pedido. Se informado este campo, os demais campos são ignorados
2
CodigoProprioPedido String
Código próprio do Pedido a ser considerado no filtro de pedido. Se informado este campo, os demais campos são ignorados
Classe Pedido
1 Codigo String Código no Radar do pedido
2 CodigoProprio String Código Próprio do pedido
3 DataPedido String Data do pedido
4 CodigoFilial String Código da Filial do pedido 5 CodigoCliente String Código do Cliente do pedido
6 CPF_CNPJ_Cliente String CPF/CNPJ do Cliente do pedido
7 CodigoCFOP String CFOP do pedido
8
CodigoSituacaoServico String
Codigo da Situacao de Servico do pedido 9 CodigoTransportadora String Código da Transportadora do pedido 10 CPF_CNPJ_Transportadora String CPF/CNPJ da Transportadora do pedido 11 CodigoOperacaoComercial String
Codigo da Operacao Comercial do Pedido.
12 ValorTotal String Valor Total do pedido
13
PercentualDescontoProduto String
Percentual total de desconto dos produtos do pedido (se não houver ValorDescontoProduto definido). Campo de leitura e inclusão/alteração. 14 ValorDescontoProduto String
Valor Total de Desconto dos Produtos do pedido
15
PercentualDescontoServico String
Percentual total de desconto dos serviços do pedido (se não houver ValorDescontoServico definido).
inclusão/alteração.
16
ValorDescontoServico String
Valor Total de Desconto dos Serviços do pedido
17 ValorFrete String Valor de Frete do pedido
18
ValorAcrescimo String
Valor de acréscimo referente a condição de pagamento do pagamento. Na leitura este valor já estará somado ao valor total do pedido.
19
SomarAcrescimoAoTotal Bool
Indicador de operação de soma do valor informado em
‘ValorAcrescimo’ ao total do pedido. Se definido como verdadeiro, este valor será somado proporcionalmente às parcelas e aos totalizadores do pedido.
20 ValorIPI String Valor Total de IPI
21 ValorICMSST String Valor Total de ICMSST 22
ValorDescontoCondicaoPagamento String
Valor de Desconto da condição de pagamento
23
ValorAcrescimoCondicaoPagamento String
Valor de Acréscimo da condição pagamento
24 Observacoes String Observações do pedido 25 SituacaoPedido SituacaoPedido Situação do pedido
26 CondicaoPagamento CondicaoPagamento Condição de Pagamento do pedido 27 FormaPagamento String
Código da Forma de Pagamento do pedido. Obs.: Utilizar
exclusivamente quando informar CondicaoPagamento.
28
EnderecoEntrega CadastroEndereco
Dados do Endereço de Entrega do pedido
29 RateiosEmpresariais RateioEmpresarial[] Rateios Empresariais do pedido 30 Parcelas ParcelaPagamento[] Parcelas do pedido
31 ItensPedido ItemPedido[] Itens do Pedido do pedido 32
InformacoesExtras InformacoesExtras
Informações extras definidas no pedido.
33
Vendedores Vendedor[]
Lista de Vendedores associados ao pedido
34
Representantes Representante[]
Lista de Representantes associados ao pedido
35 DadosInfoPlus InfoPlus[] Dados de InfoPlus do pedido. 36
CodigoFluxo String
Codigo do acompanhamento de fluxo do pedido
37 Apontamento ApontamentoFluxoPedido Apontamento do pedido
38 Historico Historico Histórico do pedido
39 TipoCobranca TipoCobranca Tipo de Cobranca do pedido 40
ConsumidorFinal BooleanNullable
Indicador de que o cliente é um consumidor final
41 CodigoContato String Código do Contato do Cliente 42
DataEntrega String
Data da entrega do pedido. Campo de leitura e
inclusão/alteração.
43 NomeBeneficiario String Nome do Beneficiário 44 CPFBeneficiario String CPF do Beneficiário
45 DataNascimentoBeneficiario String Data de Nascimento do Beneficiário 46 AbrirKits Bool
Indica que os itens do pedido que forem do tipo Kit serão expandidos. Os itens que compõem os Kits serão adicionados ao pedido como itens do pedido e terão o campo ‘CodigoKit’ preenchido com o