NAV Navbar
shell javascript python

Introdução

Bem vindo à documentação das APIs da InfoPrice!

Todas as requisições devem ser autenticadas pelo Token de Acesso. A seção Autenticação descreve como gerá-lo.

Além da autenticação, esse documento lista a API de dois produtos: Monitoramento de Concorrentes e InfoPanel. Certifique-se quais produtos foram contratados antes de continuar.

Toda a documentação foi criada pelo nosso time de desenvolvedores, em caso de duvidas, procure seu contato com a InfoPrice e ele o colocará em contato conosco.

Autenticação

O Token de acesso segue o padrão OAuth2.0 com Bearer Token e é necessário para liberar o acesso das demais APIs da InfoPrice.

A geração do Token é feita junto a nosso serviço de autenticação utilizando usuário, senha e um token estático. Caso não possua essas informações, entre em contato com a InfoPrice para enviarmos as credenciais.

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={username}&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: "{username}",
    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": "{username}",
    "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 como o Header 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, enviar o valor literal "password"
username obrigatório Usuário
password obrigatório Senha criptografada no padrão sha512

Headers

Header Valor Descrição
Authorization obrigatório Basic {token_estatico} token estático

API Monitoramento de Concorrentes

Os endpoints dessa seção se referem ao Produto de Monitoramento de Concorrentes. Por meio dessa API é possível extrair as informações de preço coletadas pela InfoPrice, com a possibilidade de filtrar os dados pela data de coleta (data de execução do preço) ou pela data de disponibilização do dado no banco de dados da InfoPrice.

Relatório por Data de Coleta

curl -X GET \
  'https://api.infopriceti.com.br/integracao/v2/relatorio?dataInicio=2019/11/11&dataFim=2019/11/17&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: "2019/11/11",
    dataFim: "2019/11/17",
    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/11/11",
    "dataFim": "2019/11/17",
    "page": 0
}

headers = {
    "Authorization": "Bearer {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": "9999",
      "produto": "7891080400087",
      "produto_descricao": "MARGARINA CREMOSA COM SAL DELICIA 500G",
      "preco_varejo": 3.49,
      "preco_atacado": 3.25,
      "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.5,
        "preco_minimo": 3.98,
        "sugestao_expurgo": true
      },
      "sugestao": null,
      "data_processamento": "2019-11-13T12:33:12"
    },
    {
      "data": "2019-11-11",
      "loja": "9999",
      "produto": "8888",
      "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.2,
        "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 por Data de Disponibilização

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

var options = {
  method: "GET",
  url: "https://api.infopriceti.com.br/integracao/v2/relatorio/cadastro",
  qs: {
    dataInicio: "2019/11/11",
    dataFim: "2019/11/17",
    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/cadastro"
method = "GET"
params = {
    "dataInicio": "2019/11/11",
    "dataFim": "2019/11/17",
    "page": 0
}

headers = {
    "Authorization": "Bearer {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.49,
      "preco_atacado": 3.25,
      "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.5,
        "preco_minimo": 3.98,
        "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.2,
        "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

Versão 3.0

curl -X GET \
  'https://api.infopriceti.com.br/integracao/v3/relatorio?dataInicio=2019/11/11&dataFim=2019/11/17&page=0' \
  -H 'Authorization: Bearer {token}' \
var request = require("request");

var options = {
  method: "GET",
  url: "https://api.infopriceti.com.br/integracao/v3/relatorio",
  qs: {
    dataInicio: "2019/11/11",
    dataFim: "2019/11/17",
    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/v3/relatorio"
method = "GET"
params = {
    "dataInicio": "2019/11/11",
    "dataFim": "2019/11/17",
    "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 com um dos exemplos abaixo

{
  "content": [
    {
      "data": "2019-11-11",
      "loja": "1003329259",
      "produto": "7891080400087",
      "produto_descricao": "MARGARINA CREMOSA COM SAL DELICIA 500G",
      "preco_varejo": 3.49,
      "preco_atacado": 3.25,
      "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.5,
        "preco_minimo": 3.98,
        "sugestao_expurgo": true
      },
      "sugestao": null,
      "origem_preco_cliente": "INFOPANEL",
      "data_processamento": "2019-11-13T12:33:12",
      "escopo": "escopo_name"
    }
  ],
  "last": true,
  "totalElements": 8175,
  "totalPages": 1,
  "numberOfElements": 8175,
  "sort": null,
  "first": true,
  "size": 10000,
  "number": 0
}
{
  "content": [
    {
      "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.2,
        "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
      },
      "preço_infopanel": 42.5,
      "data_processamento": "2019-11-13T12:30:14",
      "escopo": "escopo_name"
    }
  ],
  "last": true,
  "totalElements": 8175,
  "totalPages": 1,
  "numberOfElements": 8175,
  "sort": null,
  "first": true,
  "size": 10000,
  "number": 0
}

Nessa versão foram adicionados os campos relacionados ao complemento de retorno com os dados do InfoPanel. Todos os parâmetros de request se mantém os mesmos da v2.0.

Caso você tenha essa configuração ativa, é necessário usar as seguintes URLs para ter acesso aos novos campos.

Requisição HTTP

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

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

Resposta

Os campos retornados na nova versão dependem da configuração feita no Portal InfoPrice. Caso configurados, os seguintes campos serão adicionados à resposta:

Conteúdo (content)

Propriedade Formato Descrição
origem_preco_cliente String NOT NULL Identificador da origem do preço. Caso o preço venha da coleta, é preenchido com MPDV. Caso o preço venha do InfoPanel, é preenchido com INFOPANEL.
preco_infopanel Decimal Preço calculado a partir do InfoPanel e considerando as configurações selecionadas.
escopo String Nome do escopo de solicitação da coleta

Nas configurações de complemento de retorno só é possível a seleção de uma das opções acima. Ou seja, os dois campos nunca serão retornados juntos na resposta.

API Monitoramento E-com

O endpoints dessa seção se referem ao Produto de Coleta de dados E-comerce. Por meio dessa API é possível extrair as informações de preço coletadas pela InfoPrice, com a possibilidade de filtrar os dados pela data de coleta.

Relatório por Data de Coleta

curl -X GET \
  'https://api.infopriceti.com.br/integracao-ecom/relatorio?dataInicio=2024-05-13&dataFim=2024-05-14&page=0' \
  -H 'Authorization: Bearer {token}' \
var request = require("request");

var options = {
  method: "GET",
  url: "https://api.infopriceti.com.br/integracao-ecom/relatorio",
  qs: {
    dataInicio: "2024-05-13",
    dataFim: "2024-05-14",
    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": "2024-05-13",
    "dataFim": "2024-05-14",
    "page": 0
}

headers = {
    "Authorization": "Bearer {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": "2024-05-09",
      "loja": "1.23.2",
      "produto": "3379",
      "produto_descricao": "HASTES FLEXIVEIS COTONETES C/75",
      "preco_varejo": 4.78,
      "preco_atacado": null,
      "gatilho_atacado": null,
      "rebaixa_preco": null,
      "promocao": null,
      "tipo_promocao": null,
      "clube_desconto": null,
      "preco_de": 6.78,
      "preco_por": 4.78,
      "data_validade": null,
      "auditoria": null,
      "range_precos": null,
      "sugestao": null,
      "data_processamento": null
    },
    {
      "data": "2024-05-09",
      "loja": "1.23.2",
      "produto": "4388971",
      "produto_descricao": "VINAGRE MACA ALMAROMI ORG 4% 400ML",
      "preco_varejo": 13.38,
      "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": null,
      "data_processamento": null
    }
  ],
  "last": true,
  "totalElements": 2,
  "totalPages": 1,
  "numberOfElements": 2,
  "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.

Apenas os campos data, loja, produto, produto_descricao e preco_varejo serão retornados.

Para essa primeira versão da API escolhemos manter o mesmo padrão de retorno que a API de MPDV para facilitar a integração dos clientes que já tem o produto.

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_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"

API InfoPanel

Os endpoints dessa seção se referem ao produto InfoPanel. Por meio dessa API é possível extrair os dados do InfoPanel de forma agregada por determinados campos ou desagregada. Além disso, é possível também consultar os dados disponíveis em algumas das colunas filtráveis nos endpoints de consulta de dados.

Consulta de Dados Agregados

curl --location --request POST 'https://api.infopriceti.com.br/cliente/v1/painel_geral/agregado?size=3' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "filter": {
        "data_inicio": "2022-05-01",
        "data_fim": "2022-05-09",
        "rede": ["25+ Conveniencia"],
        "tipo_loja": ["Atacado"],
        "loja_cliente": null,
        "cnpj": null,
        "uf": ["SP"],
        "cep": null,
        "latitude": -22.9068467,
        "longitude": -43.1728965,
        "raio": 2,
        "cidade": ["Acajutiba"],
        "categoria": ["Bebidas"],
        "secao": ["Bebidas"],
        "gtin": [
            "7891132082346"
        ],
        "sku": null,
        "tipo_preco": ["Regular"],
        "tipo_produto": ["GTIN"],
        "origem_preco": ["Nota Fiscal"],
        "fabricante": ["COCA COLA INDS LTDA"]
    },
    "group": [
        "UF",
        "TIPO_LOJA"
    ],
    "order": [
      {
        "by": "MEDIANA", "ascending": true
      }
    ]
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  filter: {
    data_inicio: "2021-01-01",
    data_fim: "2021-01-07",
    gtin: ["7891132082346"],
  },
  group: ["UF", "TIPO_LOJA"],
});

var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow",
};

fetch(
  "https://api.infopriceti.com.br/cliente/v1/painel_geral/agregado?size=3",
  requestOptions
)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));
import requests
import json

