Svennis Partner Zoho Romania LogoSvennis
    HomeZoho One
    Programeaza o Consultanta
    AcasaBlogWidget personalizat in Zoho CRM: cand merita si cum il construiti corect
    Ghid CRM
    Zoho CRM
    widget
    JS SDK

    Widget personalizat in Zoho CRM: cand merita si cum il construiti corect

    Un ghid despre widgetul personalizat in Zoho CRM: cand il alegeti in locul solutiilor native, cum il construiti cu JS SDK si zet, cum il testati si cum il publicati.

    Svennis Cloud Solutions

    Zoho Premium Partner
    6 octombrie 202611 min de citit
    Widget personalizat in Zoho CRM: cand merita si cum il construiti corect

    Widget personalizat in Zoho CRM: ce este si cand merita

    Un widget personalizat in Zoho CRM merita construit atunci cand utilizatorul trebuie sa vada sau sa foloseasca date din alta aplicatie direct in CRM. Conditia este ca acea interfata sa nu poata fi obtinuta din campuri, layout-uri sau functii native. Daca nevoia tine doar de date sau de reguli, solutia nativa este mai simpla si mai ieftin de intretinut.

    Un widget este o componenta de interfata incorporabila, pe care o construiti si o adaugati in Zoho CRM. Documentatia Zoho din seria Kaizen despre widgeturi precizeaza ca widgeturile pot executa functii care folosesc date din aplicatii terte. Cu alte cuvinte, un widget aduce o fereastra dintr-un alt sistem in ecranul pe care echipa il foloseste zilnic.

    Widgetul se construieste cu JS SDK-ul Zoho, adica o biblioteca JavaScript. Biblioteca va permite sa controlati interfata CRM si sa lucrati cu date in contextul utilizatorului logat. Acest detaliu conteaza: widgetul vede si modifica doar ce are voie sa vada si sa modifice persoana care il deschide.

    Ghidul de fata parcurge decizia, verificarile dinainte, instrumentele, un exemplu lucrat cu cod, testarea, publicarea si limitele tehnice. Ultimele doua sectiuni privesc companiile din Romania si pasii urmatori.

    Locurile din Zoho CRM in care poate aparea un widget

    Un widget personalizat in Zoho CRM poate aparea in mai multe locuri din interfata, iar alegerea locului decide cum il va folosi echipa. Intrebarile frecvente publicate de Zoho in Kaizen #147 enumera variantele disponibile. Tabelul de mai jos le grupeaza dupa momentul in care widgetul apare.

    Loc de plasareCand aparePotrivit pentru
    Web tabCa fila separata in meniul CRMUn ecran de lucru complet, folosit des
    Buton personalizatLa click pe un buton dintr-o inregistrareO actiune punctuala pe o fisa anume
    Related list personalizatIn fisa inregistrarii, langa celelalte listeDate asociate aduse din alt sistem
    Element de dashboardPe pagina de start sau intr-un dashboardO vedere de ansamblu
    Tranzitie BlueprintCand o inregistrare trece dintr-o etapa in altaDate cerute exact la acel pas
    Pop-up sau call-out prin Client ScriptCand un script din formular il deschideInteractiune legata de completarea unui formular
    Extensie de telefonieLa click pe pictograma de telefonO aplicatie terta de apelare

    Lista Zoho mai include pagina de setari, notificarile sales signals si componenta wizard. Pentru Client Script, widgetul primeste date prin listenerul Notify si poate trimite date inapoi prin NotifyAndWait. Pentru telefonie, listenerele Dial si DialerActive incarca o aplicatie terta in widget atunci cand organizatia nu are o extensie nativa de telefonie.

    Cand campurile, layout-ul si functiile native sunt suficiente

    Solutiile native ajung ori de cate ori problema tine de ce date pastrati si de reguli, nu de o interfata noua. Un widget personalizat in Zoho CRM devine justificat abia cand utilizatorul trebuie sa interactioneze cu ceva ce CRM-ul nu afiseaza singur. Tabelul de mai jos este un instrument de decizie, nu o regula fixa.

    NevoiaSolutia de incercat intaiCand trece la widget
    O informatie noua pe fisa clientuluiCamp personalizatInformatia traieste in alt sistem si trebuie vazuta in timp real
    Ordinea si vizibilitatea campurilorLayoutRareori; layout-ul acopera aceasta nevoie
    Un calcul sau o actualizare automataFunctie sau regula de workflowUtilizatorul trebuie sa aleaga sau sa confirme ceva intr-o interfata
    Date asociate dintr-o aplicatie tertaIntegrare care copiaza datele in CRMDatele nu trebuie copiate, doar consultate sau modificate la sursa
    Apeluri dintr-o centrala fara extensie nativaExtensie de telefonie din MarketplaceNu exista extensie pentru furnizorul dumneavoastra

    Diferenta de fond este costul de intretinere. Un camp sau un layout se modifica din Setup, de catre un administrator. Un widget este cod: are fisiere, versiuni si dependinte care trebuie urmarite. Orice modificare a scriptului cere un nou pachet si o noua incarcare in CRM.

    Prin urmare, alegeti widgetul cand interfata adusa in CRM economiseste efectiv timp echipei. Nu il alegeti doar pentru ca solutia pare mai flexibila.

    Verificarile inainte de a scrie codul unui widget

    Inainte de a scrie un widget personalizat in Zoho CRM, merita sa raspundeti in scris la cateva intrebari. Raspunsurile decid locul de plasare, tipul de gazduire si cine poate folosi widgetul. Fiecare intrebare de mai jos elimina o cauza obisnuita de refacere.

    1. Problema reala. Ce face utilizatorul azi, pe ce ecran si de cate ori pe zi?
    2. Alternativa nativa. Rezolva un camp, un layout, o functie sau o extensie existenta aceeasi nevoie?
    3. Sursa datelor. Datele stau in CRM sau intr-o aplicatie terta, si cum sunt accesate?
    4. Permisiunile. SDK-ul lucreaza in contextul utilizatorului logat, deci profilul si rolul acestuia limiteaza ce vede widgetul.
    5. Locul de plasare. Web tab, buton, related list, dashboard sau tranzitie Blueprint?
    6. Gazduirea. Interna, pe serverele Zoho, sau externa, pe un server propriu?
    7. Intretinerea. Cine pastreaza codul sursa si cine reincarca pachetul dupa modificari?

    La Svennis, inainte de a scrie un widget, ii cerem utilizatorului sa ne arate ecranul pe care lucreaza si incercam intai un camp, un layout sau o functie. Scriem widgetul doar cand nevoia ramane neacoperita, iar cel mai des o vedem gresita atunci cand permisiunile utilizatorilor sunt verificate abia dupa lansare.

    Ultimul punct este cel mai des ignorat. Un widget fara proprietar clar ramane in CRM si dupa ce procesul din spatele lui s-a schimbat.

    Instrumentele: JS SDK, zet si consola pentru dezvoltatori

    Un widget personalizat in Zoho CRM se construieste cu trei instrumente: JS SDK-ul, linia de comanda zet si consola pentru dezvoltatori. O linie de comanda (CLI) este o interfata text prin care lucrati cu o aplicatie folosind comenzi. Zet este CLI-ul Zoho care construieste si impacheteaza widgeturi pentru Zoho CRM.

    Instalarea zet

    Zet se instaleaza prin npm, din pachetul zoho-extension-toolkit. Sistemul are nevoie de Node JS 6 sau mai nou. Comanda de instalare este npm install -g zoho-extension-toolkit.

    JS SDK-ul in fisierul widgetului

    SDK-ul se incarca prin adresa CDN https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js, pusa ca src in tagul head. Prin SDK, widgetul se poate inregistra la evenimente. Inregistrarea unui eveniment inseamna definirea unei functii care ruleaza cand acel eveniment are loc. Exemplele din documentatie sunt PageLoad, la incarcarea paginii de detaliu a unei inregistrari, Dial si DialerActive.

    Consola pentru dezvoltatori

    Ghidul Zoho Building a Client Side Application numeste developer.zoho.com consola pentru dezvoltatori a Zoho CRM. Acolo configurati un widget care face parte dintr-o extensie. Pentru asta creati un connected app, adica mijlocul prin care integrati Zoho CRM cu alte aplicatii prin API-uri.

    Pentru framework, Zoho confirma ca widgeturile pot fi construite cu orice framework client-side, inclusiv React JS. Pentru un widget mic, HTML si JavaScript simplu sunt suficiente.

    Exemplu lucrat: widget deschis dintr-un buton pe fisa unui potential

    Exemplul construieste un widget personalizat in Zoho CRM care se deschide dintr-un buton pe fisa unui potential. Widgetul citeste contextul paginii si utilizatorul logat, apoi se inchide dintr-un buton propriu. Este scheletul pe care se adauga ulterior logica reala, de pilda apelul catre un sistem extern.

    Primul pas este crearea proiectului cu comanda zet init, din care alegeti "Zoho CRM" din lista de servicii. Comanda initializeaza directorul proiectului si descarca dependintele. Codul de mai jos merge in fisierul HTML principal al proiectului. Calea relativa catre acest fisier este resource path-ul pe care il indicati la configurarea widgetului.

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <script src="https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js"></script>
    </head>
    <body>
      <p>Widget potential: verificati consola browserului.</p>
      <button onclick="ZOHO.CRM.UI.Popup.close()">Inchide</button>
      <script>
        // Datele paginii (modulul si inregistrarea) sosesc la PageLoad
        ZOHO.embeddedApp.on("PageLoad", function (data) {
          console.log(data);
        });
    
        // Initializam SDK-ul, apoi citim utilizatorul logat
        ZOHO.embeddedApp.init().then(function () {
          // Intoarce nume, Id, rol, profil
          ZOHO.CRM.CONFIG.getCurrentUser().then(function (data) {
            console.log(data);
          });
        });
      </script>
    </body>
    </html>

    Listenerul PageLoad este inregistrat inainte de initializare, ca sa nu piarda evenimentul. In locul primului console.log veti pune logica proprie, de exemplu afisarea datelor primite pentru inregistrarea curenta. Al doilea console.log poate fi inlocuit cu o verificare de rol sau profil, daca widgetul trebuie sa arate continut diferit pe echipe. Butonul cu ZOHO.CRM.UI.Popup.close() are sens doar cand widgetul se deschide ca pop-up, cum este cazul unui buton personalizat.

    Testarea locala si publicarea widgetului in Zoho CRM

    Un widget personalizat in Zoho CRM trece prin patru comenzi si o configurare in Setup inainte sa ajunga la utilizatori. Ordinea de mai jos urmeaza documentatia Zoho si evita incarcarea unui pachet cu erori.

    1. zet run porneste un server HTTP local, pe portul 5000 indicat de CLI. Testati widgetul folosind adresa primita, inclusiv in sandbox-ul extensiei.
    2. zet validate verifica pachetul aplicatiei si identifica incalcarile de reguli. Le corectati inainte de a actualiza arhiva in consola pentru dezvoltatori.
    3. zet pack creeaza o arhiva zip a aplicatiei in folderul dist al proiectului. Aceasta arhiva se incarca in CRM.
    4. Configurarea in CRM se face din Setup > Developer Space > Widgets. Acolo alegeti tipul de gazduire si incarcati arhiva sau indicati adresa externa.

    La gazduirea interna, Zoho CRM gazduieste continutul static al aplicatiei, deci nu aveti nevoie de alt server. Selectati arhiva zip, cu limita de 25 MB. La gazduirea externa, alegeti External din lista Hosting si introduceti adresa site-ului care gazduieste aplicatia.

    Dupa publicare, legati widgetul de locul ales, in exemplul de fata un buton personalizat in modulul Potentiale. Testati apoi cu un utilizator care are profilul echipei care il va folosi, nu doar cu administratorul. Diferentele de permisiuni apar abia in acest test.

    Limitele de dimensiune si alegerea gazduirii pentru un widget

    Un widget personalizat in Zoho CRM are limite de dimensiune fixe, publicate de Zoho. Merita verificate de la inceput, mai ales daca folositi un framework care genereaza multe fisiere. Limitele din intrebarile frecvente Kaizen #147 sunt urmatoarele:

    • cel mult 250 de fisiere intr-un proiect de widget;
    • cel mult 25 MB pentru intregul proiect;
    • cel mult 5 MB pentru fiecare fisier.

    Interna sau externa

    Ghidul Zoho recomanda gazduirea la Zoho pentru aplicatiile client-side simple. Pentru aplicatii complexe sau pentru integrarea instrumentelor interne prin widgeturi, recomanda gazduirea externa. In cazul unei extensii gazduite extern, specificati un Sandbox URL si un Production URL unde se afla fisierele sursa.

    Gazduirea interna inseamna mai putina infrastructura de administrat. In schimb, fiecare modificare inseamna un nou zet pack si o noua incarcare a arhivei. Gazduirea externa permite actualizari pe propriul server, dar adauga un server pe care trebuie sa il intretineti si sa il securizati.

    Pentru majoritatea widgeturilor care afiseaza date si apeleaza un serviciu extern, gazduirea interna este punctul de pornire rezonabil. Gazduirea externa se justifica atunci cand widgetul face parte dintr-o aplicatie interna mai mare, pe care o dezvoltati oricum separat.

    Un widget accepta cel mult 250 de fisiere si 25 MB, iar fiecare fisier are cel mult 5 MB: Fisiere intr-un proiect de widget 250 fisiere, Dimensiunea intregului proiect 25 MB, Dimensiunea unui singur fisier 5 MB
    Sursa: help.zoho.com

    Ce inseamna un widget Zoho CRM pentru o companie din Romania

    Pentru o companie din Romania, un widget personalizat in Zoho CRM are sens mai ales cand datele de care are nevoie echipa stau in sisteme locale sau in ERP. Inainte de a comanda cod, verificati daca exista deja o integrare publicata. Multe nevoi frecvente sunt acoperite fara un widget scris de la zero.

    Cateva exemple de nevoi locale si de solutii existente:

    • datele firmei dupa CUI se pot prelua cu extensia ANAF pentru Zoho CRM, fara cod propriu;
    • facturarea si e-Factura se pot lega prin integrarea SmartBill cu Zoho CRM;
    • comenzile, stocurile si datele contabile din ERP pot ajunge in CRM prin integrarea SAP Business One cu Zoho CRM.

    Widgetul devine util cand o astfel de integrare copiaza datele, dar echipa vrea sa lucreze direct la sursa. Exemple sunt un ecran de configurare de oferta, o fereastra de apelare pentru o centrala telefonica locala sau o lista de documente dintr-un sistem intern.

    Mai conteaza cine scrie si cine intretine codul. Daca in companie nu exista un dezvoltator JavaScript, stabiliti de la inceput cine reincarca pachetul dupa o modificare. Stabiliti si cine raspunde cand sistemul extern isi schimba API-ul.

    Pasii urmatori pentru un widget personalizat in Zoho CRM

    Primul pas pentru un widget personalizat in Zoho CRM este o descriere scrisa a nevoii, nu codul. Notati ecranul, utilizatorii, sursa datelor si locul de plasare din tabelul de mai sus. Apoi treceti nevoia prin tabelul de decizie si eliminati variantele pe care un camp, un layout sau o functie le rezolva deja.

    Daca widgetul ramane solutia, urmati aceasta ordine:

    1. instalati zet cu Node JS 6 sau mai nou si creati proiectul cu zet init;
    2. porniti de la scheletul din exemplul lucrat si adaugati logica pas cu pas;
    3. testati local cu zet run, apoi cu un utilizator care are profilul echipei;
    4. rulati zet validate si zet pack, apoi incarcati arhiva din Setup > Developer Space > Widgets;
    5. notati cine detine codul sursa si cine il actualizeaza.

    Daca doriti sa vedeti cum se potriveste un widget in configurarea generala a CRM-ului, pagina despre implementarea Zoho CRM in Romania descrie cum lucram cu modulele, automatizarile si integrarile. De acolo puteti porni discutia despre nevoia concreta a echipei dumneavoastra.

    Surse

    • Kaizen #147 - Frequently Asked Questions on Zoho CRM Widgets
    • Building a Client Side Application (Zoho CRM developer guide)
    • Kaizen #23 - Widgets

    Ti-a fost util? Distribuie articolul

    LinkedInPost

    Cuprins

    Widget personalizat in Zoho CRM: ce este si cand meritaLocurile din Zoho CRM in care poate aparea un widgetCand campurile, layout-ul si functiile native sunt suficienteVerificarile inainte de a scrie codul unui widgetInstrumentele: JS SDK, zet si consola pentru dezvoltatoriExemplu lucrat: widget deschis dintr-un buton pe fisa unui potentialTestarea locala si publicarea widgetului in Zoho CRMLimitele de dimensiune si alegerea gazduirii pentru un widgetCe inseamna un widget Zoho CRM pentru o companie din RomaniaPasii urmatori pentru un widget personalizat in Zoho CRMSurse

    Ai nevoie de ajutor cu Zoho?

    Zoho Premium Partner cu 200+ implementari - te putem ajuta sa obtii maximum din CRM-ul tau.

    Consultanta Gratuita

    Etichete

    Zoho CRM
    widget
    JS SDK
    zet
    Developer Space
    integrari

    Distribuie

    Svennis Cloud Solutions

    Svennis Cloud Solutions

    Premium Partner

    Zoho Premium Partner din 2011, cu 200+ implementari de succes. Suntem specializati in implementare CRM, integrari custom si automatizarea proceselor de business - ajutam companiile din Romania sa obtina maximum din ecosistemul Zoho.

    Despre noi|Studii de caz|Toate articolele

    Continua lectura

    Articole similare

    Vezi toate
    SAF-T si datele din CRM: cum pregatiti Zoho CRM si Zoho Books pentru D406
    Ghid CRM

    SAF-T si datele din CRM: cum pregatiti Zoho CRM si Zoho Books pentru D406

    Fisierul SAF-T se genereaza din contabilitate, dar multe erori pornesc din CRM. Ghidul arata ce campuri curatati in Zoho CRM si cum le aliniati cu Zoho Books.

    5 oct. 20269 min de citit
    Roluri, profiluri si partajare in Zoho CRM: ghid pentru o structura de acces corecta
    Ghid CRM

    Roluri, profiluri si partajare in Zoho CRM: ghid pentru o structura de acces corecta

    Un ghid despre cum stabiliti cine vede fiecare inregistrare din Zoho CRM, folosind profiluri, roluri, grupuri si reguli de partajare, plus greselile care blocheaza accesul.

    5 oct. 20269 min de citit
    Sandbox in Zoho CRM inainte de productie: cum testati modificarile fara riscuri
    Ghid CRM

    Sandbox in Zoho CRM inainte de productie: cum testati modificarile fara riscuri

    Sandbox-ul Zoho CRM va permite sa testati configurari, workflow-uri si integrari pe o copie a contului. Ghidul arata cum il folositi si ce verificati inainte si dupa mutarea in productie.

    5 oct. 202610 min de citit
    Vezi toate articolele
    Zoho Premium Partner - Din 2011

    Pregatit sa iti transformi afacerea?

    Hai sa discutam cum Zoho poate eficientiza operatiunile tale. Programeaza o consultanta gratuita cu echipa noastra - fara obligatii, doar sfaturi oneste din 200+ implementari.

    Programeaza o Consultanta GratuitaVezi studiile de caz
    Inapoi la toate articolele
    Svennis LogoSvennis Cloud Solutions

    Zoho Premium Partner din 2011. 200+ implementari, 5 extensii Marketplace cu rating 5/5. CRM, automatizare si integrari personalizate pentru afacerile din Romania.

    Zoho Premium Partner

    Ramai la curent

    Primeste cele mai recente noutati si sfaturi de la Svennis.

    Servicii

    • Zoho CRM
    • Zoho One
    • Zoho Desk
    • Zoho Books
    • Zoho Analytics
    • Integrari Personalizate
    • Revylio - Modernizare Website

    Industrii

    • IT & Software
    • Productie
    • E-commerce
    • Agricultura
    • Servicii Profesionale
    • Sanatate
    • Imobiliare

    Companie

    • Despre Noi
    • Blog
    • Studii de Caz
    • Svennis AI
    • Ghid Zoho CRM

    Legal

    • Politica de Confidentialitate
    • Termeni si Conditii
    • GDPR

    Integrari

    • SAP + Zoho CRM
    • PrestaShop + Zoho CRM
    • WooCommerce + Zoho CRM
    • SmartBill + Zoho CRM
    • ANAF + Zoho CRM
    • Toate Integrarile

    Locatiile Noastre

    Satu Mare, Romania

    Careiului 220E, 440187
    +40 722 945 189
    office@svennis.ro
    svennis.ro

    Cluj-Napoca, Romania

    Frunzisului 91A, 400664
    +40 722 567 135
    office@svennis.eu
    svennis.eu

    Manchester, UK

    117 Upper Chorlton Road, M16 7RY
    +44 7588 772736
    hello@svennis.co.uk
    svennis.co.uk

    Milano, Italia

    +39 02 9475 1997
    office@svennis.it
    svennis.it

    Orase

    BucurestiCluj-NapocaTimisoaraIasi

    © 2026 Svennis Cloud Solutions. Toate drepturile rezervate.

    |

    Zoho Premium Partner din 2011

    |

    office@svennis.ro · +40 722 945 189

    |

    Protejat de reCAPTCHA. Confidentialitate si Termeni.