Seiful clienților suveran. Pe WordPress-ul tău. Instalat în 3 minute.

API & developeri

Întregul seif este gestionat prin cod. Fără a atinge nucleul.

API REST completă, peste 28 de webhooks semnate HMAC, hook-uri WordPress native, integrări Fluent zero-config. Dacă aveți o echipă IT, vă pot conecta stack-ul într-o singură după-amiază.

Anti-SSRF

Semnătură HMAC SHA-256

AES-256-CBC în repaus

Audit cu marcaj temporal opozabil

TLS 1.3 obligatoriu

Anti-tamper plugin

01

API REST completă

Totul poate fi expus prin REST — clienți, fișiere, carduri, linkuri, elemente încorporate, etichete, parcursuri, certificate, audit. Autentificare prin cheie API, ACL-uri granulare, jurnal de apeluri.

Endpoints clienți

  • GET /wp-json/cv/v1/clients
  • POST /wp-json/cv/v1/clients
  • PUT /wp-json/cv/v1/clients/{id}
  • DEL /wp-json/cv/v1/clients/{id}

Endpoints fișiere

  • POST /cv/v1/files/upload
  • GET /cv/v1/files/{id}/token
  • POST /cv/v1/files/{id}/archive
  • POST /cv/v1/files/{id}/expiry

Endpoints carduri / linkuri / embed-uri

  • GET /cv/v1/cards
  • POST /cv/v1/links
  • POST /cv/v1/embeds
  • GET /cv/v1/tags

Endpoints transversali

  • GET /cv/v1/search
  • GET /cv/v1/audit
  • GET /cv/v1/parcours
  • GET /cv/v1/certificates

Exemplu: recuperarea listei de clienți

curl -X GET https://votre-site.fr/wp-json/cv/v1/clients 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -H "Accept: application/json"

# Răspuns JSON :
# {
#   "data": [24
#     {"id": 12, "name": "M. Bertrand", "email": "...", "tier": 1},
#     {"id": 13, "name": "SCI Verdun", "email": "...", "tier": 2}
#   ],
#   "meta": { "total": 124, "page": 1, "per_page": 20 }
# }

Autentificare și jurnalizare: chei API per utilizator (roluri WP), ACL per endpoint, jurnal complet al apelurilor (metodă, URL, IP, operator, durată). Cote și rate-limit configurabile.

02

Webhook-uri (peste 28 de evenimente)

Fiecare acțiune semnificativă declanșează un POST semnat HMAC către endpoint-urile dumneavoastră. Multi-target, secrete independente, anti-SSRF, reîncercare exponențială.

Seif și documente

  • file.uploaded
  • file.validated
  • file.refused
  • file.expired
  • file.archived
  • file.signed

Clienți și autentificare

  • client.created
  • client.archived
  • client.tagged
  • client.login
  • client.logout
  • client.password_reset

Parcurs și porți de acces

  • parcours.enrolled
  • step.unlocked
  • step.completed
  • quiz.submitted
  • certificate.issued
  • parcours.finished

Comunitate și implicare

  • comment.posted
  • announcement.published
  • trophy.unlocked
  • event.created
  • event.rsvp
  • replay.viewed

Exemplu: payload + semnătură HMAC

POST https://votre-stack.fr/webhooks/cv-receiver
Headers:
  X-CV-Event: file.validated
  X-CV-Signature: sha256=8b1cde…
  Content-Type: application/json

{
  "event": "file.validated",
  "occurred_at": "2026-05-02T10:34:21.842Z",
  "data": {
    "file_id": 4521,
    "client_id": 12,
    "operator_id": 3,
    "name": "Bilan 2024 SARL VERDIA.pdf",
    "audit_url": "https://votre-site.fr/cv/audit/4521"
  }
}

# Verificarea semnăturii pe partea destinatarului:
# computed = "sha256=" + hmac_sha256(secret, raw_body)
# hmac.compare_digest(computed, header) → true

Configurare: mai multe URL-uri țintă, fiecare cu secretul său. Filtrare anti-SSRF (RFC 1918, link-local). Reîncercare exponențială de până la 24 de ore. Jurnale de livrare.

03

Hooks WordPress native

Client Vault este un plugin WordPress — întregul lanț este extensibil prin add_action / add_filter fără a modifica nucleul. Compatibil cu codul dumneavoastră existent și cu plugin-urile proprii.