url = "https://api.infopriceti.com.br/cliente/v1/painel_geral/agregado?size=3"

payload = {
    "filter": {
        "data_inicio": "2022-05-01",
        "data_fim": "2022-05-09",
        "rede": ["25+ Conveniencia"],
        "tipo_loja": ["Atacado"],
        "loja_cliente": null,
        "cnpj": null,
        "uf": ["SP"],
        "cep": null,
        "latitude": -22.9068467,
        "longitude": -43.1728965,
        "raio": 2,
        "cidade": ["Acajutiba"],
        "categoria": ["Bebidas"],
        "secao": ["Bebidas"],
        "gtin": [
            "7891132082346"
        ],
        "sku": null,
        "tipo_preco": ["Regular"],
        "tipo_produto": ["GTIN"],
        "origem_preco": ["Nota Fiscal"],
        "fabricante": ["COCA COLA INDS LTDA"]
    },
    "group": [
        "UF",
        "TIPO_LOJA"
    ],
    "order": [
      {
        "by": "MEDIANA", "ascending": true
      }
    ]
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=json.dumps(payload))

print(response.text)

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

{
  "content": [
    {
      "uf": "RJ",
      "preco_medio": 3.7427272727272736,
      "preco_moda": 3.49,
      "preco_minimo": 2.99,
      "preco_quartil_inferior": 3.49,
      "preco_mediano": 3.49,
      "preco_quartil_superior": 3.73,
      "preco_maximo": 5.99,
      "quantidade_datapoints": 11,
      "cnpjs_distintos": 6,
      "redes_distintas": 6
    },
    {
      "uf": "BA",
      "preco_medio": 4,
      "preco_moda": 4,
      "preco_minimo": 4,
      "preco_quartil_inferior": 4,
      "preco_mediano": 4,
      "preco_quartil_superior": 4,
      "preco_maximo": 4,
      "quantidade_datapoints": 1,
      "cnpjs_distintos": 1,
      "redes_distintas": 1
    },
    {
      "uf": "RN",
      "preco_medio": 2.99,
      "preco_moda": 2.99,
      "preco_minimo": 2.99,
      "preco_quartil_inferior": 2.99,
      "preco_mediano": 2.99,
      "preco_quartil_superior": 2.99,
      "preco_maximo": 2.99,
      "quantidade_datapoints": 2,
      "cnpjs_distintos": 1,
      "redes_distintas": 1
    }
  ],
  "pageable": {
    "sort": {
      "sorted": false,
      "unsorted": true,
      "empty": true
    },
    "pageNumber": 0,
    "pageSize": 3,
    "offset": 0,
    "unpaged": false,
    "paged": true
  },
  "last": false,
  "totalElements": 35,
  "totalPages": 12,
  "first": true,
  "sort": {
    "sorted": false,
    "unsorted": true,
    "empty": true
  },
  "numberOfElements": 3,
  "size": 3,
  "number": 0,
  "empty": false
}

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 máximo da página de 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.

Nessa API estão sempre disponíveis os dados dos últimos 90 dias.

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)
order order Lista de objeto contendo a ordenacao desejada

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.
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados.
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
loja_cliente String[] Lista com Identificadores de Lojas Cliente
cnpj String[] Lista de CNPJs de Lojas
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
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio
latitude BigDecimal Latitude do endereco
longitude BigDecimal Longitude do endereco
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
cidade String[] Lista de Cidades
categoria String[] Lista de Categorias de Produtos
secao String[] Lista de Seções de Produtos
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção
tipo_produto String[] Tipo de produto
origem_preco String[] Origem do Preço
fabricante String[] Fabricante do produto

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
totalPages Quantidade total de paginas
totalElements Quantidade total de objetos
last Indica se é ou não a última página
size Tamanho da página
number Número da página atual (inicia-se em zero). Esse parâmetro é enviado na requisição.
sort Método de ordenação
numberOfElements Quantidade total de objetos que vieram no content
first Indica se é ou não a primeira página
empty Indica se o objeto esta vazio

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
data_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preço
dia_semana Date (yyyy-MM-dd) Data da semana referente à data de aplicação do preço
dia_mes Date (yyyy-MM-dd) Data do mes referente à data de aplicação do preç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)
rede String Rede/Bandeira do dado. (Retorno depende da agregação)
tipo_loja String Tipo de Loja/Canal. (Retorno depende da agregação)
loja String Loja (Retorno depende da agregação)
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da Loja. (Retorno depende da agregação)
cnpj String CNPJ da Loja. (Retorno depende da agregação)
categoria String Categoria da Loja. (Retorno depende da agregação)
secao String Secao da Loja. (Retorno depende da agregação)
descricao String Descrição do Produto. (Retorno depende da agregação)
gtin String Código de Barras 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)
tipo_preco String Tipo preco da Loja. (Retorno depende da agregação)
origem_preco String Origem do Preço
preco_medio BigDecimal Média dos Preços contidos na agregação, ponderado por Quantidade de Datapoints
preco_moda BigDecimal Moda dos Preços contidos na agregação
preco_minimo BigDecimal Menor Preço encontrado na agregação
preco_quartil_inferior BigDecimal Preço Quartil Inferior encontrado na agregação
preco_mediano BigDecimal Preço Mediano encontrado na agregação
preco_quartil_superior BigDecimal Preço Quartil Superior encontrado na agregação
preco_maximo BigDecimal Maior Preço encontrado na agregação
quantidade_datapoints Integer Total de Datapoints contidos na agregação
cnpjs_distintos Integer Quantidade de CNPJs distintos contidos na agregação
redes_distintas Integer Quantidade de Redes distintos contidos na agregação
fabricante String Fabricnate encontrado 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

Consulta de Dados Desagregados (Descontinuada)

curl --location --request POST 'https://api.infopriceti.com.br/infopanel-api-desagregada/v1?size=1&page=0' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '
{
  "filter": {
    "data_inicio": "2022-04-27",
    "data_fim": "2022-05-04",
    "data_run": "2022-06-15",
    "rede": null,
    "tipo_loja": null,
    "loja_cliente": null,
    "cnpj": null,
    "uf": null,
    "cep": null,
    "latitude": null,
    "longitude": null,
    "raio": null,
    "cidade": null,
    "categoria": null,
    "secao": null
    "gtin": [
      "7894900010015",
      "7893000394209",
      "7622300807399",
      "7891022101003"
    ],
    "sku": null,
    "tipo_preco": null,
    "tipo_produto": null,
    "origem_preco": null,
    "fabricante": null
  }
}
'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
  filter: {
    data_inicio: "2021-01-01",
    data_fim: "2021-01-07",
    data_run: "2022-06-15",
    rede: ["Supermercado Cavicchiolli"],
    tipo_loja: ["Supermercado"],
    loja_cliente: ["GIG 02"],
    cnpj: ["43259548001488"],
    uf: ["SP Interior"],
    cep: "18080410",
    latitude: -23.478458,
    longitude: -47.4575791,
    raio: 255,
    cidade: ["Sorocaba"],
    categoria: ["Sucos E Refrescos"],
    secao: ["Bebidas"],
    gtin: ["7891132082346"],
    sku: ["EXT 01"],
    tipo_preco: ["Regular"],
    tipo_produto: ["GTI"],
    origem_preco: ["Nota Fiscal"],
    fabricante: ["The Coca-Cola Company"],
  },
});
var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow",
};
fetch(
  "https://api.infopriceti.com.br/infopanel-api-desagregada/v1?size=1&page=0",
  requestOptions
)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));
import requests
import json
url = "https://api.infopriceti.com.br/infopanel-api-desagregada/v1?size=1&page=0"
payload = {
  "filter":{
    "data_inicio":"2021-01-01",
    "data_fim":"2021-01-07",
    "data_run": "2022-06-15",
    "rede": ["Supermercado Cavicchiolli"],
    "tipo_loja": ["Supermercado"],
    "loja_cliente": ["GIG 02"],
    "cnpj": ["43259548001488"],
    "uf": ["SP Interior"],
    "cep": "18080410",
    "latitude": -23.478458,
    "longitude": -47.4575791,
    "raio": 255,
    "cidade": ["Sorocaba"],
    "categoria": ["Sucos E Refrescos"],
    "secao": ["Bebidas"],
    "gtin": ["7891132082346"],
    "sku": ["EXT 01"],
    "tipo_preco": ["Regular"],
    "tipo_produto": ["GTI"],
    "origem_preco": ["Nota Fiscal"],
    "fabricante": ["COCA COLA INDS LTDA"]
  }
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=json.dumps(payload))
print(response.text)

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

{
  "content": [
    {
      "data_preco": "2021-01-04",
      "uf": "SP Interior",
      "cidade": "Sorocaba",
      "rede": "Supermercado Cavicchiolli",
      "tipo_loja": "Supermercado",
      "loja_cliente": "Loja Supermercado",
      "cnpj": "43259548001488",
      "cep": "18080410",
      "logradouro": "Rua José Joaquim De Lacerda",
      "numero_logradouro": "1480",
      "complemento": "Apto 34",
      "bairro": "Jardim Sorocabano",
      "categoria": "Sucos E Refrescos",
      "secao": "Bebidas",
      "descricao": "Refresco Em Pó Uva Mid Pacote 20g",
      "gtin": "7891132082346",
      "latitude": -23.478458,
      "longitude": -47.4575791,
      "produtos_cliente": [
        {
          "skuCliente": "27200600000",
          "gtin": "7891132082346",
          "descricao": "Refresco Em Pó Uva Mid Pacote 20g"
        }
      ],
      "tipo_preco": "Regular",
      "origem_preco": "Nota Fiscal",
      "preco_medio": 0.99,
      "preco_maximo": 0.99,
      "preco_minimo": 0.99,
      "quantidade_datapoints": 1,
      "fabricante": "COCA COLA INDS LTDA",
      "data_run": "2022-06-15"
    }
  ],
  "pageable": {
    "sort": {
      "sorted": false,
      "unsorted": true,
      "empty": true
    },
    "pageNumber": 0,
    "pageSize": 1,
    "offset": 0,
    "unpaged": false,
    "paged": true
  },
  "last": false,
  "totalPages": 411718,
  "totalElements": 411718,
  "first": true,
  "sort": {
    "sorted": false,
    "unsorted": true,
    "empty": true
  },
  "numberOfElements": 1,
  "size": 1,
  "number": 0,
  "empty": false
}

Esse endpoint retorna dados do InfoPanel em formato desagregado, porém destinado a consultas que necessitem do uso de filtros. Caso sua necessidade seja o consumo de toda a base, indicamos a utilização de integração via SFTP.

As informações de paginação são definidas por params, sendo o tamanho máximo da página de 1000 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.

Nessa API estão disponíveis apenas dados dos últimos 7 dias, sendo o preço mais recente encontrado do produto. Para acessar um histórico maior dos dados é necessário a integração de dados via SFTP.

Versão 1.0

Requisição HTTP

POST https://api.infopriceti.com.br/infopanel-api-desagregada/v1

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: 1000

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.
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados.
data_run Date (yyyy-MM-dd) Data em que os dados foram implantados.
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, Móveis, Brinquedos, Açougue e Vestuário
loja_cliente String[] Lista com Identificadores de Lojas Cliente
cnpj String[] Lista de CNPJs de Lojas
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
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio. Valor máximo de 20 (km)
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
cidade String[] Lista de Cidades
categoria String[] Lista de Categorias de Produtos
secao String[] Lista de Seções de Produtos
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção
tipo_produto String[] Lista de Tipos de Produto.
origem_preco String[] Lista de Origem Preço.
fabricante String[] Lista de Tipos de Fabricante.

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_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preç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)
cidade String Cidade da loja
rede String Rede/Bandeira do dado
tipo_loja String Tipo de loja/canal
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da loja
cnpj String CNPJ da loja
cep String CEP da loja
logradouro String Logradouro da loja
numero_logradouro String Número do Logradouro da loja
complemento String Complemento ao Logradouro da loja
bairro String Bairro da loja
categoria String Categoria do produto
secao String Seção do produto
descricao String Descrição do produto
gtin String Código de Barras do produto
latitude BigDecimal Latitude da Loja
longitude BigDecimal Longitude da Loja
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao código de barras do produto
tipo_preco String Tipo do preço praticado
origem_preco String Origem do preço
preco_medio BigDecimal Preço pago
preco_maximo BigDecimal Preço pago
preco_minimo BigDecimal Preço pago
quantidade_datapoints Integer Quantidade de capturas de preço do produto, na loja, na semana
fabricante String Fabricante do produto
data_run Date (yyyy-MM-dd) Data referente à data de implantação do dado

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

Versão 2.0

Nesse versão foram adicionados novos campos relacionados a marca, gramatura e preço.

curl --location --request POST 'https://api.infopriceti.com.br/infopanel-api-desagregada/v2?size=1&page=0' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '
{
  "filter": {
    "data_inicio": "2022-04-27",
    "data_fim": "2022-05-04",
    "data_run": "2022-06-15",
    "rede": null,
    "tipo_loja": null,
    "loja_cliente": null,
    "cnpj": null,
    "uf": null,
    "cep": null,
    "latitude": null,
    "longitude": null,
    "raio": null,
    "cidade": null,
    "categoria": null,
    "secao": null
    "gtin": [
      "7894900010015",
      "7893000394209",
      "7622300807399",
      "7891022101003"
    ],
    "tipo_preco": null,
    "tipo_produto": null,
    "origem_preco": null,
    "fabricante": null
  }
}
'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
  filter: {
    data_inicio: "2021-01-01",
    data_fim: "2021-01-07",
    data_run: "2022-06-15",
    rede: ["Supermercado Cavicchiolli"],
    tipo_loja: ["Supermercado"],
    loja_cliente: ["GIG 02"],
    cnpj: ["43259548001488"],
    uf: ["SP Interior"],
    cep: "18080410",
    latitude: -23.478458,
    longitude: -47.4575791,
    raio: 255,
    cidade: ["Sorocaba"],
    categoria: ["Sucos E Refrescos"],
    secao: ["Bebidas"],
    gtin: ["7891132082346"],
    tipo_preco: ["Regular"],
    tipo_produto: ["GTI"],
    origem_preco: ["Nota Fiscal"],
    fabricante: ["The Coca-Cola Company"],
  },
});
var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow",
};
fetch(
  "https://api.infopriceti.com.br/infopanel-api-desagregada/v2?size=1&page=0",
  requestOptions
)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));
import requests
import json
url = "https://api.infopriceti.com.br/infopanel-api-desagregada/v2?size=1&page=0"
payload = {
  "filter":{
    "data_inicio":"2021-01-01",
    "data_fim":"2021-01-07",
    "data_run": "2022-06-15",
    "rede": ["Supermercado Cavicchiolli"],
    "tipo_loja": ["Supermercado"],
    "loja_cliente": ["GIG 02"],
    "cnpj": ["43259548001488"],
    "uf": ["SP Interior"],
    "cep": "18080410",
    "latitude": -23.478458,
    "longitude": -47.4575791,
    "raio": 255,
    "cidade": ["Sorocaba"],
    "categoria": ["Sucos E Refrescos"],
    "secao": ["Bebidas"],
    "gtin": ["7891132082346"],
    "tipo_preco": ["Regular"],
    "tipo_produto": ["GTI"],
    "origem_preco": ["Nota Fiscal"],
    "fabricante": ["COCA COLA INDS LTDA"]
  }
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=json.dumps(payload))
print(response.text)

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

