Static QR API: QR-კოდების შექმნა თქვენი ბექენდიდან
როგორ შევქმნათ API გასაღები WebQR-ში, ვიპოვოთ დოკუმენტაცია და მივიღოთ QR-კოდის SVG ერთი POST-მოთხოვნით — curl-ის რეალური მაგალითითა და ხშირი შეცდომებით.
WebQR-ის Static QR API საშუალებას აძლევს თქვენს ბექენდს, QR-კოდები წამიერად შექმნას: აგზავნით შიგთავსსა და დიზაინს — და იღებთ მზა SVG-ს. გიჩვენებთ, სად არის გასაღებები, როგორ შევქმნათ გასაღები და გავაგზავნოთ პირველი მოთხოვნა.
სად არის API
კაბინეტში გახსენით API-ის გვერდი — dash.webqr.io/api. აქედან ბმული API გასაღებები თქვენს გასაღებებზე გადაგიყვანთ, ბლოკში დოკუმენტაცია კი არის ღილაკები API დოკუმენტაცია და API კონსტრუქტორი — კონსტრუქტორში SVG-ის ნახვა კოდის დაწერამდეც შეიძლება.

შექმენით გასაღები
გადადით API გასაღებები-ზე (dash.webqr.io/api/keys) და დააჭირეთ შექმნა.
ფანჯარაში ახალი გასაღები ჩაწერეთ გასაღების სახელი — მოკლე სახელი, რომელიც მხოლოდ თქვენს სიაში ჩანს — და დააჭირეთ შექმნა.

სრული საიდუმლო მხოლოდ ერთხელ ჩანს, შექმნისთანავე — დააკოპირეთ და შეინახეთ უსაფრთხო ადგილას, მაგალითად სერვერის გარემოს ცვლადში. სიაში გასაღები შემდეგ დაფარული სახით ჩანს, პრეფიქსით, შექმნის თარიღითა და ველით ნებადართული IP.

გახსენით დოკუმენტაცია
სრული ცნობარი არის webqr.io/api-documentation-ზე: ნაბიჯ-ნაბიჯ ინსტრუქცია, მოთხოვნისა და პასუხის ფორმატი, დიზაინის პარამეტრები და შეცდომები. იქვე შეგიძლიათ ჩამოტვირთოთ OpenAPI (YAML) სპეციფიკაცია და Postman-ის კოლექცია.

შექმენით QR-კოდი
გაგზავნეთ POST https://api.webqr.io/v1/generate სათაურით X-API-Key და JSON-ტანით. ველში data (1000 სიმბოლომდე) არის კოდის შიგთავსი: ბმული, ტექსტი, Wi-Fi-ის მონაცემები და ა.შ. ობიექტი design არასავალდებულოა: ზომა, ფერები, მოდულებისა და თვალების ფორმა, ჩარჩო, ლოგო და სხვა. გამოიძახეთ API მხოლოდ თქვენი ბექენდიდან — არა ბრაუზერის კოდიდან ან მობილური აპიდან.

აი, რეალური მოთხოვნა:
curl -X POST https://api.webqr.io/v1/generate \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"data": "https://webqr.io",
"design": {
"size": 512,
"color": "#000000",
"backgroundColor": "#FFFFFF",
"styleType": "a7k2m9",
"eyeType": "r2s4t6",
"showColorGradient": false
}
}'
პასუხი მოდის JSON-ში. კოდის SVG-მარკაპი არის data.qr_code-ში: შეგიძლიათ შეინახოთ ფაილად ან ჩასვათ გვერდზე როგორც არის.
{
"success": true,
"data": {
"qr_code": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" width=\"512\" height=\"512\" ...>...</svg>",
"format": "svg",
"content": "https://webqr.io",
"design": { "size": 512, "color": "#000000", ... }
},
...
}
WebQR არ ინახავს API-ით შექმნილ კოდებს: ყოველი პასუხი დამოუკიდებელია.
შეამოწმეთ გამოყენება
GET /v1/usage აბრუნებს გამოყენების მრიცხველებს. მოთხოვნა მხოლოდ კითხულობს მონაცემებს და კოდებს არ ქმნის.
curl https://api.webqr.io/v1/usage \
-H "X-API-Key: YOUR_API_KEY"
დამატებითი დაცვა
ყოველ გასაღებს აქვს ორი არასავალდებულო პარამეტრი:
- ნებადართული IP-ების სია — გასაღები მუშაობს მხოლოდ მითითებული მისამართებიდან. ნაგულისხმევად ყველა დაშვებულია.
- HMAC ხელმოწერა — ყოველ მოთხოვნას ახლავს სათაურები
X-WebQR-TimestampდაX-WebQR-SignatureHMAC-SHA256 ხელმოწერით, რომელიც თქვენი საიდუმლოთი გამოითვლება. ხელმოწერის ზუსტი სტრიქონი აღწერილია დოკუმენტაციაში.
ხშირი შეცდომები
- 401 — გასაღები არ არის გადაცემული, არასწორია ან გაუქმებულია, ან ხელმოწერა არ ემთხვევა.
- 403 — მოთხოვნა მოვიდა IP-დან, რომელიც ამ გასაღებისთვის დაშვებული არ არის.
- 422 — მოთხოვნის ტანმა ვერ გაიარა შემოწმება, მაგალითად
dataცარიელია ან ზედმეტად გრძელი. პასუხში ჩამოთვლილია პრობლემური ველები. - 429 — მოკლე დროში ზედმეტად ბევრი მოთხოვნა. დაელოდეთ
Retry-Afterსათაურში მითითებულ დროს და გაიმეორეთ.
რჩევები
- შექმენით ცალკე გასაღები ყოველი პროექტის ან სერვერისთვის — ასე ერთის გაუქმება უფრო მარტივია.
- არ ატვირთოთ გასაღები რეპოზიტორიაში და არ ჩასვათ ფრონტენდში.
- ჯერ შეარჩიეთ დიზაინი API კონსტრუქტორში, შემდეგ კი პარამეტრები გადაიტანეთ მოთხოვნაში.