Exemplos
Inserção do Widget
Seção intitulada “Inserção do Widget”<iframe title="Widget Iara Med" id="iframe-widget-iaramed" src="https://widget.iaramed.com" allow="microphone *" style="width: 100%; height: 100vh; border: 0"></iframe>Recebimento de mensagens do Widget
Seção intitulada “Recebimento de mensagens do Widget”<script> window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado."); } else if (event.data.id === "IaraOnStartGenerateAppointment") { console.log("A geração do laudo foi iniciada."); } else if (event.data.id === "IaraOnFinishGenerateAppointment") { console.log("A geração do laudo foi finalizada."); console.log("Segue o conteúdo:"); // imprime o conteúdo do modelo com os valores preenchidos console.log(event.data.appointmentContent); // // objeto chave/valor // { // // subtítulo // "Dados Pessoais": { // // conteúdo do subtítulo // "ID (Idade)": "21 anos", // // outros itens chave/valor ... // }, // // outros subtítulos ... // } } else if (event.data.id === "IaraOnError") { console.log("Ocorreu algum erro ao gerar o laudo."); console.log("Segue o erro:"); console.log("Código:", event.data.code); console.log("Mensagem:", event.data.message); } };</script>Envio de mensagens ao Widget
Seção intitulada “Envio de mensagens ao Widget”<script> const sendIaraInitMessage = () => { // mesmo valor preenchido na propriedade `id` da tag `iframe` do Widget const iframeID = "iframe-widget-iaramed"; // busca o `iframe` do Widget pela propriedade `id` const iframe = document.getElementById(iframeID); // envia a mensagem `IaraInit` ao Widget para preencher o modelo iframe?.contentWindow?.postMessage( { id: "IaraInit", // objeto chave/valor templateContent: { // subtítulo "Dados Pessoais": { // conteúdo do subtítulo "ID (Idade)": "[idade] anos", // outros itens chave/valor ... }, // outros subtítulos ... }, }, "https://widget.iaramed.com", ); };
window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado."); sendIaraInitMessage(); } };</script>Integração completa com o Widget
Seção intitulada “Integração completa com o Widget”<!doctype html><html lang="pt"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Widget Iara Med</title> </head>
<body> <script> const sendIaraInitMessage = () => { // mesmo valor preenchido na propriedade `id` da tag `iframe` do Widget const iframeID = "iframe-widget-iaramed"; // busca o `iframe` do Widget pela propriedade `id` const iframe = document.getElementById(iframeID); // envia a mensagem `IaraInit` ao Widget para preencher o modelo iframe?.contentWindow?.postMessage( { id: "IaraInit", // objeto chave/valor templateContent: { // subtítulo "Dados Pessoais": { // conteúdo do subtítulo "ID (Idade)": "[idade] anos", // outros itens chave/valor ... }, // outros subtítulos ... }, }, "https://widget.iaramed.com", ); };
window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado."); sendIaraInitMessage(); } else if (event.data.id === "IaraOnStartGenerateAppointment") { console.log("A geração do laudo foi iniciada."); } else if (event.data.id === "IaraOnFinishGenerateAppointment") { console.log("A geração do laudo foi finalizada."); console.log("Segue o conteúdo:"); // imprime o conteúdo do modelo com os valores preenchidos console.log(event.data.appointmentContent); // // objeto chave/valor // { // // subtítulo // "Dados Pessoais": { // // conteúdo do subtítulo // "ID (Idade)": "21 anos", // // outros itens chave/valor ... // }, // // outros subtítulos ... // } } else if (event.data.id === "IaraOnError") { console.log("Ocorreu algum erro."); console.log("Segue o erro:"); console.log("Código:", event.data.code); console.log("Mensagem:", event.data.message); } }; </script>
<iframe title="Widget Iara Med" id="iframe-widget-iaramed" src="https://widget.iaramed.com" allow="microphone *" style="width: 100%; height: 100vh; border: 0" ></iframe> </body></html>