none
Update IBPT RRS feed

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
    sexta-feira, 10 de julho de 2015 13:57

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.

    sexta-feira, 10 de julho de 2015 13:44
  • 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
    sexta-feira, 10 de julho de 2015 13:57
  • 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}&gtin={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)


    quinta-feira, 30 de julho de 2015 13:18
  • Elton, como você usa esse código dentro do fonte para atualizar a tabela do banco?
    quarta-feira, 16 de setembro de 2015 03:15
  • 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
    quinta-feira, 12 de novembro de 2015 16:14
  • @Elton_Henrique,

    Uma dúvida caso possa ajudar. Você disse que consulta em tempo de execução, como esse exemplo é um método async, como você fez para retornar os valores consultados para outra classe?

    Obrigado.

    quarta-feira, 4 de janeiro de 2017 12:17
  • 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

    quinta-feira, 16 de março de 2017 16:06
  • Boa tarde, A sua rotina não le o arquivo, o arquivo vem por padrão extensão .csv
    segunda-feira, 3 de abril de 2017 18:54