Web service Com.senior.g5.co.int.varejo.tabelaspreco
Tipo de execução
Para cada tipo de execução, existem diferentes parâmetros que podem ser comuns a todas as portas.
Autenticação
Caso seja utilizada alguma forma de autenticação para integração de informações através de web services, é necessário identificar o tipo no parâmetro <encryption>, conforme seus valores possíveis.
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
Segue uma descrição do contexto/processo em que a utilização deste web service está inserida. Também apresenta outros web services a serem chamados, mas não se limita apenas a isso.
Em um contexto de entrega futura pelo CD:
1 - O processo dentro do ERP começa somente após a conclusão de todo o processo de venda de mercadoria, o que significa que devem ter sido realizadas as seguintes etapas:
1.1 - A importação do pedido pelo web service com.senior.g5.co.int.varejo.pedido, porta GravarPedidosVarejo.
1.2 - A solicitação do retorno da integração pelo web service com.senior.g5.co.int.varejo.RetornoIntegracao, porta Exportar, de modo que o sistema terceiro tenha as informações do pedido.
1.3 - A importação da nota autorizada através do web service com.senior.g5.co.int.varejo.NotaAutorizada, porta ImportarNotaAutorizada.
1.4 - A solicitação do retorno da integração pelo web service com.senior.g5.co.int.varejo.RetornoIntegracao, porta Exportar, de maneira que o sistema terceiro tenha as informações da nota fiscal.
1.5 - A importação da entrega pelo web service com.senior.g5.co.int.varejo.entrega, porta Importar, para importar as informações de entrega.
1.6 - A execução do web service com.senior.g5.co.int.varejo.RetornoIntegracao, porta Exportar, disponibilizando as informações da entrega integrada ao ERP.
2 - Neste momento do processo, nas tabelas do ERP, teremos os seguintes artefatos: a nota fiscal de saída de simples faturamento, o pedido e os itens de entrega. A ligação entre as tabelas, partindo da nota fiscal de simples faturamento até a entrega, ocorre da seguinte forma:
2.1 - A ligação entre os itens da nota fiscal (E140IPV) e os itens de pedido (E120IPD) é feita nos itens de pedido da seguinte maneira: E120IPD.FILNCO = E140IPV.CODFIL, E120IPD.SNFNCO = E140IPV.CODSNF, E120IPD.NUMNCO = E140IPV.NUMNFV;
2.2 - A ligação entre os itens de pedido (E120IPD) e os itens de entrega (E147ITE) ocorre nos itens da entrega da seguinte forma: E147ITE.EMPPED = E120IPD.CODEMP, E147ITE.FILPED = E120IPD.CODFIL, E147ITE. NUMPED = E120IPD.NUMPED AND E147ITE.SEQIPD = E120IPD.SEQIPD;
2.3 - A ligação entre os itens da entrega (E147ITE) e a entrega (E147ENT) é feita pelo vínculo dos campos E147ITE.IDEENT = E147ENT.IDEUNI.
3 - A entrega, neste momento, deve estar com a situação "1 - Aberta".
4 - Logar no ERP na filial que é o CD. Vale ressaltar que estamos tratando do processo de entrega futura CD.
5 - Acessar a tela Formação de Cargas (via Pedidos) (F135FCP) e efetuar a formação da carga. Esta ação gerará registros nas tabelas Vendas - Análise de embarque - Pré-faturas (E135PFA) e Vendas - Análise de embarque - Itens de produto e serviço (E135PES).
6 - Dentro do ERP, deve ser acessada a tela Agrupado e Entrega Via CD (F149ECD), onde será emitida a nota de transferência. Deve-se observar que a opção "Entregas futura com NF transf. já emitidas" esteja desmarcada.
7 - Após a autorização dessa nota, novamente na tela Agrupado e Entrega Via CD (F149ECD), deverá ser emitida a nota de remessa. Neste momento, é importante verificar se a opção "Entregas futuras com NF transf. já emitidas" está marcada.
8 - Após a emissão da nota de remessa, a situação da entrega e do item será alterada para "3 - Entregue". Esta informação é exportada pelo web service com.senior.g5.co.int.varejo.entrega, porta Exportar.
Nota
- Todas as portas utilizadas sempre foram as últimas de sua respectiva versão.
- Para mais informações sobre o processo de Vendas para Entrega Futura, quando há integração, acesse a documentação aqui.
Campos numéricos
Orientação válida para qualquer campo de web service que possui objetivo de receber valores, independentemente do seu tipo ser Integer, Double e String. Estas orientações devem ser seguidas nas requisições efetuadas via SOAP e em execuções efetuadas através do SGI, relatórios e regras LSP.
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
- Envio no formato ZZZZ,ZZ
- É fundamental não enviar os campos numéricos com separador de milhar, pois ocorrerá erro ao executar a requisição
- Obrigatória a utilização do separador decimal com vírgula, e não com ponto
- Obrigatória a utilização do zero a direita. Por exemplo, se o valor for 350,20, a requisição deve ser enviada com este exato valor. Se o valor enviado for enviado como 350,2, o sistema não irá interpretar a requisição adequadamente
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
number(005,2) = 350,20 - o sistema espera que o número digitado contenha até 3 casas antes da vírgula e obrigatoriamente duas após;
number(015,2): 35000,20 - o sistema espera que o número digitado contenha até 13 casas antes da vírgula e obrigatoriamente duas após;
number(008,4) = 3200,2074 - o sistema espera que o número digitado contenha até 4 casas antes da vírgula e obrigatoriamente duas após.
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
- Envio no formato ZZZZ.ZZ
- É fundamental não enviar os campos numéricos com separador de milhar, pois ocorrerá erro ao executar a requisição
- Obrigatória a utilização do separador decimal com ponto, e não com vírgula
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
- number(005,2) = 350.20 - o sistema espera que o número digitado contenha até 3 casas antes da vírgula e obrigatoriamente duas após;
- number(015,2): 35000.20 - o sistema espera que o número digitado contenha até 13 casas antes da vírgula e obrigatoriamente duas após;
- number(008,4) = 3200.2074 - o sistema espera que o número digitado contenha até 4 casas antes da vírgula e obrigatoriamente duas após.
WSDL
- Síncrono: http://example.com/g5-senior-services/sapiens_Synccom_senior_g5_co_int_varejo_tabelaspreco?wsdl
- Assíncrono: http://example.com/g5-senior-services/sapiens_Asynccom_senior_g5_co_int_varejo_tabelaspreco?wsdl
- Agendado: http://example.com/g5-senior-services/sapiens_Scheduledcom_senior_g5_co_int_varejo_tabelaspreco?wsdl
Porta
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
Integrações - Varejo - Cadastros - Exportar Tabelas de Preço
Necessita autenticação: Sim
Situação de versão: Atual
Versão: 1
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br"> <soapenv:Body> <ser:Exportar> <user>String</user> <password>String</password> <encryption>Integer</encryption> <parameters> <codEmp>Integer</codEmp> <consulta> <codTpr>String</codTpr> <datIni>String</datIni> <codPro>String</codPro> <codDer>String</codDer> <codSer>String</codSer> </consulta> <codFil>Integer</codFil> <quantidadeRegistros>Integer</quantidadeRegistros> <sigInt>String</sigInt> <tipoIntegracao>String</tipoIntegracao> </parameters> </ser:Exportar> </soapenv:Body> </soapenv:Envelope>
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
Nome | Tipo | Descrição |
---|---|---|
codEmp | Integer | (Obrigatório) - Number(004) - Código da Empresa |
consulta | Set | Obrigatório quando o tipo de integração (tipoIntegracao) for "E". Para consultar, deve-se informar pelo menos um dos sub-elementos: codTpr, datIni, codPro ou codSer. Também é possível combiná-los, isto é, informar codTpr e codPro simultaneamente. Neste caso, será retornado o preço do produto naquela tabela de preço. O sub-elemento codDer somente deve ser utilizado quando codPro também for informado. Não informar simultaneamente os elementos codPro e codSer. |
consulta.codTpr | String | (Opcional) - String(004) - Código da Tabela de Preço |
consulta.datIni | DateTime | (Opcional) - Date - Data de Validade Inicial da tabela de preço |
consulta.codPro | String | (Opcional) - String(014) - Código do Produto |
consulta.codDer | String | (Opcional) - String(007) - Código da Derivação |
consulta.codSer | String | (Opcional) - String(014) - Código do Serviço |
codFil | Integer | (Obrigatório) - Number(005) - Código da Filial |
quantidadeRegistros | Integer | (Opcional) - Number(005) - Quantidade de registros limite para retorno da solicitação. Obrigatório quando o tipo de integração for "T" ou "A". Quando o tipo de integração for "E", este valor não é utilizado |
sigInt | String | (Obrigatório) - String(15) - Sigla do Sistema de Integração |
tipoIntegracao | String | (Obrigatório) - String(001) - Tipo de Integração - Lista: T = Todos, A = Somente Alterados, E = Registro Específico |
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
Observação
Envelope SOAP de resposta de requisições síncronas. Para requisições assíncronas ou agendamentos, a resposta é apenas uma String chamada "result" com o valor "OK", se foi executado com sucesso ou, caso contrário, a mensagem do erro ocorrido.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.senior.com.br"> <soapenv:Body> <ser:ExportarResponse> <result> <tabelaPreco> <codTpr>String</codTpr> <desTpr>String</desTpr> <espCli>String</espCli> <tabPrm>String</tabPrm> <sitReg>String</sitReg> <validade> <datIni>String</datIni> <datFim>String</datFim> <sitReg>String</sitReg> <item> <codPro>String</codPro> <codDer>String</codDer> <codSer>String</codSer> <preBas>String</preBas> <perDsc>String</perDsc> <preLiq>String</preLiq> <perCom>String</perCom> <sitReg>String</sitReg> <seqInt>Integer</seqInt> </item> </validade> </tabelaPreco> <resultado> <codTpr>String</codTpr> <datIni>String</datIni> <codPro>String</codPro> <codDer>String</codDer> <codSer>String</codSer> <observacao>String</observacao> </resultado> <finalizaramRegistros>String</finalizaramRegistros> <tipoRetorno>Integer</tipoRetorno> <mensagemRetorno>String</mensagemRetorno> <numLot>Integer</numLot> <erroExecucao>String</erroExecucao> </result> </ser:ExportarResponse> </soapenv:Body> </soapenv:Envelope>
![Closed](../Skins/Default/Stylesheets/Images/transparent.gif)
Atenção!
1 - Na exportação serão exportados registros ativos e configurados conforme a necessidade da integração, bem como os registros inativos.
2 - Serão exportados como Inativos os registros que estiverem presentes nas tabelas de controle de integração, mas que não estejam presentes na tabela de ligação tabela de preço - filial.
3 - De preferência à utilizar a exportação de registros Alterados (tipoIntegracao igual à "A"). A solicitação como Total deveria ocorrer somente uma vez: no momento de implantar uma integração.
4 - A exportação específica não considera a ligação da tabela de preço com a filial de forma direta, ou seja, como critério primário.
5 - A seleção é feita com base no filtro de consulta. Por isso, seja o mais específico possível ao definir os critérios de filtragem. Caso necessário, consulte a documentação do campo em específico.
6 - Caso solicitada a exportação de um registro em que apenas o código de produto foi informado, por exemplo, todas as tabelas onde o item esteja presente serão retornadas. Caso a configuração não esteja correta, tal como a ligação com a filial, o item será exportado como inativo (tabelaPreco.validade.sitReg = I). Desta forma podemos ter, numa mesma resposta, tabelas de preço que integram com o sistema terceiro, bem como tabelas que não integram, todas sendo exportadas como inativas.
7 - Em decorrência do item anterior, serão gerados registros na base de dados das tabelas de controle de integração para a exportação dessa informação, sendo isso necessário, mesmo que tenha ocorrido a exportação de uma tabela sem ligação com a filial. Isso impacta na exportação do tipo de integração Todos e Alterados, gerando registros que se enquadram no item 2, descrito nos respectivos tópicos.
8 - Em caso de solicitação de uma exportação específica, é recomendado aplicar o máximo de filtros possível para torná-la o mais precisa possível.
9 - Na hipótese da geração de registros que causem esse tipo de impacto (item 7), o processo automático de limpeza (Processo automático 160 - Limpeza da tabela E000CIX), se devidamente configurado, eliminará esses registros da tabela de integração.
Nome | Tipo | Descrição |
---|---|---|
erroExecucao | String | Indica erros ocorridos no servidor ao executar o serviço, podendo conter os seguintes valores:Vazio ou nulo, indicando que a execução foi feita com sucessoA mensagem do erro ocorrido no servidorSó impede a gravação quando o retorno.tipRet for igual a "2" |
tabelaPreco | Set | |
tabelaPreco.codTpr | String | (Obrigatório) - String(004) - Código da Tabela de Preço |
tabelaPreco.desTpr | String | (Obrigatório) - String(250) - Descrição da tabela de preço. Se a tabelafoi excluída (isto é, sitReg="I"), este elemento não é enviado. |
tabelaPreco.espCli | String | (Obrigatório) - String(001) - Indicativo se a tabela de preço é válida para um cliente específico. Se a tabela de preço foi excluída, este elemento não é enviado - Lista: S = Sim, N = Não |
tabelaPreco.tabPrm | String | (Obrigatório) - string(001) - Indicativo se a tabela de preço é uma promoção interna |
tabelaPreco.sitReg | String | (Obrigatório) - String(001) - Situação da tabela de preço - Lista: A = Ativo, I = Inativo |
tabelaPreco.validade | Set | (Obrigatório) |
tabelaPreco.validade.datIni | DateTime | (Obrigatório) - Date - Data de validade inicial da tabela de preço |
tabelaPreco.validade.datFim | DateTime | (Obrigatório) - Date - Data de validade final da tabela de preço. Quando a tabela de preço, produto/serviço ou validade da tabela de preço foi excluída, este elemento não é enviado |
tabelaPreco.validade.sitReg | String | (Obrigatório) - String(001) - Situação do registro- Lista: A = Ativo, I = Inativo |
tabelaPreco.validade.item | Set | (Obrigatório) - Contém os itens (produtos/serviços) |
tabelaPreco.validade.item.codPro | String | (Opcional) - String(014) - Código do Produto. |
tabelaPreco.validade.item.codDer | String | (Opcional) - String(007) - Código da Derivação do produto. Enviado apenas quando o tipo de item for "P" (produto) |
tabelaPreco.validade.item.codSer | String | (Opcional) - String(014) - Código do serviço |
tabelaPreco.validade.item.preBas | String | (Obrigatório) - Number(014) - Preço Base. Quando o produto/serviço, validade ou tabela de preço foi excluída, este elemento não é enviado |
tabelaPreco.validade.item.perDsc | String | (Obrigatório) - Number(005) - % Desconto. Quando o produto/serviço, validade ou tabela de preço foi excluída, este elemento não é enviado |
tabelaPreco.validade.item.preLiq | String | (Obrigatório) - Number(014,2) - Preço liquido. Quando o produto/serviço, validade ou tabela de preço foi excluída, este elemento não é enviado |
tabelaPreco.validade.item.perCom | String | (Obrigatório) - Number(005) - % Comissão. Quando o produto/serviço, validade ou tabela de preço foi excluída, este elemento não é enviado |
tabelaPreco.validade.item.sitReg | String | (Obrigatório) - String(001) - Situação do registro - Lista: A = Ativo, I = Inativo |
tabelaPreco.validade.item.seqInt | Integer | (Obrigatório) - Number(007) - Sequência do registro |
resultado | Set | (Opcional) - Este elemento somente é alimentado quando o tipo de Integração é "E" (Registro Específico) |
resultado.codTpr | String | (Obrigatório) - String(004) - Código da Tabela de Preço |
resultado.datIni | DateTime | (Obrigatório) - Date - Data de validade inicial da tabela de preço |
resultado.codPro | String | (Obrigatório) - String(014) - Código do Produto |
resultado.codDer | String | (Obrigatório) - String(007) - Código da Derivação |
resultado.codSer | String | (Obrigatório) - String(014) - Código do Serviço |
resultado.observacao | String | (Obrigatório) - String(100) - Motivo do registro não ter sido exportado |
finalizaramRegistros | String | (Obrigatório) - String(001) - Indicativo se existem mais informações a serem solicitadas - Lista: S = Sim, N = Não |
tipoRetorno | Integer | (Obrigatório) - Number(001) - Tipo de Retorno de Processamento - Lista: 1 = Processado, 2 = Erro na Solicitação |
mensagemRetorno | String | (Obrigatório) - String(1000) - Mensagem de Retorno de Processamento. Quando ocorrer erro de processamento, este elemento apresentará a mensagem de erro de processamento |
numLot | Integer | (Obrigatório) - Number(7) - Número do lote |