• Nenhum resultado encontrado

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

Documentos relacionados