De GetQR API is in bèta en beschikbaar voor geselecteerde workspaces. Details kunnen nog veranderen vóór de algemene release.
Zo werkt het
1
Start de bulkaanmaak
Stuur je rijen met Aanmaken vanuit JSON of Aanmaken vanuit een CSV-bestand. De API antwoordt met
202 en de bulkaanmaak met zijn id.2
Vraag de voortgang op
Roep Een bulkaanmaak ophalen om de paar seconden aan, tot
status completed of failed is.3
Download het archief
Is
status completed, roep dan Het archief downloaden aan voor een ZIP met de QR-codeafbeeldingen.- Limiet. Maximaal 100 rijen per bulkaanmaak.
- Eén tegelijk. Per workspace loopt maar één bulkaanmaak. Start je er een terwijl er al een loopt, dan krijg je de lopende terug.
- Idempotentie. Elk verzoek heeft een
idempotencyKeynodig. Herhaal je een verzoek met dezelfde sleutel en dezelfde body, dan krijg je de bulkaanmaak terug die al is gestart. Dezelfde sleutel met een andere body geeft422. - Rijen. Elke rij heeft een
nameen eenurlnodig. Zie Rijen. - Abonnement. Bulkaanmaak is niet beschikbaar bij het Single QR-abonnement: het verzoek geeft
403 exceeded_limit.
Rijen
- Naam. Wordt de titel van de QR-code. Bijgesneden en ingekort tot 40 tekens. Herhaalde namen (ongeacht hoofdletters) krijgen een nummer:
Menu,Menu 2,Menu 3. - URL. Wordt de bestemming. Het moet een
http- ofhttps-adres met een echt domein zijn, zoalsexample.com/menu, zonder spaties. Een URL zonder schema krijgthttps://. - Lege rijen. Rijen zonder naam en zonder URL worden overgeslagen. Een rij met maar één van beide wordt geweigerd.
website-QR-code op een korte link. Zie QR-types.
Headers
string
vereist
Bearer gevolgd door je API-sleutel. Zie Authenticatie.string
application/json voor Aanmaken vanuit JSON, multipart/form-data voor Aanmaken vanuit een CSV-bestand.Het bulkaanmaakobject
string
ID van de bulkaanmaak, bijvoorbeeld
cm2k7x9qb0003ax8eb4f6gh2t.string
queued, processing, packaging of completed. Een mislukte of afgebroken bulkaanmaak gaat via rollingBack naar failed.string
Naam van het bronbestand.
integer
Aantal rijen.
integer
Tot nu toe aangemaakte QR-codes.
integer
Tot nu toe gerenderde QR-codeafbeeldingen.
integer
Totale voortgang, 0 tot 100. Aanmaken loopt tot 40, renderen tot 90, inpakken is 95, en
completed is 100.boolean
true als een lopende bulkaanmaak 2 minuten geen voortgang heeft gemaakt. Blijf de status opvragen: Een bulkaanmaak ophalen start een vastgelopen bulkaanmaak opnieuw.object | null
Als
status failed is: code en message. Een afgebroken bulkaanmaak heeft de code cancelled_by_user. Een mislukte bulkaanmaak wordt teruggedraaid, dus geen van de QR-codes blijft bestaan.string | null
Pad van Het archief downloaden, zodra
status completed is.string
Startdatum, ISO 8601.
string
Datum van de laatste update, ISO 8601.
string | null
Datum van voltooiing, ISO 8601.
string | null
Datum waarop de bulkaanmaak is mislukt, ISO 8601.
De huidige bulkaanmaak ophalen
GET /api/v1/bulk-qr-creations
Geeft de bulkaanmaak terug die nog loopt in je workspace. Loopt er geen, dan krijg je de laatste afgeronde (completed of failed) terug tot die is afgesloten: dat gebeurt door het archief te downloaden of hem in het dashboard te sluiten. Anders krijg je null. Gebruik dit om na een herstart de voortgang weer te volgen.
Aanmaken vanuit JSON
POST /api/v1/bulk-qr-creations
Start een bulkaanmaak vanuit een lijst met rijen. Antwoordt met 202 Accepted. De bulkaanmaak loopt op de achtergrond.
object[]
vereist
QR-codes om aan te maken, maximaal 100. Elke rij is
{ "name": "...", "url": "..." } en accepteert geen andere velden. Zie Rijen.object
vereist
Ontwerp dat op elke QR-code wordt toegepast:
styles, frameOptions en logoOptions, allemaal optioneel. Stuur {} voor het standaardontwerp. Andere velden worden geweigerd. Zie Aanpassing.string
vereist
Naam die in het dashboard wordt getoond en voor het archief wordt gebruikt, 1 tot 255 tekens.
string
vereist
Je eigen sleutel voor deze bulkaanmaak, 8 tot 100 tekens.
Aanmaken vanuit een CSV-bestand
POST /api/v1/bulk-qr-creations/csv
Hetzelfde als Aanmaken vanuit JSON, maar de rijen komen uit een CSV-bestand dat als multipart/form-data wordt verstuurd. Antwoordt met 202 Accepted.
Het bestand moet een .csv van maximaal 1.000.000 bytes zijn. De kopregel moet precies name,url zijn, gevolgd door maximaal 100 gegevensrijen. Zie CSV-formaat.
file
vereist
Het CSV-bestand.
string
vereist
Het ontwerpobject, geserialiseerd als JSON, bijvoorbeeld
{"styles":{"dotsOptions":{"type":"rounded"}}}. Stuur {} voor het standaardontwerp.string
vereist
Je eigen sleutel voor deze bulkaanmaak, 8 tot 100 tekens.
string
Naam die in het dashboard wordt getoond en voor het archief wordt gebruikt, maximaal 255 tekens. Standaard de naam van het geüploade bestand.
Een bulkaanmaak ophalen
GET /api/v1/bulk-qr-creations/{id}
Geeft de status en voortgang van een bulkaanmaak terug. Vraag dit op zolang status queued, processing of packaging is. downloadUrl verschijnt zodra het archief klaar is.
string
vereist
ID van de bulkaanmaak. Neem die over uit het antwoord van het aanmaken of van de huidige bulkaanmaak.
Een bulkaanmaak afbreken
DELETE /api/v1/bulk-qr-creations/{id}
Stopt een lopende bulkaanmaak en verwijdert de QR-codes die al zijn aangemaakt. Het terugdraaien gebeurt tijdens het verzoek, dus het antwoord heeft normaal status failed en error.code cancelled_by_user. Breek je een bulkaanmaak af die al is mislukt, dan krijg je hem ongewijzigd terug.
string
vereist
ID van de bulkaanmaak.
Het archief downloaden
GET /api/v1/bulk-qr-creations/{id}/download
Geeft een ZIP-archief terug met één JPEG van 1024 px per QR-code, genoemd naar de rij: 001-Menu.jpg, 002-Wine list.jpg enzovoort. Het archief krijgt de naam van sourceFilename. Beschikbaar zodra status completed is. Door te downloaden wordt de bulkaanmaak afgesloten, zodat De huidige bulkaanmaak ophalen hem niet meer teruggeeft.
string
vereist
ID van de bulkaanmaak.
Veelvoorkomende problemen
422 met "contains an invalid HTTP(S) URL"
422 met "contains an invalid HTTP(S) URL"
Het bericht noemt de rij. Elke URL moet een
http- of https-adres met een echt domein zijn, zoals example.com/menu. Corrigeer de rij en verstuur het verzoek opnieuw.422 "CSV headers must be exactly: name,url."
422 "CSV headers must be exactly: name,url."
De eerste rij van de CSV moet
name,url zijn, in die volgorde en in kleine letters, zonder andere kolommen.422 "This idempotencyKey was already used with a different request body."
422 "This idempotencyKey was already used with a different request body."
Sleutels kun je niet hergebruiken voor een andere batch. Stuur een nieuwe
idempotencyKey.409 "The bulk QR archive is not ready for download."
409 "The bulk QR archive is not ready for download."
De bulkaanmaak is nog niet voltooid. Blijf de status opvragen tot
status completed is.400 "Cannot cancel a finished bulk QR creation."
400 "Cannot cancel a finished bulk QR creation."
De bulkaanmaak is al voltooid, dus hij kan niet meer worden teruggedraaid.
403 exceeded_limit
403 exceeded_limit
Je workspace heeft het Single QR-abonnement, waarin bulkaanmaak niet zit. Upgrade je abonnement.
Ik kreeg een oudere bulkaanmaak terug in plaats van een nieuwe
Ik kreeg een oudere bulkaanmaak terug in plaats van een nieuwe
Er loopt nog een andere bulkaanmaak in je workspace, of je hebt een
idempotencyKey hergebruikt. Wacht tot die klaar is, of gebruik een nieuwe sleutel.