IT / Administrator

Roluri acoperite: System Administrator · IT Manager · Super Admin · Configurator Platformă
Module principale: Settings · Staff · Roles & Permissions · Custom Fields · API · Webhooks · Workflow Automation · 2FA · Utilities · Theme · Import/Export


Cine sunt utilizatorii acestui ghid

Rol Ce face în CRMConnect
System Administrator Configurare completă platformă, gestionare utilizatori, securitate
IT Manager Integrări API/Webhooks, automatizări, import/export date
Super Admin Acces complet, configurare roluri și permisiuni, auditare activitate
Configurator Platformă Câmpuri custom, teme, meniu, setări specifice business

Harta responsabilităților IT/Admin

UTILIZATORI & ACCES              CONFIGURARE PLATFORMĂ
────────────────────             ─────────────────────
Staff Management                 General Settings (toate categoriile)
Roles & Permissions              Company Branding (logo, culori, CSS)
Two-Factor Authentication        Email / SMTP
Custom Fields                    Billing Config (serii facturi)
Contact Permissions              Localization (limbă, dată, monedă)

INTEGRĂRI & AUTOMATIZĂRI         MONITORIZARE & AUDIT
────────────────────────         ────────────────────
API Management                   Activity Log
Webhooks                         Ticket Pipe Log
Workflow Automation              Email Queue
Zapier / Make                    Webhook Debug Log
External CRM Sync

DATE & UTILITĂȚI                 SECURITATE
─────────────────                ──────────
Excel Import                     2FA enforcement
Media Files                      Seat limit management
Bulk PDF Export                  Admin protection rules
Tag Management                   Password policies
Database / Backup

Rutina unui System Administrator

La configurarea inițială (one-time)

1. Date companie          /admin/settings (tab: General)
2. Logo + favicon         /admin/settings → upload logo
3. SMTP email             /admin/settings (tab: Email) → test
4. Serii facturi          /admin/billing/config
5. Taxe TVA               /admin/taxes
6. Monede + curs          /admin/currencies
7. Moduri plată           /admin/paymentmodes
8. Roluri personalizate   /admin/roles
9. Departamente           /admin/departments
10. Utilizatori staff     /admin/staff
11. 2FA pentru admini     /admin/authenticator_2fa
12. Câmpuri custom        /admin/custom_fields
13. Automatizări de bază  /admin/workflow_automation
14. Webhooks              /admin/webhooks
15. Integrare API         /admin/api/api_management

Zilnic / Săptămânal (Monitorizare)


Setări generale (General Settings)

Unde: /admin/settings

Setările sunt organizate în tab-uri. Iată ce configurezi în fiecare:

Tab: General

Setare Descriere
Denumire companie Apare pe toate documentele și emailurile
Logo (light mode) PNG/JPG — afișat în header admin și pe documente PDF
Logo (dark mode) Versiunea pentru tema întunecată
Favicon Iconița browser tab
Semnătură Imaginea ștampilei/semnăturii pe documente
PDF logo width Lățimea logo-ului pe facturile PDF
Adresă fizică Adresa companiei pe documente

Tab: Email

Setare Descriere
email_protocol smtp (recomandat) / crmconnect (server implicit)
smtp_host Serverul SMTP (ex: smtp.gmail.com, mail.firma.ro)
smtp_port Port: 587 (TLS), 465 (SSL), 25 (plain)
smtp_email Adresa de expediere (From)
smtp_username Utilizatorul de autentificare SMTP
smtp_password Parola (stocată criptat)
smtp_encryption tls / ssl / none
Email header/footer HTML personalizat pentru toate emailurile
Email signature Semnătura automată la emailuri

Test SMTP: Buton Send Test Email după salvare — verifici că emailurile ajung înainte de a activa platforma.

Server implicit CRMConnect (fallback dacă nu ai SMTP propriu):

Tab: Localization

Setare Descriere
Limbă implicită Limba interfeței admin
Format dată DD/MM/YYYY sau MM/DD/YYYY
Separator mii . sau ,
Separator zecimale , sau .
Fusul orar Crucial pentru timestamps corecte

Tab: Clients (Portal Client)

Configurezi ce vede și poate face clientul în portalul propriu:

Tab: Cronjob

Configurezi URL-ul de cron și verifici ultima execuție. Cron-ul este esențial pentru:

Configurare cron job (server):
* * * * * wget -q -O /dev/null "https://firma.ro/cron/index"
Sau cu curl: * * * * * curl -s "https://firma.ro/cron/index" > /dev/null

Tab: Security / E-Sign


Gestionarea Staff-ului

Unde: /admin/staff

Adăugare utilizator nou

  1. Adaugă Staff → completezi:
    • Email (unic în sistem — este username)
    • Prenume, Nume
    • Rol (din lista de roluri configurate)
    • Departamente (poate fi în mai multe)
    • Parolă temporară
  2. Bifezi Trimite email de bun venit (cu link de setare parolă)
  3. Salvezi

Câmpuri cheie din tblstaff (IT perspective)

Câmp Note
email Username și adresa de notificări (unic)
active 1 = poate accesa CRM; 0 = blocat
admin 1 = acces complet fără restricții de permisiuni
role ID-ul rolului alocat
last_login Timestamp ultimul login
last_ip IP-ul de la ultimul login
last_password_change Data schimbării parolei
two_factor_auth_enabled 1 = 2FA activat pentru utilizator
new_pass_key Token pentru resetare parolă (expiră)

Dezactivare vs. ștergere

Acțiune Când Efecte
Dezactivare (active = 0) Angajat în concediu temporar sau suspect Nu poate loga, datele rămân
Ștergere Angajat care a plecat definitiv Toate datele (tichete, task-uri, leads) se realocă unui alt staff selectat

Important: La ștergere, sistemul forțează selectarea unui alt staff pentru preluarea tuturor înregistrărilor — nu există ștergere fără realocare.

Limite de licențiere (Seat Management)

Numărul de utilizatori activi e limitat de licență:

Dacă încerci să activezi mai mulți staff decât permite licența → eroare. Dezactivezi un utilizator inactiv sau achiziționezi locuri suplimentare.

Protecția administratorilor

Sistemul previne:


Roluri și Permisiuni

Unde: /admin/roles

Ierarhia de acces

Super Admin (admin = 1)
  → Acces complet la orice, permisiunile nu se verifică

Staff cu Rol
  → Moștenesc permisiunile rolului
  → Override individual via staff_permissions (dacă configurat)

Contact Client
  → Permisiuni separate (ce poate vedea în portal)
  → Configurate per contact sau ca default global

Structura permisiunilor per modul

Fiecare modul suportă combinații din:

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

Exemplu rol „Agent Vânzări":

