QR Code Generator API — Брандирани QR кодове с логотипи | YEB

Генерирайте брандирани QR кодове в PNG, JPG или SVG. Персонализирайте форми на модулите, цветове за всяко око, централни логотипи и промо рамки. Запазете в CDN или получете base64 изход незабавно.

Какво можете да правите?
Персонализирани форми и цветове

Точкови/квадратни модули + кръгли/квадратни очи с цветове за всяко око.

Централни логотипи

Поставете лого в средата (качване или пресет като "scan-me").

Промо рамки

Долен банер, горен хедър, балонче за реч, лентов етикет, значка.

Запазване и CDN

Съхранете на диска и получете публичен URL мигновено.

Изпробвай на живо
99.9 % Време на работа
Отговор
20 req/s
0.01 Кредити / заявка

Generate QR Code

POST https://api.yeb.to/v1/qr-code/generate
Parameter Type Req Description
api_keystringyesYour API key.
typestringyespage (Page Builder payload).
actionstringoptgenerate (default).
image_formatstringoptSVG (default) | PNG | JPG
image_widthintoptTarget width in px (default 500 for raster).
foreground_colorhexoptDefault #000000.
background_colorhexoptDefault #FFFFFF.
body_stylestringoptsquare (default) | dot — PNG/JPG only.
eye_stylestringoptsquare (default) | circle — PNG/JPG only.
eye_outer_color / eye_inner_colorhexoptGlobal per-eye colors; can be overridden per eye with eye1_*, eye2_*, eye3_*.
eye1_outer_color / eye1_inner_colorhexoptTop-left eye colors.
eye2_outer_color / eye2_inner_colorhexoptTop-right eye colors.
eye3_outer_color / eye3_inner_colorhexoptBottom-left eye colors.
qr_code_logostringoptno-logo (default) | scan-me | scan-me-square | upload
logo_path / logo_data_base64stringoptProvide when qr_code_logo=upload.
frame_namestringoptno-frame (default) | bottom-banner | top-header | speech-bubble | ribbon-tag | badge
frame_colorhexoptDefault #000000.
frame_text / frame_text_colorstring/hexopt“Scan me”, “Rate us”, etc.; default text color #FFFFFF.
frame_icon_namestringoptIcon file name (resolved via config('qr.icons_path')).
download0|1optIf 1, controller triggers download flow.
save0|1optWhen 1, image is saved and file_url/file_path are returned.
storage_disk / storage_folder / filename / filename_basestringoptApplied when save=1. In UI използваме filename_base.
include_bytes0|1optInclude base64 data URI in response (default 1; if save=1, default 0).
When type=page, pass:
page.versionintyesSchema version (UI използва 1).
page.theme.primary / page.theme.accenthexoptLanding theme colors.
page.layout.cols / page.layout.gapintoptGrid columns (desktop-only) and gap in px.
page.layout.sections.*objectoptenabled, collapsible, default_open, style (card|plain), radius, border, background.
page.blocks[]arrayyesList of blocks: { type, props, children }. Поддържани: hero, gallery, appBadges, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider.
curl -X POST https://api.yeb.to/v1/qr-code/generate \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_KEY","type":"page","action":"generate","image_format":"PNG","image_width":600,"foreground_color":"#111111","background_color":"#FFFFFF","body_style":"dot","eye_style":"circle","eye_outer_color":"#111111","eye_inner_color":"#111111","eye1_inner_color":"#FF4D4D","eye2_inner_color":"#FFB84D","eye3_inner_color":"#4DD2FF","qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_color":"#111111","frame_text":"Scan me","frame_text_color":"#FFFFFF","frame_icon_name":"qr","save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"menu-q1","include_bytes":0,"page":{"version":1,"theme":{"primary":"#0ea5e9","accent":"#111111"},"layout":{"cols":2,"gap":12,"sections":{"enabled":false,"collapsible":false,"default_open":true,"style":"card","radius":12,"border":"1px solid rgba(255,255,255,.12)","background":"rgba(255,255,255,.03)"}},"blocks":[{"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center","cta":{"label":"SHOP NOW","href":"https://example.com"}}},{"type":"gallery","props":{"scroll":"horizontal","images":[{"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},{"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}]}}'
$payload = {
    "api_key": "YOUR_KEY",
    "type": "page",
    "action": "generate",
    "image_format": "PNG",
    "image_width": 600,
    "foreground_color": "#111111",
    "background_color": "#FFFFFF",
    "body_style": "dot",
    "eye_style": "circle",
    "eye_outer_color": "#111111",
    "eye_inner_color": "#111111",
    "eye1_inner_color": "#FF4D4D",
    "eye2_inner_color": "#FFB84D",
    "eye3_inner_color": "#4DD2FF",
    "qr_code_logo": "scan-me",
    "frame_name": "bottom-banner",
    "frame_color": "#111111",
    "frame_text": "Scan me",
    "frame_text_color": "#FFFFFF",
    "frame_icon_name": "qr",
    "save": 1,
    "storage_disk": "public",
    "storage_folder": "qr_codes",
    "filename_base": "menu-q1",
    "include_bytes": 0,
    "page": {
        "version": 1,
        "theme": {
            "primary": "#0ea5e9",
            "accent": "#111111"
        },
        "layout": {
            "cols": 2,
            "gap": 12,
            "sections": {
                "enabled": false,
                "collapsible": false,
                "default_open": true,
                "style": "card",
                "radius": 12,
                "border": "1px solid rgba(255,255,255,.12)",
                "background": "rgba(255,255,255,.03)"
            }
        },
        "blocks": [
            {
                "type": "hero",
                "props": {
                    "headline": "Winter Lookbook",
                    "description": "Short intro…",
                    "align": "center",
                    "cta": {
                        "label": "SHOP NOW",
                        "href": "https://example.com"
                    }
                }
            },
            {
                "type": "gallery",
                "props": {
                    "scroll": "horizontal",
                    "images": [
                        {
                            "url": "https://picsum.photos/seed/a/600/400"
                        },
                        {
                            "url": "https://picsum.photos/seed/b/600/400"
                        }
                    ]
                }
            },
            {
                "type": "button",
                "props": {
                    "label": "Open site",
                    "href": "https://yeb.to",
                    "variant": "primary",
                    "align": "center"
                }
            }
        ]
    }
};
$r = Http::post('https://api.yeb.to/v1/qr-code/generate', $payload);
print_r($r->json());
fetch('https://api.yeb.to/v1/qr-code/generate', {
  method: 'POST',
  headers: {'Content-Type':'application/json'},
  body: JSON.stringify({"api_key":"YOUR_KEY","type":"page","action":"generate","image_format":"PNG","image_width":600,"foreground_color":"#111111","background_color":"#FFFFFF","body_style":"dot","eye_style":"circle","eye_outer_color":"#111111","eye_inner_color":"#111111","eye1_inner_color":"#FF4D4D","eye2_inner_color":"#FFB84D","eye3_inner_color":"#4DD2FF","qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_color":"#111111","frame_text":"Scan me","frame_text_color":"#FFFFFF","frame_icon_name":"qr","save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"menu-q1","include_bytes":0,"page":{"version":1,"theme":{"primary":"#0ea5e9","accent":"#111111"},"layout":{"cols":2,"gap":12,"sections":{"enabled":false,"collapsible":false,"default_open":true,"style":"card","radius":12,"border":"1px solid rgba(255,255,255,.12)","background":"rgba(255,255,255,.03)"}},"blocks":[{"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center","cta":{"label":"SHOP NOW","href":"https://example.com"}}},{"type":"gallery","props":{"scroll":"horizontal","images":[{"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},{"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}]}})
}).then(r => r.json()).then(console.log);
import requests, json
payload = {
    "api_key": "YOUR_KEY",
    "type": "page",
    "action": "generate",
    "image_format": "PNG",
    "image_width": 600,
    "foreground_color": "#111111",
    "background_color": "#FFFFFF",
    "body_style": "dot",
    "eye_style": "circle",
    "eye_outer_color": "#111111",
    "eye_inner_color": "#111111",
    "eye1_inner_color": "#FF4D4D",
    "eye2_inner_color": "#FFB84D",
    "eye3_inner_color": "#4DD2FF",
    "qr_code_logo": "scan-me",
    "frame_name": "bottom-banner",
    "frame_color": "#111111",
    "frame_text": "Scan me",
    "frame_text_color": "#FFFFFF",
    "frame_icon_name": "qr",
    "save": 1,
    "storage_disk": "public",
    "storage_folder": "qr_codes",
    "filename_base": "menu-q1",
    "include_bytes": 0,
    "page": {
        "version": 1,
        "theme": {
            "primary": "#0ea5e9",
            "accent": "#111111"
        },
        "layout": {
            "cols": 2,
            "gap": 12,
            "sections": {
                "enabled": false,
                "collapsible": false,
                "default_open": true,
                "style": "card",
                "radius": 12,
                "border": "1px solid rgba(255,255,255,.12)",
                "background": "rgba(255,255,255,.03)"
            }
        },
        "blocks": [
            {
                "type": "hero",
                "props": {
                    "headline": "Winter Lookbook",
                    "description": "Short intro…",
                    "align": "center",
                    "cta": {
                        "label": "SHOP NOW",
                        "href": "https://example.com"
                    }
                }
            },
            {
                "type": "gallery",
                "props": {
                    "scroll": "horizontal",
                    "images": [
                        {
                            "url": "https://picsum.photos/seed/a/600/400"
                        },
                        {
                            "url": "https://picsum.photos/seed/b/600/400"
                        }
                    ]
                }
            },
            {
                "type": "button",
                "props": {
                    "label": "Open site",
                    "href": "https://yeb.to",
                    "variant": "primary",
                    "align": "center"
                }
            }
        ]
    }
}
        r = requests.post('https://api.yeb.to/v1/qr-code/generate', headers={'Content-Type':'application/json'}, data=json.dumps(payload))
print(r.json())

Response Example

{
  "mime": "image/png",
  "ext": "png",
  "width": 720,
  "height": 880,
  "saved": true,
  "file_url": "https://cdn.your-site/qr_codes/2025/08/21/qr-...png",
  "file_path": "qr_codes/2025/08/21/qr-...png",
  "scan_url": "https://yeb.to/s/abc123",
  "meta": {
    "format": "PNG",
    "logo": "scan-me",
    "shape": { "body":"dot", "eye":"circle" },
    "colors": {
      "foreground":"#111111","background":"#FFFFFF",
      "eye_outer":"#111111","eye_inner":"#111111",
      "eye1_inner":"#FF4D4D","eye2_inner":"#FFB84D","eye3_inner":"#4DD2FF"
    },
    "frame": { "name":"bottom-banner","color":"#111111","text":"Scan me","textColor":"#FFFFFF","icon":"qr" },
    "download": false,
    "saved": true,
    "type": "page",
    "page": { "version": 1 }
  },
  "data_base64": null
}
{
  "error": "Validation failed: page.blocks is required for type=page",
  "code": 422
}

Кодове на отговор

КодОписание
200 SuccessЗаявката е обработена успешно.
400 Bad RequestНеуспешна валидация на входните данни.
401 UnauthorizedЛипсващ / грешен API ключ.
403 ForbiddenКлючът е неактивен или без достъп.
429 Rate LimitТвърде много заявки.
500 Server ErrorНеочаквана грешка.

qr-code/generate

qr-code/generate 0.0100 credits

Parameters

API Key
body · string · required
Type
body · string · required
Action
body · string
Image Format
body · string
Image Width
body · string
Foreground Color
body · string
Background Color
body · string
Body Style
body · string
Eye Style
body · string
Eye Outer Color
body · string
Eye Inner Color
body · string
Eye1 Outer Color
body · string
Eye1 Inner Color
body · string
Eye2 Outer Color
body · string
Eye2 Inner Color
body · string
Eye3 Outer Color
body · string
Eye3 Inner Color
body · string
Logo Mode
body · string
Logo Path
body · string
Logo Data (base64)
body · string
Frame
body · string
Frame Color
body · string
Frame Text
body · string
Frame Text Color
body · string
Frame Icon
body · string
Download
body · string
Save
body · string
Storage Disk
body · string
Storage Folder
body · string
Filename
body · string
Filename Base
body · string
Include Base64
body · string
Page Version
body · string · required
Theme Primary
body · string
Theme Accent
body · string
Layout Cols
body · string
Layout Gap
body · string
Sections Enabled
body · string
Sections Collapsible
body · string
Sections Default Open
body · string
Sections Style
body · string
Sections Radius
body · string
Sections Border
body · string
Sections Background
body · string
Blocks
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

QR Code Generator API — Брандирани QR кодове с логотипи | YEB — Practical Guide

Create branded QR codes, auto-build mobile pages (“experiences”), and track scans & custom events. Use this guide to ship working QR flows fast — with the right format, styling, storage, and analytics.

#What this API solves

Most QR projects fail on the details: wrong format for print, unreadable colors, no landing, zero tracking. Our suite covers the full funnel: image generationmobile page (“experience”)scan/event logging.

#Endpoints & when to use them

#POST /v1/qr-code/generate — Render a QR image

  • Best for: You already have a target URL/text and only need an image (SVG/PNG/JPG).
  • Inputs: qr_code_text + styling (colors, eye/body styles, logo, frame), output controls (save, download, include_bytes).
  • Output: mime, ext, width/height, file_url/file_path (when saved), optional data_base64, plus a meta map describing styling.
  • Format tip: Use SVG for print (infinite scale). Use PNG with frames/logos for digital flyers.

#POST /v1/qr-experience/generate — Create a mobile “experience” + QR

  • Best for: No website? Need a campaign page? Pass type and content; we build the page and generate the QR pointing to it.
  • Types: page (Page Builder JSON), url, text, rating, mp3, pdf, social, images, app, videos, event (with calendar), coupon, feedback, vcard_plus.
  • Output: scan_url (public), experience (id/code/type/title), and the same QR image payload as the generator.
  • Why it matters: You control the full UX post-scan, can update content later, and track scans + custom actions.

#POST /v1/qr-scan/scan — Log a scan

  • Best for: Server-side logging when your scan route is hit (we also auto-log from our hosted routes).
  • Identify experience via: experience_id or pair type + code.
  • Output: ok, experience_id, code, type.

#POST /v1/qr-scan/event — Log a custom event

  • Best for: Button clicks (cta_click), ratings submitted, downloads, etc., tied back to an experience.
  • Inputs: experience (id or type+code), event (string), optional value, optional meta.
  • Output: ok.

#Quick start

# 1) Plain QR image (SVG; best for print)
curl -sX POST "https://api.yeb.to/v1/qr-code/generate" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "qr_code_text":"https://example.com/summer-menu", "image_format":"SVG" }'
# 2) Experience page + QR (gallery landing with CTA)
curl -sX POST "https://api.yeb.to/v1/qr-experience/generate" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "type":"page",
       "page":{ "version":1, "theme":{"primary":"#0ea5e9","accent":"#111111"},
         "layout":{"cols":2,"gap":12},
         "blocks":[
           {"type":"hero","props":{"headline":"Winter Lookbook","description":"Short intro…","align":"center",
              "cta":{"label":"SHOP NOW","href":"https://example.com"}}},
           {"type":"gallery","props":{"scroll":"horizontal","images":[
              {"url":"https://picsum.photos/seed/a/600/400"},{"url":"https://picsum.photos/seed/b/600/400"}]}},
           {"type":"button","props":{"label":"Open site","href":"https://yeb.to","variant":"primary","align":"center"}}
         ]},
       "image_format":"PNG","image_width":600,
       "qr_code_logo":"scan-me","frame_name":"bottom-banner","frame_text":"Scan me",
       "save":1,"storage_disk":"public","storage_folder":"qr_codes","filename_base":"winter-lookbook" }'
# 3) Log a custom event (CTA click)
curl -sX POST "https://api.yeb.to/v1/qr-scan/event" \
 -H "Accept: application/json" -H "Content-Type: application/json" \
 -d '{ "api_key":"<YOUR_KEY>", "type":"page", "code":"<experience_code>",
       "event":"cta_click", "value":"shop_now", "meta":{"source":"landing"}}'

#Full “everything on” request (covers most options)

Use this to see how fields combine. Trim what you don’t need.

POST /v1/qr-experience/generate
{
  "api_key": "YOUR_KEY",
  "type": "page",

  "image_format": "PNG",
  "image_width": 720,
  "foreground_color": "#111111",
  "background_color": "#FFFFFF",

  "body_style": "dot",
  "eye_style":  "circle",
  "eye_outer_color": "#111111",
  "eye_inner_color": "#111111",
  "eye1_outer_color": "#111111",
  "eye1_inner_color": "#FF4D4D",
  "eye2_outer_color": "#111111",
  "eye2_inner_color": "#FFB84D",
  "eye3_outer_color": "#111111",
  "eye3_inner_color": "#4DD2FF",

  "qr_code_logo": "scan-me",
  "frame_name": "bottom-banner",
  "frame_color": "#111111",
  "frame_text": "Scan me",
  "frame_text_color": "#FFFFFF",
  "frame_icon_name": "qr",

  "save": 1,
  "download": 0,
  "include_bytes": 0,
  "storage_disk": "public",
  "storage_folder": "qr_codes",
  "filename_base": "campaign-q1",

  "page": {
    "version": 1,
    "theme": { "primary": "#0ea5e9", "accent": "#111111" },
    "layout": {
      "cols": 2, "gap": 12,
      "sections": { "enabled": false, "collapsible": false, "default_open": true,
        "style": "card", "radius": 12, "border": "1px solid rgba(255,255,255,.12)", "background": "rgba(255,255,255,.03)" }
    },
    "blocks": [
      { "type": "hero", "props": { "headline": "Winter Lookbook", "description": "Short intro…", "align": "center",
          "cta": { "label": "SHOP NOW", "href": "https://example.com?utm_source=qr&utm_campaign=winter" } } },
      { "type": "gallery", "props": { "scroll": "horizontal", "images": [
          { "url": "https://picsum.photos/seed/a/600/400" }, { "url": "https://picsum.photos/seed/b/600/400" } ] } },
      { "type": "video", "props": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } },
      { "type": "pdf",   "props": { "url": "https://example.com/catalog.pdf", "title": "Catalog" } },
      { "type": "appBadges", "props": { "ios":"https://apps.apple.com/app/id000000", "android":"https://play.google.com/store/apps/details?id=app" } },
      { "type": "socialLinks", "props": { "items":[
          {"name":"Instagram","url":"https://instagram.com/brand"},{"name":"TikTok","url":"https://tiktok.com/@brand"} ] } },
      { "type": "button", "props": { "label":"Open site", "href":"https://yeb.to", "variant":"primary", "align":"center" } }
    ]
  }
}