{
  "content": [
    {
      "data_preco": "2023-03-25",
      "uf": "MG",
      "cidade": "Belo Horizonte",
      "rede": "Assai Atacadista",
      "tipo_loja": "Atacado",
      "lojas_cliente": null,
      "cnpj": "06057223049006",
      "cep": "30360740",
      "logradouro": "Rua Maria Luiza Santiago",
      "numero_logradouro": "110",
      "complemento": null,
      "bairro": "Santa Lúcia",
      "categoria": "Textil Calçados",
      "secao": "Têxtil",
      "descricao": "Chin Ip Anatomico Masc Prto 39 40",
      "gtin": "7890244999108",
      "latitude": -19.97,
      "longitude": -43.95,
      "produtos_cliente": null,
      "fabricante": "Grendene S.a.",
      "origem_preco": "Ponto De Venda",
      "data_run": "2023-03-27",
      "regiao": "SUDESTE",
      "marca_propria": false,
      "marca": null,
      "tipo_promocao": null,
      "cnpj_fabricante": "89850341000160",
      "gramatura": null,
      "preco_regular": 15.9,
      "preco_pago": 15.9
    }
  ],
  "pageable": {
    "sort": {
      "sorted": false,
      "unsorted": true,
      "empty": true
    },
    "pageNumber": 0,
    "pageSize": 1,
    "offset": 0,
    "paged": true,
    "unpaged": false
  },
  "last": false,
  "totalPages": 480727,
  "totalElements": 480727,
  "first": true,
  "sort": {
    "sorted": false,
    "unsorted": true,
    "empty": true
  },
  "numberOfElements": 1,
  "size": 1,
  "number": 0,
  "empty": false
}

Requisição HTTP

POST https://api.infopriceti.com.br/infopanel-api-desagregada/v2

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: 1000

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.
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados.
data_run Date (yyyy-MM-dd) Data em que os dados foram implantados.
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, Móveis, Brinquedos, Açougue e Vestuário
loja_cliente String[] Lista com Identificadores de Lojas Cliente
cnpj String[] Lista de CNPJs de Lojas
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
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio. Valor máximo de 20 (km)
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
cidade String[] Lista de Cidades
categoria String[] Lista de Categorias de Produtos
secao String[] Lista de Seções de Produtos
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção
tipo_produto String[] Lista de Tipos de Produto.
origem_preco String[] Lista de Origem Preço.
fabricante String[] Lista de Tipos de Fabricante.

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_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preç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)
cidade String Cidade da loja
rede String Rede/Bandeira do dado
tipo_loja String Tipo de loja/canal
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da loja
cnpj String CNPJ da loja
cep String CEP da loja
logradouro String Logradouro da loja
numero_logradouro String Número do logradouro da loja
complemento String Complemento ao logradouro da loja
bairro String Bairro da Loja
categoria String Categoria do produto
secao String Seção do produto
descricao String Descrição do produto
gtin String Código de barras do produto
latitude BigDecimal Latitude da loja
longitude BigDecimal Longitude da loja
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao código de barras do produto
fabricante String Fabricante do produto
origem_preco String Origem do preço
data_run Date (yyyy-MM-dd) Data referente à data de implantação do dado
regiao String Região do Brasil que a loja está localizada
marca_propria Bool Produto de marca própria da rede que o vende
marca String Marca do produto
tipo_promocao String Tipo de promoção praticada
cnpj_fabricante String CNPJ do frabricante
gramatura String Gramatura do produto
preco_regular BigDecimal Preço sem promoção
preco_pago BigDecimal Preço final, considera promoção quando há promoçã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.

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

Versão 3.0

Nesse versão foram adicionados novos campos relacionados a promoção, grupo de veículo e veículo.