Leads:        view_own + create + edit
Proposals:    view + create + edit
Invoices:     view_own
Clients:      view + create
Settings:     — (fără acces)
Reports:      view

Creare rol personalizat

  1. /admin/rolesAdaugă Rol
  2. Denumești rolul (ex: „Operator Depozit", „Contabil", „Manager Vânzări")
  3. Bifezi permisiunile per modul
  4. Salvezi → rolul apare în dropdown la adăugarea staff-ului

Override individual de permisiuni

Dacă un singur angajat are nevoie de permisiuni diferite față de rolul său:

Permisiuni Contact Client (Portal)

Unde: /admin/settings → tab Clients → Default Contact Permissions

Configurezi ce poate vedea un contact în portal implicit:

Poți seta permisiuni diferite per contact individual din fișa contactului.


Two-Factor Authentication (2FA)

Unde: /admin/authenticator_2fa/userlist

Metoda suportată

TOTP (Time-based One-Time Password) — compatibil cu:

Flux de activare per utilizator

Utilizatorul activează singur:

  1. Din profil personal → secțiunea Security → Enable 2FA
  2. Scanează QR code cu aplicația de autentificare
  3. Introduce codul de 6 cifre pentru verificare
  4. 2FA activat → two_factor_auth_enabled = 1

Adminul resetează 2FA:

  1. /admin/authenticator_2fa/userlist — lista cu statusul per utilizator
  2. Identifici utilizatorul care a pierdut accesul (schimbat telefon, etc.)
  3. Resetezi → enrollment_request = 1 → utilizatorul poate re-înrola

Vizualizare status 2FA

Lista utilizatorilor cu:

Recomandare securitate

Impune 2FA pentru toți adminii și staff-ul cu acces financiar (Financiar, Juridic). Poți comunica obligativitatea prin Announcement intern.


Câmpuri Personalizate (Custom Fields)

Unde: /admin/custom_fields

Entitățile care suportă câmpuri custom

Entitate Utilizare tipică
Leads Industrie, nr. angajați, buget estimat, sursă detaliată
Clients CUI, nr. registru comerț, cod client ERP, categorie credit
Contacts Funcție detaliată, LinkedIn, preferințe comunicare
Invoices Nr. comandă client, referință internă, proiect
Estimates Referință ofertă, termene speciale
Proposals Deadline acceptare, versiune propunere
Contracts Nr. dosar, baza legală, nivel confidențialitate
Expenses Nr. bon fiscal, centru de cost, aprobat de
Tickets Nr. serie echipament, versiune software, prioritate SLA
Tasks Estimare ore, nivel dificultate, referință externă
Projects Nr. proiect intern, client manager, tip proiect
Items Nr. catalog, origine, termen garanție
Staff Nr. badge, parola, nr. legitimație, grad
Vendors Cod furnizor ERP, categorie, rating intern

Tipuri de câmpuri disponibile

Tip Utilizare
text Text scurt — cod, număr, referință
number Valoare numerică
textarea Text lung — descriere, note
select Dropdown — valori predefinite
checkbox Da/Nu
date_picker Selector dată
date_picker_time Selector dată + oră
email Validare format email

Configurare câmp

Opțiune Descriere
required Câmp obligatoriu la creare
show_on_pdf Apare pe documentele PDF (facturi, contracte)
show_on_table Apare ca coloană în lista modulului
show_on_client_portal Vizibil/editabil de client în portal
disallow_client_to_edit Vizibil dar read-only pentru client
only_admin Vizibil doar pentru admini (ascuns de staff obișnuit)
bs_column Lățimea coloanei în formular (Bootstrap grid: 3/4/6/12)

API Management

Unde: /admin/api/api_management

Creare token API

  1. Adaugă Token → completezi:
    • Denumire (ex: „Zapier Integration", „Mobile App", „ERP Sync")
    • Staff asociat (tokenul acționează în numele acelui staff)
  2. Token generat → copiezi — afișat o singură dată
  3. Clientul API trimite header: authtoken: {token} la fiecare request

Entitățile accesibile via API

API-ul REST acoperă toate modulele principale:

CRM: Leads, Clients, Contacts, Opportunities, Contracts
Sales: Invoices, Estimates, Proposals, Payments, Items
Operations: Projects, Tasks, Tickets, Expenses, Milestones
HR: Staff, Departments, Roles
Finance: Currencies, Taxes, Expense Categories
Knowledge: Knowledge Base, Surveys, Goals
Warehouse: Warehouses, Commodities
Marketing: Marketing Campaigns
Misc: Custom Fields, Files, Tags

Base URL: https://firma.ro/api/
Auth header: authtoken: {token}

Monitorizare utilizare API

Dashboard-ul API arată:

Rate Limiting

Rate limiting-ul e aplicat per token pentru a preveni abuzul.


Webhooks

Unde: /admin/webhooks

Configurare webhook

Câmp Note
name Denumirea internă a webhook-ului
request_url URL-ul destinație (https obligatoriu recomandat)
request_method POST (cel mai comun), GET, PUT, DELETE, PATCH
request_format JSON / XML / URL-encoded
webhook_for Modulul/entitatea care declanșează
webhook_action Evenimentele specifice (creare, actualizare, ștergere, schimbare status)
request_header Header-e custom (ex: Authorization: Bearer token)
request_body Câmpuri custom în payload
active 1 = activ / 0 = dezactivat
debug_mode 1 = loghează detaliat fiecare cerere și răspuns

Debugging webhook

Când un webhook nu funcționează:

  1. Activezi debug_mode = 1 pe webhook
  2. Trimiți un eveniment test
  3. Din lista webhook-ului → View Logs → vezi request-ul trimis și răspunsul primit
  4. Identifici problema (URL greșit, autentificare, format payload)
  5. Corectezi și dezactivezi debug mode

Stergerea log-urilor

Log-urile de debug pot crește rapid — le ștergi periodic sau după rezolvarea problemei.


Workflow Automation — perspectiva admin

Unde: /admin/workflow_automation

Ce configurează adminul

Element Descriere
Workflow definitions Creează/editează/șterge automatizări
Enable/Disable Activează sau oprește un workflow fără ștergere
Private workflows Workflow-uri vizibile doar creatorului
Task templates Template-uri pentru task-urile create automat de workflow-uri
Execution logs Istoricul rulărilor — ce a funcționat, ce a eșuat
Categories Organizarea workflow-urilor pe categorii

Entitățile suportate ca trigger (50+ tipuri)

Leads, Clienți, Oportunități, Propuneri, Estimate, Contracte, Facturi, Plăți, Task-uri, Proiecte, Tichete, Cheltuieli, Comenzi Achiziție, Avize Recepție, Ordine Producție, Staff, Recrutare, etc.

Monitorizarea execuției

Din tbwa_flows_logs și tbwa_action_logs:

Template-uri de task-uri automate

Configurezi șabloane pentru task-urile create de automatizări:


Email Queue — gestionare coadă

Unde: /admin/utilities → Email Queue (sau direct din Settings → Email)

Ce găsești în coada de email

Toate emailurile platformei (notificări, facturi, propuneri, notificări tichete) trec prin coadă înainte de trimitere. Emailurile blocate rămân în coadă.

Acțiune Când
Process All Forțezi trimiterea tuturor emailurilor pending
Send Single Trimiți un email specific imediat
Retry Failed Retrimiți emailurile cu eroare
Delete Ștergi emailuri pe care nu le mai vrei trimise

Cauze comune pentru emailuri blocate

Problemă Cauza Soluție
Authentication failed Parola SMTP greșită Reconfigurezi SMTP în Settings → Email
Connection refused Host sau port greșit Verifici cu provider-ul de email
SSL/TLS error Encryption greșit Schimbi din ssl în tls sau invers
Rate limit exceeded Prea multe emailuri / oră Configurezi throttling sau upgrade plan email

Activity Log — auditare completă

Unde: /admin/utilities/activity_log

Ce se loghează automat

Categorie Evenimente înregistrate
Utilizatori Creare, actualizare, ștergere staff; schimbare parolă; activare/dezactivare
Setări Orice modificare în Settings (cine, când, ce)
Roluri Creare, modificare, ștergere roluri
Tag-uri Creare, comprimare, ștergere tag-uri
Email Queue Procesare manuală, ștergere
Workflow Executare automatizări
API Operații principale via API

Câmpurile înregistrate

Câmp Valoare
description Descrierea acțiunii (ex: „Staff Member Deleted: Ion Popescu")
date Timestamp exact (DATETIME)
staffid Cine a efectuat acțiunea

Export și curățare


Theme & Branding — personalizare vizuală

Unde: /admin/settings → General (logo, favicon) + /admin/theme_style (CSS)

Logo și imagini

Element Unde Format
Logo (light) Settings → General PNG/JPG, recomandat transparent
Logo (dark mode) Settings → General PNG/JPG, versiune albă/deschisă
Favicon Settings → General ICO sau PNG 32×32
Semnătură/Ștampilă PDF Settings → General PNG transparent

CSS personalizat

Poți adăuga CSS care suprascrie stilul implicit al platformei:

Câmp Aplicare
theme_style_custom_admin_area Doar interfața admin
theme_style_custom_clients_area Doar portalul clienților
theme_style_custom_clients_and_admin_area Ambele

Exemplu CSS custom:

/* Schimbă culoarea accent din violet în albastru */
:root { --accent: #0066cc; }

/* Logo mai mare în sidebar */
.brand { padding: 20px; }
.brand img { max-width: 180px; }

Import Date (Excel Import)

Unde: /admin/excelimport/import_data

Ce poți importa

Entitate Câmpuri mapate
Clienți Denumire, CUI, adresă, contact, email, telefon
Leads Nume, email, telefon, companie, sursă, status
Staff Email, prenume, nume, departament, rol
Articole Cod, denumire, preț, TVA, grupă
Mărfuri (Warehouse) Cod, denumire, stoc inițial, preț achiziție
Cheltuieli Dată, sumă, categorie, mod plată

Procesul de import

1. Descarcă template Excel pentru entitatea dorită
   ↓
2. Completezi datele în template
   ↓
3. Upload fișier Excel în CRM
   ↓
4. Mapezi coloanele Excel → câmpurile CRM
   ↓
5. Dry run / Simulare (preview erori fără import efectiv)
   ↓
6. Confirmi importul efectiv
   ↓
7. Raport rezultate: importate / erori / duplicate

Recomandare: Fă întotdeauna un dry run înainte de importul propriu-zis — identifici erorile de format fără a compromite datele existente.


Media Files Manager

Unde: /admin/utilities/media

Manager de fișiere bazat pe elFinder — browser vizual pentru directorul /uploads/:

Util pentru: curățarea fișierelor vechi, verificarea upload-urilor, gestionarea template-urilor PDF.


Tag Management

Unde: /admin/settings → tab Misc → Tags

Operații disponibile

Operație Descriere
Creare tag Adaugi tag-uri noi la nivel global
Merge tags Combini două tag-uri în unul singur (ex: „client" + „clienți" → „clienți")
Compress Elimini duplicatele și tag-urile neutilizate
Delete Ștergi un tag din toate entitățile unde apare

Tag-urile se aplică pe: Leads, Clienți, Contracte, Task-uri, Proiecte și altele.


Gestionarea Ticket Pipe Log

Unde: /admin/utilities/pipe_log

Loghează toate emailurile procesate via pipe.php:

Util pentru debugging când clienții raportează că „emailul nu a creat tichetul".

Câmpuri loggate:

Curățare log: Buton Clear Pipe Log — șterge permanent (arhivezi dacă e nevoie).


Checklist configurare inițială completă

Ordinea recomandată pentru un site nou:

Faza 1 — Configurare de bază

Faza 2 — Utilizatori și acces

Faza 3 — Personalizare date

Faza 4 — Integrări

Faza 5 — Automatizare

Faza 6 — Securitate și audit


Permisiuni specifice pentru rolul de Administrator

Utilizatorii cu admin = 1 au acces complet — permisiunile nu se verifică.

Pentru un rol „IT Manager" fără acces de super-admin:

Permisiune Descriere
Settings → View / Edit Configurare platformă
Staff → View / Create / Edit Gestionare utilizatori
Roles → View / Create / Edit Gestionare roluri
API → View / Create Gestionare tokens API
Webhooks → View / Create / Edit Gestionare webhooks
Workflow Automation → View / Create / Edit Automatizări
Utilities → All Activity log, media, email queue
Custom Fields → View / Create Câmpuri personalizate
Reports → View Acces rapoarte

REST API — Arhitectura completă

Unde: /admin/api/api_management
Base URL: https://firma.ro/api/
Documentație API: crmconnect_api_docs.md

Arhitectura tehnică

CRMConnect expune un REST API complet construit pe CodeIgniter cu extensia REST_Controller. Acoperă 101 controllere organizate pe module.

Autentificare:

Metodă Token header Expiră Utilizare
API Token (standard) authtoken: {token} ~10 ani Integrări server-to-server
JWT (Flutter/Mobile) Authorization: Bearer {jwt} 7 zile Aplicații mobile

Formate de răspuns suportate:

Format Query param Utilizare
JSON implicit Toate integrările moderne
XML ?format=xml Sisteme legacy, EDI-adjacent
CSV ?format=csv Export date tabelare
JSONP ?format=jsonp Browser cross-origin
HTML ?format=html Debug/preview

Endpoint-uri disponibile — Harta completă

CRM & Sales:

GET/POST/PUT/DELETE  /api/leads
GET/POST/PUT/DELETE  /api/opportunities
GET/POST/PUT/DELETE  /api/clients
GET/POST/PUT/DELETE  /api/contacts
GET/POST/PUT/DELETE  /api/contracts
GET/POST/PUT/DELETE  /api/proposals
GET/POST/PUT/DELETE  /api/estimates
GET/POST/PUT/DELETE  /api/invoices
GET/POST/PUT/DELETE  /api/payments
GET/POST/PUT/DELETE  /api/expenses
GET/POST/PUT/DELETE  /api/projects
GET/POST/PUT/DELETE  /api/tasks
GET/POST/PUT/DELETE  /api/tickets
GET/POST/PUT/DELETE  /api/milestones
GET/POST/PUT/DELETE  /api/goals
GET/POST/PUT/DELETE  /api/surveys
GET/POST/PUT/DELETE  /api/marketing_campaigns

WMS — Warehouse Management System:

GET/POST/PUT/DELETE  /api/wms/warehouses
GET/POST/PUT/DELETE  /api/wms/commodities
GET/POST/PUT/DELETE  /api/wms/goods_receipt
GET/POST/PUT/DELETE  /api/wms/goods_delivery
GET/POST/PUT/DELETE  /api/wms/stocks
GET/POST/PUT/DELETE  /api/wms/transfers

Purchase Management:

GET/POST/PUT/DELETE  /api/purchase/vendors
GET/POST/PUT/DELETE  /api/purchase/purchase_orders
GET/POST/PUT/DELETE  /api/purchase/purchase_requests
GET/POST/PUT/DELETE  /api/purchase/vendor_invoices

OmniSales:

GET/POST/PUT/DELETE  /api/omni_sales/orders
GET/POST/PUT/DELETE  /api/omni_sales/channels
GET/POST/PUT/DELETE  /api/omni_sales/returns

Config & Reference Data:

GET  /api/departments
GET  /api/roles
GET  /api/staff
GET  /api/taxes
GET  /api/currencies
GET  /api/countries
GET  /api/payment_modes
GET  /api/expense_categories
GET  /api/custom_fields
GET  /api/items

Paginare

GET /api/leads?nr_page=1&per_page=50

Răspuns standard

{
  "status": true,
  "data": [...],
  "total_pages": 10,
  "current_page": 1
}

Erori

{
  "status": false,
  "error": "Invalid authentication token"
}

Aplicații Mobile — Android & iOS

CRMConnect dispune de aplicații mobile native pentru Android și iOS, disponibile în Google Play Store și Apple App Store.

Aplicațiile mobile sunt 1:1 cu platforma web — orice modul, funcționalitate și date disponibile în interfața web sunt accesibile și din aplicația mobilă, adaptate pentru ecrane mobile. Utilizatorii lucrează cu aceleași date în timp real, indiferent dacă accesează CRMConnect din browser sau din telefon.

Aplicațiile sunt conectate la instanța proprie a fiecărui client prin același sistem de autentificare și API-ul platformei — nu există date separate sau sincronizare întârziată.

Descărcare:


Deployment: Cloud (AWS) și On-Premise

Arhitectura aplicației

Componentă Tehnologie
Backend PHP (CodeIgniter)
Baza de date MySQL / MariaDB
Web Server Apache sau Nginx
Containerizare Docker + Kubernetes
Cron jobs Kubernetes CronJob
Cache Redis / Memcached

Cloud — AWS cu Kubernetes (infrastructura standard CRMConnect)

CRMConnect rulează pe Amazon Web Services folosind Kubernetes ca platformă de orchestrare a containerelor. Fiecare client primește propria instanță dedicată — arhitectură single-tenant completă.

Modelul single-tenant — de ce contează:

Aspect Single-Tenant (CRMConnect) Multi-Tenant
Izolare date Completă — instanță separată Parțială — date în aceeași DB
Customizare Per client, fără impact pe alți clienți Limitată de schema comună
Performanță Dedicată, predictibilă Partajată, variabilă
Securitate Segregare completă la nivel de pod Izolare logică în DB
Update-uri Controlate per client Simultane pentru toți

Arhitectura AWS + Kubernetes:

                    AWS Cloud
┌──────────────────────────────────────────────┐
│                                              │
│  [Route 53]  →  [ALB / Ingress Controller]  │
│                          ↓                   │
│  ┌─────────────── Kubernetes Cluster ──────┐ │
│  │                                         │ │
│  │  Pod Client A          Pod Client B     │ │
│  │  ┌───────────┐         ┌───────────┐   │ │
│  │  │ CRMConnect│         │ CRMConnect│   │ │
│  │  │ (PHP+Nginx│         │ (PHP+Nginx│   │ │
│  │  └─────┬─────┘         └─────┬─────┘   │ │
│  │        │                     │          │ │
│  │  ┌─────▼─────┐         ┌─────▼─────┐   │ │
│  │  │  MySQL DB │         │  MySQL DB │   │ │
│  │  │  (Client A│         │  (Client B│   │ │
│  │  └───────────┘         └───────────┘   │ │
│  │                                         │ │
│  │  [Kubernetes CronJob] — cron per pod    │ │
│  └─────────────────────────────────────────┘ │
│                                              │
│  [S3]  [CloudWatch]  [ACM SSL]  [ECR]       │
└──────────────────────────────────────────────┘

Servicii AWS utilizate:

Serviciu Rol
EKS (Elastic Kubernetes Service) Orchestrare Kubernetes managed
ECR (Elastic Container Registry) Registry imagini Docker
RDS MySQL sau MySQL în pod Baza de date per client
ALB + Ingress Load balancer + routing per domeniu
Route 53 DNS management
ACM Certificate SSL/TLS automatizate
S3 Storage fișiere + backup-uri
CloudWatch Monitorizare, logs, alerte
Kubernetes CronJob Cron jobs per instanță client

Scalare: Fiecare pod se scalează independent — un client cu volum mare nu afectează alți clienți.

Update-uri: Deployment-urile de versiuni noi se fac rolling update per pod, fără downtime. Fiecare client poate fi actualizat independent.

On-Premise (Self-hosted)

CRMConnect poate fi instalat și on-premise, pe infrastructura proprie a clientului — server fizic, VMware/Hyper-V sau private cloud.

Cerințe minime:

Avantaje on-premise:

Cerințe de mentenanță:

Configurare database:

APP_DB_HOSTNAME=localhost (sau IP server DB)
APP_DB_USERNAME=crm_user
APP_DB_PASSWORD=***
APP_DB_NAME=crmconnect

Drivere DB suportate: mysqli, pdo, postgre, mssql, sqlite, cubrid


Platformă deschisă — Open Platform

CRMConnect ca platformă, nu ca produs fix

CRMConnect este o platformă deschisă — nu un produs rigid cu funcționalități fixe. Arhitectura modulară permite extinderea și adaptarea platformei la orice nevoie de business, fără a compromite stabilitatea sau posibilitatea de update.

Principii fundamentale:

Principiu Descriere
Open API Orice sistem extern poate integra CRMConnect via REST API — ERP, WMS, e-commerce, BI, RPA
Module system Orice funcționalitate nouă se construiește ca modul independent, fără a modifica core-ul
Shared modules Orice modul custom dezvoltat poate fi activat pe instanțele oricărui alt client
Dev freedom Clienții pot lucra cu propria echipă de dev sau cu parteneri proprii de development
No vendor lock-in Integrare cu orice ERP, WMS, platformă e-commerce sau aplicație third-party

Integrare cu orice sistem extern

CRMConnect se integrează nativ sau prin API cu orice ERP, WMS sau aplicație third-party:

ERP (SAP, Oracle, Dynamics, Merlin, Triton, WinMentor, SAGA...)
  ↕ REST API / Webhooks / EDI
WMS (sisteme warehouse externe)
  ↕
E-commerce (WooCommerce, Shopify, MerchantPro, orice platformă cu API)
  ↕
BI / Raportare (Power BI, Tableau, Google Data Studio)
  ↕
RPA (UiPath, Automation Anywhere)
  ↕
iPaaS (Zapier, Make/Integromat, n8n, Boomi, MuleSoft)
  ↕ 
CRMConnect REST API

Mecanisme de integrare disponibile:

Dezvoltări custom sub formă de module

Dacă funcționalitățile standard nu acoperă un caz de business specific, se pot dezvolta module custom care se integrează nativ în platformă:

Caracteristicile sistemului de module:

Aspect Detalii
Izolare Fiecare modul e independent — nu modifică core-ul platformei
Update-safe Update-urile de platformă nu afectează modulele custom
Integrare nativă Modulul apare în sidebar, are propriile permisiuni, propriile tabele DB
Hooks & Filters Platformă expune 50+ hooks pentru a extinde comportamentul modulelor standard
Shared deployment Un modul dezvoltat pentru un client poate fi activat pe orice altă instanță

Ce poate conține un modul custom:

Cine poate dezvolta module custom

Echipa de dev proprie a clientului:

Parteneri de development ai clientului:

Echipa CRMConnect:

Exemplu de module custom posibile

Use Case Modul Custom
Raport specific industriei Raport personalizat cu logică de calcul specifică
Integrare ERP propriu Sync bidirecțional cu un ERP intern
Flux de aprobare specific Workflow complex multi-nivel cu logică de business
Portal specific pentru parteneri Interfață dedicată pentru un tip de utilizator
Calulator de ofertare Configurator de produse complex cu pricing dinamic
Modul de conformitate reglementată Funcționalități pentru industrii reglementate (farma, financiar)

EDI & AS2 — EDIconnect

CRMConnect este EDI Provider

CRMConnect oferă capacitate EDI nativă prin EDIconnect — modul integrat care face din CRMConnect nu doar un consumator de date EDI, ci un furnizor de servicii EDI pentru clienții săi.

EDI (Electronic Data Interchange) = schimb automat de documente comerciale (comenzi, confirmări, facturi, avize, borderouri) între sistemele informatice ale partenerilor comerciali, fără intervenție umană.

AS2 (Applicability Statement 2) = protocolul de transport securizat pentru EDI prin HTTPS, cu autentificare mutuală și semnătură digitală (standard EDIINT/RFC 4130). AS2 este protocolul preferat în retail, automotive, logistică și lanțuri de aprovizionare globale.


EDIconnect — modulul nativ

Unde: /admin/edi

EDIconnect este modulul CRMConnect dedicat conectivității EDI — gestionează schimbul de documente comerciale cu partenerii de business care utilizează standarde EDI.

Arhitectura EDIconnect integrată în CRMConnect:

                    ┌──────────────────────────────────────┐
PARTENERI           │           CRMConnect                 │
COMERCIALI          │                                      │
                    │  ┌────────────┐    ┌──────────────┐ │
ERP Partener A      │  │            │    │              │ │
  ──── AS2 ────────►│  │ EDIconnect │◄──►│  CRMConnect  │ │
                    │  │  (modul    │    │  REST API +  │ │
ERP Partener B      │  │  nativ)    │    │  Webhooks    │ │
  ──── AS2 ────────►│  │            │    │              │ │
                    │  └────────────┘    └──────────────┘ │
ERP Partener C      │  Transport: AS2 (HTTPS mutual TLS)  │
  ── SFTP/API ─────►│  Formate: X12, EDIFACT, UBL, JSON   │
                    └──────────────────────────────────────┘

Ce face EDIconnect

Recepție documente EDI inbound:

Document primit Format EDI Acțiune în CRM
Purchase Order de la partener X12 850 / EDIFACT ORDERS Creare automată Comandă Vânzare
Request for Quotation X12 840 / EDIFACT REQOTE Creare RFQ sau Propunere
Invoice de la furnizor X12 810 / EDIFACT INVOIC Creare Factură Furnizor
Advance Ship Notice X12 856 / EDIFACT DESADV Creare Aviz Livrare
Payment/Remittance X12 820 / EDIFACT REMADV Înregistrare Plată

Emitere documente EDI outbound:

Document emis Format EDI Trigger în CRM
Confirmare comandă X12 855 / EDIFACT ORDRSP La confirmarea comenzii
Factură client X12 810 / EDIFACT INVOIC La emiterea facturii
Aviz livrare X12 856 / EDIFACT DESADV La aprobarea avizului
Corecție factură X12 812 / EDIFACT CREADV La emiterea notei de credit

Formate EDI suportate

Standard Utilizare tipică Industrii
ANSI X12 USA/Canada supply chain Retail, Automotive, Healthcare
EDIFACT Internațional Logistică, Shipping, Europa
UBL 2.1 eInvoicing European Administrație publică, EU
JSON/XML Integrări moderne API Tech, SaaS, Fintech

Transport AS2 — securitate end-to-end

AS2 asigură:

CRMConnect ca EDI Provider — ce înseamnă pentru clienți

Clienții CRMConnect nu au nevoie de o soluție EDI separată sau de un VAN (Value Added Network) extern. EDIconnect este inclus ca modul nativ, ceea ce înseamnă:

Beneficiu Detaliu
Un singur sistem CRM + EDI în aceeași platformă — fără sincronizare între sisteme
Fără costuri VAN Nu plătești per-document fees la intermediari EDI tradiționali
Onboarding rapid parteneri Adaugi un partener EDI nou direct din CRM
Vizibilitate completă Documentele EDI sunt linkate la clienți, comenzi, facturi în CRM
SLA garantat Infrastructura AWS Kubernetes a CRMConnect asigură disponibilitatea EDI

Conectare cu partenerii EDI

Unde: /admin/edi

Configurezi fiecare partener EDI cu:

Integrare cu fluxurile CRMConnect

EDIconnect este conectat direct la modulele CRM — documentele EDI primite creează sau actualizează automat entitățile corespunzătoare:

Partener trimite X12 850 (Purchase Order) via AS2
  ↓ EDIconnect recepționează și validează
  ↓ Mapare câmpuri EDI → câmpuri CRM
  ↓ Creare automată: Comandă Vânzare (Estimate)
  ↓ Notificare echipă Vânzări
  ↓ Confirmare AS2 (997 Functional Acknowledgment) trimisă automat
  ↓ Comanda procesată normal în CRM (livrare, facturare)
  ↓ Factură emisă → transmisă automat ca X12 810 via AS2
  ↓ MDN de confirmare primit de la partener

Formate de date disponibile via API (pentru integrări custom)

Complementar EDIconnect, API-ul CRMConnect permite și integrări directe în formate moderne:

Format Suport Endpoint exemplu
JSON Nativ GET/POST /api/invoices
XML Nativ GET /api/invoices?format=xml
CSV Import /admin/excelimport
X12 / EDIFACT Via EDIconnect /admin/edi
UBL 2.1 Via EDIconnect /admin/edi

Contact pentru EDI: Dacă ești interesat de conectivitate EDI cu partenerii tăi comerciali sau dorești să devii partener EDI al clienților tăi, contactează echipa CRMConnect pentru configurarea EDIconnect.


Integrări ERP externe

CRMConnect se conectează bidirecțional cu mai multe ERP-uri românești și internaționale:

Merlin ERP

Unde: /admin/merlin_erp

Sincronizare bidirecțională în 23 de pași:

Categorie Ce se sincronizează
Nomenclatoare Grupe articole, unități măsură, monede, categorii, tipuri
Parteneri Clienți, agenți, utilizatori, grupuri utilizatori, depozite
Documente Tipuri documente, oferte, drepturi utilizatori
Tranzacții Articole, caracteristici, TVA, stocuri, statusuri, documente

Frecvență sync: Configurabilă (15 min / 30 min / 1h / 2h / 4h / 6h / 12h / 1 zi)
Filtrare: Per company_id — suport multi-companie
Protocol: REST HTTP/HTTPS


Triton ERP (SoftOne)

Unde: /admin/triton_erp

Sincronizare în 15 pași:

Categorie Ce se sincronizează
Referințe Județe, termeni plată, UOM, grupe produse, categorii
Parteneri Clienți, sucursale, sold client, metode plată, agenți, depozite
Tranzacții Produse, stocuri, facturi, plăți

Caracteristici speciale:


MerchantPro

Unde: /admin/merchantpro

Sincronizare bidirecțională cu platforma de e-commerce MerchantPro:

Element Direcție Frecvență
Produse CRM ↔ MerchantPro Configurabilă
Clienți CRM ↔ MerchantPro Configurabilă
Comenzi MerchantPro → CRM Configurabilă
Stocuri CRM → MerchantPro Configurabilă
Prețuri CRM → MerchantPro Configurabilă
Metadate catalog CRM ↔ MerchantPro Configurabilă
Unități de măsură CRM ↔ MerchantPro Configurabilă

Batch size: Configurable, implicit 200 entități per tick cron (max 5000)


SmartCRM

Unde: /admin/smartcrm

Sincronizare cu platforma SmartCRM externă prin API REST cu:


SAGA & WinMentor

Integrări contabile cu softurile românești de contabilitate — detalii în Departament Financiar.


ParsePilot — OCR Facturi

Unde: /admin/parsepilot

Scanare și extragere automată date din facturi și cheltuieli primite (PDF, imagine):


Integrări internaționale ERP & Accounting

CRMConnect, ca platformă deschisă cu REST API complet, se integrează cu principalele platforme ERP și contabile internaționale. Integrările se realizează prin API-to-API direct, prin conectori nativi pe platforme iPaaS (Zapier, Make, Boomi, MuleSoft) sau prin middleware custom.

Arhitectura generală de integrare

CRMConnect REST API  ←──────────────────────────────────────────→  ERP / Accounting
  Webhooks (push)     ←── evenimente în timp real ──────────────→
  API Polling (pull)  ←── sincronizare periodică ───────────────→

Metode de conectare:
  ① Direct API-to-API  (custom integration)
  ② Zapier / Make      (no-code, 5.000+ apps)
  ③ Boomi / MuleSoft   (enterprise iPaaS)
  ④ Middleware custom  (pentru logică complexă)

SAP (SAP S/4HANA, SAP Business One, SAP ECC)

Profilul integrării: Enterprise ERP — cel mai utilizat în corporații și enterprise mid-market.

Fluxuri de date tipice CRMConnect ↔ SAP:

Direcție Date Trigger
CRM → SAP Facturi emise (FI/AR) Webhook after_invoice_added → SAP BAPI
CRM → SAP Clienți noi / actualizați Webhook contact_created → SAP BP
CRM → SAP Plăți înregistrate Webhook after_payment_added → SAP FI clearing
CRM → SAP Comenzi de vânzare API /api/estimates → SAP SD
SAP → CRM Stocuri și disponibilitate SAP RFC/BAPI → CRM /api/wms/stocks
SAP → CRM Articole și prețuri din SAP SAP → CRM /api/items
SAP → CRM Sold client din FI/AR SAP → Client profile în CRM

Metode de integrare recomandate:

Complexitate Metodă Potrivit pentru
Simplă Zapier (SAP conector) sau Make Fluxuri unidirecționale, volum mic
Medie SAP Integration Suite (Cloud Platform Integration) SAP cloud-hosted
Enterprise SAP API Management + CRMConnect REST API Volum mare, transformări complexe
On-Premise SAP SAP PI/PO sau middleware (Boomi, MuleSoft) + CRMConnect API SAP ECC legacy

Format date: SAP expune BAPI, RFC, OData (RESTful) — CRMConnect consumă și produce JSON/XML.

Considerații SAP specifice:


QuickBooks (Online & Desktop)

Profilul integrării: Platforma contabilă #1 pentru SMB în SUA, Canada, UK, Australia.

Fluxuri de date tipice CRMConnect ↔ QuickBooks:

Direcție Date Trigger
CRM → QB Facturi client (Invoices) Webhook after_invoice_added → QB Invoice API
CRM → QB Clienți noi Webhook contact_created → QB Customer API
CRM → QB Plăți înregistrate Webhook after_payment_added → QB Payment API
CRM → QB Cheltuieli API /api/expenses → QB Expense API
QB → CRM Produse și servicii QB Item API → CRM /api/items
QB → CRM Sold client QB Customer Balance → fișa clientului CRM

Metode de integrare recomandate:

Metodă Detalii
Zapier Cel mai simplu — conector nativ QuickBooks Online pe Zapier
Make (Integromat) Scenarii avansate cu logică condițională
QuickBooks API direct REST API OAuth 2.0 → integrare custom cu CRMConnect
SaasAnt / Synder Tool-uri specializate de sync QB ↔ CRM

QuickBooks Online API: REST + OAuth 2.0 — se integrează direct cu orice sistem care face HTTP requests.

QuickBooks Desktop: Necesită QuickBooks Web Connector sau middleware local.


Oracle NetSuite

Profilul integrării: ERP cloud enterprise pentru mid-market și enterprise — puternic în finanțe, inventory, multi-subsidiary.

Fluxuri de date tipice CRMConnect ↔ NetSuite:

Direcție Date Trigger
CRM → NS Sales Orders API /api/estimates → NetSuite Sales Order
CRM → NS Facturi client Webhook → NetSuite Invoice
CRM → NS Clienți și contacte Webhook → NetSuite Customer record
CRM → NS Oportunități won Webhook → NetSuite Opportunity
NS → CRM Stocuri live NetSuite → CRM /api/wms/stocks
NS → CRM Prețuri și articole NetSuite Item → CRM /api/items
NS → CRM Sold client NetSuite A/R → fișa clientului CRM
NS → CRM Purchase Orders NetSuite PO → CRM /api/purchase/purchase_orders

Metode de integrare recomandate:

Metodă Detalii
NetSuite SuiteScript + CRMConnect API Scripturi în NetSuite care apelează CRMConnect REST
NetSuite SuiteFlow (Workflow) Trigger automat la evenimente NetSuite → CRMConnect Webhook inbound
Celigo iPaaS Platformă specializată NetSuite ↔ orice sistem, cu template-uri pre-built
Boomi / MuleSoft Enterprise iPaaS cu conectori NetSuite nativi
Zapier / Make NetSuite are conector pe Zapier pentru fluxuri simple

Autentificare NetSuite: Token-Based Authentication (TBA) sau OAuth 2.0 — compatibil cu middleware standard.

NetSuite REST API: Disponibil din 2019 — integrare directă cu CRMConnect REST posibilă fără middleware.


Xero

Profilul integrării: Platformă contabilă cloud populară în UK, Australia, Noua Zeelandă și în creștere globală — orientată SMB și accountants.

Fluxuri de date tipice CRMConnect ↔ Xero:

Direcție Date Trigger
CRM → Xero Facturi client (Sales Invoices) Webhook after_invoice_added → Xero Invoice
CRM → Xero Credit Notes (Storno) Webhook → Xero Credit Note
CRM → Xero Clienți noi Webhook contact_created → Xero Contact
CRM → Xero Plăți înregistrate Webhook after_payment_added → Xero Payment
CRM → Xero Cheltuieli API /api/expenses → Xero Expense Claim
Xero → CRM Conturi bancare reconciliate Xero Bank Feed → CRM Bank Statement
Xero → CRM Produse și servicii Xero Items → CRM /api/items

Metode de integrare recomandate:

Metodă Detalii
Zapier Cel mai rapid — conector Xero nativ pe Zapier, sute de template-uri
Make (Integromat) Scenarii complexe cu conector Xero nativ
Xero API direct REST + OAuth 2.0 — integrare custom simplă, documentație excelentă
Dext / ApprovalMax Tool-uri specializate contabil ↔ Xero ↔ CRM

Xero API: REST + OAuth 2.0 — una dintre cele mai bine documentate și ușor de integrat API-uri contabile. Rate limit: 60 req/min (standard), 5000 req/zi.


Matrice de compatibilitate

Platformă REST API Zapier Make Boomi Middleware custom
SAP S/4HANA OData ✓
SAP Business One Service Layer ✓
SAP ECC RFC/IDOC ✓ (necesar)
QuickBooks Online REST OAuth2 ✓
QuickBooks Desktop Web Connector ✓ (necesar)
NetSuite REST + SuiteScript ✓
Xero REST OAuth2 ✓
Merlin ERP REST ✓ ✓ (nativ în CRM)
Triton/SoftOne REST ✓ ✓ (nativ în CRM)
WinMentor Export/Import ✓ ✓ (nativ în CRM)
SAGA Export XML ✓ ✓ (nativ în CRM)

Date CRMConnect disponibile pentru orice integrare contabilă

Indiferent de sistemul contabil, CRMConnect expune via API toate datele necesare:

Entitate CRM          →  Echivalent contabil
─────────────────────────────────────────────
/api/invoices         →  Sales Invoice / AR
/api/credit_notes     →  Credit Note
/api/payments         →  Payment / Receipt
/api/expenses         →  Purchase Invoice / AP
/api/clients          →  Customer / Debitor
/api/purchase/vendors →  Supplier / Creditor
/api/items            →  Product / Service
/api/taxes            →  Tax Rate / VAT
/api/currencies       →  Currency
/api/payment_modes    →  Bank Account / Payment Method

Plus Webhooks pentru toate evenimentele în timp real — nicio integrare nu trebuie să polling-uiască CRMConnect.


Securitate avansată — checklist IT

Infrastructură

Aplicație

Mobile



CRMConnect pentru Decidenții IT

Această secțiune adresează direct întrebările unui CTO, IT Director sau Enterprise Architect care evaluează platforma: stack tehnic, securitate, conformitate, scalabilitate, continuitate business, experiență pentru echipa de dev și costul total de proprietate.


Stack tehnic & maturitate

Componentă Detaliu
Backend PHP — CodeIgniter 3.1.13
PHP suportat 7.2.5+ și 8.0+ ("php": "^7.2.5 || 8.0")
Baza de date MySQL 5.7+ / MariaDB 10.3+
Containerizare Docker + Kubernetes (AWS EKS)
Migrations DB 528 migrații versionate secvențial — indică un produs matur cu istoric complet de evoluție
Dependențe principale phpmailer, tcpdf, phpspreadsheet, elfinder, stripe-php, php-hooks — toate open source, auditabile
Framework securitate xemlock/htmlpurifier-html5, sonata-project/google-authenticator (2FA TOTP)

Ce înseamnă 528 de migrații: Fiecare modificare de schemă DB este versionată, înregistrată și aplicabilă incremental. Nicio actualizare de versiune nu poate corupta date existente — sistemul de migrații garantează upgrade-uri sigure și reversibile.


Securitate în profunzime

Autentificare și acces

Mecanism Implementare
Hashing parole phpass (bcrypt-like), strength=8, portable mode dezactivat
2FA TOTP (RFC 6238) via Google/Microsoft Authenticator, Authy — standard industrial
Session timeout 8 ore implicit, configurabil
Session security Session driver configurable (DB sau filesystem), cookie HttpOnly
CSRF protection Activat pe toate formularele (APP_CSRF_PROTECTION = true), token regenerare per request
Brute force Login failures loggate cu IP, timestamp, user — baza pentru blocking extern (Fail2ban)

Protecție aplicație

Vulnerabilitate Protecție
SQL Injection CodeIgniter query binding cu parametrizare pe toate interogările
XSS App_Security custom class + HTMLPurifier pentru content rich text (TinyMCE)
CSRF Token CSRF pe toate formularele POST
File upload Validare tip fișier + extensie înainte de stocare
Encryption at rest Parola SMTP și credențiale sensibile stocate criptat (cheia APP_ENC_KEY)
API security Token-based authentication, fiecare token izolat per staff

Izolarea datelor (single-tenant)

Arhitectura single-tenant cu pod dedicat per client pe Kubernetes oferă nivelul maxim de izolare:


Audit, Logging & Conformitate

Audit trail multi-nivel

Nivel Ce se înregistrează
Activitate utilizatori Orice acțiune CRUD + IP + timestamp + staff ID
Login/Security events Login success/failure, user inexistent, cont inactiv — cu IP
Financial integrity audit Audit zilnic automat pe propuneri, facturi, estimate — detectare discrepanțe cu alertă email
Document management Fiecare acces, upload, ștergere, aprobare pe documente — tblmg_audit_logs
Slow queries Interogări > 0.2s înregistrate automat + alertă email
API usage Fiecare call API logat cu token, endpoint, timestamp
Webhook delivery Request + response complet în debug log

Financial integrity audit: Cron-ul zilnic verifică că subtotalele din propuneri, facturi și estimate corespund cu liniile de detaliu. Orice discrepanță → email automat către admin. Protecție împotriva coruperii accidentale de date.

GDPR nativ


Performanță & Scalabilitate

Optimizare baza de date

Kubernetes auto-scaling

Caching layers

Layer Mecanism
Application cache CodeIgniter cache driver (file/DB/Memcached/Redis)
Object cache App_Object_Cache intern — evită interogări repetate în același request
CDN Compatibil cu CloudFront sau orice CDN pentru assets statice

Business Continuity & Disaster Recovery

Cloud (AWS — infrastructura CRMConnect)

Aspect Implementare
Backup DB RDS automated snapshots + point-in-time recovery
Backup fișiere S3 versionat — fiecare fișier din /uploads/ protejat
Multi-AZ RDS Multi-Availability Zone — failover automat în < 60 secunde
Pod restart Kubernetes restart automat la crash — MTTR în secunde
Rolling updates Zero-downtime deployment — noua versiune înlocuiește pod-urile treptat
Rollback Kubernetes rollback la versiunea anterioară în sub 2 minute

RTO (Recovery Time Objective): < 5 minute (pod restart automat Kubernetes)
RPO (Recovery Point Objective): < 24 ore (snapshot zilnic RDS), configurable sub 5 min cu binlog replication

On-Premise — recomandări business continuity


Update Management & Release Cycle

Cum se livrează update-urile

1. CRMConnect lansează versiunea nouă
   ↓
2. Imagine Docker nouă pushed în ECR
   ↓
3. Kubernetes Rolling Update — pod-urile se înlocuiesc treptat
   (nicio întrerupere de serviciu pentru utilizatori)
   ↓
4. Migrații DB aplicate automat la startup pod
   ↓
5. Health check confirmă serviciul funcțional
   ↓
6. Old pod-uri terminate

Fiecare client poate fi actualizat independent — nu există un "update night" care afectează toți clienții simultan. Clienții cu cerințe speciale pot fi pe o versiune stabilizată mai lungă.

Sistemul de migrații


Developer Experience

Pentru echipa de dev a clientului

Documentație disponibilă:

Medii disponibile:

Flux development modul custom:

1. Dev clone template modul
   ↓
2. Development local (Docker)
   ↓
3. Test pe staging al clientului
   ↓
4. Code review (echipa CRMConnect sau internă)
   ↓
5. Deployment pe producție via pipeline CI/CD

API-first design

Toate operațiunile posibile din UI sunt disponibile și via API — orice workflow poate fi automatizat sau integrat extern fără a necesita acces la cod sursă. Ideal pentru:


Portabilitate date & Exit Strategy

Datele clientului aparțin exclusiv clientului. Nu există vendor lock-in la nivel de date:

Tip date Format export
Facturi, propuneri, contracte PDF bulk export
Orice entitate (clienți, leads, produse) Excel/CSV via REST API
Date GDPR per persoană Export structurat
Baza de date completă MySQL dump (la cerere, pe on-premise)
Fișiere uploadate Arhivă /uploads/ (la cerere)

La terminarea contractului: Clientul primește un dump complet al bazei de date și arhiva fișierelor — format standard MySQL, importabil în orice alt sistem.


Limitări cunoscute & Roadmap

Transparență completă — ce nu există nativ:

Funcționalitate Status Alternativă
LDAP / Active Directory ❌ Nu există nativ SSO via API custom sau middleware LDAP→CRM
SAML / SSO ❌ Nu există nativ Autentificare via API + token management
IP Whitelisting ❌ Nu există în aplicație Implementat la nivel de infrastructure (Kubernetes NetworkPolicy, WAF)
DLP (Data Loss Prevention) ❌ Nu există Monitorizare via audit log + webhook
Penetration test certificate Disponibil la cerere pentru enterprise
SOC 2 / ISO 27001 Contactați echipa CRMConnect

Cum se compensează limitările:


Checklist evaluare pentru IT Director

Securitate:

Disponibilitate & Recovery:

Conformitate:

Integration:


Referințe rapide

Module: General Settings · Custom Fields · GDPR · Two-Factor Authentication · My Profile · Utilities · Miscellaneous · Team Password Manager · API Management · Webhooks · Workflow Automation · Excel Import · Staff · Roles & Permissions · Departments

Workflow-uri: Workflow Automation · Webhooks

← Înapoi la Department Guides