大量の電子商取引チェックアウト内でクライアント側のフォント エンジンや重いグラフィック ライブラリに依存すると、レンダリングの変動性とパフォーマンスのボトルネックが発生します。プログラムによるバーコード生成は、ステートレスかつベクターネイティブであり、水平方向にスケーリングする低遅延パイプライン向けに設計されている必要があります。このガイドでは、本番環境に対応したサンプル、ライブ サンドボックス、CI ジョブ、サーバーレス関数、またはバックエンド マイクロサービスにコピー&ペーストできる正式な API リファレンスを提供します。
言語タブを切り替えて、SVG出力をリクエストするためのサンプルコードを確認できます。
※ こちらはAPIリクエストの記述例です。実際のエンドポイントへの接続には、発行されたAPIキーが必要です。詳細はREST APIドキュメントをご確認ください。
チェックアウト サービス、WMS ピック アンド パック フロー、オンデマンド プリント パイプラインなどの大容量システムは、予測できないクライアント レンダリングに依存できません。ベクトルファーストのステートレス API は、決定論的なジオメトリ、CPU オーバーヘッドの削減、デバイスとプリンター間での一貫した出力を提供します。
このガイドは、統合パターン、複数言語の SDK スニペット、完全な API リファレンス、ベクター ワークフローとラスター ワークフローの操作ガイダンス、および大規模に導入するエンジニア向けの包括的な FAQ によって構成されています。
このセクションには、コピー&ペースト可能な依存関係のない例が含まれています。各ブロックはネイティブ ライブラリのみを使用し、ベクター バーコードを安全にリクエスト、ストリーミング、レンダリングする方法を示します。これらの例は、最小限の依存関係と、本番環境に対応したエラー処理、認証、および GS1 アプリケーション識別子の安全なペイロード エンコーディングに焦点を当てています。
# Python 3.x native GET -> stream SVG
import urllib.request
import urllib.parse
def generate_enterprise_barcode(payload, symbology="code128", format="svg"):
base_url = "https://api.barcode-generators.com/v1/generate"
params = {
"data": payload,
"type": symbology,
"format": format,
"width": 2,
"height": 100,
"includeText": "true"
}
url_values = urllib.parse.urlencode(params)
full_url = base_url + '?' + url_values
req = urllib.request.Request(full_url, headers={'Authorization': 'Bearer YOUR_API_KEY'})
with urllib.request.urlopen(req) as response:
return response.read()
# Example usage:
svg = generate_enterprise_barcode('012345678905')
open('out.svg','wb').write(svg)
注:
const axios = require('axios');
async function genBarcode(payload, type='code128'){
const url = 'https://api.barcode-generators.com/v1/generate';
const params = {data:payload,type,format:'svg',width:2,height:100,includeText:true};
const res = await axios.get(url,{params,headers:{Authorization:'Bearer YOUR_API_KEY'}});
return res.data; // SVG string
}
// write to disk
genBarcode('012345678905').then(svg=>require('fs').writeFileSync('out.svg',svg));
注:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.barcode-generators.com/v1/generate?'.http_build_query(['data'=>'012345678905','type'=>'code128','format'=>'svg','width'=>2,'height'=>100,'includeText'=>'true']));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_KEY']);
$svg = curl_exec($ch);
file_put_contents('out.svg',$svg);
注: 予測可能なリクエスト上限には「CURLOPT_TIMEOUT_MS」を使用し、指数バックオフで再試行することで HTTP 429 を処理します。
using System.Net.Http;
using System.Threading.Tasks;
public async Task Generate(string payload){
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization","Bearer YOUR_API_KEY");
var url = $"https://api.barcode-generators.com/v1/generate?data={System.Net.WebUtility.UrlEncode(payload)}&type=code128&format=svg&width=2&height=100&includeText=true";
return await client.GetStringAsync(url);
}
注: ソケットの枯渇を避けるために「HttpClient」インスタンスを再利用し、GS1 括弧を含むペイロードに対して「Uri.EscapeDataString」を使用して URL エンコードを実行します。
Sub InsertBarcode()
Dim xml As Object, url As String, svg As String
url = "https://api.barcode-generators.com/v1/generate?data=" & URLEncode(Range("A1").Value) & "&type=code128&format=svg"
Set xml = CreateObject("MSXML2.ServerXMLHTTP")
xml.Open "GET", url, False
xml.setRequestHeader "Authorization", "Bearer YOUR_API_KEY"
xml.send
svg = xml.responseText
' Save to disk and insert as image using external helper
End Sub
Function URLEncode(s As String) As String
URLEncode = Replace(s, " ", "%20")
End Function
注: Excel は、ラベルの一括エクスポートを自動化するビジネス ユーザーにとって便利です。 SVG をディスクに書き込み、サーバー側の変換プロセスを使用して PDF またはプリンターに最適化された EPS を作成します。
ベース URL: https://api.barcode-generators.com/v1
Authorization: Bearer <API_KEY>
GET /v1/generate?data=012345678905&type=code128&format=svg&width=2&height=100&includeText=true
| 鍵 | タイプ | デフォルト | 承認されました | 説明 |
|---|---|---|---|---|
| データ | 弦 | — | 英数字/バイナリ | エンコードする生のペイロード (GS1 AI は許可されます)。 GS1 ペイロードの場合、必要に応じて括弧または FNC1 マーカーが含まれます。 |
| タイプ | 弦 | コード128 | code128、upca、ean13、データマトリックス、qr、pdf417 | シンボルセレクター |
| 形式 | 弦 | SVG | SVG、PNG、PDF、EPS | 出力フォーマット |
| 幅 | 整数 | 2 | 1–5 | リニア コードの X 次元 / モジュール幅。非整数の幅は、サポートされているモジュールに最も近い値に丸められます。 |
| 身長 | 整数 | 100 | ピクセル | リニアコードのシンボル高さ |
| includeText | ブール値 | 真実 | 真、偽 | 人間が読めるテキスト行を含める |
| 規模 | フロート | 1.0 | 0.1–10 | ベクトル/ラスター出力の均一な出力スケーリング係数。 |
| 背景色 | 弦 | #FFFFFF | 16進数の色 | ラスター出力の背景塗りつぶし。 |
すべてのリクエストには、「Authorization」ヘッダーにベアラー トークンが必要です。マルチテナント設定の場合は、特定のシンボルまたはドメインに限定されたスコープ付きキーを発行します。
成功すると、生の SVG (Content-Type: image/svg+xml) または PNG/PDF のバイナリが返されます。
200 OK
Content-Type: image/svg+xml
<svg ...> ... </svg>
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"error": "invalid_payload",
"message": "Type 'upca' requires numeric payload of length 12"
}
クライアントは、JSON エラー オブジェクトの決定論的な解析を実装し、「エラー」コードを型指定された例外にマップする必要があります。レート制限の場合は、JSON 本文に「Retry-After」ヘッダーと機械可読な「quota_reset」フィールドを含む 429 を受信します。
SVG は決定論的なジオメトリを提供します。各バーは <rect> また、スケーリングではエッジの境界が維持されます。ラスター PNG ではアンチエイリアシングと DPI の問題が発生し、印刷時または応答性の高い UI 内で拡大縮小したときにスキャン エラーが発生します。製品ラベルの生成には SVG を、ベクター パスが必要な印刷ワークフローには PDF/EPS を推奨します。
HTTP ステータス コードをプログラムの例外にマッピングします。不正な形式のクエリには 400、認証エラーには 401、検証エラーには 422、レート制限には 429、サーバー エラーには 500 を使用します。クライアント SDK は JSON エラー オブジェクトを解析し、型指定された例外を発生させる必要があります。
ローカル バリデータを構築して、コストのかかるネットワーク呼び出しを回避します。ルールの例:
無料レベル: 60 リクエスト/分、バースト容量 120。プレミアム レベルは、専用エンドポイントを使用して 1,000 ~ 10,000 RPS を持続するようにプロビジョニングできます。
正確な AI ペイロードを送信します。 API は括弧を受け入れ、必要に応じてエンコードします。パスベースのリクエストの場合は、かっこと予約文字を常に URL エンコードします。
はい — デプロイメント マニフェストと、同じ /v1/generate API サーフェスを公開するローカル イメージについては、サポートされているオンプレミス Docker コンテナー ガイドを参照してください。
422 は通常、選択されたシンボルが特定の文字またはペイロード長を許可しないことを意味します。確認してください type パラメータを確認し、REST API ドキュメントの検証マトリックスを参照してください。
API から SVG 文字列を取得し、Blob URL を含む画像を作成し、補間を最小限に抑えるためにキャンバス上の整数ピクセル境界に描画します。例:
fetch(url,{headers:{Authorization:'Bearer KEY'}}).then(r=>r.text()).then(svg=>{
const blob = new Blob([svg],{type:'image/svg+xml'});
const url = URL.createObjectURL(blob);
const img = new Image(); img.onload = ()=>{ const ctx = canvas.getContext('2d'); ctx.drawImage(img,0,0); URL.revokeObjectURL(url);} ; img.src = url;
});
不変ペイロード (GTIN + シリアル) の場合は、長い Cache-Control (例: 30d) と ETag を設定します。一時的なペイロードの場合は、短い TTL を使用し、条件付き GET を活用して、冗長なレンダリングを回避します。
HTTP キャッシュによるステートレス ベクター生成、適切な認証、正確な検証を使用して、大規模な運用を実現します。 API キー用の開発者ダッシュボード、ホット パス用の使用状況テレメトリを計測し、確定的な印刷とアーカイブのために SVG のサーバー側レンダリングを優先します。
次のステップ: