Perché è necessaria l'integrazione del proprio CRM/ERP/Desk con il centralino
Nella maggior parte dei sistemi di automazione aziendale (CRM/ERP/Desk ecc.) viene automatizzata la comunicazione con i clienti e/o i partner. Poiché gran parte della comunicazione avviene ancora per telefono, è semplicemente necessario integrare il sistema con la telefonia IP.
In particolare per gli sviluppatori di CRM/Desk e altri sistemi di automazione, offriamo istruzioni per l'integrazione del vostro sistema con la telefonia IP di Zadarma.
Vantaggi dell'integrazione con Zadarma:
- l'ampia base clienti di Zadarma (oltre 2 milioni) avrà accesso ai tuoi servizi;
- i tuoi clienti potranno integrare la telefonia senza costi aggiuntivi (centralino virtuale. API, integrazioni - sono servizi gratuiti);
- copertura mondiale dei servizi, i tuoi clienti possono trovarsi in qualsiasi parte del mondo (supporto in 8 lingue, centri dati in tre continenti, numeri virtuali in 110 paesi del mondo).
Inoltre, dopo l'integrazione, se le visite al tuo sito web superano i 30.000 utenti al mese, saremo lieti di testare la tua integrazione e pubblicare le istruzioni sul nostro sito web (che ti darà traffico gratuito da uno degli operatori VoIP più popolari in Europa e nei paesi della CSI).
Nell'area personale, seguendo il link sono disponibili integrazioni dirette (sviluppate da noi) con diversi sistemi. Inoltre, nella sezione Aiuto-Istruzioni di configurazione troverai esempi di integrazione con sistemi esterni, sviluppati senza la nostra partecipazione. L'interfaccia API aperta consente di implementare in modo indipendente l'integrazione completa con il centralino virtuale di Zadarma. Questo compito è accessibile a qualsiasi sviluppatore grazie alla sua bassa complessità. Per tua comodità, in questa sezione vedremo l'integrazione del centralino virtuale di Zadarma con un sistema CRM esterno.
Funzioni di base:
- Chiamate con un solo clic dall'interfaccia CRM.
- Finestra pop-up con la notifica della chiamata in entrata/in uscita con le informazioni sul cliente, link alla scheda del cliente.
- Statistiche delle chiamate, registrazione delle chiamate nella scheda del cliente.
- Creazione automatica di contatti/lead/accordi in caso di chiamate da un nuovo cliente.
- Invio automatico della chiamata in entrata del cliente esistente al operatore responsabile.
- Visualizzazione del nome del cliente sul telefono IP in caso di chiamate in arrivo.
- Promemoria delle chiamate perse.
- Utilizzo della propria lista nera per le chiamate in entrata.
- Aggiunta dell'integrazione nell'area personale Zadarma.
L'interazione con l'API può essere suddivisa in due parti:
1. Richieste (POST, GET) da parte del CRM all'API di Zadarma
2. Sistema di notifiche sulle chiamate (webhook), richieste POST con le informazioni sulle chiamate inviate dall'API al sistema CRM
La documentazione completa sull'API è disponibile a questo link
1. Impostazioni di integrazione da parte di Zadarma.
Requisiti necessari per avviare la configurazione dell'integrazione:
Nell'area privata di Zadarma:
1. Generare le chiavi di autorizzazione API (Key e Secret)
2. È stato creato centralino virtuale e completato l'Assistente di configurazione (numeri interni del centralino con registrazione delle chiamate in base al numero di utenti CRM, scenario delle chiamate in entrata)
Abbiamo un account su Zadarma e un sistema CRM che dispone di un URL per il modulo di telefonia, ad esempio:
https://mybestcrm.com/zadarma
o
https://id12345678.mybestcrm.com/zadarma
Di seguito, come esempio, verrà utilizzato il link https://mybestcrm.com/zadarma (è necessario indicare il link del proprio CRM)
Nell'area personale di Zadarma, nella sezione Impostazioni-API è necessario premere il blocco "Notifications" nella colonna “Eventi per i quali è necessario inviare i dati:” devono essere attivate tutte le notifiche. Nella sezione "Notifica sulle chiamate al centralino " nel campo “Link al tuo sito web” inserisci l'URL del tuo CRM, a questo indirizzo verranno inviate le notifiche sulle chiamate.
Affinché il sistema accetti il link è necessario aggiungere il codice di verifica all'inizio dello script.
Esempio in PHP:
<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>
La convalida del link viene effettuata cliccando sul pulsante "Aggiungi", al link verrà inviata una serie di simboli arbitrari, ad esempio 1234567, in base al codice sopra indicato il link deve restituire il valore inviato senza simboli aggiuntivi, spazi, sequenze BOM, ecc. Se la convalida del link non viene completata, è necessario verificare quale valore restituisce il link inviando una richiesta curl al tuo link aggiungendo ?zd_echo=1234567
curl https://mybestcrm.com/zadarma?zd_echo=1234567
In risposta, il link deve restituire il valore inviato. 1234567
Se il campo è vuoto o appare un valore diverso da 1234567 - la convalida non verrà eseguita.
Per aumentare la sicurezza, si consiglia di consentire l'accesso al tuo link solo dall'IP 185.45.152.40/30 Ad ogni richiesta al tuo link verrà ricevuto un'intestazione aggiuntiva "Signature" grazie alla quale potrai anche verificare l'integrità e l'autenticità dei dati. Maggiori informazioni qui
2. Configurazione dell'integrazione da parte del CRM.
Nell'area personale di Zadarma è già stato confermato il link al CRM a cui verranno inviate le notifiche sulle chiamate, sono state generate le chiavi di autorizzazione che ora è necessario salvare nel CRM. Dal lato CRM è necessaria una pagina per configurare l'integrazione, chiamiamola "Configurazione telefonia", questa pagina deve avere le seguenti opzioni di base:
- Campi per inserire le chiavi di autorizzazione (Key e Secret).
- Link al modulo di telefonia nel CRM che abbiamo confermato in precedenza https://mybestcrm.com/zadarma.
- Elenco degli utenti con la possibilità di assegnare a ciascuno il proprio numero interno unico del centralino.
L'elenco dei numeri interni può essere ottenuto tramite il metodo GET /v1/pbx/internal/
Dall'elenco dei numeri interni ottenuto verrà creato un menu contestuale per assegnare numero interno a ciascun utente CRM Se un numero interno è già assegnato a un utente, tale numero non sarà più disponibile per essere selezionato da nessun altro utente del sistema.
Si consiglia di assegnare a uno degli utenti il ruolo di responsabile predefinito, selezionando la casella di controllo corrispondente nella pagina delle impostazioni telefoniche. Il responsabile predefinito sarà l'operatore responsabile degli eventi a cui non è stato assegnato un responsabile. Il responsabile predefinito sarà l'operatore responsabile degli eventi a cui non è stato assegnato un responsabile. Ad esempio, una chiamata in arrivo da un nuovo cliente viene indirizzata contemporaneamente a 5 interni (5 utenti del CRM) e nessuno di loro ha risposto alla chiamata, ma non si vorrebbe perdere il potenziale cliente. Per questo motivo nel CRM è possibile creare un evento, un'attività o un lead "Chiamata persa dal numero", ma chi sarà il responsabile? Se viene assegno a tutti e cinque gli utenti contemporaneamente il potenziale cliente potrebbe essere richiamato 5 volte. In questo caso è possibile assegnare l'evento al responsabile predefinito (ad esempio, il responsabile del reparto vendite). Se nel tuo CRM disponi di un elenco di lead non elaborati e sono gli utenti ad assegnarli o vengono assegnati automaticamente in base a un algoritmo interno, puoi non utilizzare l'opzione del responsabile predefinito.
Le impostazioni telefoniche nel CRM sono solitamente disponibili solo agli utenti con diritti di amministratore/responsabile. Per i call center può essere utile visualizzare il saldo dell'area personale di Zadarma nella pagina telefonica del CRM. È possibile ottenere il saldo con l'aiuto del metodo GET /v1/info/balance/
3. Chiamate in uscita dall'interfaccia CRM ▾
3.1 Widget su WebRTC per chiamate dal browser.
Se il sistema CRM utilizza https, è possibile inserire il nostro widget. Attenzione! Non inserire il widget nel dominio pubblico, poiché in tal caso chiunque potrà chiamare dal tuo account. Ad ogni caricamento della pagina da parte del codice del server è necessario generare una chiave per webrtc ottenuta con l'aiuto del metodoGET /v1/webrtc/get_key della nostraAPI (Periodo di validità della chiave: 72 ore).
Nell'area personale, nella sezione Impostazioni - Integrazioni e API nella sezione "Integrazione del widget WebRTC" è necessario inserire il dominio del proprio sistema CRM e selezionare le impostazioni relative alla posizione e al design del widget. Quindi utilizza la chiave ottenuta per l'integrazione nel tuo sistema CRM. Quindi utilizza la chiave ottenuta per l'integrazione nel tuo sistema CRM. Al posto di YOUR_KEY inserisci la chiave generata tramite API; al posto di YOUR_SIP inserisci il numero SIP o il numero completo dell'interno del centralino da cui verranno effettuate le chiamate.
Esempio di codice:
<script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-lib.js?v=17"></script>
<script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-fn.js?v=17"></script>
<script>
if (window.addEventListener) {
window.addEventListener('load', function() {
zadarmaWidgetFn('YOUR_KEY', 'YOUR_SIP', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}");
}, false);
} else if (window.attachEvent) {
window.attachEvent('onload', function(){
zadarmaWidgetFn('YOUR_KEY', 'YOUR_SIP', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}");
});
}
</script>
Widget in stato nascosto:
Widget in stato esteso:
3.2 Chiamate con l'aiuto della funzione di richiamata (Callback)
Nell'interfaccia CRM accanto a ciascun numero inseriamo l'icona/pulsante per avviare la chiamata al numero di telefono. Allo stesso modo, consigliamo di utilizzare il telefono web con la tastiera di composizione per chiamare un nuovo numero non salvato nel CRM. Le chiamate in uscita vengono effettuate secondo il principio del Callback. Sul numero interno del centralino virtuale deve essere configurato un telefono IP o un softphone per effettuare e ricevere chiamate. L'utente nel CRM clicca sull'icona accanto a ciascun numero o sul pulsante di chiamata nel telefono web, nella parte CRM viene inviato il Callback.
Metodo GET /v1/request/callback/
Parametri:
- from – numero di 3 cifre dell'interno assegnato all'utente.
- to – il numero di telefono che l'utente desidera chiamare.
L'utente riceve una chiamata in arrivo sul proprio softphone, risponde e attende la connessione con il numero che desidera chiamare.
Esempio di realizzazione:
4. Notifiche pop-up delle chiamate nell'interfaccia CRM ▾
Quando un numero interno del centralino riceve ed effettua chiamate, è necessario che nel sistema CRM venga visualizzata la relativa notifica. La notifica deve essere visibile solo all'utente che partecipa alla chiamata. Nella notifica della chiamata è possibile visualizzare le seguenti informazioni:
- Numero di telefono
- Nome del contatto/azienda/lead se il numero è stato precedentemente salvato nel CRM, il nome sarà il link per andare direttamente all'entità (contatto/azienda/lead)
- Se la chiamata proviene da un nuovo cliente - pulsante per la creazione di contatto/azienda/lead
- Nome dell'operatore responsabile se la chiamata proviene da un cliente già esistente
- Numero virtuale a cui è arrivata la chiamata (numero collegato a Zadarma)
Il trigger che fa apparire la notifica pop-up è l'evento NOTIFY_INTERNAL inizio della chiamata in entrata all'interno del centralino) o l'evento NOTIFY_OUT_START (inizio della chiamata in uscita dal centralino.)
Quando si risponde alla chiamata e inizia la conversazione, al CRM verrà inviata la notifica NOTIFY_ANSWER (risposta alla chiamata all'interno o al numero esterno.) che a sua volta è il trigger per la notifica pop-up, al ricevimento NOTIFY_ANSWER nella notifica è possibile avviare un contatore che mostra la durata della chiamata in tempo reale o anche l'intestazione della notifica "Chiamata da 442037691880" che può essere sostituita da "Conversazione con 442037691880"
Al termine della chiamata verrà inviata la notifica NOTIFY_END (fine della chiamata in entrata al numero interno del centralino.) o NOTIFY_OUT_END (fine della chiamata in uscita dal centralino.)
Dopo aver ricevuto NOTIFY_END o NOTIFY_OUT_END la finestra pop-up deve chiudersi.
Esempio di realizzazione
5. Registrazione e statistiche delle chiamate ▾
Per caricare le registrazioni da Zadarma al CRM è necessario che nelle impostazioni del numero interno del centralino sia attivata la registrazione delle chiamate sul cloud. Al termine della chiamata, quando la registrazione è pronta per essere scaricata, al CRM verrà inviata la notifica NOTIFY_RECORD (registrazione della chiamata pronta per essere scaricata)
Il parametro call_id_with_rec contiene l'identificativo che, una volta utilizzato, consente di ricevere la registrazione delle chiamate, per farlo utilizziamo il metodo GET /v1/pbx/record/request/. La risposta conterrà un link al file con la registrazione della chiamata. Se il tuo sistema CRM dispone di un proprio cloud per il salvataggio dei file, la registrazione può essere caricata automaticamente sul cloud del CRM. Se non disponi di un archivio, puoi implementare un pulsante play per riprodurre la registrazione audio tramite il link ricevuto.Il pulsante di riproduzione della registrazione della chiamata può essere posizionato accanto alle informazioni sulla chiamata, ad esempio nel feed del lead/contatto/trattativa e nelle statistiche generali delle chiamate.
Per generare statistiche generali sulle chiamate nel CRM, è necessario utilizzare le informazioni sulle chiamate ricevute dalle notifiche. NOTIFY_END e NOTIFY_OUT_END.
6. Creazione automatica di contatti/lead/trattative quando ricevi una chiamata da un nuovo cliente ▾
Creazione automatica di eventi nel CRM in caso di chiamate in entrata da numeri sconosciuti o chiamate in uscita verso numeri sconosciuti. Quando si riceve una chiamata in entrata o si avvia una chiamata in uscita, il numero di telefono viene confrontato con il database CRM e, se il numero non viene trovato, è possibile creare un nuovo contatto/lead/trattativa/richiesta e assegnare tale attività all'utente che ha effettuato la chiamata. Si consiglia di creare opzioni separate dalla funzione di creazione automatica per le chiamate in entrata e in uscita. Per la chiamata in uscita è possibile creare l'attività quando: la chiamata è stata avviata (notifica NOTIFY_OUT_START), la chiamata ha ricevuto risposta (notifica NOTIFY_ANSWER), la chiamata è terminata (notifica NOTIFY_OUT_END). Il numero di telefono a cui viene effettuata la chiamata viene trasmesso nel parametro destination
Per le chiamate in entrata, è possibile creare l'attività quando la chiamata arriva al numero interno dell'utente CRM (notifica NOTIFY_INTERNAL, il numero del chiamante viene trasferito nel parametro caller_id) in modo che durante la chiamata l'utente possa già aprire la scheda appena creata del cliente che chiama, modificarla, aggiungere commenti, ecc. Al termine della chiamata verrà inviata la notifica NOTIFY_END in cui nel parametro internal verrà trasmesso numero interno del centralino che ha ricevuto la chiamata, confrontando questo numero con l'elenco degli utenti CRM, il sistema capirà quale utente assegnare come responsabile. Oppure è possibile creare l'attività al termine di una chiamata in entrata dopo aver ricevuto NOTIFY_END. Alcuni sistemi CRM non utilizzano affatto la creazione automatica delle attività, consentendo all'operatore che ha ricevuto la chiamata di determinare se si tratta di una chiamata qualificata o meno e di creare manualmente un lead/contatto/attività.
7. Invio della chiamata in arrivo all'operatore responsabile ▾
Quando arriva una chiamata da un cliente esistente (il cui numero è già memorizzato nel CRM), la chiamata viene automaticamente inoltrata all'utente responsabile di quel cliente. In questo modo, il chiamante non deve ascoltare il messaggio di benvenuto ogni volta che chiama né chiedere di essere trasferito al commerciale con cui ha parlato pochi minuti prima. La sua chiamata viene automaticamente trasferita all'interno dell'operatore responsabile nel CRM. Viene effettuato con l'aiuto della notifica NOTIFY_START
Nel parametro caller_id viene trasmesso il numero del chiamante se questo è stato precedentemente salvato nel CRM, ad esempio come numero di contatto di uno dei clienti, e se questo cliente ha un operatore responsabile, è possibile inoltrare la chiamata al suo interno. È anche possibile indicare la durata della chiamata all'operatore responsabile, ad esempio 15 secondi. Se il responsabile è assente e non può ricevere la chiamata, dopo 15 secondi la chiamata in arrivo del cliente verrà reindirizzata al menu vocale e successivamente seguirà gli scenari del centralino virtuale.Viene effettuato con l'aiuto della risposta alla richiesta POST NOTIFY_START
{
"redirect": “101”,
"return_timeout": “15”
}
dove,
- redirect - numero interno del centralino (numero a tre cifre).
- return_timeout - Valore in secondi >= 3 - durata della chiamata al numero interno prima che la chiamata torni al menu, valore consigliato 15 o 20.
8. Visualizzazione del nome del cliente sul telefono IP/softphone ▾
L'opzione consente di trasmettere il nome del cliente dal sistema CRM al telefono IP o softphone su cui viene ricevuta la chiamata. Viene effettuato con l'aiuto della notifica NOTIFY_START e della risposta alla stessa. Nella notifica, il parametro caller_id trasmette il numero del chiamante, se il numero è già stato salvato nel CRM e assegnato al cliente/contatto/lead, in risposta a NOTIFY_START è possibile trasmettere con lettere latine il nome del cliente:
{
"caller_name": "IBM"
}
dove,
- caller_name - nome del cliente/azienda dal CRM.
9. Promemoria delle chiamate perse ▾
Quando si riceve una chiamata in entrata dal cliente con la notifica NOTIFY_END dal parametro caller_id, è possibile ottenere il numero del chiamante e trovare il cliente/contatto/lead con questo numero e il suo operatore responsabile. Se la chiamata non ha ricevuto risposta, stato della chiamata non answered nel parametro disposition, è possibile creare un'attività/promemoria per l'operatore responsabile riguardo a una chiamata persa da un cliente.
10. Blacklist nel CRM ▾
È possibile creare un elenco di numeri chiamanti che saranno rifiutati. È possibile aggiungere il numero all'elenco nella pagina delle impostazioni telefoniche o creando per ogni utente un pulsante per aggiungere numeri alla lista nera. Viene effettuato anche in base alla notifica NOTIFY_START e alla risposta ad essa. Se il numero del chiamante del parametro caller_id si trova nella lista nera del CRM, nella risposta a NOTIFY_START viene trasmesso:
{
"redirect": "blacklist"
}
11. Aggiunta dell'integrazione nell'area personale di Zadarma ▾
Dopo aver completato con successo i passaggi precedenti e i test a livello di singolo utente, puoi richiedere di aggiungere l'integrazione al Marketplace di Zadarma (se il traffico mensile del sito web del tuo sistema supera i 30.000 utenti). Ciò consentirà l'utilizzo di questa integrazione a qualsiasi utente Zadarma che abbia un account attivo e abbia configurato il centralino virtuale. Consentirà inoltre all'utente finale di salvare tutte le impostazioni in modo rapido ed efficiente. La richiesta deve essere inviata via e-mail a integration@zadarma.com con oggetto "Richiesta di aggiunta dell'integrazione con il sistema [nome del tuo СRM] al Marketplace Zadarma". La richiesta deve contenere i seguenti dati:
URL del tuo CRM per attivare l'integrazione
A questo indirizzo verranno inviate le informazioni sull'utente Zadarma che sta tentando di integrare la telefonia con il tuo sistema CRM. Nel formato di trasmissione dati selezionato (GET, POST) ti verrà trasmesso un identificativo utente univoco nel formato stringa md5 hash. In risposta, dovrai inviare una chiave generata casualmente che sarà associata a quel determinato utente. D'ora in poi, alle richieste al tuo sistema CRM, l'identificativo utente e l'hash inviato saranno utilizzati come dati giustificativi con il titolo:
Authorization: Bearer [userId . hash]
Inoltre, l'identificatore utente verrà trasmesso in ogni notifica relativa alla chiamata nel campo zdUserId. È necessario presentare esempi di possibili risposte.
URL del tuo sistema CRM per disattivare l'integrazione
La richiesta verrà inviata a questo indirizzo quando l'utente tenterà di disattivare l'integrazione. Viene utilizzata l'autorizzazione standard Bearer
URL del tuo sistema CRM per ricevere le notifiche sulle chiamate
Le notifiche sulle chiamate vengono trasmesse a tutti gli utenti integrati. È possibile identificare l'utente utilizzando il campo zdUserId. Il formato delle notifiche è disponibile nella pagina di descrizione dell'API. Viene utilizzata l'autorizzazione standard Bearer.
URL del tuo sistema CRM che consente di ottenere i nomi dei clienti tramite i numeri di telefono
Necessario per utilizzare la funzione "Visualizzazione del nome del cliente sul softphone". È necessario un esempio di richiesta e possibili risposte. Viene utilizzata l'autorizzazione standard Bearer.
(Opzionale) Indirizzo URL del tuo sistema CRM che consente di ottenere l'elenco degli operatori
Necessario per utilizzare la funzione "Assegnazione degli operatori ai numeri interni del centralino". Ciò consentirà all'utente di assegnare agli operatori del sistema CRM i numeri interni del centralino virtuale direttamente dall'area personale. Se è necessaria la sincronizzazione di questi dati con il tuo CRM, è necessario indicare anche l'indirizzo URL a cui inviare questi dati in formato JSON. È necessario un esempio della richiesta e delle possibili risposte. Viene utilizzata l'autorizzazione standard Bearer.
Visualizzazione del nome dell'autore dell'integrazione (puoi inviare il nome della tua azienda e il link alla pagina web principale)
Il logo dell'integrazione in formato PNG su sfondo trasparente di dimensioni 500 x 150px
La funzionalità dei punti 6-10 è opzionale, in modo che l'utente finale possa attivare o disattivare le funzioni di cui ha bisogno nella sezione "Configurazione telefonica" nel CRM.
Ricordiamo, se le visite al tuo sito web superano i 30.000 utenti al mese, saremo lieti di testare la tua integrazione e pubblicare le istruzioni sul nostro sito web. Per qualsiasi domanda relativa all'integrazione del tuo sistema e alla telefonia Zadarma, contattaci via e-mail all'indirizzo integration@zadarma.com.