Simplio3D

Project Settings

Configure every aspect of a project: branding, lighting, camera, loading screens, layout, watermarks, email notifications, e-commerce integration, webhooks, and analytics.

Get Project Settings

GET/projects/:id/settings
const response = await fetch(BASE_URL + '/projects/proj_123/settings', {
  headers: { 'Authorization': 'Bearer ' + accessToken }
});

const data = await response.json();
// {
//   "success": true,
//   "settings": {
//     "enableAutoRotate": false,
//     "autoRotateSpeed": 1,
//     "cameraFOV": 50,
//     "enableZoom": true,
//     "enablePan": true,
//     "environmentPreset": "studio",
//     "lightIntensity": 1.0,
//     "enableShadows": true,
//     "viewportBackgroundColor": "#f5f5f5",
//     "sidebarBackgroundColor": "#ffffff",
//     "primaryAccentColor": "#6b7280",
//     "actionButtonBgColor": "#6b7280",
//     "actionButtonHoverBgColor": "#4b5563",
//     "actionButtonTextColor": "#ffffff",
//     "fontFamily": "system",
//     "sidebarWidth": 360,
//     "shareViewLayout": "default",
//     "enableWatermark": false,
//     "showPrice": true,
//     "enableForm": true,
//     "enableAR": false,
//     "emailEnabled": false,
//     "ecommerceEnabled": false,
//     "webhookUrl": "",
//     "googleAnalyticsId": ""
//   }
// }

Update Project Settings

PUT/projects/:id/settings
const response = await fetch(BASE_URL + '/projects/proj_123/settings', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer ' + accessToken,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    // Branding
    viewportBackgroundColor: '#1a1a2e',
    sidebarBackgroundColor: '#16213e',
    primaryAccentColor: '#e94560',
    actionButtonBgColor: '#e94560',
    actionButtonHoverBgColor: '#c73450',
    actionButtonTextColor: '#ffffff',
    fontFamily: 'poppins',
    sidebarWidth: 400,
    compactMode: true,

    // Lighting
    environmentPreset: 'sunset',
    lightIntensity: 1.2,
    enableShadows: true,

    // Camera
    cameraFOV: 45,
    enableAutoRotate: true,
    autoRotateSpeed: 0.5,

    // Loading screen
    customLoadingAnimation: 'pulse',
    loadingMessage: 'Preparing your experience...',
    backgroundColor: '#1a1a2e',

    // Features
    enableAR: true,
    showPrice: true,
    enableForm: true,

    // Webhooks
    webhookUrl: 'https://your-server.com/webhook',
    webhookEvents: ['configuration_changed', 'quote_requested'],

    // Analytics
    googleAnalyticsId: 'G-XXXXXXXXXX'
  })
});

Configure Email Notifications

PUT/projects/:id/settings
const response = await fetch(BASE_URL + '/projects/proj_123/settings', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer ' + accessToken,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    emailEnabled: true,
    smtpHost: 'smtp.example.com',
    smtpPort: 587,
    smtpEncryption: 'tls',
    smtpUsername: '[email protected]',
    emailFromAddress: '[email protected]',
    emailFromName: 'Simplio3D Configurator'
  })
});

Continue reading