API pentru dezvoltatori
Conectează Leaply la CRM-ul tău, la site, la Zapier/Make sau la orice altă platformă. API REST simplu, JSON, autentificat cu cheie per cont.
Autentificare
Generezi cheia din Setări & Plan → API (o vezi o singură dată — păstreaz-o în siguranță). O trimiți în header la fiecare request:
Authorization: Bearer lp_xxxxxxxxxxxxxxxxToate endpoint-urile au baza https://leaply.ro/api/v1. Răspunsurile sunt JSON; erorile au forma {"error":"mesaj"} cu status 4xx.
Lead-uri
POST /leads — creezi un lead (ex. dintr-un formular propriu sau CRM). Leaply pornește conversația și îl califică automat.
curl -X POST https://leaply.ro/api/v1/leads \
-H "Authorization: Bearer lp_..." -H "Content-Type: application/json" \
-d '{"name":"Ion Popescu","phone":"+40712345678","message":"Vreau o ofertă pentru termopane","source":"site-propriu","channel":"api"}'
// 201 → {"ok":true,"lead_id":"ld_...","conversation_id":"cv_..."}GET /leads — listă lead-uri, cele mai noi primele. Parametri: score (hot/warm/cold), limit (max 200), offset.
curl "https://leaply.ro/api/v1/leads?score=hot&limit=50" -H "Authorization: Bearer lp_..."
// {"data":[{"id":"ld_...","name":"Ion Popescu","phone":"+40712...","score":"hot",
// "conversation_id":"cv_...","channel":"whatsapp","status":"booked",
// "qualification":{"q1":"tripan","q2":"urgent","q3":"Oradea"},"created_at":"..."}], "limit":50,"offset":0}Conversații
GET /conversations — filtre: status (active/qualified/booked/lost), channel (whatsapp/messenger/instagram/webform/voice/api), limit, offset.
curl "https://leaply.ro/api/v1/conversations?status=booked" -H "Authorization: Bearer lp_..."GET /conversations/{id} — conversația completă, cu toate mesajele (direcție, expeditor, text, timestamp).
curl https://leaply.ro/api/v1/conversations/cv_abc123 -H "Authorization: Bearer lp_..."
// {"data":{"id":"cv_...","status":"booked","lead_name":"Ion Popescu",
// "messages":[{"direction":"in","sender":"lead","body":"Bună ziua...","created_at":"..."}, ...]}}Mesaje
POST /messages — trimiți un mesaj manual într-o conversație (de la un agent uman, din CRM-ul tău). Mesajul pleacă pe canalul original al lead-ului.
curl -X POST https://leaply.ro/api/v1/messages \
-H "Authorization: Bearer lp_..." -H "Content-Type: application/json" \
-d '{"conversation_id":"cv_abc123","body":"Bună ziua! Sunt Andrei, colegul care vine la măsurătoare."}'
// {"ok":true,"delivered":true}Statistici
GET /stats — KPI-urile contului: lead-uri, calificate, programări, timp mediu de răspuns, plan și utilizare lunară.
curl https://leaply.ro/api/v1/stats -H "Authorization: Bearer lp_..."
// {"data":{"leads":124,"qualified":61,"booked":38,"avgSec":4,"savedLei":64050,
// "plan":"Pro","usage_month":212,"usage_limit":1000}}Webhooks (Leaply → platforma ta)
Pe lângă API, Leaply poate împinge evenimente către un URL al tău (setat în Setări & Plan → CRM / Webhook), semnate HMAC-SHA256 în header-ul X-Leaply-Signature:
POST https://crm-ul-tau.ro/webhook
{"event":"lead.created","account_id":"acc_...","data":{"lead":{...},"conversation":{...}}}
// evenimente: lead.created (lead nou), lead.updated (mesaj nou / schimbare status, inclusiv qualified și booked), billing.upgradedVerifici semnătura: "sha256=" + hex(hmac_sha256(secret, raw_body)) === X-Leaply-Signature.
Limite & bune practici
Max 200 de rezultate per pagină (folosește offset). Cheia se poate regenera oricând din Setări (cea veche moare instant). Pentru volume mari sau nevoi speciale: salut@leaply.ro.