コンテンツへスキップ
Tutorial

バーコード ジェネレーター API: 1 つの POST、SVG 出力、6 つのフォーマット

| 5 min read

1 回の API 呼び出しでバーコードを生成します。 Code128、EAN-13、EAN-8、UPC-A、ITF-14、および MSI をサポートします。 ラベル、請求書、または PDF に埋め込むことができる SVG を返します。

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

倉庫アプリは配送ラベルを印刷します。 各ラベルには追跡用の Code128 バーコードが必要です 番号。 バーコード ライブラリをインストールし、キャンバスにレンダリングし、PNG としてエクスポートし、埋め込むことができます。 ラベルテンプレート。 または、1 つの POST を送信して SVG を返すこともできます。

ボトイ /v1/barcode エンドポイントはデータを 6 つのバーコード形式にエンコードして返します JSON 応答内の SVG 文字列。 npmパッケージはありません。 ビルドステップはありません。 キャンバス依存性はありません。

API呼び出し

次のデータと形式で POST リクエストを送信します。

応答は、SVG を標準の JSON エンベロープでラップします。

を抽出します。 svg フィールドにドロップします。 <img> タグを付けてインライン化します HTML で記述するか、ファイルにパイプします。 SVG はベクトルベースであるため、どのサイズでも鮮明にレンダリングされます。 300 DPI 以上ではラスター化アーティファクトは発生しません。

パラメータ

エンドポイントは 5 つのパラメーターを受け入れます。 のみ data が必要です:

  • データ (文字列、必須): エンコードする値。 EAN-13 の場合は、13 桁を渡します。 Code128 の場合は、印刷可能な ASCII 文字列を渡します。
  • 形式 (文字列、デフォルト code128): のいずれか code128ean-13ean-8upc-aitf-14、 または msi
  • (数値、デフォルトは 200): 画像の幅 (ピクセル単位)。 範囲: 50 ~ 2000。
  • 身長 (数値、デフォルトは 80): 画像の高さ (ピクセル単位)。 範囲: 20 ~ 1000。
  • テキストの表示 (ブール値、デフォルト true): レンダリングするかどうか エンコードされた値をバーの下のテキストとして表示します。

すべてのパラメータが設定された Code128 バーコードは次のとおりです。

実践例

配送ラベルの生成

梱包明細と配送ラベルの追跡番号を Code128 としてエンコードします。 Code128ハンドル 英数字の文字列が混在しているため、「1Z999AA10123456784」のような追跡番号は使用しなくても機能します。 前処理中。

在庫管理システム

倉庫の棚や棚に Code128 ラベルを印刷します。 スタッフがハンドヘルドリーダーでスキャンします ピッキング&パック中。 バーコードは、倉庫、棚、箱などの完全な場所のパスをエンコードします。

小売製品ラベル (EAN-13)

EAN-13 は小売製品の国際標準です。 13 桁の GTIN と API を渡します 標準的な棚端ラベルのサイズの SVG を返します。

製品カタログの Node.js バッチ生成

製品カタログ全体のバーコードを並行して生成します。 このスクリプトは 4 つのリクエストを起動します 同時に SVG 文字列を収集します。

出力:

数百の製品を含むカタログの場合は、レート制限内に収まるように 20 ~ 50 のグループにまとめてください。 無料利用枠の上限は 1 分あたり 5 リクエストです。 API キーを使用すると、その制限がなくなります。

Node.js の例: 注文フルフィルメント用のバーコード ラベル

この Express サーバーは、 /labels/:orderId 終点。 あなたの充実感を感じるとき システムまたはラベル プリンタがこの URL を取得すると、注文内容をエンコードした SVG バーコードが返されます。 追跡番号。

使用法:

24 時間キャッシュ ヘッダーにより、同じ注文に対する重複した API 呼び出しが防止されます。 生産では、 このルートの前に CDN または Redis キャッシュを追加します。

いつどの形式を使用するか

Code128 がデフォルトであるのには理由があります。これは、最も広範囲の文字をエンコードし、次のような場合に機能します。 ほとんどの内部システム。 製品に小売用のスキャン可能ファイルが必要な場合は、EAN-13 または UPC-A に切り替えてください。 バーコード。 物流における外箱ラベルにはITF-14をご使用ください。 MSI は倉庫の棚ラベルに適合します ここでは、単純なチェック ディジットを備えた数値のみのコードが必要です。

重要なポイント

1 分あたり 5 リクエストの無料枠は、開発、テスト、および少量ラベルをカバーします。 印刷。 バッチ生成または高トラフィックのフルフィルメント システムの場合は、API キーを Authorization: Bearer ヘッダ。 チェックしてください APIドキュメント 完全なエンドポイント参照については。

FAQ

バーコードを生成するには API キーが必要ですか?
いいえ。無料枠では、IP ベースのレート制限により、1 分あたり 5 リクエストの匿名アクセスが許可されます。 実稼働ワークロードの場合は、Authorization ヘッダーに API キーを追加して制限を引き上げます。
SVG の代わりに PNG を取得できますか?
API は JSON 応答内で SVG を返します。 SVG はピクセル化することなくあらゆる解像度に拡大縮小できるため、203 または 300 DPI の感熱ラベル プリンターに最適です。 PNG に変換するには、sharp、Inkscape、またはブラウザーのキャンバス要素を使用して SVG をラスタライズします。
Code128 ではどのような文字をエンコードできますか?
Code128B は、スペース (0x20) からチルダ (0x7E) までの印刷可能な ASCII 文字をサポートします。 これには、大文字と小文字、数字、句読点、一般的な記号が含まれます。 GTIN などの数値のみのデータの場合は、EAN-13、EAN-8、または UPC-A を使用します。
SVG バーコードを PDF に埋め込むにはどうすればよいですか?
JSON 応答から svg フィールドを抽出し、PDF ライブラリに渡します。 Puppeteer、wkhtmltopdf、WeasyPrint などのライブラリは、インライン SVG をネイティブにレンダリングします。 reportlab または jsPDF の場合は、最初にシャープまたはキャンバスを使用して SVG を PNG に変換します。
最大データ長はどれくらいですか?
Code128 は、バーコードの幅が標準のラベル プリンターには広すぎる前に、最大約 80 文字の文字列をエンコードできます。 EAN-13 は 13 桁、EAN-8 は 8 桁、UPC-A は 12 桁、ITF-14 は 14 桁に固定されています。信頼性の高いスキャンを行うには、データを短くしてください。

botoiで開発を始めよう

150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。