NAV Navbar
shell javascript python

Introdução

Bem vindo a documentação dos endpoints da nossa API, elas são de acesso exclusivo aos nossos clientes.

Ao lado direito, temos requisições feitas em Shell, JavaScript e Python. Você pode dar uma olhada nos exemplos e implementar com a ferramenta que preferir.

Toda a documentação foi criada pelo nosso time de desenvolvedores, em caso de duvidas, procure o seu gestor de contas e ele redirecionará a dúvida internamente.

Autenticação

Todas as requisições efetuadas para a API são autenticadas no padrão OAuth2.

Para utilizar o token, é necessário pega-lo através de requisição no nosso serviço de autenticação utilizando usuário, senha e um token estático que será passado durante o processo de implantação.

Token

Para obter o token, use o código abaixo:

curl -X POST \
  'https://api.infopriceti.com.br/portal-acesso-web/oauth/token' \
      '?grant_type=password&username=user@infoprice.co&password=senha' \
  -H 'Authorization: Basic {token_estatico}' \
var request = require("request");

var options = { 
    method: 'POST',
    url: 'https://api.infopriceti.com.br/portal-acesso-web/oauth/token',
    qs: { 
      grant_type: 'password',
      username: 'user@infoprice.co',
      password: 'senha' 
    },
      headers: { 
        Authorization: 'Basic {token_estatico}' 
      } 
   };

request(options, function (error, response, body) {
  console.log('Token: ' + body.access_token);
});

import requests
import json

