Lewati ke konten utama

Endpoint QR

Referensi lengkap untuk endpoint manajemen QR code.

URL Dasar

https://api.govalid.org/api/v1/qr/

Daftar QR Code

GET /api/v1/qr/

Parameter Query

ParameterTipeDeskripsi
pageintegerNomor halaman (default: 1)
page_sizeintegerHasil per halaman (default: 20, maks: 100)
qr_typestringFilter berdasarkan tipe (url, document, certificate, dll.)
security_levelstringFilter berdasarkan level (smart, verified, secure, enterprise)
statusstringFilter berdasarkan status (active, expired, removed)

Respons

{
"count": 150,
"next": "https://api.govalid.org/api/v1/qr/?page=2",
"previous": null,
"results": [
{
"id": "abc123",
"title": "Sertifikat Produk",
"qr_type": "certificate",
"security_level": "verified",
"status": "active",
"scan_count": 45,
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-20T14:22:00Z"
}
]
}

Buat QR Code

POST /api/v1/qr/

Body Request

FieldTipeWajibDeskripsi
titlestringYaJudul QR code
qr_typestringYaTipe: url, text, email, phone, vcard, document, certificate, goods
contentstringKondisionalKonten (wajib untuk tipe url, text, email, phone)
security_levelstringTidaksmart, verified, secure, enterprise (default: smart)
metadataobjectTidakField metadata kustom
passwordstringTidakProteksi password
expires_atdatetimeTidakTanggal kedaluwarsa (ISO 8601)

Contoh Request

{
"title": "Sertifikat Produk #001",
"qr_type": "certificate",
"security_level": "verified",
"metadata": {
"product_name": "Kopi Organik",
"batch": "BATCH-2025-001",
"origin": "Aceh, Indonesia"
}
}

Respons

{
"id": "abc123",
"title": "Sertifikat Produk #001",
"qr_type": "certificate",
"security_level": "verified",
"qr_image": "https://api.govalid.org/media/qr/abc123.png",
"short_url": "https://govalid.org/q/abc123",
"verification_url": "https://govalid.org/v/abc123",
"metadata": {
"product_name": "Kopi Organik",
"batch": "BATCH-2025-001",
"origin": "Aceh, Indonesia"
},
"created_at": "2025-01-29T12:00:00Z"
}

Dapatkan Detail QR Code

GET /api/v1/qr/{id}/

Respons

{
"id": "abc123",
"title": "Sertifikat Produk #001",
"qr_type": "certificate",
"security_level": "verified",
"status": "active",
"scan_count": 45,
"unique_scans": 30,
"qr_image": "https://api.govalid.org/media/qr/abc123.png",
"short_url": "https://govalid.org/q/abc123",
"metadata": { ... },
"created_at": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-20T14:22:00Z"
}

Update QR Code

PATCH /api/v1/qr/{id}/

Body Request

Field apapun dari request create dapat diupdate.

Hapus QR Code

DELETE /api/v1/qr/{id}/

Dapatkan Riwayat Scan

GET /api/v1/qr/{id}/scans/

Respons

{
"count": 45,
"results": [
{
"scanned_at": "2025-01-29T15:30:00Z",
"location": {
"country": "ID",
"city": "Jakarta"
},
"device": "mobile",
"platform": "iOS",
"is_first_scan": false
}
]
}

Dapatkan Analitik

GET /api/v1/qr/{id}/analytics/

Respons

{
"total_scans": 150,
"unique_scans": 89,
"scans_today": 12,
"scans_this_week": 45,
"top_locations": [
{"country": "US", "count": 50},
{"country": "ID", "count": 35}
],
"scan_timeline": [
{"date": "2025-01-28", "count": 15},
{"date": "2025-01-29", "count": 12}
],
"device_breakdown": {
"mobile": 120,
"desktop": 30
}
}

Buat QR Code Massal

POST /api/v1/qr/bulk/

Body Request

{
"qr_codes": [
{"title": "Produk 1", "qr_type": "product", "sku": "SKU001"},
{"title": "Produk 2", "qr_type": "product", "sku": "SKU002"},
{"title": "Produk 3", "qr_type": "product", "sku": "SKU003"}
]
}

Transfer QR

Mulai Transfer

POST /api/v1/qr/{id}/transfer/

Setujui Transfer

POST /api/v1/qr/{id}/transfer/approve/

Tolak Transfer

POST /api/v1/qr/{id}/transfer/reject/

Batalkan Transfer

POST /api/v1/qr/{id}/transfer/cancel/

Terkait