CRMconnect Azuvio · Docs

Administrator de Sistem — CRMconnect

Departament: IT / Admin
Nivel: Senior / Management tehnic
Obiectiv principal: Platforma funcționează corect, toți utilizatorii au accesul potrivit, datele sunt sigure și integrite

Ce face acest rol

Administratorul de Sistem este proprietarul tehnic al instanței CRMconnect. Configurează platforma la lansare, gestionează utilizatorii și permisiunile, monitorizează sănătatea sistemului, integrează CRMconnect cu sisteme externe și asigură securitatea datelor. Este singura persoană cu acces complet (admin = 1) și responsabilă de tot ce ține de funcționarea tehnică.

Documentație tehnică detaliată (stack, securitate, Kubernetes, GDPR, API): Ghid IT / Administrator


Module gestionate

Modul URL Responsabilitate
Setări Generale /admin/settings Configurare completă platformă
Personal /admin/staff Conturi utilizatori
Roluri & Permisiuni /admin/roles Matricea de acces
2FA /admin/authenticator_2fa Autentificare în doi factori
Câmpuri Personalizate /admin/custom_fields Câmpuri specifice businessului
API Management /admin/api/api_management Token-uri API pentru integrări
Webhooks /admin/webhooks Notificări real-time externe
Workflow Automation /admin/workflow_automation Automatizări interne CRM
Import Excel /admin/excel_import Import date în masă
GDPR /admin/gdpr Cereri de ștergere și portabilitate
Utilități /admin/utilities Activity log, email queue, pipe log
Team Password /admin/team_password Parolele partajate ale echipei

Setup inițial — checklist complet

La prima configurare a instanței, parcurgi acești pași în ordine:

Pasul 1 — Datele companiei (`/admin/settings`)

Tab General:
  ✓ Denumire companie
  ✓ Logo light mode (PNG, max 300px lățime)
  ✓ Logo dark mode (versiunea pentru tema întunecată)
  ✓ Favicon (32×32px)
  ✓ Adresă fizică completă (apare pe facturile PDF)
  ✓ PDF logo width (lățimea logo pe documente)

Tab Email (SMTP):
  ✓ email_protocol = smtp
  ✓ smtp_host (ex: smtp.gmail.com sau mail.firma.ro)
  ✓ smtp_port: 587 (TLS) sau 465 (SSL)
  ✓ smtp_email (adresa From)
  ✓ smtp_username + smtp_password
  ✓ TESTEZI: buton Send Test Email → confirmi că ajunge

Tab Localization:
  ✓ Limbă implicită
  ✓ Fusul orar (CRUCIAL pentru timestamps corecte)
  ✓ Format dată (DD/MM/YYYY pentru RO)
  ✓ Separator mii / zecimale (conform standard local)

Tab Cronjob:
  ✓ URL cron configurat pe server
  ✓ Verifici că last_run e actualizat la fiecare minut

Cron job esențial. Fără cron activ nu funcționează: facturare recurentă, sincronizare WooCommerce, Marketing Automation, notificări expirare. Configurezi pe server: * * * * * curl -s "https://firma.ro/cron/index" > /dev/null

Pasul 2 — Structura organizațională

1. /admin/departments → crezi departamentele companiei
   (cu adresele email dedicate pentru rutarea tichetelor)

2. /admin/roles → crezi rolurile per funcție:
   - Agent Vânzări, Contabil AR, Operator Depozit, etc.
   - Principiu: privilegiu minim — accesul strict necesar

3. /admin/staff → adaugi toți utilizatorii:
   - Email unic (= username)
   - Rol alocat din lista creată la pasul 2
   - Trimiți email de bun venit cu link setare parolă

Pasul 3 — Configurare financiară

/admin/taxes → cotele de TVA (19%, 9%, 5%, 0%, taxare inversă)
/admin/currencies → monedele folosite + cursuri de schimb
/admin/paymentmodes → metodele de plată acceptate
/admin/billing/config → seriile de numere pentru facturi/propuneri/contracte

