List trashed QR codes
curl --request GET \
--url https://management.scanova.io/qrcode/trash/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qrcode/trash/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://management.scanova.io/qrcode/trash/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://management.scanova.io/qrcode/trash/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://management.scanova.io/qrcode/trash/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://management.scanova.io/qrcode/trash/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qrcode/trash/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 88190,
"qrid": "QR2P8V4LM",
"name": "Old menu — spring",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"short_url": "https://qr.link/d4e5f6",
"thumbnail": "https://cdn.scanova.io/thumbnails/QR2P8V4LM.png",
"is_active": false,
"published_at": "2026-03-01T10:00:00Z",
"category_slug": "url",
"is_currently_draft": false,
"deleted": "2026-08-01T16:22:09Z",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"tags_list": ["menu"],
"dynamic_url_object": { "has_qr": true }
}
]
}
API de gestion — Codes QR
Lister les QR codes dans la corbeille
GET /qrcode/trash/
GET
/
qrcode
/
trash
/
List trashed QR codes
curl --request GET \
--url https://management.scanova.io/qrcode/trash/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qrcode/trash/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://management.scanova.io/qrcode/trash/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://management.scanova.io/qrcode/trash/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://management.scanova.io/qrcode/trash/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://management.scanova.io/qrcode/trash/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qrcode/trash/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 88190,
"qrid": "QR2P8V4LM",
"name": "Old menu — spring",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"short_url": "https://qr.link/d4e5f6",
"thumbnail": "https://cdn.scanova.io/thumbnails/QR2P8V4LM.png",
"is_active": false,
"published_at": "2026-03-01T10:00:00Z",
"category_slug": "url",
"is_currently_draft": false,
"deleted": "2026-08-01T16:22:09Z",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"tags_list": ["menu"],
"dynamic_url_object": { "has_qr": true }
}
]
}
Liste les QR codes qui ont été supprimés de manière logicielle (déplacés vers la corbeille) via
DELETE /qrcode/{qrid}/. Se trouve sur l’hôte Management API (management.scanova.io), authentifié avec votre clé Management API brute.
GET https://management.scanova.io/qrcode/trash/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
Également accessible via
/qr/trash/ — même vue, même comportement.Paramètres de requête
Cet endpoint prend en charge les mêmes paramètressearch, category, tags, type et ordering que GET /qr/, ainsi que des filtres de date de suppression :
string
Date ISO. Renvoie les QR codes supprimés à cette date ou après.
string
Date ISO. Renvoie les QR codes supprimés à cette date ou avant.
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": 88190,
"qrid": "QR2P8V4LM",
"name": "Old menu — spring",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"short_url": "https://qr.link/d4e5f6",
"thumbnail": "https://cdn.scanova.io/thumbnails/QR2P8V4LM.png",
"is_active": false,
"published_at": "2026-03-01T10:00:00Z",
"category_slug": "url",
"is_currently_draft": false,
"deleted": "2026-08-01T16:22:09Z",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"tags_list": ["menu"],
"dynamic_url_object": { "has_qr": true }
}
]
}
Il s’agit d’une structure plus allégée que celle de l’endpoint de liste principal — notamment
deleted (l’horodatage de suppression logicielle) est propre à la corbeille, et dynamic_url_object est ici réduit à simplement {"has_qr": ...} plutôt que l’objet plus complet renvoyé par GET /qr/. La pagination suit la même convention numéro de page, et non URL que l’endpoint de liste principal.Restaurer ou supprimer définitivement des QR codes dans la corbeille
Cette référence couvre uniquement la liste des QR codes dans la corbeille. Les actions de restauration et de suppression permanente du tableau de bord reposent sur des endpoints groupés distincts (POST vers un chemin trash/restore/ et trash/delete/ respectivement) qui ne sont pas encore documentés dans cette référence d’API — contactez support@scanova.io si vous avez besoin dès aujourd’hui d’une restauration/suppression permanente programmatique.
Voir aussi
- Récupérer, mettre à jour, supprimer un QR code — l’appel
DELETEqui déplace un QR code dans cette liste de corbeille. - Lister / créer des QR codes — l’endpoint de liste équivalent pour les QR codes actifs (non mis à la corbeille).
Autorisations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. management.scanova.io) — the same key sent to the regular API host will not authenticate.
Réponse
200
Trashed QR codes
Cette page vous a-t-elle été utile ?
⌘I