BAIXAR LISTA DE PRE?OS E PRODUTOS DA INTERNET
Pessoal boa noite,
Estou trabalhando com dados não normalizados, e penso em baixar informações de preços de um site, por exemplo a netshoes.
Gostaria de uma ajuda(introdução) de como poderia ser feito isso, ou se alguém já projetou algo do tipo, poderia me dar umas dicas de como começar.
Att,
Marcelo Bressan
Estou trabalhando com dados não normalizados, e penso em baixar informações de preços de um site, por exemplo a netshoes.
Gostaria de uma ajuda(introdução) de como poderia ser feito isso, ou se alguém já projetou algo do tipo, poderia me dar umas dicas de como começar.
Att,
Marcelo Bressan
E então ajudou?
kerplung voce achou algo para os markplace cnova e 2bw voce tem algo ?
Não encontrei nenhuma SDK pronta para esses, mas suponho que eles possuam uma WebAPI, não?
nao eles trabalham como ti falei, com um manual no qual voce dele chamar enviar informação
Tenho quase certeza que foi pra você que mandei um exemplo consultando e cadastrando produtos para uma tal de CNova. Se não foi pra você, esclareço que é sim uma WebAPI baseada em Token de acesso. E é o mesmÃssimo procedimento como para qualquer WebAPI. Você cria as classes com a estrutura dos retornos e envios, usa um HttpClient para enviar e receber dados. Como eu sei que explicar isso não vai adiantar muito e você vai precisar de algo para ver, aqui vai:
Classes para os dados:
Buscando um produto:
Prevendo o que você vai dizer em seguida, logo após copiar e colar o código, que seria [Ô]Está dando erro[Ô], você precisa adicionar no projeto as referências:
System.Net.Http
System.Net.Http.Formatting
System.Web.Extensions
Classes para os dados:
public class Produto
{
public string skuId { get; set; }
public string skuSellerId { get; set; }
public string productSellerId { get; set; }
public string title { get; set; }
public string description { get; set; }
public string brand { get; set; }
public string[] gtin { get; set; }
public string[] categories { get; set; }
public string[] images { get; set; }
public string[] videos { get; set; }
public Price price { get; set; }
public Stock stock { get; set; }
public Dimensions dimensions { get; set; }
public Giftwrap giftWrap { get; set; }
public Attribute[] attributes { get; set; }
public Error[] errors { get; set; }
}
public class Price
{
public double? offer { get; set; }
public double? _default { get; set; }
}
public class Stock
{
public double? quantity { get; set; }
public double? crossDockingTime { get; set; }
}
public class Dimensions
{
public double? weight { get; set; }
public double? length { get; set; }
public double? width { get; set; }
public double? height { get; set; }
}
public class Giftwrap
{
public object available { get; set; }
public object value { get; set; }
public object messageSupport { get; set; }
}
public class Attribute
{
public string name { get; set; }
public string value { get; set; }
}
public class Error
{
public string code { get; set; }
public string type { get; set; }
public string message { get; set; }
public string skuSellerId { get; set; }
}
Buscando um produto:
private async void button2_Click(object sender, EventArgs e)
{
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri([Ô]https://desenvolvedores.cnova.com/api-portal/proxy/api/v2/loads/products/[Ô]);
client.DefaultRequestHeaders.Add([Ô]client_id[Ô], [Ô]SEU CLIENT ID VAI AQUI[Ô]);
client.DefaultRequestHeaders.Add([Ô]access_token[Ô], [Ô]SEU ACCESS TOKEN VAI AQUI[Ô]);
var resposta = await client.GetAsync([Ô]99[Ô]); //o 99 aqui se refere à qual produto está buscando
string dados = await resposta.Content.ReadAsStringAsync();
Produto produto = new JavaScriptSerializer().Deserialize<Produto>(dados);
//daqui em diante trabalhe com o objeto [Ô]produto[Ô], usando suas propriedades, como por exemplo:
txtCodigo.Text = produto.productSellerId.ToString();
txtDescrição.Text = produto.description;
txtTitulo.Text = produto.title;
txtComprimento.Text = produto.dimensions.length == null ? [Ô]0[Ô]: produto.dimensions.length.ToString();
txtLargura.Text = produto.dimensions.width == null ? [Ô]0[Ô] : produto.dimensions.width.ToString();
txtPeso.Text = produto.dimensions.weight == null ? [Ô]0[Ô] : produto.dimensions.weight.ToString();
txtAltura.Text = produto.dimensions.height == null ? [Ô]0[Ô] : produto.dimensions.height.ToString();
}
}
Prevendo o que você vai dizer em seguida, logo após copiar e colar o código, que seria [Ô]Está dando erro[Ô], você precisa adicionar no projeto as referências:
System.Net.Http
System.Net.Http.Formatting
System.Web.Extensions
Faça seu login para responder