Overview
Every QR Code created via the Scanova API includes an info parameter — a JSON object containing data relevant to the QR Code’s category (e.g., URL, Event, Product).
This page lists all available components, their required structure, and examples for implementation.
Common Components
Each component corresponds to a specific QR Code category.
You must use the exact JSON format shown for your selected category.
1. URL Component
Used for Website URL and other link-based categories.
{
"type": "url",
"data": {
"url": "https://example.com"
}
}
Location Component
Used for Google Map category.
{
"type": "location",
"data": {
"place_name": "Central Park, New York",
"latitude": "40.7829",
"longitude": "-73.9654"
}
}
Documents Component
Used for Document QR Codes.
{
"type": "documents",
"data": [
{
"url": "https://example.com/document.pdf",
"name": "Document Name"
}
]
}
Images Component
Used for Image QR Codes.
{
"type": "image",
"data": [
{
"url": "https://example.com/image.jpg",
"name": "Image Name"
}
]
}
Audio Component
Used for Audio QR Codes.
{
"type": "audio",
"data": [
{
"url": "https://example.com/audio.mp3",
"name": "Audio Name"
}
]
}
Used for Social Media QR Codes.
{
"type": "page_layout",
"data": {
"backgroundColor": "#ffffff",
"socialLinks": [
{
"platform": "facebook",
"url": "https://facebook.com/yourpage"
},
{
"platform": "twitter",
"url": "https://twitter.com/yourhandle"
},
{
"platform": "instagram",
"url": "https://instagram.com/yourhandle"
},
{
"platform": "linkedin",
"url": "https://linkedin.com/in/yourprofile"
},
{
"platform": "youtube",
"url": "https://youtube.com/yourchannel"
}
]
}
}
Event Component
Used for Event and Wedding QR Codes.
{
"type": "page_layout",
"data": {
"backgroundColor": "#ffffff",
"eventDetails": {
"title": "Event Title",
"date": "2024-01-15",
"time": "18:00",
"venue": "Event Venue",
"description": "Event description",
"rsvp": {
"enabled": true,
"url": "https://example.com/rsvp"
}
}
}
}
Product Component
Used for Product QR Codes.
{
"type": "page_layout",
"data": {
"backgroundColor": "#ffffff",
"productDetails": {
"name": "Product Name",
"price": "$99.99",
"description": "Product description",
"images": [
"https://example.com/product1.jpg",
"https://example.com/product2.jpg"
],
"features": [
"Feature 1",
"Feature 2",
"Feature 3"
]
}
}
}
Custom Page Component
Used for Custom Page QR Codes.
{
"type": "page_layout",
"data": {
"backgroundColor": "#ffffff",
"sections": [
{
"type": "banner_images",
"data": {
"images": [
"https://example.com/banner1.jpg"
]
}
},
{
"type": "text_content",
"data": {
"title": "Page Title",
"content": "Page content goes here"
}
}
]
}
}
App Store Component
Used for App Store QR Codes.
{
"type": "app_store",
"data": {
"app_name": "My App",
"app_id": "123456789",
"platform": "ios",
"store_url": "https://apps.apple.com/app/my-app/id123456789"
}
}
App Deep Link Component
Used for App Deep Link QR Codes.
{
"type": "app_deep_link",
"data": {
"app_name": "My App",
"deep_link": "myapp://open/screen/123",
"fallback_url": "https://example.com/download"
}
}
Coupon Component
Used for Coupon QR Codes.
{
"type": "coupon",
"data": {
"title": "Special Offer",
"description": "Get 20% off your next purchase",
"code": "SAVE20",
"expiry_date": "2024-12-31",
"terms": "Terms and conditions apply"
}
}
Business Card Component
Used for Business Card QR Codes.
{
"type": "business_card",
"data": {
"name": "John Doe",
"title": "Software Engineer",
"company": "Tech Corp",
"email": "john@techcorp.com",
"phone": "+1-555-123-4567",
"website": "https://techcorp.com",
"address": "123 Tech Street, City, State 12345"
}
}
Restaurant Component
Used for Restaurant QR Codes.
{
"type": "restaurant",
"data": {
"name": "Restaurant Name",
"description": "Fine dining experience",
"menu_url": "https://example.com/menu",
"phone": "+1-555-123-4567",
"address": "123 Food Street, City, State 12345",
"hours": "Mon-Sun: 11:00 AM - 10:00 PM"
}
}
Component Usage by Category
| Category | Component Type | Description |
|---|
| Website URL (1) | URL | Simple URL redirect |
| Google Map (11) | Location | Location with coordinates |
| Document (13) | Documents | File URLs and names |
| Wedding (14) | Event | Event details with RSVP |
| Social Media (15) | Social Media | Social platform links |
| Product (18) | Product | Product information |
| Image (19) | Images | Image URLs and names |
| Event (20) | Event | Event details with RSVP |
| Custom Page (9) | Custom Page | Custom layout sections |
| App Store (10) | App Store | App store information |
| App Deep Link (23) | App Deep Link | Deep link with fallback |
| Audio (27) | Audio | Audio file URLs |
| Coupon (28) | Coupon | Coupon details |
| PayPal (37) | PayPal | Payment information |
| Business Card (38) | Business Card | Contact information |
| Restaurant (44) | Restaurant | Restaurant details |
Best Practices
All QR Codes created through the API are Dynamic by default, allowing you to update their content anytime without changing the printed code.
Component Guidelines
- Always include the
"type" field.
- Validate all URLs and ensure they’re accessible.
- Follow the exact JSON schema per component.
- Use
pattern_info for consistent QR branding. See QR Code Design for more details.
- Validate JSON before sending to prevent request errors.