API Dokümantasyonu

NoaSoft QR Menu API ile token tabanlı olarak QR kod üretebilir, renkleri, arka planı ve logoyu özelleştirebilir, URL, metin, Wi-Fi, etkinlik veya sosyal medya gibi hazır şablonlarla içerik hazırlayabilirsiniz. Her çağrı aboneliğinizde tanımlı limite göre takip edilir.

Kimlik Doğrulama

Admin veya müşteri panelinden oluşturduğunuz tokenları aşağıdaki yöntemlerden biriyle gönderin:

  • Authorization: Bearer <TOKEN> başlığı
  • JSON gövdesinde token alanı
  • GET isteklerinde ?token=<TOKEN> parametresi

Temel Endpoint

https://qrmenu.noasoft.org/api/v1/qr

POST isteğinde JSON gövdesi, GET isteğinde sorgu parametreleri kullanın. Her başarılı istek aboneliğinizin aktif paketindeki kullanım hakkından düşer.

Doğrudan <img src> kullanımı için output=image veya embed=1 parametresi ekleyin. type parametresi ile içerik şablonunu, width, height, aspect_ratio ve format parametreleri ile çıktıyı özelleştirebilirsiniz.

Desteklenen İçerik Tipleri

API, istemcideki sekmelerle aynı alanları kullanır. Aşağıdaki tablo her type değeri için gerekli parametreleri listeler. Belirtilen alanlar dışında gönderdiğiniz diğer standart parametreleri (renk, boyut, logo vb.) aynen kullanmaya devam edebilirsiniz.

type Açıklama Zorunlu Alanlar Opsiyonel Alanlar
url Herhangi bir bağlantıyı QR'a dönüştürür. url -
text Serbest metin mesajı. text_content -
email Hazır e-posta oluşturur. email_address email_subject, email_body
phone Telefon araması başlatır. phone_number -
sms SMS mesajı hazırlar. sms_number sms_message
wifi Wi-Fi ağına otomatik bağlanma bilgisi. wifi_ssid wifi_password, wifi_encryption, wifi_hidden
location Enlem & boylam paylaşımı. location_lat, location_lng location_label
event ICS formatında etkinlik kartı. event_title, event_start event_end, event_location, event_description
facebook, instagram, twitter, youtube Sosyal medya profilleri. İlgili *_value alanı -
whatsapp WhatsApp sohbet bağlantısı. whatsapp_number whatsapp_message
bitcoin, ethereum Kripto cüzdan ödemeleri. bitcoin_address / ethereum_address bitcoin_amount, ethereum_amount
custom Ham veri gönderimi (vCard, MECARD vb.). custom_data veya data -

POST İsteği

JSON gövdesi ile renk, arka plan ve logo bilgilerini gönderebilirsiniz. Logo için URL veya base64 verisi desteklenir.

{
  "token": "TOKENINIZ",
  "type": "url",
  "url": "https://ornek.com/menu",
  "color": "#0d6efd",
  "background": "#0b132b",
  "background_transparent": false,
  "width": 640,
  "height": 480,
  "aspect_ratio": "4:3",
  "formats": ["png", "svg"],
  "logo_url": "https://ornek.com/logo.png",
  "embed": true
}

Base64 logo göndermek için logo_upload alanını kullanın. formats alanı birden çok çıktı türünü aynı anda döndürür. aspect_ratio parametresi (ör. 1:1, 4:3) yüksekliği otomatik hesaplar; custom göndererek serbest değer verebilirsiniz. PNG çıktılarında şeffaf arka plan istiyorsanız background_transparent değerini true yapın.

GET İsteği

Doğrudan görüntü almak için aşağıdaki formatı kullanabilirsiniz. Parametreler URL üzerinden sağlanır.

https://qrmenu.noasoft.org/api/v1/qr?
  token=TOKENINIZ&
  type=url&
  url=https%3A%2F%2Fornek.com%2Fmenu&
  width=640&
  aspect_ratio=1:1&
  format=svg&
  output=image&
  background_transparent=true

Varsayılan olarak PNG çıktısı döner. JSON cevap almak için &format=json veya &output=json parametrelerini ekleyin; JSON yanıtta tüm seçtiğiniz formatlar base64 olarak döner.

HTML İçerisinde Kullanım

Tokenınız ile doğrudan web sitenize gömülebilir bir <img> etiketi oluşturabilirsiniz. Her görüntüleme paket limitinizden otomatik düşer.

<img
  src="https://qrmenu.noasoft.org/api/v1/qr?token=TOKENINIZ&type=url&url=https%3A%2F%2Fornek.com"
  alt="Menü QR Kodunuz"
  width="280" />

Renk, arka plan veya logo parametrelerini aynı URL üzerinde kullanmaya devam edebilirsiniz.

Başarılı Yanıt (JSON)

{
  "status": "success",
  "downloads": [
    { "format": "png", "mime": "image/png", "data": "iVBORw0KGgo..." },
    { "format": "svg", "mime": "image/svg+xml", "data": "PHN2ZyB4bWxu..." }
  ],
  "embed_url": "https://qrmenu.noasoft.org/api/v1/qr?token=TOKEN&data=...&output=image",
  "remaining": 96
}

downloads alanında her format base64 olarak döner. remaining değeri mevcut paketinizde kalan hakkınızı gösterir.

Hata Kodları

  • 400 - Parametre eksik veya hatalı
  • 401 - Token geçersiz, e-posta doğrulanmamış veya paket bulunamadı
  • 429 - Paket limitiniz doldu
  • 500 - QR oluşturma sırasında hata

Paket ve Limitler

Her başarılı QR üretimi aboneliğinizin aktif paketinde tanımlanan limitten ve süreden düşer. Limitler %50, %25 ve %5 seviyelerine indiğinde sistem e-posta bilgilendirmesi yapar.

Tokenlarınızı müşteri panelinden pasif hâle getirebilir veya silebilirsiniz. Pasif tokenlarla yapılan istekler reddedilir.