Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelsouzab

Utilizando API C# Windows form

Recommended Posts

Boa tarde galera,

seguinte estou querendo utilizar a API de um site de busca de CRM, eu consegui o link o site em questão seria esse: http://www.consultacrm.com.br/

porem não estou conseguindo utilizar a API que eles disponibilizam...

estou tentando adicionar no service references mas sem sucesso, poderiam me auxiliar como utilizar corretamente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, estava testando aqui rs

Ficou assim:

private async void RequestAPI()
        {
            HttpClient client = new HttpClient();
            var response = await client.GetAsync(URL);
            string content = await response.Content.ReadAsStringAsync();
            var xml = XDocument.Parse(content);
        }

Web.Config

 <system.net>
    <defaultProxy useDefaultCredentials="true" >
    </defaultProxy>
  </system.net>

Chamada do metodo:

var task = new Task(RequestAPI);
task.Start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito obrigado mesmo,

então eu teria que consultar os dados da variavel task ? pois preciso consultar o CRM no site atravez do campo de buscar, pegar esse resultado e exibir na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara muito obrigado mesmo,

então eu teria que consultar os dados da variavel task ? pois preciso consultar o CRM no site atravez do campo de buscar, pegar esse resultado e exibir na tela.

Não...

Pra ter um retorno, tem que ser assim:

 private async Task<XDocument> RequestAPI()
        {
            HttpClient client = new HttpClient();
            var response = await client.GetAsync(URL);
            string content = await response.Content.ReadAsStringAsync();
            return await Task.Run(() => XDocument.Parse(content));
        }

E a chamada:

var xml = await RequestAPI();

Porém, a chamada tem que ser um método async, e isso pode carregar a tela, sem ter os dados (afinal, esse é o objetivo do async, continuar com execuções sem travar a tela).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi mas ai vamos supor que o usuário queira buscar o crm 0000123 como isso poderia ser feito, no site tem só um campo de busca se não me engano e um botão buscar pode olhar no site que coloco no incio do topico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi mas ai vamos supor que o usuário queira buscar o crm 0000123 como isso poderia ser feito, no site tem só um campo de busca se não me engano e um botão buscar pode olhar no site que coloco no incio do topico

Não entendi, cara.

Mas é simples. Só fazer a chamada na API deles, passando os parâmetros, vai te devolver um XML, ai converte esse XML pra um objeto, e faz o que quiser com ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza e essa chamada é feita através do método que você mostrou na resposta acima correto?,Bom de qualquer forma deixa eu explicar com mais detalhes oque eu realmente preciso, o usuário vai escrever em uma texbox o CRM que é um dado de médico um dado de identificação para realizar a busca do médico no site de buscarcrm é necessário que o usuário escreva o crm, como consigo os dados desse médico utilizando essa forma que você passou nas respostas a cima, para trazer o nome do médico, especialidade e tudo mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, no post #4 e #6 a variável xml vai ter algo parecido com isso:

<item>
  <tipo>STRING</tipo>
  <numero>STRING ou NUMERO</numero>
  <nome>STRING</nome>
  <uf>UF<uf/>
  <profissao>STRING - ESPECIALIDADE</profissao>
  <situacao>STRING</situacao>
</item> 

Ai é manipulação de XML...

var nome = XDocument.Parse(xml).Descendants("nome").AsParallel().FirstOrDefault().Value;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.