url = "https://api.infopriceti.com.br/portal-acesso-web/oauth/token"
method = "POST"
params = {
    "grant_type": "password",
    "username": "{user@infoprice.co}",
    "password": "{senha}"
}
headers = {
    "Authorization": "Basic {token_estatico}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text)["access_token"])

A requisição retornará um JSON conforme o exemplo abaixo

{
    "access_token": "{token}",
    "token_type": "bearer",
    "refresh_token": "5b241530-6909-47f1-9bf5-57fe567y64ef",
    "expires_in": 40133,
    "scope": "read write trust"
}

Não esqueça se substituir o usuário, senha e token estático pelas suas credenciais.

Tendo em mãos o token estático, usuário e senha, basta fazer a requisição para o serviço de autenticação e pegar o token que é retornado.

O token tem a validade de 12 horas, após esse período ele precisa ser renovado. Após ter salvado o token, ele deve ser enviado em todas as requests no formato abaixo.

Authorization: bearer {token}

Requisição HTTP

POST https://api.infopriceti.com.br/portal-acesso-web/oauth/token

Parâmetros

Parâmetro Descrição
grant_type obrigatório Tipo de senha, o padrão utilizado é "password"
username obrigatório Usuário
password obrigatório Senha criptografada no padrão sha512

Integração de Dados Coletados

Relatório Completo

curl -X GET \
  'https://api.infopriceti.com.br/integracao/v2/relatorio?dataInicio=2018/09/27&dataFim=2018/09/27&page=0' \
  -H 'Authorization: bearer {token}' \
var request = require("request");

var options = { 
  method: 'GET',
  url: 'https://api.infopriceti.com.br/integracao/v2/relatorio',
  qs: { 
    dataInicio: '2018/09/27', 
    dataFim: '2018/09/27', 
    page: '0' 
  },
  headers: { 
     Authorization: 'bearer {token}' 
  } 
};

request(options, function (error, response, body) {
  console.log(body);
});

import requests
import json

url = "https://api.infopriceti.com.br/integracao/v2/relatorio"
method = "GET"
params = {
    "dataInicio": "2019/04/01",
    "dataFim": "2019/04/01",
    "page": 0
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

{
    "content": [
        {
            "data": "2019-11-11",
            "loja": "1003329259",
            "produto": "7891080400087",
            "produto_descricao": "MARGARINA CREMOSA COM SAL DELICIA 500G",
            "preco_varejo": 3.490,
            "preco_atacado": 3.250,
            "gatilho_atacado": 4,
            "rebaixa_preco": false,
            "promocao": false,
            "tipo_promocao": null,
            "clube_desconto": null,
            "preco_de": null,
            "preco_por": null,
            "data_validade": null,
            "auditoria": "https://s3.amazonaws.com/infoprice-prd-repository/2019/11/11/19187/1109082/auditorias/7891080400087.jpg",
            "range_precos": {
                "preco_maximo": 5.500,
                "preco_minimo": 3.980,
                "sugestao_expurgo": true
            },
            "sugestao": null,
            "data_processamento": "2019-11-13T12:33:12"
        },
        {
          "data": "2019-11-11",
          "loja": "1003332508",
          "produto": "1011857",
          "produto_descricao": "QUEIJO MUSS FRIZZO kg",
          "preco_varejo": null,
          "preco_atacado": null,
          "gatilho_atacado": null,
          "rebaixa_preco": null,
          "promocao": null,
          "tipo_promocao": null,
          "clube_desconto": null,
          "preco_de": null,
          "preco_por": null,
          "data_validade": null,
          "auditoria": null,
          "range_precos": null,
          "sugestao": {
              "produto_sugestao": "7898920378193",
              "descricao_sugestao": "QUEIJO T MUSS RONDOLAC KG",
              "preco_varejo_sugestao": 18.200,
              "preco_atacado_sugestao": null,
              "gatilho_atacado_sugestao": null,
              "promocao_sugestao": false,
              "tipo_promocao_sugestao": null,
              "clube_desconto_sugestao": null,
              "preco_de_sugestao": null,
              "preco_por_sugestao": null,
              "auditoria": "https://s3.amazonaws.com/infoprice-prd-repository/2019/11/11/14683/1108553/auditorias/46759.jpg",
              "data_validade_sugestao": null
          },
          "data_processamento": "2019-11-13T12:30:14"
        }
    ],
    "last": true,
    "totalElements": 8175,
    "totalPages": 1,
    "numberOfElements": 8175,
    "sort": null,
    "first": true,
    "size": 10000,
    "number": 0
}

Esse endpoint retorna todas as informações disponíveis dos datapoints pesquisados no período solicitado pelos parâmetros dataInicio e dataFim, que representam o período de data de pesquisa dos dados. Essa é a data em que o preço foi praticado para o produto na loja.

O cliente é identificado através do token enviado, de forma que receba os dados referentes a si.

Requisição HTTP

GET https://api.infopriceti.com.br/integracao/v2/relatorio

Parâmetros

As datas devem ser enviadas no formato yyyy/MM/dd

Parâmetro Valor padrão Descrição
dataInicio obrigatório Data de início da pesquisa
dataFim obrigatório Data fim da pesquisa
page 0 Número da página, se não for enviado, será considerado o valor padrão;

Resposta

O objeto que é respondido pela API é uma estrutura de paginação. Nele contém informações quanto a página e dentro da propriedade content é que está as informações de pesquisa de preço.

Propriedade Descrição
content Lista de objetos com o conteúdo da resposta
totalElements Quantidade total de objetos
last Indica se é ou não a última página
first Indica se é ou não a primeira página
number Número da página atual (inicia-se em zero). Esse parâmetro é enviado na requisição.
numberOfElements Quantidade total de objetos que vieram no content
sort Método de ordenação
size Tamanho da página

Conteúdo (content)

Propriedade Formato Descrição
data Date (yyyy-MM-dd) NOT NULL Data de realização da captura do preço.
loja String NOT NULL Identificador da loja
produto String NOT NULL Identificador do produto
produto_descricao String NOT NULL Descrição do produto
preco_varejo Decimal Preço do produto na loja (varejo)
preco_atacado Decimal Preço do produto na loja (atacado)
gatilho_atacado Integer Quantidade de unidades que aciona o preço atacado
rebaixa_preco Boolean Flag indicando se houve uma rebaixa do preço varejo, calculada por algoritmo próprio
promocao Boolean Flag indicando se o produto foi indicado como promoção pelo pesquisador, na coleta realizada em gôndola
tipo_promocao String No caso de haver promoção ou clube de desconto, indica qual tipo de promoção. Podendo ser: PRODUTO_EM_DESTAQUE, DE_POR, OFERTA_PARA_VARIAS_UNIDADES, PROXIMO_A_VENCIMENTO, OUTROS
clube_desconto Boolean Flag indicando se o tipo de promoção está atrelado a um clube de desconto
preco_de Decimal No caso de promoção tipo DE_POR, qual é o "Preço De"
preco_por Decimal No caso de promoção tipo DE_POR, qual é o "Preço Por"
data_validade Date (yyyy-MM-dd) No caso de promoção tipo DATA_VALIDADE, é a data de validade do produto
auditoria String No caso de possuir foto validada da coleta, é o link da foto da etiqueta ou cartaz de preço. O link possui validade de 1 ano, contado a partir da data de coleta
range_precos Object Objeto com informações de preço mínimo e máximo aceitáveis para o produto, definido pelo cliente
sugestao Object No caso de produto não encontrado, mas que tenha sugestão de substituição, contém as informações do produto sugerido
data_processamento DateTime (yyyy-MM-dd'T'HH:mm:dd) Instante de disponibilização do Dado no Sistema da InfoPrice

Range Preços (range_precos)

Propriedade Formato Descrição
preco_minimo Decimal Preço mínimo aceitável do produto, definido pelo cliente
preco_maximo Decimal Preço máximo esperado do produto, definido pelo cliente
sugestao_expurgo Boolean Flag sugerindo o expurgo do Dado, caso esteja abaixo do preço mínimo ou acima do preço máximo definidos pelo cliente

Sugestão (sugestao)

Propriedade Formato Descrição
produto_sugestao String Código de barras do produto sugerido, quando produto sugerido possuir código de barras
descricao_sugestao String Descrição do produto sugerido
preco_varejo_sugestao Decimal Preço do produto sugerido na loja (varejo)
preco_atacado_sugestao Decimal Preço do produto sugerido na loja (atacado)
gatilho_atacado_sugestao Integer Quantidade de unidades que aciona o preço atacado para o produto sugerido
promocao_sugestao Boolean Flag indicando se o produto sugerido foi indicado como promoção pelo pesquisador, na coleta realizada em gôndola
tipo_promocao_sugestao String No caso de haver promoção ou clube de desconto para o produto sugerido, indica qual tipo de promoção. Podendo ser: PRODUTO_EM_DESTAQUE, DE_POR, OFERTA_PARA_VARIAS_UNIDADES, PROXIMO_A_VENCIMENTO, OUTROS
clube_desconto_sugestao Boolean Flag indicando se o tipo de promoção do produto sugerido está atrelado a um clube de desconto
preco_de_sugestao Decimal No caso de promoção do produto sugerido tipo DE_POR, qual é o "Preço De"
preco_por_sugestao Decimal No caso de promoção do produto sugerido tipo DE_POR, qual é o "Preço Por"
auditoria String No caso de possuir foto validada da coleta, é o link da foto da etiqueta ou cartaz de preço do produto sugerido. O link possui validade de 1 ano, contado a partir da data de coleta
data_validade_sugestao Date (yyyy-MM-dd) No caso de promoção tipo DATA_VALIDADE, é a data de validade do produto sugerido

Relatório Completo por Data de Disponibilização

curl -X GET \
  'https://api.infopriceti.com.br/integracao/v2/relatorio?dataInicio=2018/09/27&dataFim=2018/09/27&page=0' \
  -H 'Authorization: bearer {token}' \
var request = require("request");

var options = { 
  method: 'GET',
  url: 'https://api.infopriceti.com.br/integracao/v2/relatorio',
  qs: { 
    dataInicio: '2018/09/27', 
    dataFim: '2018/09/27', 
    page: '0' 
  },
  headers: { 
     Authorization: 'bearer {token}' 
  } 
};

request(options, function (error, response, body) {
  console.log(body);
});

import requests
import json

url = "https://api.infopriceti.com.br/integracao/v2/relatorio"
method = "GET"
params = {
    "dataInicio": "2019/04/01",
    "dataFim": "2019/04/01",
    "page": 0
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

{
    "content": [
        {
            "data": "2019-11-11",
            "loja": "1003329259",
            "produto": "7891080400087",
            "produto_descricao": "MARGARINA CREMOSA COM SAL DELICIA 500G",
            "preco_varejo": 3.490,
            "preco_atacado": 3.250,
            "gatilho_atacado": 4,
            "rebaixa_preco": false,
            "promocao": false,
            "tipo_promocao": null,
            "clube_desconto": null,
            "preco_de": null,
            "preco_por": null,
            "data_validade": null,
            "auditoria": "https://s3.amazonaws.com/infoprice-prd-repository/2019/11/11/19187/1109082/auditorias/7891080400087.jpg",
            "range_precos": {
                "preco_maximo": 5.500,
                "preco_minimo": 3.980,
                "sugestao_expurgo": true
            },
            "sugestao": null,
            "data_processamento": "2019-11-13T12:33:12"
        },
        {
          "data": "2019-11-11",
          "loja": "1003332508",
          "produto": "1011857",
          "produto_descricao": "QUEIJO MUSS FRIZZO kg",
          "preco_varejo": null,
          "preco_atacado": null,
          "gatilho_atacado": null,
          "rebaixa_preco": null,
          "promocao": null,
          "tipo_promocao": null,
          "clube_desconto": null,
          "preco_de": null,
          "preco_por": null,
          "data_validade": null,
          "auditoria": null,
          "range_precos": null,
          "sugestao": {
              "produto_sugestao": "7898920378193",
              "descricao_sugestao": "QUEIJO T MUSS RONDOLAC KG",
              "preco_varejo_sugestao": 18.200,
              "preco_atacado_sugestao": null,
              "gatilho_atacado_sugestao": null,
              "promocao_sugestao": false,
              "tipo_promocao_sugestao": null,
              "clube_desconto_sugestao": null,
              "preco_de_sugestao": null,
              "preco_por_sugestao": null,
              "auditoria": "https://s3.amazonaws.com/infoprice-prd-repository/2019/11/11/14683/1108553/auditorias/46759.jpg",
              "data_validade_sugestao": null
          },
          "data_processamento": "2019-11-13T12:30:14"
        }
    ],
    "last": true,
    "totalElements": 8175,
    "totalPages": 1,
    "numberOfElements": 8175,
    "sort": null,
    "first": true,
    "size": 10000,
    "number": 0
}

Esse endpoint retorna todas as informações disponíveis dos datapoints pesquisados no período solicitado pelos parâmetros dataInicio e dataFim, que representam o período de data de disponibilização dos dados. Essa data é o instante em que o dado fica disponível no Sistema da InfoPrice.

O cliente é identificado através do token enviado, de forma que receba os dados referentes a si.

Requisição HTTP

GET https://api.infopriceti.com.br/integracao/v2/relatorio/cadastro

Parâmetros

As datas devem ser enviadas no formato yyyy-MM-dd'T'HH:mm:dd, exemplo: Dia 12 de Março de 2020, às 18:30:15 como 2020-03-12T18:30:15.

Parâmetro Valor padrão Descrição
dataInicio obrigatório Data de início de disponibilização do dado
dataFim obrigatório Data fim de disponibilização do dado
page 0 Número da página, se não for enviado, será considerado o valor padrão;

Resposta

O objeto que é respondido pela API é uma estrutura de paginação. Nele contém informações quanto a página e dentro da propriedade content é que está as informações de pesquisa de preço.

Propriedade Descrição
content Lista de objetos com o conteúdo da resposta
totalElements Quantidade total de objetos
last Indica se é ou não a última página
first Indica se é ou não a primeira página
number Número da página atual (inicia-se em zero). Esse parâmetro é enviado na requisição.
numberOfElements Quantidade total de objetos que vieram no content
sort Método de ordenação
size Tamanho da página

Conteúdo (content)

Propriedade Formato Descrição
data Date (yyyy-MM-dd) NOT NULL Data de realização da captura do preço.
loja String NOT NULL Identificador da loja
produto String NOT NULL Identificador do produto
produto_descricao String NOT NULL Descrição do produto
preco_varejo Decimal Preço do produto na loja (varejo)
preco_atacado Decimal Preço do produto na loja (atacado)
gatilho_atacado Integer Quantidade de unidades que aciona o preço atacado
rebaixa_preco Boolean Flag indicando se houve uma rebaixa do preço varejo, calculada por algoritmo próprio
promocao Boolean Flag indicando se o produto foi indicado como promoção pelo pesquisador, na coleta realizada em gôndola
tipo_promocao String No caso de haver promoção ou clube de desconto, indica qual tipo de promoção. Podendo ser: PRODUTO_EM_DESTAQUE, DE_POR, OFERTA_PARA_VARIAS_UNIDADES, PROXIMO_A_VENCIMENTO, OUTROS
clube_desconto Boolean Flag indicando se o tipo de promoção está atrelado a um clube de desconto
preco_de Decimal No caso de promoção tipo DE_POR, qual é o "Preço De"
preco_por Decimal No caso de promoção tipo DE_POR, qual é o "Preço Por"
data_validade Date (yyyy-MM-dd) No caso de promoção tipo DATA_VALIDADE, é a data de validade do produto
auditoria String No caso de possuir foto validada da coleta, é o link da foto da etiqueta ou cartaz de preço. O link possui validade de 1 ano, contado a partir da data de coleta
range_precos Object Objeto com informações de preço mínimo e máximo aceitáveis para o produto, definido pelo cliente
sugestao Object No caso de produto não encontrado, mas que tenha sugestão de substituição, contém as informações do produto sugerido
data_processamento DateTime (yyyy-MM-dd'T'HH:mm:dd) Instante de disponibilização do Dado no Sistema da InfoPrice

Range Preços (range_precos)

Propriedade Formato Descrição
preco_minimo Decimal Preço mínimo aceitável do produto, definido pelo cliente
preco_maximo Decimal Preço máximo esperado do produto, definido pelo cliente
sugestao_expurgo Boolean Flag sugerindo o expurgo do Dado, caso esteja abaixo do preço mínimo ou acima do preço máximo definidos pelo cliente

Sugestão (sugestao)

Propriedade Formato Descrição
produto_sugestao String Código de barras do produto sugerido, quando produto sugerido possuir código de barras
descricao_sugestao String Descrição do produto sugerido
preco_varejo_sugestao Decimal Preço do produto sugerido na loja (varejo)
preco_atacado_sugestao Decimal Preço do produto sugerido na loja (atacado)
gatilho_atacado_sugestao Integer Quantidade de unidades que aciona o preço atacado para o produto sugerido
promocao_sugestao Boolean Flag indicando se o produto sugerido foi indicado como promoção pelo pesquisador, na coleta realizada em gôndola
tipo_promocao_sugestao String No caso de haver promoção ou clube de desconto para o produto sugerido, indica qual tipo de promoção. Podendo ser: PRODUTO_EM_DESTAQUE, DE_POR, OFERTA_PARA_VARIAS_UNIDADES, PROXIMO_A_VENCIMENTO, OUTROS
clube_desconto_sugestao Boolean Flag indicando se o tipo de promoção do produto sugerido está atrelado a um clube de desconto
preco_de_sugestao Decimal No caso de promoção do produto sugerido tipo DE_POR, qual é o "Preço De"
preco_por_sugestao Decimal No caso de promoção do produto sugerido tipo DE_POR, qual é o "Preço Por"
auditoria String No caso de possuir foto validada da coleta, é o link da foto da etiqueta ou cartaz de preço do produto sugerido. O link possui validade de 1 ano, contado a partir da data de coleta
data_validade_sugestao Date (yyyy-MM-dd) No caso de promoção tipo DATA_VALIDADE, é a data de validade do produto sugerido

Dados do InfoPanel

Consulta Dados Desagregados

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/desagregado"
method = "POST"
params = {
    "page": 0,
    "size": 10000
}

headers = {
    "Authorization": "Bearer {access_token}"
}

payload = {
"filter": {
      "data_inicio": "2020-07-01",
      "data_fim": "2020-07-08",
      "rede": [
        "string"
      ],
      "tipo_loja": [
        "string"
      ],
      "loja_cliente": [
        "string"
      ],
      "cnpj": [
        "string"
      ],
      "uf": [
        "string"
      ],
      "cep": "string",
      "raio": 0,
      "cidade": [
        "string"
      ],
      "categoria": [
        "string"
      ],
      "secao": [
        "string"
      ],
      "gtin": [
        "string"
      ],
      "sku": [
        "string"
      ],
      "tipo_preco": [
        "string"
      ]
  }
}

response = requests.request(method, url, headers=headers, params=params, data=json.dumps(payload))
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

{
    "content": [
    {
            "dia_semana": "2020-05-11T00:00:00.000+0000",
            "uf": "SP Interior",
            "cidade": "Piracicaba",
            "rede": "Delta Max",
            "tipo_loja": "Supermercado",
            "lojas_cliente": [
                {
                    "identificador": "12",
                    "descricao": "Delta Piracicaba",
                    "cnpj": "00286528001060"
                }
            ],
            "cnpj": "00286528001060",
            "cep": "13425000",
            "logradouro": "Avenida Comendador Luciano Guidotti",
            "numero_logradouro": "1184",
            "complemento": null,
            "bairro": "Jardim Caxambu",
            "categoria": "Cervejas",
            "secao": "Bebidas",
            "descricao": "Cerv Black Prince Apa Gf 600ml",
            "gtin": "7898377661145",
            "produtos_cliente": [
                {
                    "skuCliente": "4149",
                    "gtin": "7898377661145",
                    "descricao": "Cerveja Black Princess Apa 600ml"
                }
            ],
            "tipo_preco": "Regular",
            "preco_medio": 12.99,
            "preco_maximo": 12.99,
            "preco_minimo": 12.99,
            "quantidade_datapoints": 1
        }
    ],
    "last": true,
    "totalElements": 8175,
    "totalPages": 1,
    "numberOfElements": 8175,
    "sort": null,
    "first": true,
    "size": 10000,
    "number": 0
}

Esse endpoint retorna uma página dos dados em formato desagregado do InfoPanel. As informações de paginação são definidas por Params, sendo o tamanho de página máximo 10.000 itens. As informações de Produto e Loja cliente são preenchidas a partir da base de cadastro da InfoPrice.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/desagregado

Parâmetros

Parâmetro Valor padrão Descrição
page 0 Número da página, se não for enviado, será considerado o valor padrão
size 100 Número de elementos da página, se não for enviado, será considerado o valor padrão. Valor máximo: 10000

Request Body

Parâmetro Formato Descrição
filter filter Objeto contendo os filtros a serem aplicados

Filtros (filter)

Objeto contendo os filtros a serem aplicados. Todos os parâmetros são opcionais. Caso algum campo não seja especificado, todos os valores possíveis serão retornados.

Parâmetro Formato Descrição
data_inicio Date (yyyy-MM-dd) Data de início da filtragem dos dados. Note que os dados são agrupados por semana, e data que representa a semana é a segunda-feira.
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados. Note que os dados são agrupados por semana, e data que representa a semana é a segunda-feira.
cnpj String[] Lista de CNPJs de Lojas
loja_cliente String[] Lista com Identificadores de Lojas Cliente
rede String[] Lista de Redes/Bandeiras de Lojas
tipo_loja String[] Lista de Tipos de Loja. Os valores possíveis são: Home Center, Supermercado, Vizinhança, Hipermercado, Atacado, Eletro-Eletrônicos, Farmácia, Livraria, Mercearia, Posto de Combustível, Padaria, Desconhecido, Pet-Shop, Mercado teste, E-commerce, Marketplace, Papelaria, Loja de Cosméticos
uf String[] Lista de Unidades Federativas. Observação: SP está dividida em Grande SP(Região Metropolitana da Cidade de São Paulo) e SP Interior (Interior do Estado de São Paulo), demais seguem a sigla da Unidade Federativa, ex.: MG, RN, etc
cidade String[] Lista de Cidades
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
secao String[] Lista de Seções de Produtos
categoria String[] Lista de Categorias de Produtos
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção

Resposta

O objeto que é respondido pela API é uma estrutura de paginação. Nele contém informações quanto a página e dentro da propriedade content é que está as informações de pesquisa de preço.

Propriedade Descrição
content Lista de objetos com o conteúdo da resposta
totalElements Quantidade total de objetos
last Indica se é ou não a última página
first Indica se é ou não a primeira página
number Número da página atual (inicia-se em zero). Esse parâmetro é enviado na requisição.
numberOfElements Quantidade total de objetos que vieram no content
sort Método de ordenação
size Tamanho da página

Conteúdo (content)

Propriedade Formato Descrição
dia_semana Date (yyyy-MM-dd) Data referente à semana de vigência do preço, é utilizada a data da segunda-feira da semana
cnpj String CNPJ da Loja
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da Loja
tipo_loja String Tipo de Loja/Canal
rede String Rede/Bandeira do dado
cep String CEP da Loja
uf String Unidade Federativa do dado. Observação: SP está dividida em Grande SP(Região Metropolitana da Cidade de São Paulo) e SP Interior (Interior do Estado de São Paulo)
cidade String Cidade da Loja
complemento String Complemento ao Logradouro da Loja
bairro String Bairro da Loja
logradouro String Logradouro da Loja
numero_logradouro String Número do Logradouro da Loja
gtin String Código de Barras do Produto
descricao String Descrição do Produto
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao Código de Barras do Produto
secao String Seção do Produto
categoria String Categoria do Produto
tipo_preco String Tipo do Preço praticado
preco_medio BigDecimal Preço Médio do Produto, na Loja, na Semana
preco_maximo BigDecimal Preço Máximo do Produto, na Loja, na Semana
preco_minimo BigDecimal Preço Mínimo do Produto, na Loja, na Semana
quantidade_datapoints Integer Quantidade de capturas de Preço do Produto, na Loja, na Semana

Loja Cliente (loja_cliente)

A Loja Cliente se refere a Lojas cadastradas no domínio do Cliente na base de dados da InfoPrice. Geralmente, se referem a Lojas Concorrentes ao Cliente.

Propriedade Formato Descrição
identificador String Identificador da Loja Cliente, definida pelo Cliente
descricao String Descrição da Loja Cliente, definida pelo Cliente
cnpj String CNPJ da Loja Cliente

Produto Cliente (produto_cliente)

Propriedade Formato Descrição
gtin String Código de Barras do Produto
skuCliente String Identificador do Produto Cliente, definido pelo Cliente
descricao String Descrição do Produto, definida pelo Cliente

Consulta Dados Agregados

import requests
import json

# Exemplo: Dados agrupados por UF e Tipo Loja/Canal no mês de julho de 2020

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/agregado"
method = "POST"
params = {
    "page": 0,
    "size": 10000
}

headers = {
    "Authorization": "Bearer {access_token}"
}

payload = {
    "filter": {
        "data_inicio": "2020-07-01",
        "data_fim": "2020-07-31"
    },
    "group": [
        "UF","TIPO_LOJA"
    ]
}

response = requests.request(method, url, headers=headers, params=params, data=json.dumps(payload))
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

{
    "content": [
       {
            "dia_semana": "2020-06-01T00:00:00.000+0000",
            "uf": "Grande SP",
            "cidade": "São Bernardo Do Campo",
            "rede": "D'avo",
            "tipo_loja": "Hipermercado",
            "lojas_cliente": [
                {
                    "identificador": "22",
                    "descricao": "Davo Sao Bernardo do Campo",
                    "cnpj": "52130481001206"
                }
            ],
            "cnpj": "52130481001206",
            "descricao": "Cerv Black Prince Apa Gf 600ml",
            "gtin": "7898377661145",
            "produtos_cliente": [
                {
                    "skuCliente": "4149",
                    "gtin": "7898377661145",
                    "descricao": "Cerveja Black Princess Apa 600ml"
                }
            ],
            "preco_medio": 15.49,
            "preco_maximo": 15.49,
            "preco_minimo": 15.49,
            "quantidade_datapoints": 1,
            "preco_moda": 15.49,
            "cnpjs_distintos": 1
        }
    ],
    "last": true,
    "totalElements": 8175,
    "totalPages": 1,
    "numberOfElements": 8175,
    "sort": null,
    "first": true,
    "size": 10000,
    "number": 0
}

Esse endpoint retorna uma página dos dados em formato agregado do InfoPanel. As informações de paginação são definidas por Params, sendo o tamanho de página máximo 10.000 itens. As informações de Produto e Loja cliente são preenchidas a partir da base de cadastro da InfoPrice.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/agregado

Parâmetros

Parâmetro Valor padrão Descrição
page 0 Número da página, se não for enviado, será considerado o valor padrão
size 100 Número de elementos da página, se não for enviado, será considerado o valor padrão. Valor máximo: 10000

Request Body

Parâmetro Formato Descrição
filter filter Objeto contendo os filtros a serem aplicados
group String[] Lista contendo os campos agrupadores. Valores possíveis: CIDADE, UF, LOJA, REDE (Bandeira), TIPO_LOJA (Canal), DATA, GTIN (Código de Barras). Observação, por questões de performance, para ser possível agrupar por GTIN, é necessário incluir um filtro de gtins (com até 5000 itens)

Filtros (filter)

Objeto contendo os filtros a serem aplicados. Todos os parâmetros são opcionais. Caso algum campo não seja especificado, todos os valores possíveis serão retornados.

Parâmetro Formato Descrição
data_inicio Date (yyyy-MM-dd) Data de início da filtragem dos dados. Note que os dados são agrupados por semana, e data que representa a semana é a segunda-feira
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados. Note que os dados são agrupados por semana, e data que representa a semana é a segunda-feira
cnpj String[] Lista de CNPJs de Lojas
loja_cliente String[] Lista com Identificadores de Lojas Cliente
rede String[] Lista de Redes/Bandeiras de Lojas
tipo_loja String[] Lista de Tipos de Loja. Os valores possíveis são: Home Center, Supermercado, Vizinhança, Hipermercado, Atacado, Eletro-Eletrônicos, Farmácia, Livraria, Mercearia, Posto de Combustível, Padaria, Desconhecido, Pet-Shop, Mercado teste, E-commerce, Marketplace, Papelaria, Loja de Cosméticos
uf String[] Lista de Unidades Federativas. Observação: SP está dividida em Grande SP(Região Metropolitana da Cidade de São Paulo) e SP Interior (Interior do Estado de São Paulo), demais seguem a sigla da Unidade Federativa, ex.: MG, CE, etc
cidade String[] Lista de Cidades
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
secao String[] Lista de Seções de Produtos
categoria String[] Lista de Categorias de Produtos
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção

Resposta

O objeto que é respondido pela API é uma estrutura de paginação. Nele contém informações quanto a página e dentro da propriedade content é que está as informações de pesquisa de preço.

Propriedade Descrição
content Lista de objetos com o conteúdo da resposta
totalElements Quantidade total de objetos
last Indica se é ou não a última página
first Indica se é ou não a primeira página
number Número da página atual (inicia-se em zero). Esse parâmetro é enviado na requisição.
numberOfElements Quantidade total de objetos que vieram no content
sort Método de ordenação
size Tamanho da página

Conteúdo (content)

O Conteúdo de retorno é relacionado às colunas de agregação. Por exemplo, caso o resultado seja agregado por Cidade, UF, e GTIN, as demais colunas de agregação não constarão no resultado.

Propriedade Formato Descrição
dia_semana Date (yyyy-MM-dd) Data referente à semana de vigência do preço, é utilizada a data da segunda-feira da semana. (Retorno depende da agregação)
cnpj String CNPJ da Loja. (Retorno depende da agregação)
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da Loja. (Retorno depende da agregação)
tipo_loja String Tipo de Loja/Canal. (Retorno depende da agregação)
rede String Rede/Bandeira do dado. (Retorno depende da agregação)
uf String Unidade Federativa do dado. Observação: SP está dividida em Grande SP(Região Metropolitana da Cidade de São Paulo) e SP Interior (Interior do Estado de São Paulo). (Retorno depende da agregação)
cidade String Cidade da Loja. (Retorno depende da agregação)
gtin String Código de Barras do Produto. (Retorno depende da agregação)
descricao String Descrição do Produto. (Retorno depende da agregação)
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao Código de Barras do Produto. (Retorno depende da agregação)
preco_medio BigDecimal Média dos Preços contidos na agregação, ponderado por Quantidade de Datapoints
preco_maximo BigDecimal Maior Preço encontrado na agregação
preco_minimo BigDecimal Menor Preço encontrado na agregação
quantidade_datapoints Integer Total de Datapoints contidos na agregação
preco_moda BigDecimal Moda dos Preços contidos na agregação
cnpjs_distintos Integer Quantidade de CNPJs distintos contidos na agregação

Loja Cliente (loja_cliente)

A Loja Cliente se refere a Lojas cadastradas no domínio do Cliente na base de dados da InfoPrice. Geralmente, se referem a Lojas Concorrentes ao Cliente. Esse campo é apenas preenchido quando o resultado é agregado por CNPJ.

Propriedade Formato Descrição
identificador String Identificador da Loja Cliente, definida pelo Cliente
descricao String Descrição da Loja Cliente, definida pelo Cliente
cnpj String CNPJ da Loja Cliente

Produto Cliente (produto_cliente)

O Produto Cliente se refere a Produtos cadastradas no domínio do Cliente na base de dados da InfoPrice. Esse campo é apenas preenchido quando o resultado é agregado por GTIN.

Propriedade Formato Descrição
gtin String Código de Barras do Produto
skuCliente String Identificador do Produto Cliente, definido pelo Cliente
descricao String Descrição do Produto, definida pelo Cliente

Filtros do InfoPanel

Consulta de Redes/Bandeiras

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/rede"
method = "GET"
params = {
    "query": "",
    "size": 50
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

[
  "string"
]

Esse endpoint proporciona uma busca das Redes/Bandeiras das Lojas disponíveis no InfoPanel.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/rede

Parâmetros

Parâmetro Valor padrão Descrição
query "" Campo de busca textual
size 50 Número de elementos a serem retornados, se não for enviado, será considerado o valor padrão.

Resposta

O Retorno é uma lista de string, que devem ser utilizadas nos filtros das consultas dos dados do InfoPanel

Consulta de UF

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/uf"
method = "GET"
params = {
    "query": "",
    "size": 50
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

[
  "string"
]

Esse endpoint proporciona uma busca das Unidades Federativas das Lojas disponíveis no InfoPanel.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/uf

Parâmetros

Parâmetro Valor padrão Descrição
query "" Campo de busca textual
size 50 Número de elementos a serem retornados, se não for enviado, será considerado o valor padrão.

Resposta

O Retorno é uma lista de string, que devem ser utilizadas nos filtros das consultas dos dados do InfoPanel

Consulta de Cidades

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/cidade"
method = "GET"
params = {
    "query": "",
    "size": 50
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

[
  "string"
]

Esse endpoint proporciona uma busca das Cidades das Lojas disponíveis no InfoPanel.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/cidade

Parâmetros

Parâmetro Valor padrão Descrição
query "" Campo de busca textual
size 50 Número de elementos a serem retornados, se não for enviado, será considerado o valor padrão.

Resposta

O Retorno é uma lista de string, que devem ser utilizadas nos filtros das consultas dos dados do InfoPanel

Consulta de Seções

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/secao"
method = "GET"
params = {
    "query": "",
    "size": 50
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

[
  "string"
]

Esse endpoint proporciona uma busca das Seções de Produto disponíveis no InfoPanel.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/secao

Parâmetros

Parâmetro Valor padrão Descrição
query "" Campo de busca textual
size 50 Número de elementos a serem retornados, se não for enviado, será considerado o valor padrão.

Resposta

O Retorno é uma lista de string, que devem ser utilizadas nos filtros das consultas dos dados do InfoPanel

Consulta de Categorias

import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/categoria"
method = "GET"
params = {
    "query": "",
    "size": 50
}

headers = {
    "Authorization": "Bearer {access_token}"
}

response = requests.request(method, url, headers=headers, params=params)
print(json.loads(response.text))

A requisição retornará um JSON conforme o exemplo abaixo

[
  "string"
]

Esse endpoint proporciona uma busca das Categorias de Produto disponíveis no InfoPanel.

O cliente é identificado através do token enviado, e para utilizar esse endpoint, deve ter acesso ao Produto InfoPanel.

Requisição HTTP

POST https://api.infopriceti.com.br/cliente/v1/painel_geral/filtros/categoria

Parâmetros

Parâmetro Valor padrão Descrição
query "" Campo de busca textual
size 50 Número de elementos a serem retornados, se não for enviado, será considerado o valor padrão.

Resposta

O Retorno é uma lista de string, que devem ser utilizadas nos filtros das consultas dos dados do InfoPanel

Erros

Codigo do Erro Descrição
400 Request incorreta -- Problemas na requisição. Valide os parâmetros e tente novamente
401 Não autorizado -- Token inválido - expirado ou incorreto
404 Não encontrado -- O endpoint solicitado não foi encontrado
502 Erro ao resolver DNS -- Serviço está passando por alguma atualização
500 Erro interno do servidor -- Algum problema fora do nosso controle. Tente novamente
503 Serviço indisponível -- Serviço fora do ar para alguma manutenção ou problema de infraestrutura