Skip to main content

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"
    }
  ]
}

Social Media Component

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"
  }
}
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

CategoryComponent TypeDescription
Website URL (1)URLSimple URL redirect
Google Map (11)LocationLocation with coordinates
Document (13)DocumentsFile URLs and names
Wedding (14)EventEvent details with RSVP
Social Media (15)Social MediaSocial platform links
Product (18)ProductProduct information
Image (19)ImagesImage URLs and names
Event (20)EventEvent details with RSVP
Custom Page (9)Custom PageCustom layout sections
App Store (10)App StoreApp store information
App Deep Link (23)App Deep LinkDeep link with fallback
Audio (27)AudioAudio file URLs
Coupon (28)CouponCoupon details
PayPal (37)PayPalPayment information
Business Card (38)Business CardContact information
Restaurant (44)RestaurantRestaurant 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

  1. Always include the "type" field.
  2. Validate all URLs and ensure they’re accessible.
  3. Follow the exact JSON schema per component.
  4. Use pattern_info for consistent QR branding. See QR Code Design for more details.
  5. Validate JSON before sending to prevent request errors.