Recomendação de simbologia de código de barras por uso
Escolher um código de barras não é apenas decidir qual desenho parece melhor. A simbologia correta depende de quem fará a leitura, de qual identificador precisa ser codificado e da norma setorial que rege o processo.
Executar grátis
Este recomendador determinístico relaciona quatro usos comuns — produtos de varejo, etiquetas de envio, controle de estoque e livros de biblioteca — ao código de barras unidimensional normalmente adotado. Ele também explica o identificador e a norma por trás da escolha, para que você diferencie uma convenção do setor de uma alternativa que apenas pode ser lida por um scanner.
Comece pelo ecossistema de leitura, não pela arte
Uma simbologia define como caracteres são representados por barras e espaços, mas uma implantação bem-sucedida exige mais do que a possibilidade técnica de codificar. Um caixa de varejo espera identificadores administrados pelas regras GS1, enquanto um depósito privado talvez precise apenas de um código interno compacto. Primeiro, determine quem atribui os dados, onde o símbolo será lido e se outra organização deverá entendê-lo sem um acordo particular. Para um produto de varejo, EAN-13 é a recomendação global mais comum porque transporta um GTIN-13 e é reconhecido pela infraestrutura de ponto de venda. Em mercados baseados em GTIN de 12 dígitos, UPC-A continua comum e integra o mesmo sistema de identificação GS1. Assim, o resultado indica o padrão usual sem pressupor requisitos idênticos em todos os países, parceiros ou scanners. Confirme o responsável pelos dados e a especificação do parceiro comercial antes de imprimir um lote de produção. Um símbolo perfeitamente legível ainda pode estar operacionalmente errado se contiver um identificador não autorizado, tiver dimensões inadequadas ou estiver na posição incorreta da embalagem.
Separe a estrutura dos dados do suporte do código
O identificador e seu suporte impresso estão relacionados, mas não são a mesma coisa. Code 128 é uma simbologia geral que codifica com eficiência um amplo conjunto de caracteres. GS1-128 utiliza esse suporte com regras GS1 adicionais, incluindo um caractere de função inicial e Identificadores de Aplicação que definem significado e tamanho dos elementos de dados. Essa diferença explica a recomendação de GS1-128 para uma etiqueta de envio e de Code 128 simples para controle interno de estoque. Uma etiqueta logística pode precisar de um Código Seriado de Unidade Logística, uma data, um lote ou outro campo estruturado que sistemas de recebimento interpretem de forma consistente. Uma etiqueta interna geralmente contém apenas um SKU ou identificador de ativo definido pela empresa, tornando Code 128 mais simples e amplamente compatível. Não acrescente sintaxe GS1 só porque a impressora oferece essa opção: os identificadores GS1 precisam ser atribuídos e formatados corretamente. Da mesma forma, não use uma sequência Code 128 sem estrutura quando a transportadora, o varejista ou o cliente exigir dados GS1.
Use o resultado como ponto de partida normativo
A saída apresenta a convenção normalmente associada ao uso selecionado, além da norma, do identificador codificado e da justificativa. Para um livro de biblioteca, recomenda EAN-13 contendo ISBN-13, combinação conhecida como Bookland EAN. Essa escolha identifica uma edição publicada; a biblioteca ainda pode adicionar outro código para identificar o exemplar em seu sistema de circulação. Ressalvas semelhantes valem nos demais casos. Um programa de estoque pode ser obrigado a utilizar identificadores GS1, normas militares ou um símbolo bidimensional por exigência do cliente ou falta de espaço. Transportadoras podem impor uma especificação com vários símbolos, e não um único código genérico. Embalagens de varejo também precisam atender a requisitos de qualidade de impressão, margens de silêncio, tamanho, cor e posição. Use a resposta para selecionar a família normativa habitual e orientar perguntas ao fornecedor de scanners, à gráfica, ao parceiro comercial ou ao órgão de padronização. Antes da implantação, confirme formato e dimensões, teste os scanners reais e obtenha identificadores junto à entidade autorizada a emiti-los.
Casos de uso
Planejar embalagens de varejo
Identifique o suporte GS1 habitual antes de reservar espaço na arte ou solicitar um GTIN para um produto de consumo.
Criar etiquetas operacionais
Diferencie dados logísticos GS1 estruturados de um identificador privado Code 128 usado apenas no estoque interno.
Etiquetar um acervo de biblioteca
Confirme o suporte convencional do ISBN-13 e considere que cada exemplar em circulação pode precisar de outro código.
Perguntas frequentes
Quanto custa a recomendação?
Cada solicitação de API custa US$ 0,002; a mesma consulta determinística também pode ser executada no navegador.
Por que EAN-13 é recomendado para varejo?
EAN-13 é o suporte usual para um GTIN-13 GS1 e funciona em sistemas de ponto de venda no mundo todo. UPC-A é comum para GTIN-12 em mercados voltados a UPC.
Qual é a diferença entre Code 128 e GS1-128?
Code 128 é a simbologia. GS1-128 aplica formatação e Identificadores de Aplicação GS1 para que parceiros interpretem campos estruturados.
Um livro de biblioteca precisa apenas do código ISBN?
Nem sempre. ISBN-13 identifica a edição publicada; a biblioteca pode adicionar outro código para identificar cada exemplar em circulação.
Isso substitui a especificação de uma transportadora ou varejista?
Não. A resposta indica a simbologia típica para um uso amplo. Um parceiro pode exigir identificadores, dimensões, posição, qualidade de impressão ou símbolos adicionais.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/doc/barcode-symbology-recommend \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"use_case":"retail_product"}'const res = await fetch("https://api.kit.forhosting.com/doc/barcode-symbology-recommend", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"use_case": "retail_product"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/barcode-symbology-recommend",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"use_case": "retail_product"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/barcode-symbology-recommend", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"use_case":"retail_product"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"use_case":"retail_product"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/barcode-symbology-recommend", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"use_case": "retail_product"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.barcode_symbology_recommend",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
max_pages | 200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |