QR-კოდების გენერაციის API

გენერირება სტატიკური QR-კოდების API-ით თქვენი აპლიკაციების ინტეგრაციისთვის.

გენერაციის API

გენერირება სტატიკური QR-კოდების API-ით: გაგზავნეთ სტრიქონი და design ობიექტი — მიიღეთ წამებში SVG.

დიზაინი და ბრენდინგი

გამოიყენეთ ბრენდის ფერები, მოდულების ფორმები, ჩარჩოები და ლოგოები — ყველაფერი design ობიექტის მეშვეობით.

Endpoints

/v1/generate

სხეული: სავალდებლო data, არჩევითი design. 200 პასუხში SVG — data.qr_code-ში.

POST https://api.webqr.io/v1/generate

POST JSON-ით: სავალდებულო data და არჩევითი design (როგორც კონსტრუქტორში). პასუხი HTTP 200, SVG data.qr_code-ში. WebQR არ ინახავს ჩაწერებს — თქვენი საცავი.

/v1/usage

მხოლოდ წაკითხვა: პერიოდის მრიცხველები, data.items ცარიელი. გენერაციის ლიმიტს არ ხარჯავს.

GET https://api.webqr.io/v1/usage

GET /v1/usage — პერიოდის მრიცხველები; data.items ყოველთვის ცარიელია. used_count-ს არ ზრდის.

API stateless-ია WebQR-ში: სერვერზე ბიბლიოთეკა არ ინახება. შეინახეთ SVG და მეტადატა თქვენს სისტემაში.

უსაფრთხოება პროდაქშენში

API გასაღები განულებას არ უნდა გადასცეთ კლიენტს — იგი სერვერული საიდუმლოა.

  • საიდუმლო მხოლოდ სერვერზე; კლიენტებს — თქვენი HTTPS, არა API გასაღები.
  • გასაღები შემოიფარგლეთ სერვერების IP-ებით (ან CDN-ის ფიქსირებული გასასვლელით).
  • სურვილისამებრ ჩართეთ სავალდებულო HMAC ხელმოწერა გასაღების პარამეტრებში.

ყოველ მოთხოვნაში გამოიყენეთ X-API-Key ჰედერი. გასაღებები იქმნება კაბინეტში.

მოთხოვნის მაგალითები (JSON სხეული)

პროში მოდულები უწყვეტ ფონზე

JSON სხეული

{
    "data": "https://webqr.io/",
    "design": {
        "size": 1024,
        "backgroundColor": "#FFFFFF",
        "color": "#000000",
        "transparent": false,
        "styleType": "a7k2m9",
        "eyeType": "r2s4t6",
        "eyeInnerType": "h7i9j1",
        "roundedCorners": true,
        "cornerRadius": 20,
        "showColorGradient": false
    }
}

პასუხი

HTTP 200 იძლევა JSON-ს success-ით, data.qr_code-ში SVG სტრიქონს, contentის ექოს, დანორმალებულ design-სა და usage სექციას.

ფერადი ფონი და სხვა მოდულის ფორმა

JSON სხეული

{
    "data": "https://webqr.io/",
    "design": {
        "size": 1024,
        "backgroundColor": "#0E2A47",
        "color": "#F8FAFC",
        "borderColor": "#58B4FF",
        "centerColor": "#58B4FF",
        "transparent": false,
        "styleType": "m4k6l8",
        "eyeType": "x4y6z8",
        "eyeInnerType": "n9o1p3",
        "roundedCorners": true,
        "cornerRadius": 20,
        "showColorGradient": false
    }
}

მოდულების დიაგონალური გრადიენტი

JSON სხეული

{
    "data": "https://webqr.io/",
    "design": {
        "size": 1024,
        "backgroundColor": "#FFFFFF",
        "color": "#1e3a5f",
        "borderColor": "#2563EB",
        "centerColor": "#7C3AED",
        "transparent": false,
        "styleType": "a7k2m9",
        "eyeType": "r2s4t6",
        "eyeInnerType": "h7i9j1",
        "roundedCorners": true,
        "cornerRadius": 20,
        "showColorGradient": true,
        "fromColor": "#2563EB",
        "toColor": "#7C3AED",
        "styleColorGradient": "diagonal"
    }
}

მოთხოვნის მაგალითი

curl -X POST https://api.webqr.io/v1/generate \
  -H "Content-Type: application/json" \\n  -H "X-API-Key: wq_xxxxxxxxxx_your_secret" \\n  -d @payload.json

JSON მოთავსეთ payload.json ფაილში ან გადაუსწორეთ არგუმენტში -d, ხოლო საიდუმლო გასაღები მხოლოდ სერვერმა იცოდეს — არა ბრაუზერმა და არა მობილურმა აპმა.

დიზაინი

კაბინეტში არის სრული ვიზუალური QR კონსტრუქტორი: დიზაინს აგროვებთ ინტერფეისში, იგივე პარამეტრები აისახება design ობიექტში API მოთხოვნაში — ბოლო JSON-ის შედგენა უფრო მარტივია.

გამოიყენეთ Content-Type: application/json. ROOT-ში data (სავალდებულო) და design (არასავალდებულო). markerOutColor მსგავსი ფსევდონიმები ერწყმება borderColor-ს; დარღვევები — HTTP 422.

ქვემოთ მოცემული ესკიზები ემთხვევა კონსტრუქტორის დიზაინის ნაბიჯს: ფილის ქვეშ წარწერა გამოიყენეთ design.styleType, design.eyeType ან design.eyeInnerType-ში.

იკონები იგივეა, რაც დიზაინის ნაბიჯზე. თითოეულის ქვეშ — კანონიკური კოდი შესაბამისი API ველისთვის.

მოდულის კოდები

a7k2m9
b3n5p1
c8q4r6
d1s7t9
e6u2v4
f9w5x7
g2y8z0
h4a6b8
i0c2d4
j6e8f0
k2g4h6
l8i0j2
m4k6l8
n0o2p4
p6q8r0
q1r3s5
s1r3s5

გარე იზომები (eyeType)

r2s4t6
u8v0w2
x4y6z8
a1b3c5
d7e9f1
g3h5i7
j9k1l3
m5n7o9
p1q3r5
s7t9u1
v3w5x7
y9z1a3
b5c7d9
e1f3g5

შიდა იზომები (eyeInnerType)

h7i9j1
k3l5m7
n9o1p3
q5r7s9
t1u3v5
w7x9y1
z3a5b7
c9d1e3
f5g7h9
i1j3k5
l7m9n1
o3p5q7
r9s1t3
u5v7w9
x1y3z5

ჩარჩოები (frameType)

no_frames — მხოლოდ QR. thick_rounded — სქელი მომრგვალო ჩარჩო წარწერის გარეშე. სხვა ჩარჩოებზე წარწერა შეიძლება იყოს ზოლში; textUnderQr არასავალდებულოა — წინააღმდეგ შემთხვევაში სერვერი ნაგულისხმევ ტექსტს დაამატებს.

no_frames label_bottom badge_bottom pill_bottom banner_top shopping_bag bar_bottom bar_top badge_top pill_top wide_bottom wide_top thick_rounded

ძველი კოდები კვლავ იღება (იგი მიეთითება ასე):

ribbon_bottom → no_frames flag_top → no_frames text_bottom → thick_rounded text_top → thick_rounded

გრადიენტის მიმართებები

იგივე სახელები styleColorGradient და eyeGradientStyle ველებში.

horizontal vertical diagonal inverse_diagonal radial

ხშირად დასმული კითხვები

რამდენი API მოთხოვნა მაქვს თვეში?

კალენდარული თვის ჩართული წარმატებული გენერაციები გეგმების მიხედვით: 200 (Starter), 5000 (Premium), 25000 (Business), 100000 (Business Plus). თუ მეტი გჭირდებათ — დაგვიკავშირდით.

შემიძლია API-ითაც და საიტზეც გენერაცია?

დიახ! შეგიძლიათ შექმნათ QR API-ით ან მთავარ კონსტრუქტორში.

შემიძლია უფასო გეგმაზე API-ით სარგებლობა?

დიახ. Starter-ში უკვე შედის Static QR API: კალენდარულ თვეში ჩართული წარმატებული გენერაციების ლიმიტია 200; Premium — 5000; Business — 25000; Business Plus — 100000; ნორმა იხსნება თითო ახალი კალენდარული თვის დასაწყისში. „მხოლოდ API“-ის ცალკე გამოწერა არ გჭირდებათ; საჭიროებისამებრ შეიძლება გადახდადი ოვერეიჯი.

რას იღებთ წარმატებული მოთხოვნის შემდეგ? WebQR თავად ინახავს თუ არა ყოველ ასეთ გამოძახებას თქვენს კაბინეტში?

JSON-ში იქნება SVG data.qr_code ველში, იგივე content და design რაც გაგზავნეთ, და usage კვოტისთვის. ნაკადი stateless არის: WebQR თითო API გადაცემას თქვენს QR სიაში პროექტად არ ამატებს და გრძელვადიანი ID პასუხში არ გამოდის — SVG შეინახეთ და მართეთ იქ, სადაც ინტეგრირებთ. იმას, რასაც კონსტრუქტორში შეინახავთ WebQR-ში, სწორედ იმავე კაბინეტის წესები ეხება.

გჭირდებათ მეტი მოთხოვნა?

დაგვიკავშირდით, თუ გჭირდებათ დღიური ლიმიტის გაზრდა პირადი ან კომერციული გამოყენებისთვის.