Clique aqui e conheça nossos planos de integração

Esta API fornece acesso ao cadastro dos produtos do Cosmos.

Autenticação

Todas as chamadas deverão conter no cabeçalho o campo X-Cosmos-Token com o seu token de acesso a API que estará disponível logo abaixo quando você estiver logado.


Além do token, é necessário informar o UserAgent que será disponibilizado quando você estiver logado.

Modelagem da API

Todos os serviços disponibilizados através da API utilizam a tecnologia REST (Representational State Transfer), uma arquitetura para a disponibilização de recursos através de sistemas distribuídos, popularmente utilizado sobre HTTP.
A quantidade de itens padrão por página é de 30, mas pode ser extendida até 90 itens usando o parâmetro per_page, valores maiores que este não serão aceitos.
HTTP 1.1
O protocolo padrão para comunicação com as APIs é o HTTP versão 1.1. Para maiores informações sobre esse protocolo, consulte: http://www.w3.org/Protocols/rfc2616/rfc2616.html http://www.ietf.org/rfc/rfc2616.txt
UTF-8
O Charset padrão para chamadas às APIs é o UTF-8. Para maiores informações sobre essa codificação, consulte: https://tools.ietf.org/html/rfc3629
JSON
JSON (JavaScript Object Notation) é um padrão para descrição de dados para intercâmbio entre sistemas e é mais simples e mais leve que o XML.

Endpoint

O endpoint para acessar a API é: https://api.cosmos.bluesoft.com.br

Serviços

Os serviços abaixo podem ser utilizados para fazer consultas no banco de dados geral do Cosmos:

/gtins/{código}
Recupera detalhes do produto atráves do GTIN/EAN informado.
/gpcs/{código}
Recupera detalhes do GPC e Produtos vínculados a ele, atráves do código informado.
/ncms/{código}/products
Recupera detalhes do NCM e Produtos vínculados a ele, atráves do código informado.
/products?query={descrição ou gtin}
Recupera lista de produtos paginados atráves da descrição ou GTIN.
Caso o usuário seja um varejista, é possível utilizar os seguintes serviços para consultar sua base de produtos:

/retailers/gtins/{código}
Recupera detalhes do produto de um varejista atráves do GTIN/EAN informado.
/retailers/gpcs/{código}
Recupera detalhes do GPC e Produtos vínculados a ele na base de produtos do varejista, atráves do código informado.
/retailers/ncms/{código}
Recupera detalhes do NCM e Produtos vínculados a ele na base de produtos do varejista, atráves do código informado.
/retailers/products?query={descrição ou gtin}
Recupera uma lista de produtos paginados da base do varejista atráves da descrição ou GTIN.

Lista de Códigos de Sucesso

A API usa os seguintes códigos HTTP para indicar retornos de sucesso comuns:

Lista de Códigos de Erro

A API usa os seguintes códigos HTTP para indicar erros comuns:

Políticas de Acesso

O acesso aos serviços da API do Cosmos são regulados por políticas de acesso (policy rules). Essas regras definem a quantidade de requisições que podem ser realizados para cada serviço. Toda vez que o limite de chamadas é excedido, a requisição é respondida com o status HTTP 429 acompanhado de uma mensagem informando a quantidade excedida.

Exemplos

Nos exemplos abaixo, estamos obtendo os detalhes de um produto com o GTIN 7891910000197.

      require 'net/http'
      uri = URI.parse('https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json')
      http = Net::HTTP.new(uri.host, uri.port)
      http.use_ssl = true
      request = Net::HTTP::Get.new(uri.request_uri)
      request['User-Agent'] = 'SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN'
      request['Content-Type'] = 'application/json'
      request['X-Cosmos-Token'] = 'AUTH_TOKEN'
      response = http.request(request)
      puts response.body
    
      $url = 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json';
      $agent = 'SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN';
      $headers = array(
        "Content-Type: application/json",
        "X-Cosmos-Token: AUTH_TOKEN"
      );

      $curl = curl_init($url);
      curl_setopt($curl, CURLOPT_USERAGENT, $agent);
      curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_FAILONERROR, true);

      $data = curl_exec($curl);
      if ($data === false || $data == NULL) {
        var_dump(curl_error($curl));
      } else {
        $object = json_decode($data);

        var_dump($object);
      }

      curl_close($curl);
    
      curl -i -X GET \
        -A 'SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN' \
        -H "Content-Type:application/json" \
        -H "X-Cosmos-Token:AUTH_TOKEN" \
        'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json'
    
      import urllib2
      import json

      headers = {
          'X-Cosmos-Token': 'AUTH_TOKEN',
          'Content-Type': 'application/json',
          'User-Agent': 'SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN'
      }

      req      = urllib2.Request('https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json', None, headers)
      response = urllib2.urlopen(req)
      data     = json.loads(response.read())

      print json.dumps(data, indent=4)
    
Clique aqui para baixar o projeto em Delphi de exemplo.
      var str,url: string;
      begin
      try
          url := 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json';

          IdHTTP1.Request.ExtraHeaders.Values['X-Cosmos-Token']:='AUTH_TOKEN';
          IdHTTP1.Request.ContentType := 'application/json;charset=UTF-8';
          IdHTTP.Request.UserAgent := 'SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN'

          Memo1.Clear;

          Screen.Cursor := crHourGlass;
          str := IdHTTP1.Get(url);

          except on E: Exception do
        Begin
          Memo1.Lines.Add('Resposta da exceção:');
          Memo1.Lines.Add('--> '+E.Message);
        End;
      end;

      Memo1.Lines.Add('HTTP Status Code:');
      Memo1.Lines.Add('--> '+IdHTTP1.ResponseText);

      Memo1.Lines.Add('Resposta da consulta:');
      Memo1.Lines.Add('--> ' + UTF8Decode(str));

      Screen.Cursor := crDefault;
    
      using System;
      using System.Net;
      using System.Net.Http;
      using System.Net.Http.Headers;

      class Cosmos
      {
          static void Main(string[] args) {
              var url = "https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json";
              CosmosWebClient wc = new CosmosWebClient();
              string response = wc.DownloadString(url);
              Console.Write(response);
          }

          public class CosmosWebClient : WebClient {
              protected override WebRequest GetWebRequest(Uri address) {
                  HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(address);
                  request.UserAgent="SUBSTITUIR PELO USER AGENT INFORMADO LOGO ABAIXO DO TOKEN";
                  request.Headers["X-Cosmos-Token"] = "AUTH_TOKEN";
                  base.Encoding = System.Text.Encoding.UTF8;
                  return request;
              }
          }
      }
    
 $.ajax({type: 'GET', url: 'https://api.cosmos.bluesoft.com.br/gtins/7891910000197.json', dataType: 'jsonp', headers: {'Content-Type': 'application/json', 'X-Cosmos-Token': 'AUTH_TOKEN'} }).done(function(data) {alert(data); }); 
Retorno da Consulta Acima
{
    "avg_price": 2.99,
    "brand": {
        "name": "UNIÃO",
        "picture": ""
    },
    "description": "AÇÚCAR REFINADO UNIÃO 1KG",
    "gpc": {
        "code": "10000043",
        "description": "Açúcar / Substitutos do Açúcar (Não perecível)"
    },
    "gross_weight": 1000,
    "gtin": 7891910000197,
    "height": 0.0,
    "length": 0.0,
    "max_price": 2.99,
    "ncm": {
        "code": "17019900",
        "description": "Outros",
        "full_description": "Açúcares e produtos de confeitaria - Açúcares de cana ou de beterraba e sacarose quimicamente pura, no estado sólido - Outros: - Outros"
    },
    "net_weight": 1000,
    "price": "R$ 2,99",
    "thumbnail": "https://cdn-cosmos.bluesoft.com.br/products/7891910000197",
    "width": 0.0
}

Conheça os Sistemas da Bluesoft

Bluesoft ERP

ERP em Nuvem 100% Web para Supermercados, Varejos, Atacados e Distribuidores

Tenha controle total de seu negócio e acessando as informações de qualquer lugar e a qualquer hora. Sistema ERP SaaS na Nuvem completo. Comercial, Financeiro, Fiscal, Contábil, Faturamento, Conciliação de Cartões, EDI Bancário, WMS, TMS, e muito mais. Ideal para médias e grandes empresas. Saiba mais

Acelerato

Help Desk, Service Desk, Gestão de Projetos

Melhore a comunicação entre os seus colabores e seus clientes, controle as prioridades e o SLA. Crie chamados por e-mail, formulários ou portal. Tenha visão completa de todas os projetos, tarefas e atividades de suas equipes por colaborador e equipe, e controle os apontamentos e horas trabalhadas. Saiba mais

Valorizamos a sua privacidade

Usamos cookies para melhorar a sua experiência em nosso site. Ao clicar em "OK" você concorda com a utilização de todos os nossos cookies. Você poderá, ainda, aceitar apenas os cookies estritamente necessários, ou, ainda, gerenciar os cookies conforme sua preferência, ao clicar em “Gerenciar Cookies".
Para mais detalhes, acesse nosso, Aviso de Privacidade