Para desenvolvedores
Documentação da API
A mesma base de dados usada na busca do site está disponível como API JSON, gratuita, para você consultar produtos por código de barras ou nome direto do seu sistema, ERP ou aplicativo.
Exemplos de código em:
URL base
Autenticação (obrigatória)
Toda chamada à API precisa de um token pessoal - é assim que garantimos um limite de uso
estável pra quem está integrando de verdade (seu ERP, PDV ou e-commerce). Crie uma conta
gratuita com o Google e gere um token na
sua página de conta
— o limite é de 100 requisições por hora por token, suficiente pra uma
consulta manual de produtos (bipar código, ver os dados, próximo). Envie o token no
cabeçalho Authorization em toda
requisição:
Buscar produtos
GET
/api/produtos
Parâmetros de query:
| Parâmetro | Descrição |
|---|---|
| q | Código de barras (prefixo) ou termo de busca no nome do produto. |
| per_page | Itens por página (padrão 20, máximo 100). |
| page | Número da página (padrão 1). |
Exemplo de código:
<?php
$query = http_build_query([
'q' => 'sabonete ype',
'per_page' => 5,
]);
$ch = curl_init("https://global.si5.com.br/api/produtos?{$query}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer SEU_TOKEN_AQUI',
]);
$resposta = curl_exec($ch);
$codigo = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$dados = json_decode($resposta, true);
foreach ($dados['data'] as $produto) {
echo $produto['produto'] . ' - ' . $produto['marca'] . PHP_EOL;
}
Exemplo de resposta:
{
"data": [
{
"codbar": "7896098900475",
"produto": "Sabonete Em Barra Flor De Ypê Laranjeira E Damasco Ypê 90g",
"marca": "YPÊ",
"categoria": "Higiene E Beleza",
"ncm": "34011190",
"cest_codigo": "2001700",
"peso": "90.00",
"embalagem": null,
"quantidade_embalagem": 1,
"preco_medio": null,
"imagem_url": "https://global.si5.com.br/img/webp/7896098900475.webp",
"codigo_barras_url": null
}
],
"meta": { "current_page": 1, "last_page": 214, "total": 26 }
}
Consultar um produto pelo código de barras
GET
/api/produtos/{'{codbar}'}
Exemplo de código:
<?php
$codbar = '7891000100103';
$ch = curl_init("https://global.si5.com.br/api/produtos/{$codbar}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer SEU_TOKEN_AQUI',
]);
$resposta = curl_exec($ch);
$codigo = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($codigo === 404) {
echo "Produto nao encontrado";
} else {
$produto = json_decode($resposta, true);
echo $produto['produto'] . ' - NCM ' . $produto['ncm'];
}
Campos adicionais nesta resposta:
| ncm_descricao | Descrição oficial do NCM. |
| cest_segmento | Segmento oficial do CEST. |
| ingredientes | Lista de ingredientes, quando disponível. |
| alergenos | Alérgenos declarados, quando disponível. |
| pode_conter | Alerta de contaminação cruzada, quando disponível. |
| nutrientes | Tabela nutricional em JSON, quando disponível. |
Erros
A API responde em JSON também nos erros, seguindo o padrão HTTP:
| 401 | Token ausente, inválido ou revogado. |
| 404 | Código de barras não encontrado no catálogo. |
| 422 | Parâmetros inválidos. |
| 429 | Limite de requisições excedido (100/hora por token). |
Precisa de mais volume ou de um endpoint que ainda não existe? Fale com a gente pelos canais oficiais da SI5 Sistema - o SI5 Global está em desenvolvimento contínuo.