curl --location --request POST 'https://api.infopriceti.com.br/infopanel-api-desagregada/v3?size=1&page=0' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '
{
  "filter": {
    "data_inicio": "2022-04-27",
    "data_fim": "2022-05-04",
    "data_run": "2022-06-15",
    "rede": null,
    "tipo_loja": null,
    "loja_cliente": null,
    "cnpj": null,
    "uf": null,
    "cep": null,
    "latitude": null,
    "longitude": null,
    "raio": null,
    "cidade": null,
    "categoria": null,
    "secao": null
    "gtin": [
      "7894900010015",
      "7893000394209",
      "7622300807399",
      "7891022101003"
    ],
    "tipo_preco": null,
    "tipo_produto": null,
    "origem_preco": null,
    "fabricante": null
  }
}
'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
  filter: {
    data_inicio: "2021-01-01",
    data_fim: "2021-01-07",
    data_run: "2022-06-15",
    rede: ["Supermercado Cavicchiolli"],
    tipo_loja: ["Supermercado"],
    loja_cliente: ["GIG 02"],
    cnpj: ["43259548001488"],
    uf: ["SP Interior"],
    cep: "18080410",
    latitude: -23.478458,
    longitude: -47.4575791,
    raio: 255,
    cidade: ["Sorocaba"],
    categoria: ["Sucos E Refrescos"],
    secao: ["Bebidas"],
    gtin: ["7891132082346"],
    tipo_preco: ["Regular"],
    tipo_produto: ["GTI"],
    origem_preco: ["Nota Fiscal"],
    fabricante: ["The Coca-Cola Company"],
  },
});
var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow",
};
fetch(
  "https://api.infopriceti.com.br/infopanel-api-desagregada/v3?size=1&page=0",
  requestOptions
)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));
import requests
import json
url = "https://api.infopriceti.com.br/infopanel-api-desagregada/v3?size=1&page=0"
payload = {
  "filter":{
    "data_inicio":"2021-01-01",
    "data_fim":"2021-01-07",
    "data_run": "2022-06-15",
    "rede": ["Supermercado Cavicchiolli"],
    "tipo_loja": ["Supermercado"],
    "loja_cliente": ["GIG 02"],
    "cnpj": ["43259548001488"],
    "uf": ["SP Interior"],
    "cep": "18080410",
    "latitude": -23.478458,
    "longitude": -47.4575791,
    "raio": 255,
    "cidade": ["Sorocaba"],
    "categoria": ["Sucos E Refrescos"],
    "secao": ["Bebidas"],
    "gtin": ["7891132082346"],
    "tipo_preco": ["Regular"],
    "tipo_produto": ["GTI"],
    "origem_preco": ["Nota Fiscal"],
    "fabricante": ["COCA COLA INDS LTDA"]
  }
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=json.dumps(payload))
print(response.text)

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

{
  "content": [
    {
      "data_preco": "2023-03-25",
      "uf": "MG",
      "cidade": "Belo Horizonte",
      "rede": "Assai Atacadista",
      "tipo_loja": "Atacado",
      "lojas_cliente": null,
      "cnpj": "06057223049006",
      "cep": "30360740",
      "logradouro": "Rua Maria Luiza Santiago",
      "numero_logradouro": "110",
      "complemento": null,
      "bairro": "Santa Lúcia",
      "categoria": "Textil Calçados",
      "secao": "Têxtil",
      "descricao": "Chin Ip Anatomico Masc Prto 39 40",
      "gtin": "7890244999108",
      "latitude": -19.97,
      "longitude": -43.95,
      "produtos_cliente": null,
      "fabricante": "Grendene S.a.",
      "origem_preco": "Ponto De Venda",
      "data_run": "2023-03-27",
      "regiao": "SUDESTE",
      "marca_propria": false,
      "marca": null,
      "tipo_promocao": null,
      "cnpj_fabricante": "89850341000160",
      "gramatura": null,
      "preco_regular": 15.9,
      "preco_pago": 15.9,
      "anuncio_mecanica": "Compre e Ganhe",
      "anuncio_grupo_de_midia": "REDES SOCIAIS",
      "anuncio_midia": "FACEBOOK"
    }
  ],
  "pageable": {
    "sort": {
      "sorted": false,
      "unsorted": true,
      "empty": true
    },
    "pageNumber": 0,
    "pageSize": 1,
    "offset": 0,
    "paged": true,
    "unpaged": false
  },
  "last": false,
  "totalPages": 480727,
  "totalElements": 480727,
  "first": true,
  "sort": {
    "sorted": false,
    "unsorted": true,
    "empty": true
  },
  "numberOfElements": 1,
  "size": 1,
  "number": 0,
  "empty": false
}

Requisição HTTP

POST https://api.infopriceti.com.br/infopanel-api-last-prices/v3

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: 1000

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.
data_fim Date (yyyy-MM-dd) Data de início da filtragem dos dados.
data_run Date (yyyy-MM-dd) Data em que os dados foram implantados.
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, Móveis, Brinquedos, Açougue e Vestuário
loja_cliente String[] Lista com Identificadores de Lojas Cliente
cnpj String[] Lista de CNPJs de Lojas
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
cep String CEP no Formato "00000-000" ou "00000000". Deve ser utilizado em conjunto com raio. Valor máximo de 20 (km)
raio BigDecimal Raio em kilômetros, a partir do cep informado, para filtrar Lojas. Deve ser utilizado em conjunto com cep
cidade String[] Lista de Cidades
categoria String[] Lista de Categorias de Produtos
secao String[] Lista de Seções de Produtos
gtin String[] Lista de Códigos de Barras
sku String[] Lista de Identificadores de Produtos Cliente
tipo_preco String[] Lista de Tipos de Preço. Os valores possíveis são: Regular e Promoção
tipo_produto String[] Lista de Tipos de Produto.
origem_preco String[] Lista de Origem Preço.
fabricante String[] Lista de Tipos de Fabricante.

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_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preç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)
cidade String Cidade da loja
rede String Rede/Bandeira do dado
tipo_loja String Tipo de loja/canal
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da loja
cnpj String CNPJ da loja
cep String CEP da loja
logradouro String Logradouro da loja
numero_logradouro String Número do logradouro da loja
complemento String Complemento ao logradouro da loja
bairro String Bairro da Loja
categoria String Categoria do produto
secao String Seção do produto
descricao String Descrição do produto
gtin String Código de barras do produto
latitude BigDecimal Latitude da loja
longitude BigDecimal Longitude da loja
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao código de barras do produto
fabricante String Fabricante do produto
origem_preco String Origem do preço
data_run Date (yyyy-MM-dd) Data referente à data de implantação do dado
regiao String Região do Brasil que a loja está localizada
marca_propria Bool Produto de marca própria da rede que o vende
marca String Marca do produto
tipo_promocao String Tipo de promoção praticada
cnpj_fabricante String CNPJ do frabricante
gramatura String Gramatura do produto
preco_regular BigDecimal Preço sem promoção
preco_pago BigDecimal Preço final, considera promoção quando há promoção
anuncio_mecanica String Tipo de promoção
anuncio_grupo_de_midia String Grupo de Veículo
anuncio_midia String Veículo

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 de Dados Desagregados Pré-filtrados (Demo)

