API Gjeneruesi i Kodeve QR

Gjeneroni kode QR me markë (PNG/JPG/SVG) me forma, ngjyra për sy, logo dhe korniza promovuese.

Çfarë mund të bëni?
Forma dhe ngjyra të personalizuara

Module pikë/katror + sy rrethore/katrorë, me ngjyra për sy.

Logo qendrore

Vendosni një logo në mes (ngarkoni ose paracaktim si "scan-me").

Korniza promovuese

Baner poshtë, kokë lart, flluskë bisede, shirit, stemë.

Ruaj dhe gati për CDN

Ruani në disk dhe merrni një URL publik menjëherë.

Provo drejtpërdrejt
99.9 % Koha aktive
Përgjigje
20 req/s
0.01 Kredite / kërkesë

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
}

Kodet e përgjigjes

KodiPërshkrimi
200 SuccessKërkesa u përpunua me sukses.
400 Bad RequestVërtetimi i hyrjes dështoi.
401 UnauthorizedÇelësi API mungon / është i gabuar.
403 ForbiddenÇelësi joaktiv ose i palejuar.
429 Rate LimitShumë kërkesa.
500 Server ErrorDështim i papritur.

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

                

API Gjeneruesi i Kodeve QR — 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).

Pyetje të bëra shpesh

SVG është ideal për printim dhe ekrane me DPI të lartë (vektor). PNG/JPG janë raster; përdorini kur keni nevojë për forma të personalizuara, ngjyra për sy ose korniza.

Përdorni module të errëta në sfond të ndritshëm, mbani kontrast të mirë, shmangni imazhe të ngarkuara pas kodit dhe mos kaloni ~25–30% madhësinë e logos.

Përdorim I Lartë (H), përafërsisht deri në ~30% tolerancë dëmtimi në kushte ideale.

Po, 4 module marzh rreth QR zbatohen.

Kornizat zbatohen në daljet raster (PNG/JPG). SVG përdor vetëm QR bazë.

Hex #RRGGBB. Vlerat e pavlefshme kthehen në #000000.

Në diskun Laravel të konfiguruar (parazgjedhur public) nën {folder}/YYYY/MM/DD. API kthen file_url dhe file_path.

Kur include_bytes=1, kthejmë një varg Data URI (p.sh., data:image/png;base64,...) për vendosje të drejtpërdrejtë.

Po. Çdo kërkesë, edhe ato që rezultojnë në gabime, konsumon kredite. Kreditet tuaja janë të lidhura me numrin e kërkesave, pavarësisht suksesit ose dështimit. Nëse gabimi shkaktohet qartë nga një problem i platformës në anën tonë, do të rivendosim kreditet e prekura (pa rimbursime në para të gatshme).

Na kontaktoni në [email protected]. I marrim komentet seriozisht—nëse raporti juaj i defektit ose kërkesa për veçori është e arsyeshme, mund ta rregullojmë ose përmirësojmë API-në shpejt dhe t'ju japim 50 kredite falas si faleminderit.

Varet nga API-ja dhe ndonjëherë edhe nga endpoint-i. Disa endpoint-e përdorin të dhëna nga burime të jashtme, të cilat mund të kenë kufij më të rreptë. Gjithashtu zbatojmë kufij për të parandaluar abuzimin dhe për të mbajtur platformën tonë të qëndrueshme. Kontrolloni dokumentacionin për kufirin specifik të çdo endpoint-i.

Operojmë me një sistem kreditesh. Kreditet janë njësi të parapaguara, jo të rimbursueshme që i shpenzoni në thirrje API dhe mjete. Kreditet konsumohen sipas FIFO (më të vjetrat së pari) dhe janë të vlefshme për 12 muaj nga data e blerjes. Paneli tregon çdo datë blerjeje dhe skadimin e saj.

Po. Të gjitha kreditet e blera (përfshirë balancat fraksionale) janë të vlefshme për 12 muaj nga blerja. Kreditet e papërdorura skadojnë automatikisht dhe fshihen përgjithmonë në fund të periudhës së vlefshmërisë. Kreditet e skaduara nuk mund të rivendosen ose konvertohen në para të gatshme ose vlerë tjetër. Rregulli kalimtar: kreditet e blera para 22 shtatorit 2025 trajtohen si të blera më 22 shtator 2025 dhe skadojnë më 22 shtator 2026 (përveç nëse një skadim më i hershëm u deklarua gjatë blerjes).

Po—brenda periudhës së tyre të vlefshmërisë. Kreditet e papërdorura mbeten të disponueshme dhe barten nga muaji në muaj derisa të skadojnë 12 muaj pas blerjes.

Kreditet janë jo të rimbursueshme. Blini vetëm atë që ju duhet—gjithmonë mund të rimbushni më vonë. Nëse një gabim i platformës shkakton një debitim të dështuar, mund të rivendosim kreditet e prekura pas hetimit. Asnjë rimbursim në para të gatshme.

Çmimet janë caktuar në kredite, jo në dollarë. Çdo endpoint ka koston e vet—shikoni stemën "Kredite / kërkesë" më lart. Gjithmonë do të dini saktësisht sa po shpenzoni.
← Kthehu te API-të