Pular para o conteúdo
Tutorial

API do gerador de código de barras: um POST, saída SVG, seis formatos

| 5 min read

Gere códigos de barras com uma chamada de API. Suporta Code128, EAN-13, EAN-8, UPC-A, ITF-14 e MSI. Retorna SVG que você pode incorporar em etiquetas, faturas ou PDFs.

Close-up of barcodes on product packaging
Photo by Markus Winkler on Unsplash

Seu aplicativo de armazém imprime etiquetas de envio. Cada etiqueta precisa de um código de barras Code128 para rastreamento número. Você pode instalar uma biblioteca de código de barras, renderizar em tela, exportar como PNG e incorporá-la em seu modelo de etiqueta. Ou você pode enviar um POST e receber um SVG.

O botoi /v1/barcode endpoint codifica dados em seis formatos de código de barras e retorna uma string SVG dentro de uma resposta JSON. Nenhum pacote npm. Nenhuma etapa de construção. Nenhuma dependência de tela.

A chamada da API

Envie uma solicitação POST com os dados e formato:

A resposta envolve o SVG em um envelope JSON padrão:

Extraia o svg campo, solte-o em um <img> tag, inline-o em HTML ou canalize-o para um arquivo. O SVG fica nítido em qualquer tamanho porque é baseado em vetores; sem artefatos de rasterização em 300 DPI ou superior.

Parâmetros

O endpoint aceita cinco parâmetros. Apenas data é necessário:

  • dadas (string, obrigatório): O valor a ser codificado. Para EAN-13, passe 13 dígitos. Para Code128, passe qualquer string ASCII imprimível.
  • formatar (string, padrão code128): Um dos code128, ean-13, ean-8, upc-a, itf-14, ou msi.
  • largura (número, padrão 200): Largura da imagem em pixels. Faixa: 50 a 2.000.
  • altura (número, padrão 80): Altura da imagem em pixels. Faixa: 20 a 1000.
  • mostrar_texto (booleano, padrão true): Se deve renderizar o valor codificado como texto abaixo das barras.

Aqui está um código de barras Code128 com todos os parâmetros definidos:

Exemplos práticos

Geração de etiqueta de envio

Codifique um número de rastreamento como Code128 para guias de remessa e etiquetas de remessa. Alças Code128 sequências alfanuméricas mistas, portanto, números de rastreamento como "1Z999AA10123456784" funcionam sem pré-processamento.

Sistema de gerenciamento de estoque

Imprima etiquetas Code128 para caixas e prateleiras de armazém. A equipe os escaneia com leitores portáteis durante a coleta e embalagem. O código de barras codifica o caminho completo da localização: armazém, prateleira, depósito.

Etiquetas de produtos de varejo (EAN-13)

EAN-13 é o padrão internacional para produtos de varejo. Passe o GTIN de 13 dígitos e a API retorna um tamanho SVG para rótulos de borda de prateleira padrão.

Geração de lote Node.js para um catálogo de produtos

Gere códigos de barras para todo um catálogo de produtos em paralelo. Este script dispara quatro solicitações simultaneamente e coleta as strings SVG:

Saída:

Para catálogos com centenas de produtos, agrupe em grupos de 20 a 50 para ficar dentro dos limites de taxas. O nível gratuito tem limite de 5 solicitações por minuto; uma chave de API remove esse limite.

Exemplo Node.js: etiquetas de código de barras para atendimento de pedidos

Este servidor Express expõe um /labels/:orderId ponto final. Quando sua realização sistema ou impressora de etiquetas busca esse URL, ele recebe de volta um código de barras SVG codificando o pedido número de rastreamento.

Uso:

O cabeçalho de cache de 24 horas evita chamadas de API duplicadas para o mesmo pedido. Na produção, adicione um cache CDN ou Redis na frente desta rota.

Quando usar qual formato

Code128 é o padrão por um motivo: ele codifica a mais ampla gama de caracteres e funciona para maioria dos sistemas internos. Mude para EAN-13 ou UPC-A quando seu produto precisar de uma versão digitalizável no varejo código de barras. Use ITF-14 para rótulos externos em logística. MSI se adapta à etiquetagem de prateleiras de armazéns onde você precisa de códigos apenas numéricos com um dígito de verificação simples.

Pontos-chave

O nível gratuito de 5 solicitações por minuto cobre desenvolvimento, testes e rótulos de baixo volume impressão. Para geração em lote ou sistemas de atendimento de alto tráfego, passe sua chave de API no Authorization: Bearer cabeçalho. Verifique o Documentos da API para a referência completa do endpoint.

FAQ

Preciso de uma chave API para gerar códigos de barras?
Não. O nível gratuito permite acesso anônimo a 5 solicitações por minuto com limitação de taxa baseada em IP. Para cargas de trabalho de produção, adicione uma chave de API no cabeçalho de autorização para aumentar o limite.
Posso obter um PNG em vez de SVG?
A API retorna SVG dentro de uma resposta JSON. O SVG pode ser dimensionado para qualquer resolução sem pixelização, o que o torna ideal para impressoras de etiquetas térmicas de 203 ou 300 DPI. Para converter para PNG, rasterize o SVG com Sharp, Inkscape ou um elemento de tela do navegador.
Quais caracteres posso codificar no Code128?
Code128B suporta caracteres ASCII imprimíveis do espaço (0x20) ao til (0x7E). Isso abrange letras maiúsculas e minúsculas, dígitos, pontuação e símbolos comuns. Para dados somente numéricos, como GTINs, use EAN-13, EAN-8 ou UPC-A.
Como incorporo o código de barras SVG em um PDF?
Extraia o campo svg da resposta JSON e passe-o para sua biblioteca PDF. Bibliotecas como Puppeteer, wkhtmltopdf e WeasyPrint renderizam SVG embutido nativamente. Para reportlab ou jsPDF, converta primeiro o SVG para PNG com sharp ou canvas.
Qual é o comprimento máximo dos dados?
Code128 pode codificar strings de até 80 caracteres antes que o código de barras se torne muito largo para impressoras de etiquetas padrão. EAN-13 é fixado em 13 dígitos, EAN-8 em 8, UPC-A em 12 e ITF-14 em 14. Mantenha os dados curtos para uma verificação confiável.

Comece a construir com botoi

150+ endpoints de API para consultas, processamento de texto, geração de imagens e utilitários para desenvolvedores. Plano gratuito, sem cartão de crédito.