Pasul 4 — Securitate

/admin/authenticator_2fa → activezi 2FA pentru toți adminii
/admin/roles → auditezi că niciunul nu are permisiuni în plus față de necesarul rolului
Comunici tuturor utilizatorilor: parola temporară trebuie schimbată la primul login

Pasul 5 — Câmpuri personalizate (dacă e necesar)

/admin/custom_fields → adaugi câmpurile specifice businessului:
   ex. pe Leads: Industrie, Nr. angajați, Buget estimat
   ex. pe Clienți: CUI, Nr. registru comerț, Cod client ERP
   ex. pe Facturi: Nr. PO client, Referință proiect

Pasul 6 — Integrări

API tokens (/admin/api/api_management):
   → Creezi câte un token per integrare externă
   → Denumit explicit (ex: „Zapier - Leads", „Mobile App", „ERP Sync")
   → Token afișat o singură dată — copiezi imediat

Webhooks (/admin/webhooks):
   → Configurezi pentru fiecare sistem extern care trebuie notificat
   → Testezi cu debug_mode = 1 înainte de activare

Email Pipe (pentru tichete):
   → Forwarding email departament → pipe.php configurată pe server
   → Testezi cu un email real

Gestionarea utilizatorilor

Angajat nou

/admin/staff → Adaugă Staff
  → Email (unic în sistem)
  → Rol: selectezi din lista de roluri
  → Departament(e): poți fi în mai multe
  → Bifezi „Trimite email de bun venit"
  → Salvezi

Verifici:
  → Utilizatorul poate loga?
  → Vede modulele corecte conform rolului?
  → Nu vede module la care nu ar trebui să aibă acces?

Angajat care pleacă (offboarding)

IMEDIAT la plecare (în aceeași zi):
  /admin/staff → deschizi fișa → setezi Active = 0

Nu ștergi niciodată un angajat — dezactivezi!
Dacă totuși ștergi → sistemul forțează realocarea TUTUROR înregistrărilor lui
(tichete, task-uri, leads, proiecte) la un alt utilizator selectat de tine.

Următor: verifici și revoci accesele conexe:
  → Email corporate
  → VPN
  → Alte sisteme externe cu token-uri API generate de el

Limite de licențiere

Dacă primești eroare la activarea unui utilizator nou → licența a atins limita de locuri (MEMBERS_INCLUDED + extra_seats):

  • Dezactivezi un cont inactiv (active = 0) — eliberezi un loc
  • Sau contactezi CRMconnect pentru achiziție locuri suplimentare

Roluri și permisiuni — configurare corectă

Structura ierarhiei de acces

Admin (admin = 1) → acces complet, permisiunile NU se verifică
       ↓
Staff cu Rol → moștenesc permisiunile rolului
       ↓
Contact Client → permisiuni separate (portal client)

Tipurile de permisiuni per modul

Permisiune Ce înseamnă
view Vede toate înregistrările (ale tuturor)
view_own Vede doar înregistrările proprii / departamentului
create Poate crea înregistrări noi
edit Poate edita
delete Poate șterge

Roluri standard recomandate

Agent Vânzări:
  Leads: view_own + create + edit
  Clienți: view + create
  Propuneri: view + create + edit
  Facturi: view_own
  Setări: ✗ (fără acces)

Contabil AR:
  Facturi: view + edit
  Plăți: view + create
  Extrase Bancare: view + create
  Clienți: view
  Setări: ✗

Operator Depozit:
  Depozit (toate sub-modulele): view + create + edit
  Comenzi Vânzare: view
  Achiziții: view
  Setări: ✗

Administrator HR:
  Staff: view + create + edit
  HR Profile: view + create + edit
  Recrutare: view + create + edit
  Salarizare: view + create + edit
  Setări: ✗

Override individual de permisiuni

Dacă un angajat are nevoie de permisiuni diferite față de rolul lui:

  • Fișa Staff → tab Permissions → setezi override-urile individuale
  • Override-ul are prioritate față de rolul general

Monitorizare zilnică și săptămânală

Zilnic (5 minute)

/admin/utilities → Email Queue:
  → Există emailuri blocate? → Process All sau investighezi eroarea

/admin/utilities → pipe_log (dacă folosești email pipe pentru tichete):
  → Erori de import? → verifici configurarea forward-ului

/admin/webhooks → Logs (dacă ai webhook-uri active):
  → Există cereri eșuate? → verifici URL-ul destinație

Săptămânal (15-20 minute)

/admin/utilities/activity_log:
  → Acțiuni neobișnuite? (șteri în masă, accese la ore ciudate)
  → Logare de pe IP-uri necunoscute?

/admin/api/api_management:
  → Token-uri API cu utilizare neașteptat de mare?
  → Token-uri inactive de > 6 luni → le dezactivezi

/admin/staff → filtrezi last_login:
  → Utilizatori activi care nu s-au logat în 90+ zile → evaluezi dezactivare

2FA status (/admin/authenticator_2fa/userlist):
  → Toți adminii au 2FA activat? Dacă nu → reamintiți sau impuni

Integrări — API și Webhooks

API Management

La fiecare integrare nouă:
  /admin/api/api_management → Adaugă Token
  → Denumire explicită: „[Sistem] - [Scop]" (ex: „Make.com - Leads Sync")
  → Staff asociat: un utilizator dedicat integrării (nu userul tău personal)
  → Copiezi token-ul IMEDIAT (afișat o singură dată)
  → Trimiți token-ul securizat la destinatar

