Usuário com melhor resposta
Update IBPT

Pergunta
-
Respostas
-
Consegui resolver Marcos, a tabela eu já tinha, eu queria era o fonte do sistema para que ele faça de forma automatizada, baixe essa tabela de algum local e atualize a tabela do banco de dados. Obrigado
- Marcado como Resposta Guilherme Walter sexta-feira, 10 de julho de 2015 13:57
- Editado Marcos SJ quarta-feira, 16 de setembro de 2015 14:06 Edição
Todas as Respostas
-
Bom dia Guilherme,
Tudo bem?
Está falando desta tabela?
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Consegui resolver Marcos, a tabela eu já tinha, eu queria era o fonte do sistema para que ele faça de forma automatizada, baixe essa tabela de algum local e atualize a tabela do banco de dados. Obrigado
- Marcado como Resposta Guilherme Walter sexta-feira, 10 de julho de 2015 13:57
- Editado Marcos SJ quarta-feira, 16 de setembro de 2015 14:06 Edição
-
Olá Bom dia,
Hoje o IBPT disponibiliza uma API para atualização automática em seu sistema.
Segue o código de exemplo em C# para Produtos:
using System; using System.Net; using System.Net.Http; namespace IWS_Exemplo.Servicos { public class Produto { public static async void Get(string token, string cnpj, string codigo, string uf, int ex, string codigoInterno = "", string descricao = "", string unidadeMedida = "", decimal valor = 0, string gtin = "") { using (var client = new HttpClient()) { var url = string.Format("http://iws.ibpt.org.br/api/Produtos?token={0}&cnpj={1}&codigo={2}&uf={3}&ex={4}&codigoInterno={5}&descricao={6}&unidadeMedida={7}&valor={8}>in={9}", token, cnpj, codigo, uf, ex, codigoInterno, descricao, unidadeMedida, valor, gtin); var response = await client.GetAsync(url); if (response.StatusCode == HttpStatusCode.OK) { var produto = await response.Content.ReadAsAsync<ProdutoDTO>(); Console.WriteLine("Produto: {0} - {1}", produto.Codigo, produto.Descricao); } else { Console.WriteLine("Falha"); } } } } }
E para Serviços:
using System; using System.Net; using System.Net.Http; namespace IWS_Exemplo.Servicos { public class Servico { public static async void Get(string token, string cnpj, string codigo, string uf, string descricao = "", string unidadeMedida = "", decimal valor = 0) { using (var client = new HttpClient()) { var url = string.Format("http://iws.ibpt.org.br/api/Servicos?token={0}&cnpj={1}&codigo={2}&uf={3}&descricao={4}&unidadeMedida={5}&valor={6}", token, cnpj, codigo, uf, descricao, unidadeMedida, valor); var response = await client.GetAsync(url); if (response.StatusCode == HttpStatusCode.OK) { var servico = await response.Content.ReadAsAsync<ServicoDTO>(); Console.WriteLine("Serviço: {0} - {1}", produto.Codigo, produto.Descricao); } else { Console.WriteLine("Falha"); } } } } }
Fonte: IBPT (http://iws.ibpt.org.br/Help/Sample)
- Editado Elton_Henrique quinta-feira, 30 de julho de 2015 13:21
-
-
Desculpe a demora...
Hoje estou fazendo a consulta online no momento da emissão de documentos fiscais, não fica nada salvo em banco, busco o valor atualizado pelo IBPT em tempo real.
- Sugerido como Resposta Elton_Henrique quinta-feira, 12 de novembro de 2015 20:45
-
-
Olá, sei que é um pouco tarde, mas eu estava procurando também, não achei nada parecido, e como esse tópico tem bastante visualização, então resolvi escrever aqui.
Como não achava nada parecido também, eu mesmo criei um método que depois de você ter baixado a tabela, você só importa ela, que o código te retorna uma lista da classe NCM ( os mesmos nomes da tabela ), assim você pode manipular ela e adiciona-la ao banco de dados
Segue o código no GITHUB: https://github.com/GuiPetenuci/TabelaIPTax
Espero que ajude quem precisar
-