Phân tích GS1 & Digital Link API

Phân tích chuỗi GS1 từ GS1-128, GS1 DataMatrix, QR (GTIN, số lô, hạn dùng, serial, khối lượng…) và URI GS1 Digital Link; dựng lại chuỗi và Digital Link.

GETPOSThttps://apibox.io.vn/v1/gs1-parse

Gửi data ở dạng đọc được (01)09520123456788(17)261231(10)ABC123, dữ liệu thô từ máy quét có ký tự phân cách GS (ASCII 29, hoặc <GS>, {GS}, \x1d, separator tự chọn; nhận diện tiền tố ]C1 / ]d2 / ]Q3) hoặc URI GS1 Digital Link (https://id.gs1.org/01/09520123456788/10/ABC123?17=261231, tên miền và tiền tố đường dẫn bất kỳ). Mỗi Application Identifier được tra trong bảng của GS1 General Specifications (hơn 700 mục AI, gồm các nhóm số thập phân 310n–369n và 390n–395n): độ dài cố định hay thay đổi, chữ số hay bộ ký tự GS1, số kiểm tra của GTIN / SSCC / GLN, ngày YYMMDD theo quy tắc thế kỷ của GS1 và ngày 00 = ngày cuối tháng, số thập phân và đơn vị (3103 001234 → 1,234 kg), AI tiền tệ.

Kết quả liệt kê từng phần tử với tên, giá trị, hợp lệ hay không và date / number đã giải mã, bảng values gọn, kiểm tra quan hệ giữa các AI (ví dụ (21) cần (01)), tiền tố GS1 của GTIN, cùng dữ liệu dựng lại dạng đọc được, chuỗi phần tử (AI độ dài định sẵn đứng trước, chèn GS khi cần), dữ liệu GS1-128 ]C1 và URI GS1 Digital Link (khoá chính và khoá phụ trên đường dẫn theo đúng thứ tự chuẩn, AI khác ở query; domain để dùng resolver riêng). ais dựng từ một object JSON ({"01": "…", "10": "…", "17": "…"}).

Dùng sau barcode-read để giải mã nhãn thuốc, thực phẩm, hàng logistics, hoặc tạo Digital Link cho mã QR truy xuất nguồn gốc (TT 02/2024/TT-BKHCN).

Tham số

TênVị tríKiểuBắt buộcMặc định
dataquery|bodystringcóDữ liệu GS1: "(01)…(17)…", chuỗi thô có ký tự GS, hoặc URI Digital Link.
aisbodyobjectkhôngChế độ dựng: {"01": "09520123456788", "10": "ABC", "17": "261231"} (thay cho data).
separatorquery|bodystringkhôngKý tự / chuỗi máy quét dùng thay GS.
domainquery|bodystringkhônghttps://id.gs1.orgTên miền resolver cho Digital Link được dựng.

Ví dụ

curl "https://apibox.io.vn/v1/gs1-parse?data=(01)09520123456788(17)261200(10)ABC123(3103)001234" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kết quả trả về

{
  "form": "human_readable",
  "valid": true,
  "elements": [
    {
      "ai": "01",
      "title": "GTIN",
      "value": "09520123456788",
      "valid": true,
      "check_digit": {
        "value": 8,
        "expected": 8,
        "valid": true
      },
      "indicator_digit": 0,
      "gtin13": "9520123456788",
      "gs1_prefix": {
        "prefix": "952",
        "name": "Demonstrations and examples of the GS1 system",
        "country_code": null,
        "note": "The issuing GS1 member organisation, not the country of manufacture."
      }
    },
    {
      "ai": "17",
      "title": "USE BY OR EXPIRY",
      "value": "261200",
      "valid": true,
      "date": "2026-12-31",
      "note": "Day 00: the last day of the month"
    },
    {
      "ai": "10",
      "title": "BATCH/LOT",
      "value": "ABC123",
      "valid": true
    },
    {
      "ai": "3103",
      "title": "NET WEIGHT (kg)",
      "value": "001234",
      "valid": true,
      "decimals": 3,
      "number": 1.234,
      "unit": "kg"
    }
  ],
  "values": {
    "10": "ABC123",
    "17": "2026-12-31",
    "3103": 1.234,
    "01": "09520123456788"
  },
  "human_readable": "(01)09520123456788(17)261200(3103)001234(10)ABC123",
  "element_string": "010952012345678817261200310300123410ABC123",
  "gs1_128_data": "]C1010952012345678817261200310300123410ABC123",
  "digital_link": "https://id.gs1.org/01/09520123456788/10/ABC123?17=261200&3103=001234"
}

Ứng dụng

  • Đọc số lô, hạn dùng, serial từ DataMatrix trên hộp thuốc
  • Kiểm tra dữ liệu GS1-128 trước khi in tem logistics
  • Tạo URI GS1 Digital Link cho QR truy xuất nguồn gốc
  • Chuyển dữ liệu máy quét có ký tự GS thành các trường JSON

Hỏi đáp

Ngày 00 trong hạn dùng nghĩa là gì?

Trong các AI ngày của GS1 như (17), ngày 00 là ngày cuối cùng của tháng; API trả về ngày thực tế.

Định nghĩa AI lấy từ đâu?

Từ GS1 General Specifications và GS1 Barcode Syntax Dictionary, nhập tay và rà soát 6 tháng một lần.

API có đọc ảnh mã vạch không?

Không, API phân tích chuỗi văn bản. Hãy đọc ảnh bằng barcode-read trước rồi gửi chuỗi vào đây.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →