# QR-codes.

> Source: https://docs.gifty.nl/nl/integrations/technical-specifications/qr-codes
> Language: nl

Gifty maakt gebruik van QR-codes om cadeaubon-codes te coderen. Deze QR-codes kunnen een volledige URL bevatten die verwijst naar ons walletsysteem of een eenvoudige identificatiecode. Dit artikel beschrijft de technische details van onze QR-code-implementatie en geeft richtlijnen voor het correct configureren van scanners met kassasystemen.

---

<a id="code-structure"></a>

## Code-structuur

Onze QR-codes ondersteunen twee formaten om te voldoen aan verschillende integratievereisten en systeemmogelijkheden:

<a id="url-formaat"></a>

### URL-formaat

Het primaire formaat bevat een volledige URL die verwijst naar ons walletsysteem. Deze URL bevat de cadeaubon-identificatiecode en biedt directe toegang tot de digitale wallet-interface.

```text
https://wallet.gifty.nl/[identifier]/[token]
Bijv: https://wallet.gifty.nl/ABCDABCDABCDABCD/123456
```

De URL-structuur bestaat uit:

- Een domeinnaam (afhankelijk van de implementatie)
- Eén of meerdere segmenten die de cadeaubon-identificatiecode bevatten
- Alleen hoofdletters (A-Z) en cijfers (0-9)

<a id="direct-formaat-legacy"></a>

### Direct formaat (legacy)

Voor compatibiliteit met oudere systemen en specifieke integratievereisten ondersteunen we ook een vereenvoudigd formaat dat alleen de cadeaubon-identificatiecode bevat. Deze legacy codes kunnen enkel door Gifty ingeschakeld worden en gelden dan voor het gehele account. Dit formaat kan gebruikt worden wanneer:

1. Het kassasysteem beperkte mogelijkheden heeft voor URL-verwerking
2. Cadeauboncodes worden geïmporteerd uit externe systemen
3. Dit voor een specifieke integratie gewenst is

```text
[identifier]
Bijv: ABCDABCDABCDABCD
```

---

<a id="technical-implementation"></a>

## Technische implementatie

Onze QR-codes maken gebruik van UTF-8-codering en bevatten Extended Channel Interpretation (ECI)-informatie. Dit zorgt voor brede compatibiliteit met moderne scanners.

URL-formaat QR-codes bevatten:

- Alleen ASCII-tekens (codes 0-127)
- Hoofdletters en cijfers (A-Z, 0-9)
- Essentiële URL-tekens (schuine streep, punt, dubbele punt)

Direct formaat (legacy) QR-codes bevatten:

- Alleen hoofdletters en cijfers (A-Z, 0-9)

---

<a id="scanner-configuration"></a>

## Scannerconfiguratie

De meeste barcodescanners kunnen op twee manieren worden geconfigureerd:

**Configuratie via barcodes (meest voorkomend)**

1. Zoek de handleiding van de scanner
2. Ga naar de sectie met instellingen voor QR- of 2D-barcodes
3. Scan de configuratiebarcodes om wijzigingen door te voeren

**Softwareconfiguratie**

1. Sluit de scanner aan op een computer met de software van de fabrikant
2. Ga naar de instellingen voor QR- of 2D-barcodes
3. Pas de configuratie aan en sla de wijzigingen op in de scanner

<a id="algemene-scannerinstellingen"></a>

### Algemene scannerinstellingen

****Om een barcode scanner te laten werken met Gifty QR-codes raden we de volgende instellingen aan:

1. Stel de primaire codering in op UTF-8
2. Schakel URL-voorverwerking (preprocessing) uit
3. Voorkom dat de scanner voorvoegsels of achtervoegsels toevoegt
4. Schakel ruwe datatransmissie (raw data transmission) in
5. Controleer of de maximale string-lengte voldoende is

<a id="validatie-en-testen"></a>

### Validatie en testen

Een correct geconfigureerde scanner moet de volledige QR-code-inhoud zonder wijzigingen weergeven. Dit kan worden gecontroleerd door QR-codes in te scannen en de uitvoer te bekijken in een eenvoudige teksteditor, zoals Kladblok (Windows) of Tekteditor (macOS).

**URL-formaat**

![URL Format](https://docs.gifty.nl/images/content/url-format-1739813234vj4te-1739813309sVI9i.png)

URL Format

Verwachte uitvoer: https://wallet.gifty.nl/ABCDABCDABCDABCD/123456

**Direct formaat**

![Direct Format](https://docs.gifty.nl/images/content/direct-format-1739813235nowb2-1739813335iJLdW.png)

Direct Format

Verwachte uitvoer: ABCDABCDABCDABCD

<a id="veelvoorkomende-problemen"></a>

### Veelvoorkomende problemen

| Probleem | Oplossing |
| --- | --- |
| Extra tekens in de uitvoer: <br>\000026https://wallet.gifty.nl/... | De scanner voegt controlekarakters toe. Schakel speciale tekenverwerking uit in de scannerinstellingen. |
| Ingekorte tekst | Controleer of de maximale stringlengte van de scanner groot genoeg is. |
| Verkeerde of vreemde tekens | Controleer of UTF-8-ondersteuning correct is ingeschakeld. |
