QRinio

QRinio API v1

API-documentatie

Beheer dynamische QR-items en korte links vanaf je server. Begin met authenticatie, veilige herhalingen en revisies.

1. Authenticeren

Bevestig je e-mail en maak een API-sleutel in de instellingen. Stuur hem als Bearer-token vanaf je server. Sleutels ondersteunen items, bestanden, ontwerpen en het lezen van limieten en werkruimtes. Accountbeveiliging, domeinen en beheer vereisen een browsersessie. Zet sleutels nooit in clientcode.

2. Maak een item

Het voorbeeld maakt een QR-doorverwijzing en korte link op het standaarddomein. Ze delen één bestemming en gebruiken elk hun eigen tegoed. De respons bevat ID, slug en revisie. Teken /r/ als QR en deel /s/ als korte link. De API geeft gegevens terug, geen afbeelding.

Voorbeeldaanvraag
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
}'
Deel van de respons
{
  "id": "00000000-0000-4000-8000-000000000042",
  "slug": "sample-code",
  "revision": 1
}

3. Wijzig zonder teamwerk te overschrijven

Lees eerst het item en stuur de actuele revisie met PATCH. Bij revision_conflict (409) lees je opnieuw en verwerk je verschillen vóór herhaling. DELETE met ?revision= verplaatst naar de prullenbak; herstel kan 30 dagen. Definitief wissen is apart. Archief en prullenbak blijven meetellen.

Voorbeeldaanvraag
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. Veilig herhalen en batches

Gebruik dezelfde Idempotency-Key en identieke inhoud bij opnieuw aanmaken. Sleutels blijven 24 uur bewaard; een andere inhoud met dezelfde sleutel geeft 409. Batches vereisen een sleutel en 1–100 items met unieke rijsleutels. Elk item krijgt een status; HTTP 200 betekent niet dat alles slaagde. Bewaar resultaten zelf.

Voorbeeldaanvraag
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
      }
    }
  ]
}'

Limieten en fouten

Lees /quotas voor actuele limieten en uitzonderingen. Sleutels en sessies delen aanvraaglimieten; eigen werkruimtes delen het tegoed van de eigenaar. Respecteer bij 429 Retry-After en wacht. Gebruik code voor foutafhandeling; message is diagnostisch. Herhaal validatie-, rechten- of quotafouten niet automatisch.

Leesaanvragen per minuut
120
Schrijfaanvragen per minuut
30
Batchaanvragen per minuut
2

Endpointoverzicht

Lijst items met page (vanaf 1), pageSize (1–100), q, status en workspaceId. Zonder workspaceId krijg je alleen persoonlijke items. Bestanden gebruiken limit (1–200), offset, search en kind=pdf of image. Gehoste profielen, links en PDF vereisen published=true voor publicatie.

Endpointoverzicht
GET /resourcesAlles op één plek.
POST /resourcesQR-code maken
GET · PATCH · DELETE /resources/{id}Bewerken
POST /resources/batchCSV importeren
POST /resources/bulkMap en tags instellen
GET /resources/{id}/analytics?days=30Statistieken
GET /resources/{id}/historyVersiegeschiedenis
GET · POST /assetsBestanden
GET /quotasBegin gratis. Weet waar je aan toe bent.
GET /workspacesWerkruimtes