Acțiuni principale

  • cv_after_file_uploaded
  • cv_after_file_validated
  • cv_after_step_completed
  • cv_after_client_created
  • cv_after_audit_log

Filtre principale

  • cv_email_subject
  • cv_email_body
  • cv_max_upload_size
  • cv_storage_quota_gb
  • cv_token_lifetime

Capabilități & roluri

  • cv_user_can_view_client
  • cv_user_can_validate
  • cv_user_can_export
  • cv_user_capabilities_map

Exemplu: trimiterea unei notificări Slack după validare

add_action( 'cv_after_file_validated', function ( $file_id, $client_id, $operator_id ) {
    $file   = cv_get_file( $file_id );
    $client = cv_get_client( $client_id );

    wp_remote_post( 'https://hooks.slack.com/services/T0…', [ 
        'headers' => [ 'Content-Type' => 'application/json' ],
        'body'    => wp_json_encode( [
            'text' => sprintf(
                '✅ %s a validat "%s" pentru %s',
                wp_get_user( $operator_id )->display_name,
                $file->name,
                $client->name
            ),
        ] ),
    ] );
}, 10, 3 );

04

Securitate & audit

Dacă responsabilul dumneavoastră cu securitatea (RSSI) sau DPO validează, acestea sunt punctele pe care le va analiza. Totul este documentat, configurabil și înregistrat în jurnal.

Criptare AES-256-CBC

Cheie per spațiu client, IV unic per fișier, criptare în repaus pe disc. Cheia master locuiește în wp-config.php, niciodată în baza de date.

Anti-SSRF (webhooks)

Blochează trimiterea de webhooks către rețele interne (RFC 1918), localhost, link-local, IPv6 privat, metadate cloud (169.254.x.x). Listă albă opțională.

Anti-tamper plugin

Hash-ul fișierelor cheie este verificat la pornirea pluginului. Dacă un fișier critic a fost modificat (compromitere?), pluginul refuză să pornească în mod sensibil.

Audit cu marcaj temporal complet

Fiecare apel API, fiecare acțiune UI, fiecare webhook trimis sunt înregistrate: operator, IP, metodă, țintă, durată, statut. Export PDF sau CSV cu valoare probatorie.

Filtrare IP admin

Restricționarea accesului de administrator la un set de IP-uri / CIDR (cabinet, VPN, telemuncă). Compatibil cu IPv4 și IPv6.

RGPD: export și ștergere

Export selectiv al datelor unui client (JSON/ZIP), dreptul de a fi uitat cu un singur clic, retenție configurabilă pe categorie de date.

05

Integrări Fluent native

Pentru suita Fluent, configurarea este zero. Client Vault detectează prezența pluginului și activează gateway-ul.

FluentCRM

Auto-etichetarea contactelor pe baza evenimentelor din seif, secvențe declanșate de etapele parcursului, segmente dinamice.

FluentPlayer

Player video integrat pentru redări / fișiere media din seif, monitorizarea vizualizărilor per client.

FluentCart

Plăți Stripe integrate în parcursuri: o etapă de „plată” validează automat la primirea webhook-ului Stripe.

Fluent Community

Mapare N × N parcursuri / spații, 21 de widget-uri contextualizate, căutare multi-sursă, clasamente și trofee.

Dincolo de Fluent: tot restul se realizează prin webhook-uri sau API-ul REST. Stripe direct, Calendly, Cal.com, Zapier, n8n, Make, CRM-ul dumneavoastră personalizat — nicio limită.

06

Resurse pentru dezvoltatori

Documentație completă, colecții gata de utilizare și un canal de asistență.

Documentație completă

Endpoint-uri, payload-uri, exemple, coduri de eroare, rate-limits, jurnal de modificări.

Colecție Postman

Toate endpoint-urile preconfigurate, medii de dev/staging/prod, exemple de payload-uri.

OpenAPI / Swagger

Specificație YAML / JSON pentru generarea clienților dumneavoastră în TypeScript, Python, Go etc.

Comunitatea dezvoltatorilor

Spațiu privat pentru integratori: exemple, studii de caz, feedback despre hook-urile utile.

Sunteți gata să vă conectați stack-ul?
Vă arătăm prin apel video.

Demo CTO de 30 de minute: analizăm stack-ul dumneavoastră, enumerăm punctele de conectare și răspundem live la întrebările privind securitatea / GDPR.