Product configurator

Example of code for the integration of Roomtodo planner into merchant's websites

<iframe     frameborder="0"     id="iframe"     src="https://example.com/planner/matconfig"> </iframe> <script> let iframeConfigurator; window.addEventListener("message", messageListener); function messageListener(e) {     try {         const dataObj = JSON.parse(e.data);         if (dataObj.action === "program_ready") { iframeConfigurator = document.getElementById("iframe");             // Roomtodo configurator is ready         }     } catch (error) {         console.error("Error parse JSON string!");     } } </script>

Actions

Load model to the scene

iframeConfigurator.contentWindow.postMessage(     `{"action": "add_model", "model_id": "${modelId}"}`, "*" );

This code will add a model to the scene
variable modelId – model id in ROOMTODO base

Set material for the model's geometries

iframeConfigurator.contentWindow.postMessage(     `{"action": "set_material", "geometry_index": "${index}", "material_id": "${id}"}`,     "*" );

This code will set material to the geometry
variable index – geometry index at the model, needs to be changed
variable id – material id in ROOMTODO base

demos

https://matconfig.realist.digital/3227.html
https://matconfig.realist.digital/254.html