#Parameters that actually matter

Image generation

ParamTypeRequiredWhy it matters
qr_code_textstringYes (generator)The content to encode. For experiences we auto-use scan_url.
image_formatSVG|PNG|JPGNoSVG for print; PNG for most branded/all-color cases; JPG is smallest but lossy.
foreground_color/background_color#RRGGBBNoEnsure 40%+ contrast. Avoid light-on-light; scanners fail.
body_style/eye_stylestringNo“dot” body + “circle” eyes feels modern; keep eyes visible for reliability.
qr_code_logoenumNo“scan-me” boosts intent. For uploads, ensure 15–20% center area only.
frame_name + text/iconenumNoFrames add CTA without redesigning posters; great for flyers/menus.
save/download/include_bytes0|1Nosave=1 returns file_url. download=1 triggers file response; we auto-force bytes. Default bytes: 1, but 0 if save=1 to keep payloads light.

Experience generation

ParamTypeRequiredPractical guidance
typeenumYesPick the smallest that solves your flow. page is the most flexible.
page.versionintYes (page)Schema version; current UI uses 1.
page.blocks[]arrayYes (page)Hero, gallery, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider.
event.*mixedYes (event)Automatically generates an .ics file; perfect for meetups/concerts.
vcard_plus.*mixedYes (vcard_plus)Generates a downloadable .vcf and optional photo avatar.