La ieșirea unui angajat care deținea token-uri:
  → Identifici toate token-urile asociate lui → le dezactivezi
  → Creezi token-uri noi și actualizezi integrările

Webhooks

La configurarea unui webhook nou:
  1. Adaugă webhook cu URL-ul sistemului extern
  2. Selectezi entitatea (Lead, Factură, Tichet etc.) și evenimentele (creat, actualizat, șters)
  3. Activezi debug_mode = 1 TEMPORAR
  4. Trimiți un eveniment test
  5. Verifici în Logs că request-ul a ajuns și răspunsul e 200 OK
  6. Dezactivezi debug_mode = 1 (altfel log-urile cresc rapid)

Workflow Automation — configurare fluxuri interne

/admin/workflow_automation → Adaugă Automatizare

Structura:
  Trigger: ce eveniment declanșează (Lead creat, Tichet status schimbat, etc.)
  Condiție: filtre suplimentare (ex: doar lead-uri din sursa X)
  Acțiune: ce se execută (notificare, task creat, email trimis, status schimbat)

Exemple standard de configurat la setup inițial:
  1. Lead Urgent → notificare imediată la Manager Vânzări
  2. Tichet nou → notificare agent departament
  3. Contract expirat în 60 de zile → task reînnoire pentru KAM
  4. Factură restantă > 30 zile → email reminder automat
  5. Angajat nou creat → task onboarding pentru HR

Import date

Import Excel în masă

/admin/excel_import → selectezi modulul (Leads, Clienți, Produse etc.)
→ Descarci template-ul Excel
→ Completezi datele în template (nu modifici structura coloanelor!)
→ Uploadezi fișierul
→ Sistemul validează → arată erorile rând cu rând
→ Confirmi importul

Înainte de orice import mare:
  → Faci un export de backup al datelor existente
  → Importi 10 rânduri de test înainte de fișierul complet
  → Verifici că datele au intrat corect

Câmpuri personalizate — ghid rapid

/admin/custom_fields → Entitate → Adaugă Câmp

Opțiuni importante:
  required: câmp obligatoriu la creare (gândești bine înainte — nu poate fi dezactivat retroactiv fără date lipsă)
  show_on_pdf: câmpul apare pe facturile/contractele PDF
  show_on_client_portal: clientul vede câmpul în portalul lui
  only_admin: câmpul e vizibil doar administratorilor
  bs_column: lățimea în formular (6 = jumătate, 12 = lățime completă)

