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 |