CARREGAR DADOS PELO CóDIGO EAN NO BLUESOFT

 Tópico anterior Próximo tópico Novo tópico

CARREGAR DADOS PELO CóDIGO EAN NO BLUESOFT

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#495482 - 27/10/2020 18:25:43

EDSNIT
SAO GONCALO
Cadast. em:Junho/2011


Através do sistema da bluesoft se consegue informações bem legais, como , NCM, imagem, Preço médio do produto etc.. mas não estou conseguindo fazer no VB6, preciso de exemplo para consumir esse conteudo via vb6
https://cosmos.bluesoft.com.br/

Obrigado!

Segue exemplo abaixo do vb.net, mas nao conseguir fazer funcionar.

Imports System
Imports System.Net
Imports System.Net.Http
Imports System.Net.Http.Headers

Class Cosmos
    Private Shared Sub Main(ByVal args As String())
        Dim url = 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json'
        Dim wc As CosmosWebClient = New CosmosWebClient()
        Dim response As String = wc.DownloadString(url)
        Console.Write(response)
    End Sub

    Public Class CosmosWebClient
        Inherits WebClient

        Protected Overrides Function GetWebRequest(ByVal address As Uri) As WebRequest
            Dim request As HttpWebRequest = CType(MyBase.GetWebRequest(address), HttpWebRequest)
            request.Headers('X-Cosmos-Token') = 'CRIAR TOKEN NO SITE'
            MyBase.Encoding = System.Text.Encoding.UTF8
            Return request
        End Function
    End Class
End Class



#495484 - 27/10/2020 20:21:39

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Você criou o token no site? Você precisa passar um token válido

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#495485 - 27/10/2020 20:27:12

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Pra isso basta se cadastrar, o plano básico permite até 25 consultas por dia(se não me engano)

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#495486 - 27/10/2020 20:45:13

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Última edição em 27/10/2020 21:58:53 por FABRICIOWEB

fiz em c# para vc intender ok so mudar o token

class

namespace assistencia
{
    public class CosmosWebClient
    {
        public class CosmosWebClient1 : WebClient
        {
            protected override WebRequest GetWebRequest(Uri address)
            {
                HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
                request.Headers['X-Cosmos-Token'] = SEU TOKEM AQUI;
                base.Encoding = System.Text.Encoding.UTF8;
                return request;
            }
        }
    }
}




CHAMA ASSIM

  private void buscaimagemocsmos()
        {
            try
            {
                var url = 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json';
                CosmosWebClient.CosmosWebClient1 wc = new CosmosWebClient.CosmosWebClient1();
                string response = wc.DownloadString(url);
                RetornoGet retorno = JsonConvert.DeserializeObject<RetornoGet>(response);
                MessageBox.Show(retorno.thumbnail);
            }
            catch
            {

            }
        }
        public class RetornoGet
        {
            public string thumbnail { get; set; }
        }






#495487 - 27/10/2020 21:52:53

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Citação:
:
Pra isso basta se cadastrar, o plano básico permite até 25 consultas por dia(se não me engano)

kerper aproveitar aqui como posso obter essa imagem como base64 string

https://cdn-cosmos.bluesoft.com.br/products/7894900019254



#495489 - 27/10/2020 22:36:20

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Barbadinha:

        private byte[] GetImg(string url)
        {
            Stream stream = null;
            byte[] buf;
            try
            {
                WebProxy myProxy = new WebProxy();
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                stream = response.GetResponseStream();

                using (BinaryReader br = new BinaryReader(stream))
                {
                    int len = (int)(response.ContentLength);
                    buf = br.ReadBytes(len);
                    br.Close();
                }
                stream.Close();
                response.Close();
            }
            catch (Exception exp)
            {
                buf = null;
            }
            return (buf);
        }


E para chamar:

string url = 'https://cdn-cosmos.bluesoft.com.br/products/7894900019254';
StringBuilder _sb = new StringBuilder();
Byte[] _byte = this.GetImg(url);
_sb.Append(Convert.ToBase64String(_byte, 0, _byte.Length));
//Aqui _sb vai conter o Base64 da imagem, basta usar o método ToString() para passar para qualquer variável string, assim
string MyBase64Image = _sb.ToString();


Pessoalmente eu não usaria assim, eu faria o método assíncrono, mas desse jeito já vai funcionar, se você não se importar com um ou dois segundos de espera no máximo, obviamente, dependendo do tempo de resposta do server da url. Por isso que faria assíncrono, mas só por isso.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#495490 - 28/10/2020 00:03:02

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


 Anexos estao visíveis somente para usuários registrados

ficou perfeito kerpe vlw meu amigo
Citação:
:
Barbadinha:

        private byte[] GetImg(string url)
        {
            Stream stream = null;
            byte[] buf;
            try
            {
                WebProxy myProxy = new WebProxy();
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse response = (HttpWebResponse)req.GetResponse();
                stream = response.GetResponseStream();

                using (BinaryReader br = new BinaryReader(stream))
                {
                    int len = (int)(response.ContentLength);
                    buf = br.ReadBytes(len);
                    br.Close();
                }
                stream.Close();
                response.Close();
            }
            catch (Exception exp)
            {
                buf = null;
            }
            return (buf);
        }


E para chamar:

string url = 'https://cdn-cosmos.bluesoft.com.br/products/7894900019254';
StringBuilder _sb = new StringBuilder();
Byte[] _byte = this.GetImg(url);
_sb.Append(Convert.ToBase64String(_byte, 0, _byte.Length));
//Aqui _sb vai conter o Base64 da imagem, basta usar o método ToString() para passar para qualquer variável string, assim
string MyBase64Image = _sb.ToString();


Pessoalmente eu não usaria assim, eu faria o método assíncrono, mas desse jeito já vai funcionar, se você não se importar com um ou dois segundos de espera no máximo, obviamente, dependendo do tempo de resposta do server da url. Por isso que faria assíncrono, mas só por isso.

ficou perfeito kerpe vlw meu amigo, ae so adicionei a função de converter em imagem base 64
public Image Base64ToImage(string base64String)
        {
            // Convert base 64 string to byte[]
            byte[] imageBytes = Convert.FromBase64String(base64String);
            // Convert byte[] to Image
            using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
            {
                Image image = Image.FromStream(ms, true);
                return image;
            }
        }



#495491 - 28/10/2020 00:49:51

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Última edição em 28/10/2020 01:11:27 por FABRICIOWEB

para pegar os ncm


        public class RetornoGet
        {
            public string thumbnail { get; set; }
            public string code { get; set; }
            public ProductNCM NCM { get; set; }
        }
        public class ProductNCM
        {
            public string Code { get; set; }
            public string Description { get; set; }
            public string FullDescription { get; set; }
        }


               string urls = retorno.thumbnail;
               string ncmcode = retorno.NCM.Code;





#495520 - 29/10/2020 10:30:18

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


em VB6 fica assim:

Public Function WebRequest(url As String) As String
    Dim http As MSXML2.xmlhttp
    Set http = CreateObject('MSXML2.ServerXMLHTTP')

    http.open 'GET', url, False
    http.setRequestHeader 'X-Cosmos-Token', 'seu token'
    http.send

    WebRequest = http.responseText
    Set http = Nothing
End Function


e pra chamar:

    Dim result As String
    Dim url As String
    
    url = 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json'
    result = WebRequest(url)




 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário