QRinio

QRinio API v1

API belgeleri

Dinamik QR kayıtlarını ve kısa bağlantıları sunucundan yönet. Kimlik doğrulama, güvenli tekrar ve sürüm kontrollü güncellemeyle başla.

1. Kimlik doğrula

E-postanı doğrula ve ayarlarda API anahtarı oluştur. Sunucundan Bearer belirteci olarak gönder. Kayıt, dosya, tasarım işlemleri ile kota ve çalışma alanı okumayı destekler. Hesap güvenliği, alan adı yönetimi ve yönetici işlemleri tarayıcı oturumu ister. Anahtarı istemci kodunda gösterme.

2. Kayıt oluştur

Örnek, varsayılan alan adında web QR yönlendirmesi ve kısa bağlantı oluşturur. Aynı hedefi paylaşırlar ve ilgili kotaları kullanırlar. Yanıt kimlik, slug ve sürüm içerir. /r/ adresini QR görseli yap, /s/ adresini kısa bağlantı olarak paylaş. API görsel değil veri döndürür.

Örnek istek
curl --request POST 'https://qrinio.com/api/v1/resources' \
  --header "Authorization: Bearer $QRINIO_API_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: product-42-v1' \
  --data '{
  "title": "Product 42",
  "targetUrl": "https://example.com/products/42",
  "qrEnabled": true,
  "shortEnabled": true
}'
Yanıt örneği
{
  "id": "00000000-0000-4000-8000-000000000042",
  "slug": "sample-code",
  "revision": 1
}

3. Ekip değişikliklerini koruyarak güncelle

Kaydı oku ve PATCH ile güncel sürümü gönder. revision_conflict (409) olursa yeniden oku, değişiklikleri uzlaştır ve tekrar dene. ?revision= ile DELETE çöp kutusuna taşır; 30 gün geri yüklenebilir. Kalıcı silme ayrıdır. Arşiv ve çöp kutusu kotaya sayılır.

Örnek istek
curl --request PATCH 'https://qrinio.com/api/v1/resources/00000000-0000-4000-8000-000000000042' \
  --header "Authorization: Bearer $QRINIO_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "revision": 1,
  "targetUrl": "https://example.com/products/42-v2"
}'

4. Güvenli tekrar ve toplu işlem

Oluşturmayı tekrarlarken aynı Idempotency-Key ve aynı gövdeyi kullan. Anahtarlar 24 saat tutulur; aynı anahtarla farklı gövde 409 döndürür. Toplu işlemler anahtar ve benzersiz satır anahtarlı 1–100 öğe ister. Her öğenin durumu ayrıdır; HTTP 200 tüm satırların başarılı olduğu anlamına gelmez. Sonuçları kendi sisteminde sakla.

Örnek istek
curl --request POST 'https://qrinio.com/api/v1/resources/batch' \
  --header "Authorization: Bearer $QRINIO_API_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: catalog-batch-42-v1' \
  --data '{
  "items": [
    {
      "key": "product-42",
      "data": {
        "title": "Product 42",
        "targetUrl": "https://example.com/products/42",
        "qrEnabled": true,
        "shortEnabled": true
      }
    }
  ]
}'

Sınırlar ve hatalar

Güncel kota ve istisnaları /quotas ile oku. Anahtarlar ve oturumlar hesap istek sınırlarını, sahip olunan alanlar sahibin kotasını paylaşır. 429 durumunda Retry-After süresine uy ve bekle. Hataları code alanıyla işle; message tanılama metnidir. Doğrulama, yetki veya kota hatalarını otomatik tekrarlama.

Dakikada okuma isteği
120
Dakikada yazma isteği
30
Dakikada toplu istek
2

Uç nokta başvurusu

Kayıtları page (1’den), pageSize (1–100), q, status ve workspaceId ile listele. workspaceId yoksa yalnızca kişisel kayıtlar döner. Dosyalar limit (1–200), offset, search ve kind=pdf veya image kullanır. Profil, bağlantı ve PDF sayfaları yayın için published=true ister.

Uç nokta başvurusu
GET /resourcesHer şey bir arada.
POST /resourcesQR kod oluştur
GET · PATCH · DELETE /resources/{id}Düzenle
POST /resources/batchCSV içe aktar
POST /resources/bulkKlasör ve etiketleri ayarla
GET /resources/{id}/analytics?days=30İstatistikler
GET /resources/{id}/historySürüm geçmişi
GET · POST /assetsDosyalar
GET /quotasÜcretsiz başla. Sınırlarını bil.
GET /workspacesÇalışma alanları