Essa API é indicada para clientes que gostariam de receber dados pré-filtrados. Não é permitido filtros além do filtro de data_run, por isso é necessario informar quais os filtros serão aplicados no momento da ingestão da base de dados que será disponibilizada. Os dados dessa API são diariamente substituídos pelos dados mais recentes, sendo assim, recomendamos que a consulta seja diária com o filtro data_run igual ao da data de consulta.

Ao consultar essa API é necessário que o parâmetro size seja sempre igual a 10000.

curl --location --request POST 'https://api.infopriceti.com.br/infopanel-api-last-prices/v3?size=10000' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data-raw '
{
  "filter": {
    "data_run": "2024-05-17",
  }
}
'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {token}");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
  filter: {
    data_run: "2024-05-17",
  },
});
var requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow",
};
fetch(
  "https://api.infopriceti.com.br/infopanel-api-last-prices/v3?size=10000&page=0",
  requestOptions
)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.log("error", error));
import requests
import json
url = "https://api.infopriceti.com.br/infopanel-api-last-prices/v3?size=10000&page=0"
payload = {
  "filter":{
    "data_run": "2024-05-17",
  }
}
headers = {
  'Authorization': 'Bearer {token}',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=json.dumps(payload))
print(response.text)

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

{
  "content": [
    {
      "data_preco": "2023-03-25",
      "uf": "MG",
      "cidade": "Belo Horizonte",
      "rede": "Assai Atacadista",
      "tipo_loja": "Atacado",
      "lojas_cliente": null,
      "cnpj": "06057223049006",
      "cep": "30360740",
      "logradouro": "Rua Maria Luiza Santiago",
      "numero_logradouro": "110",
      "complemento": null,
      "bairro": "Santa Lúcia",
      "categoria": "Textil Calçados",
      "secao": "Têxtil",
      "descricao": "Chin Ip Anatomico Masc Prto 39 40",
      "gtin": "7890244999108",
      "latitude": -19.97,
      "longitude": -43.95,
      "produtos_cliente": null,
      "fabricante": "Grendene S.a.",
      "origem_preco": "Ponto De Venda",
      "data_run": "2023-03-27",
      "regiao": "SUDESTE",
      "marca_propria": false,
      "marca": null,
      "tipo_promocao": null,
      "cnpj_fabricante": "89850341000160",
      "gramatura": null,
      "preco_regular": 15.9,
      "preco_pago": 15.9,
      "anuncio_mecanica": "Compre e Ganhe",
      "anuncio_grupo_de_midia": "REDES SOCIAIS",
      "anuncio_midia": "FACEBOOK"
    }
  ],
  "pageable": {
    "sort": {
      "sorted": false,
      "unsorted": true,
      "empty": true
    },
    "pageNumber": 0,
    "pageSize": 1,
    "offset": 0,
    "paged": true,
    "unpaged": false
  },
  "last": false,
  "totalPages": 480727,
  "totalElements": 480727,
  "first": true,
  "sort": {
    "sorted": false,
    "unsorted": true,
    "empty": true
  },
  "numberOfElements": 1,
  "size": 1,
  "number": 0,
  "empty": false
}

Requisição HTTP

POST https://api.infopriceti.com.br/infopanel-api-last-prices/v3?size=10000

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 10000 Número de elementos da página deve ser sempre igual a 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_run Date (yyyy-MM-dd) Data em que os dados foram implantados.

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_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preç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)
cidade String Cidade da loja
rede String Rede/Bandeira do dado
tipo_loja String Tipo de loja/canal
lojas_cliente lojaCliente[] Lista com as Lojas Cliente associadas o CNPJ da loja
cnpj String CNPJ da loja
cep String CEP da loja
logradouro String Logradouro da loja
numero_logradouro String Número do logradouro da loja
complemento String Complemento ao logradouro da loja
bairro String Bairro da Loja
categoria String Categoria do produto
secao String Seção do produto
descricao String Descrição do produto
gtin String Código de barras do produto
latitude BigDecimal Latitude da loja
longitude BigDecimal Longitude da loja
produtos_cliente produtoCliente[] Lista com os Produtos Clientes associados ao código de barras do produto
fabricante String Fabricante do produto
origem_preco String Origem do preço
data_run Date (yyyy-MM-dd) Data referente à data de implantação do dado
regiao String Região do Brasil que a loja está localizada
marca_propria Bool Produto de marca própria da rede que o vende
marca String Marca do produto
tipo_promocao String Tipo de promoção praticada
cnpj_fabricante String CNPJ do frabricante
gramatura String Gramatura do produto
preco_regular BigDecimal Preço sem promoção
preco_pago BigDecimal Preço final, considera promoção quando há promoção
anuncio_mecanica String Tipo de promoção
anuncio_grupo_de_midia String Grupo de Veículo
anuncio_midia String Veículo

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

SFTP InfoPanel

Para quem usa os dados de forma totalmente desagregada com o propósito de inserir em outra estrutura de dados, o processo mais otimizado em custos e velocidade é a extração via arquivos.

O processo da integração por arquivos consiste no envio diário, exceto aos domingos, de todos os dados novos que entraram em nossa base naquele dia, ou seja, disponibilizamos de forma incremental os dados novos. Vale ressaltar que os dados adicionados em uma data específica pode conter preços que foram aplicados em dias anteriores. Sendo assim, adicionamos não apenas dados da data atual, mas também dados de dias anteriores que foram integrados em nossa base posteriormente.

Os arquivos são dividos em 50 partes e normalmente, cada parte pesa em média 4mb. Quando os arquivos são correspondentes ao histórico, cada parte pesa em média 3,5gb

Os arquivos ficam presentes por até 14 dias corridos.

A Infoprice é responsável por monitorar e garantir que os arquivos cheguem corretamente e fiquem disponíveis por até 14 dias.

Encoding

Todos os arquivos serão disponibilizados com codificação UTF-8 character set sem Byte Order Mark (BOM).

Formato do Arquivo: CSV

Os arquivos serão processados e armazenados em CSV. Apesar da definição do formato CSV deixar implícito a separação dos campos por vírgula, o padrão adotado para a integração usará o pipe (“|”) como separador. Cada arquivo tem seu cabeçalho (título das colunas) específico. Todas as colunas serão disponibilizadas, mesmo que os valores associados a elas sejam todos nulos.

