Requer instalação do módulo “API para estoque em tempo real” via página de Extensões da Olist.
Endpoint
POST https://api.tiny.com.br/api2/lista.atualizacoes.produtos
Parâmetros
| Parâmetro | Tipo | Ocorrência | Descrição |
|---|
| token | string | obrigatório | Chave gerada para identificar sua empresa |
| dataAlteracao | string | obrigatório | Data de alteração no formato dd/mm/yyyy hh:mm:ss (pode informar apenas data: 01/01/2011 ou com hora: 01/01/2012 15:30:00) |
| formato | string | obrigatório | Formato do retorno (json) |
| pagina | int | opcional | Número da página (padrão: 1; são listados 100 registros por página) |
Retorno
| Campo | Tipo | Tamanho | Ocorrência | Descrição |
|---|
| retorno | object | - | obrigatório | Elemento raiz do retorno |
| retorno.status_processamento | int | - | obrigatório | Conforme tabela “Status de Processamento” |
| retorno.status | string | - | obrigatório | ”OK” ou “Erro” |
| retorno.codigo_erro | int | - | condicional | Códigos de erro (somente se status=“Erro”) |
| retorno.erros[] | list | - | condicional | Lista dos erros encontrados |
| retorno.erros[].erro | string | - | condicional | Descrição do erro |
| retorno.produtos[] | list | - | condicional | Lista de resultados da pesquisa |
| retorno.produtos[].produto | object | - | condicional | Elemento representando um produto |
| retorno.produtos[].produto.id | int | - | condicional | Número de identificação do produto |
| retorno.produtos[].produto.nome | string | 120 | condicional | Nome do produto |
| retorno.produtos[].produto.codigo | string | 30 | condicional | Código do produto |
| retorno.produtos[].produto.unidade | string | 3 | condicional | Unidade do produto |
| retorno.produtos[].produto.localizacao | string | 50 | condicional | Localização física no estoque |
| retorno.produtos[].produto.preco | decimal | - | condicional | Preço de venda |
| retorno.produtos[].produto.preco_promocional | decimal | - | condicional | Preço promocional |
| retorno.produtos[].produto.descricao_complementar | string | - | condicional | Descrição complementar |
| retorno.produtos[].produto.ncm | string | - | condicional | NCM do produto |
| retorno.produtos[].produto.origem | int | - | condicional | Origem do produto |
| retorno.produtos[].produto.gtin | string | - | condicional | GTIN do produto |
| retorno.produtos[].produto.gtin_embalagem | string | - | condicional | GTIN da embalagem |
| retorno.produtos[].produto.peso_liquido | decimal | - | condicional | Peso líquido |
| retorno.produtos[].produto.peso_bruto | decimal | - | condicional | Peso bruto |
| retorno.produtos[].produto.estoque_minimo | decimal | - | condicional | Quantidade mínima em estoque |
| retorno.produtos[].produto.estoque_maximo | decimal | - | condicional | Quantidade máxima em estoque |
| retorno.produtos[].produto.id_fornecedor | int | - | condicional | ID do fornecedor |
| retorno.produtos[].produto.codigo_fornecedor | string | - | condicional | Código do fornecedor |
| retorno.produtos[].produto.codigo_pelo_fornecedor | string | 30 | condicional | Código do produto pelo fornecedor |
| retorno.produtos[].produto.unidade_por_caixa | int | - | condicional | Unidades por caixa |
| retorno.produtos[].produto.preco_custo | decimal | - | condicional | Preço de custo |
| retorno.produtos[].produto.situacao | string | - | condicional | Situação do produto |
| retorno.produtos[].produto.tipo | string | - | condicional | Tipo do produto |
| retorno.produtos[].produto.classe_ipi | string | - | condicional | Classe de IPI |
| retorno.produtos[].produto.valor_ipi_fixo | decimal | - | condicional | Valor do IPI |
| retorno.produtos[].produto.cod_lista_servicos | string | - | condicional | Código de lista de serviços |
| retorno.produtos[].produto.tipo_variacao | string | 1 | condicional | Tipo de variação (N=Normal, P=Pai, V=Variação) |
| retorno.produtos[].produto.obs | string | - | condicional | Observações do produto |
| retorno.produtos[].produto.data_alteracao | datetime | - | condicional | Data de alteração (formato: dd/mm/yyyy hh:mm:ss) |
| retorno.pagina | - | - | condicional | Número da página (presente em sucesso) |
| retorno.numero_paginas | - | - | condicional | Total de páginas (presente em sucesso) |
Valores decimais utilizam ”.” (ponto) como separador de decimais (exemplo: “5.25”).
Data de alteração utiliza formato “dd/mm/yyyy hh:mm:ss”.
Exemplo de chamada
curl -X POST https://api.tiny.com.br/api2/lista.atualizacoes.produtos \
-d "token=CHAVE_API&dataAlteracao=01/01/2012%2015:30:00&formato=JSON"
Exemplos de retorno
Sucesso
{
"retorno": {
"status_processamento": 3,
"status": "OK",
"pagina": "1",
"numero_paginas": "1",
"produtos": [
{
"produto": {
"id": 46829062,
"codigo": "123",
"nome": "produto teste",
"unidade": "UN",
"preco": "1.20",
"data_alteracao": "01/01/2012 15:25:55"
}
},
{
"produto": {
"id": 46829066,
"codigo": "1234",
"nome": "produto teste 2",
"unidade": "PC",
"preco": "15.25",
"data_alteracao": "01/01/2012 15:25:55"
}
}
]
}
}
Erro - Token inválido
{
"retorno": {
"status_processamento": 1,
"status": "Erro",
"codigo_erro": 2,
"erros": [
{
"erro": "token invalido"
}
]
}
}
Erro - Consulta sem registros
{
"retorno": {
"status_processamento": 2,
"status": "Erro",
"codigo_erro": 20,
"erros": [
{
"erro": "A Consulta não retornou registros"
}
]
}
}