Telefonie prin API pentru echipele de vânzări și suport

Agentul apasă pe numărul clientului în CRM. Platforma îi sună mobilul, apoi pe client, de pe numărul fix al firmei. Apelurile primite ajung la agentul potrivit. CRM-ul află fiecare pas prin webhook și primește înregistrarea la final.

CRM-ul cere apelul, platforma sună agentul, apoi clientul, îi conectează și trimite evenimentele către CRMCRMsistemul tăuPlatformavoice-api.2l.roAgenttelefonul mobilClientorice număr din RomâniaPOST /v1/callscall.createdsună mobilul agentuluirăspunde (și confirmă cu o tastă)call.agent_answeredsună clientul de pe 031 234 5678 (numărul firmei)răspundecall.answeredmesaj de informare, apoi convorbirecall.endedcall.recording_ready
cerere sau răspunssunăconvorbirewebhook semnat către CRM
  1. CRM-ul cere apelulPOST /v1/calls cu agentul și numărul clientului
  2. Sună mobilul agentuluiAgentul răspunde și, dacă firma cere, confirmă cu o tastă.
  3. Sună clientulClientul vede numărul fix al firmei.
  4. ConvorbireaAmândoi aud mesajul de informare, apoi vorbesc. Convorbirea se înregistrează.
  5. CRM-ul află totWebhook-uri pentru fiecare pas, apoi înregistrarea.
Telefonul agentului
Mobilul lui. Fără aplicație, softphone sau căști.
Numărul văzut de client
Numărul fix al firmei, cu prefix din România
Apeluri primite
Program, meniu cu taste, cozi, mesagerie vocală
Înregistrare
Stereo: agentul pe stânga, clientul pe dreapta
Integrare
REST + JSON, webhook-uri semnate HMAC-SHA256
Găzduire
AWS Frankfurt, datele rămân în UE

Apeluri din CRM

Un apel pornește cu o singură cerere. Restul se întâmplă pe telefoane.

  • Agentul folosește telefonul mobil pe care îl are deja. Merge la fel din birou, de pe teren sau din mașină.
  • Clientul vede numărul fix al firmei, nu mobilul agentului.
  • Firma poate cere ca agentul să confirme cu o tastă înainte să fie sunat clientul.
  • Când clientul răspunde, amândoi aud mesajul despre înregistrare, apoi vorbesc.
  • CRM-ul își poate atașa propriile date la apel (de exemplu ID-ul lead-ului) și le primește înapoi în fiecare eveniment.

Apeluri primite

Când un client sună la numărul firmei, platforma caută omul potrivit înainte să-l pună la coadă.

  1. Program de lucruPe linie sau pe coadă, cu sărbătorile legale din România completate automat. În afara programului clientul aude mesajul de închis și poate lăsa un mesaj.
  2. Agentul clientuluiSună întâi agentul cu care clientul a vorbit ultima dată în ultimele 30 de zile, sau pe cel ales de CRM-ul tău în cel mult 1,5 s.
  3. MeniuUn nivel de taste, de exemplu 1 pentru vânzări, 2 pentru service.
  4. CoadăMuzică, anunțuri periodice și poziția în coadă. Agenții sunt sunați pe rând, după cel mai lung timp liber sau toți deodată.
  5. Mesagerie vocalăPână la 120 s, trimisă CRM-ului ca fișier audio.

Agentul se conectează sau se deconectează sunând de pe mobil la numărul firmei: 1 pentru conectare, 2 pentru deconectare.

Înregistrări

Fiecare voce pe canalul ei, ca să poți analiza separat ce spune agentul și ce spune clientul.

Canale
Agentul pe stânga, clientul pe dreapta. Mesageria vocală e mono.
Ce se înregistrează
Doar convorbirea, după mesajul de informare. Niciodată tonul de apel sau mesajul.
Format
MP3 (16 kHz, 48 kbps) sau WAV (PCM 16 bit, 8 kHz), la alegerea firmei
Acces
Descărcare prin API. Fiecare descărcare intră în jurnalul de audit.
Păstrare
7 zile implicit, configurabil per firmă. Ștergere la cerere, pentru GDPR.

