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.uploadedfile.validatedfile.refusedfile.expiredfile.archivedfile.signed
Clienți și autentificare
client.createdclient.archivedclient.taggedclient.loginclient.logoutclient.password_reset
Parcurs și porți de acces
parcours.enrolledstep.unlockedstep.completedquiz.submittedcertificate.issuedparcours.finished
Comunitate și implicare
comment.postedannouncement.publishedtrophy.unlockedevent.createdevent.rsvpreplay.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) → trueConfigurare: 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_uploadedcv_after_file_validatedcv_after_step_completedcv_after_client_createdcv_after_audit_log
Filtre principale
cv_email_subjectcv_email_bodycv_max_upload_sizecv_storage_quota_gbcv_token_lifetime
Capabilități & roluri
cv_user_can_view_clientcv_user_can_validatecv_user_can_exportcv_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.