Tipuri recomandate per scop:
  Cod/Referință externă → text (scurt)
  Categorie/Status → select (dropdown cu valori predefinite)
  Dată de expirare → date_picker
  Note lungi → textarea
  Da/Nu → checkbox

Securitate — checklist permanent

Verificare Frecvență Unde
2FA activ pentru toți adminii La fiecare angajare admin /admin/authenticator_2fa
Conturi dezactivate la ieșire angajat Imediat /admin/staff
Token-uri API inactive revocate Trimestrial /admin/api/api_management
Activitate log revizuită Săptămânal /admin/utilities/activity_log
Credențiale SMTP rotite Anual sau la incident /admin/settings tab Email
Roluri auditate (permisiuni excesive) Semestrial /admin/roles
Utilizatori activi fără login > 90 zile Lunar /admin/staff → last_login

GDPR — cereri de drepturi

Unde: /admin/gdpr

Când primești o cerere de exercitare a drepturilor GDPR:

Drept de acces / Portabilitate:
  → GDPR → identifici persoana
  → Exporti toate datele asociate emailului/CNP-ului
  → Trimiți datele în format structurat (JSON/CSV)
  → Termen legal: 30 zile de la primirea cererii

Drept de ștergere (uitare):
  → GDPR → Cerere de ștergere → introduci emailul
  → Sistemul anonimizează: înlocuiește datele personale cu [DELETED]
  → Istoricul tranzacțiilor rămâne (pentru obligații legale fiscale)
  → Documentezi cererea și data procesării

Team Password Manager

Unde: /admin/team_password

Stochează securizat parolele partajate ale echipei (acces social media, conturi servicii externe, credențiale shared etc.):

  • Parole organizate în categorii
  • Acces controlat per rol/departament
  • Vizibilitate separată față de parolele personale ale angajaților

Metrici de sănătate sistem

Indicator Semnal bun Semnal de alarmă
Cron last_run Actualizat la < 2 min > 5 min → cron oprit
Email queue 0 emailuri blocate > 10 → problemă SMTP
API error rate < 1% din cereri > 5% → verifici integrarea
Webhook delivery rate > 99% < 95% → URL destinație problematic
Utilizatori cu 2FA 100% admini Orice admin fără 2FA
Conturi active fără login > 90 zile 0 Orice cont suspect de inactiv

Sfaturi practice

Principiul privilegiului minim este protecția ta. Dacă un angajat are acces la ceva și face o greșeală, ești responsabil că i-ai dat accesul. Configurezi rolurile restrictiv și ajustezi la nevoie — nu permisiv și restricționezi ulterior.

Niciodată admin = 1 pentru conturi de serviciu. Token-urile API și conturile de integrare ar trebui să fie Staff normal cu rol limitat — nu Super Admin. Un token compromis cu drepturi admin e catastrofal.

Testezi SMTP la fiecare modificare de credențiale. Un SMTP greșit înseamnă că platforma nu trimite niciun email (facturi, notificări, resetări parolă) — și nu vei afla imediat. Butonul Test trimite un email de verificare.

Documentează fiecare token API creat. Pune denumiri clare: „Make.com - Leads 2026" nu „Token 1". Când trebuie să revoci sau să înlocuiești, știi exact ce afectezi.

Backup înainte de orice import mare. Un import greșit de 10.000 de rânduri e greu de anulat. 5 minute de backup te salvează de ore de curățare manuală.

Tip

Testați configurația SMTP imediat după orice modificare de credențiale folosind butonul de Test — SMTP incorect blochează silențios toate emailurile platformei (facturi, resetări parolă, notificări) și poate să nu fie descoperit ore întregi.

Warning

Token-urile API acordă acces egal cu permisiunile utilizatorului asociat. Revocați imediat toate token-urile când un angajat pleacă sau schimbă rolul — token-urile scurse sau orfane acordă acces complet API până la revocare activă.