API și webhook-uri

REST și JSON, cu documentație OpenAPI publică și un mediu de test separat.

Ceri apelul:

curl -X POST https://voice-api.2l.ro/v1/calls \
  -H "Authorization: Bearer $TENANT_KEY" \
  -d '{"agent_id": "ag_…", "to": "+40700987654",
       "external_ref": {"lead_id": 612}}'

Când apelul se termină, CRM-ul primește:

POST https://crm.exemplu.ro/telefonie/evenimente
X-Signature: sha256=…

{ "event": "call.ended",
  "call": { "status": "ANSWERED", "talk_seconds": 236,
            "agent": { "external_ref": "41" },
            "external_ref": { "lead_id": 612 } } }

Apoi descarci înregistrarea:

curl -o apel.mp3 https://voice-api.2l.ro/v1/calls/c_…/recording \
  -H "Authorization: Bearer $TENANT_KEY"
  • Chei separate pentru test și producție
  • Două chei active per firmă, ca să le schimbi fără întrerupere
  • Chei restrânse opțional la o listă de IP-uri
  • Cerere repetată fără apel dublu (Idempotency-Key)
  • Webhook-uri semnate HMAC-SHA256
  • Reîncercări timp de 24 de ore: 10 s, 30 s, 1 min, 5 min, 15 min, 30 min, apoi din oră în oră
  • Fiecare eveniment are starea completă a apelului
  • Cronologia fiecărui apel, cu toate încercările de livrare

Evenimente

  • call.created
  • call.ringing_agent
  • call.agent_answered
  • call.answered
  • call.ivr_selected
  • call.transferred
  • call.ended
  • call.recording_ready
  • call.recording_failed
  • agent.status_changed

Cum începi

Integrarea se face întâi pe staging, care sună doar numerele tale de test. Apoi treci pe producție cu chei noi.

  1. Primești accesÎți dăm cheia de partener și adăugăm numerele tale de test pe staging.
  2. Creezi firma și cheia eiFiecare client al tău e o firmă separată, cu cheia ei. Noi îi alocăm numerele fixe.
  3. Configurezi webhook-ulAdresa din CRM la care primești evenimentele, cu secretul pentru semnătură.
  4. Adaugi agențiiCu numărul de mobil și ID-ul lor din CRM.
  5. Dai primul apelUrmărești evenimentele și descarci înregistrarea.
  6. Apeluri primite, opționalSpui platformei unde să întrebe CRM-ul cine preia apelul.

Consola web

Pentru administratori și supervizori, fără cod.

  • Apelurile în desfășurare, cu închidere din consolă
  • Istoricul cu filtre și cronologia fiecărui apel
  • Agenți, linii, cozi, program de lucru și meniu
  • Utilizatori cu roluri și autentificare în doi pași
  • Chei API, livrările webhook, mesajele audio și jurnalul de audit

Partenerii au în plus loguri și grafice Grafana pentru apelurile și livrările lor, cu acces restrâns pe IP.

Deschide consola

Pentru integratori

Dacă ai un CRM cu mai mulți clienți, ești partener. Cheia de partener creează firmele client și cheile lor. Fiecare firmă are agenții, liniile, cozile și datele ei, separate de ale celorlalte. Clienții tăi nu au nevoie de cont la noi.

Infrastructură și securitate

Găzduire
AWS Frankfurt (eu-central-1). Datele și înregistrările rămân în UE, înregistrările sunt criptate.
Izolare
Datele fiecărei firme sunt separate direct în baza de date (row-level security în Postgres).
Mediu de test
Staging separat, care sună doar numerele de pe lista ta.
Destinații
Numere mobile și fixe din România. Numerele cu tarif special sunt blocate.
Mesaje vocale
În română, cu o voce naturală. Le poți înlocui cu înregistrările tale.

În lucru: pachete cu minute, apeluri simultane, linii și agenți, raport de consum, liste negre și oprire de urgență.

Încearcă pe staging

Scrie-ne și îți creăm un cont de test, cu numerele tale pe lista de apeluri permise.

Scrie la voice@2l.ro