Scan & events

ParamTypeRequiredNotes
experience_id OR type+codeint / stringYesEither pass the numeric id or the pair; avoid both.
eventstringYes (for /event)Example: cta_click, rating_submitted, download.
valuestring|numberNoOptional payload (e.g., rating value, button id).
metaobjectNoExtra attribution (campaign, placement). IP/UA/referrer are auto-recorded server-side.

#Reading & acting on responses

QR image (generator)

{
  "mime":"image/png","ext":"png","width":720,"height":880,
  "saved":true,"file_url":"https://cdn.your-site/qr_codes/2025/08/21/qr-...png",
  "file_path":"qr_codes/2025/08/21/qr-...png",
  "meta":{"format":"PNG","logo":"scan-me","shape":{"body":"dot","eye":"circle"}},
  "data_base64": null
}
  • Store file_url for reuse. Keep meta if you render previews.
  • Large payloads? Set include_bytes=0 and rely on CDN URLs.

Experience + QR

{
  "scan_url":"https://yeb.to/s/abc123",
  "experience":{"id":1902,"code":"abc123","type":"page","title":"Winter Lookbook"},
  "mime":"image/png","ext":"png","width":720,"height":880,
  "saved":true,"file_url":"https://.../qr_codes/.../campaign-q1.png",
  "meta":{ "...": "..." }, "data_base64": null
}
  • scan_url is the URL to print/embed into any QR.
  • Use qr-scan/event to track CTA clicks (e.g., “Get tickets”).

#Practical recipes

  • Print-ready assets: Prefer SVG. Keep a 4-module quiet zone; test from 30–50 cm.
  • Brand triad: Per-eye inner colors (eye1/2/3_inner_color) for brand palettes without hurting readability.
  • Events/RSVP: type=event auto-generates .ics; add a CTA to a ticketing URL.
  • vCard at conferences: type=vcard_plus produces a downloadable contact card + avatar.
  • Attribution: Append ?utm_source=qr to external links inside page blocks; also log /event on click.

#Errors & safeguards

  • 422 — Validation (e.g., page.blocks missing for type=page).
  • 404 — Experience not found (wrong type/code pair).
  • 410 — Experience inactive/expired.
  • download=1 forces raw bytes; prefer save=1 + CDN for production.

#API Changelog (QR Suite)

2025-11-05
Kitchen-sink request sample. Added full example covering most qr-experience/generate and QR styling options.
2025-11-03
Event & Feedback upgrades. event now supports cover images; feedback adds display=wizard and cover support.
2025-11-02
Scan logging API. Exposed /v1/qr-scan/scan and /v1/qr-scan/event for server-side tracking with IP/UA/referrer capture.
2025-10-28
Output payload hardening. include_bytes defaults to 0 when save=1; frames and logos documented in meta.
2025-10-20
Experiences v1. Added Page Builder (type=page) with blocks (hero, gallery, video, mp3, pdf, socialLinks, event, coupon, rating, feedback, vcardPlus, text, button, spacer, divider).

Use the endpoint playgrounds on this page to test payloads and lock in your defaults (format, logo/frame, storage path).

Често задавани въпроси

SVG е идеален за печат и екрани с висока плътност (векторен). PNG/JPG са растерни; използвайте ги, когато се нуждаете от персонализирани форми, цветове за всяко око или рамки.

Използвайте тъмни модули на светъл фон, поддържайте добър контраст, избягвайте натоварени изображения зад кода и не надвишавайте ~25-30% размер на логото.

Използваме High (H), приблизително до ~30% толеранс към повреди при идеални условия.

Да, 4 модула отстояние около QR кода са задължителни.

Рамките се прилагат към растерни изходи (PNG/JPG). SVG използва основния QR код.

Hex #RRGGBB. Невалидните стойности се заменят с #000000.

На конфигурирания Laravel диск (по подразбиране public) под {folder}/YYYY/MM/DD. API-то връща file_url и file_path.

Когато include_bytes=1, връщаме data URI низ (напр. data:image/png;base64,...) за директно вграждане.

Да. Всяка заявка, дори тази с грешка, изразходва кредити. Това е така, защото кредитите ви са обвързани с броя заявки, независимо от успеха или неуспеха. Ако грешката е ясно по наша вина, ще възстановим засегнатите кредити (без парично възстановяване).

Свържете се с нас на [email protected]. Приемаме обратната връзка сериозно — ако докладът ви за бъг или заявката за функционалност е смислена, можем да поправим или подобрим API-то бързо и да ви предоставим 50 безплатни кредита като благодарност.

Зависи от API-то и понякога дори от конкретната крайна точка. Някои крайни точки използват данни от външни източници, които може да имат по-строги ограничения. Ние също налагаме лимити за предотвратяване на злоупотреби и поддържане стабилността на платформата. Проверете документацията за конкретния лимит на всяка крайна точка.

Работим на кредитна система. Кредитите са предплатени, невъзстановими единици, които изразходвате за API извиквания и инструменти. Кредитите се изразходват FIFO (първи закупен, първи използван) и са валидни 12 месеца от датата на покупка. Таблото показва датата на покупка и изтичането на всяка покупка.

Да. Всички закупени кредити (включително дробни баланси) са валидни 12 месеца от покупката. Неизползваните кредити автоматично изтичат и се изтриват окончателно в края на периода на валидност. Изтеклите кредити не могат да бъдат възстановени или конвертирани в пари или друга стойност. Преходно правило: кредити, закупени преди 22 септ. 2025 г., се третират като закупени на 22 септ. 2025 г. и изтичат на 22 септ. 2026 г. (освен ако не е посочено по-ранно изтичане при покупката).

Да — в рамките на периода им на валидност. Неизползваните кредити остават налични и се прехвърлят от месец на месец, докато не изтекат 12 месеца след покупката.

Кредитите са невъзстановими. Купувайте само каквото ви трябва — винаги можете да заредите по-късно. Ако грешка от наша страна причини неуспешно таксуване, може да възстановим засегнатите кредити след проверка. Без парично възстановяване.

Цените са определени в кредити, не в долари. Всяка крайна точка посочва собствената си цена — вижте бадж „Кредити / заявка" по-горе. Винаги ще знаете точно колко изразходвате.
← Обратно към API-тата