Todos os arquivos têm headers (títulos de cada coluna), ou seja, em cada coluna o primeiro valor não faz parte da base de dados, só denota qual coluna de dados é aquela e nunca estará nula, vazia.

No exemplo a seguir, os headers de cada coluna são respectivamente: Header 1, Header 2, Header 3. Isso significa que esses são os nomes das colunas. Na linha seguinte, os itens Valor 1, Valor 2 e Valor 3, representam a primeira linha com valores para cada coluna. O separador utilizado para delimitar cada coluna é o pipe (“|”), já mencionado anteriormente.

Header 1|Header 2|Header 3

Valor 1|Valor 2|Valor 3

Formato dos Dados

Visando evitar problemas de conversão, as colunas seguem o padrão americano de formatação. De maneira simples, as diferenças mais relevantes se dão nas colunas de tipo float e date.

Float e Valores de Moeda

Colunas do tipo float serão enviadas sem separador de milhar e o separador de casas decimais é o “.”.

Campos de Data e Data-Hora

Colunas do tipo date serão formatadas no padrão ISO 8601 que define ANO-MÊS-DIA.

Campos "NULL"

Quando um campo não tem informação, o campo fica com a notação "\N"

Compressão

Disponibilizamos os arquivos de forma comprimida. A ferramenta usada para a compressão é o GZIP.

Layout padrão

Última atualização de layout: 31/07/2023

Propriedade Formato Descrição
data_preco Date (yyyy-MM-dd) Data referente à data de aplicação do preço
origem_preco String Origem do preç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)
regiao String Região do Brasil que a loja está localizada
cidade String Cidade da loja
rede String Rede/Bandeira do dado
tipo_loja String Tipo de loja/canal
loja String Nome da loja
cnpj String CNPJ da loja
cep String CEP da loja
logradouro String Logradouro da loja
numero_logradouro String Número do logradouro da loja
complemento String Complemento ao logradouro da loja
bairro String Bairro da Loja
categoria String Categoria do produto
secao String Seção do produto
descricao String Descrição do produto
conteudo_qtd BigDecimal Conteúdo - quantidade (valor)
conteudo_unidade String Conteúdo - unidade de medida
conteudo_descricao String Conteúdo - Descrição
conteudo_qtd_padronizada BigDecimal Conteúdo - Quantidade padronizada
conteudo_unidade_padronizada String Conteúdo - Unidade padronizada
gtin String Código de barras do produto
id_produto String Identificador do produto, definido pelo cliente (Para clientes que também contratam MPDV)
id_loja String Identificador da loja, definido pelo cliente (Para clientes que também contratam MPDV)
tipo_produto String Tipo de produto (GRANEL ou GTIN)
tipo_promocao String Tipo de promoção praticada
flag_promocao Bool Preço flagado como promoção
latitude BigDecimal Latitude da loja
longitude BigDecimal Longitude da loja
fabricante String Fabricante do produto
cnpj_fabricante String CNPJ do frabricante
marca_propria Bool Produto de marca própria da rede que o vende
preco_pago BigDecimal Preço final, considera promoção quando há promoção
preco_regular BigDecimal Preço sem promoção
preco_unidade_padrao BigDecimal Preço por unidade padronizada (ex: preço por kilo, por litro)
valor_promocao BigDecimal Diferença entre o preço regular e o preço pago
anuncio_flag Bool Se o produto possui informações de anúncio (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
anuncio_campanha String Nome da campanha (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
anuncio_mecanica String Como funciona a campanha (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
anuncio_mecanica_detalhe String Detalhe de como funciona campanha (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
anuncio_grupo_de_midia String Grupo de mídia onde será divulgado (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
anuncio_midia String Mídia onde será divulgado (Coluna preenchida apenas para clientes que contratam módulo de Anúncios Promocionais)
run Date (yyyy-MM-dd) Data de processamento do dado

Layout RPInfo

Layout formatado para integração no ERP RPInfo. Para utilizar esse layout é necessário o cadastro das informações de produto e loja utilizados pelo cliente no sistema da InfoPrice.

Propriedade Formato Descrição
cd_cliente BigDecimal Código do cliente
canal String Tipo de loja/canal
regiao_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)
cd_loja_cliente String Código da loja determinado pelo cliente associado ao CNPJ
gtin String Código de barras do produto. Não possui zeros a esquerda
preco_regular BigDecimal Preço sem promoção
data_coleta Date (ddMMyyyy) Data referente à data de aplicação do preço
padrao1 String String fixa ('N')
data_validade Date (ddMMyyyy) Data limite em que o dado ficará disponível. 14 dias depois da data_coleta
padrao2 String String fixa ('N')
secao String Seção do produto
categoria String Categoria do produto
run Date (yyyy-MM-dd) Data referente à data de implantação do dado

Dúvidas frequentes

Como solicitar integração via SFTP?

Entre em contato com o time de atendimento e peça o acesso. Será aberto um chamado para o time técnico, que criará o acesso e em até 5 dias úteis te enviará as informações por e-mail.

Qual o prazo para a criação do SFTP?

Depois da abertura da solicitação, em até 5 dias úteis te disponibilizamos o acesso.

Vou receber o histórico dos últimos 90 dias via FTP?

Sim! Na primeira disponibilização de dados faremos a carga retroativa dos últimos 90 dias. As cargas seguintes passam a ser incrementadas diariamente.

Por quanto tempo os arquivos ficam disponíveis?

Os arquivos ficam disponíveis por 14 dias em nosso repositório para consulta.

A partir de que horas os dados estarão disponíveis?

O envio de arquivos ocorre durante a madrugada, entre as 3h e as 6h da manhã. A partir das 8h os dados já devem estar disponíveis para consulta.

API Integração IPA

Os endpoints dessa seção se referem ao Produto Software de precificação. Por meio dessa API é possível extrair os dados de Datapoints aprovados a partir das regras e tela de revisão.

Para ter acesso aos endpoints disponiveis e visualizar com mais detalhes acesse nosso swagger detalhado no link: Doc REST

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