Pourquoi intégrer votre propre CRM/ERP/Desk avec le standard téléphonique
Dans plusieurs systèmes de l'automatisation de l'entreprise (CRM/ERP/Desk etc) la communication avec les clients ou partenaires est automatisée. La plupart de la communication s'effectue par téléphone, mais le système doit être intégré avec la téléphonie IP.
Pour les développeurs de CRM/Desk nous proposons le manuel de l'intégration de votre système avec la téléphonie IP Zadarma.
Les avantages de l'intégration avec Zadarma:
- la grande base de clients Zadarma (plus de 1.6 million) auront l'accès à vos services;
- vos clients pourront intégrer la téléphonie sans dépenses (le standard téléphonique, API, les intégrations - sont gratuits);
- vos clients peuvent être partout (les centres de données sur 3 continents, le service client en 5 langues, les numéros virtuels dans 100 pays du monde).
Après l'intégration si la visite de votre site est plus de 30 000 utilisateurs par mois, nous sommes prêts à tester votre intégration, placer le manuel sur notre site et l'intégration dans l'espace client (ce qui vous donne des clients d'un des opérateurs VoIP plus populaires dans la CEI et l'Europe).
Dans l'espace client en cliquant ce lien ссылке vous trouverez les intégrations (que nous avons élaborées) avec des différents systèmes, dans une séction Assistance - Manuel d'installation vous trouverez les exemples de l'intégration avec des systèmes à part, élaborées sans notre participation. L'API ouvert permet de réaliser l'intégration avec le standard téléphonique Zadarma, c'est une tâche que tous les développeurs sont capables à réaliser. Nous allons envisager l'intégration avec le standard téléphonique Zadarma et le CRM à part
Les fonctions principales:
- Les appels en un clic de l'interface CRM.
- Les notifications des appels entrants et sortants qui apparaissent avec les données de celui qui appelle est le lien à le fichier .
- La statistique des appels, les enregistrements des appels dans un fichier.
- La création automatique des contacts/leads/affaires pendant l'appel du nouveau client .
- Le renvoi automatique de l'appel entrant du client existant au responsable.
- L'affichage du nom de client sur votre téléphone IP pendant l'appel entrant.
- Les notifications des appels manqués.
- L'utilisation de la liste noire des appels entrants.
- L'ajout de l'intégration dans l'espace client Zadarma.
La collaboration avec API on peut diviser en deux parties:
1. Les demandes (POST, GET) de la part de CRM à API Zadarma
2. Le système des notifications des appels (webhook), POST-demandes avec l'information sur les appels enoyée par notre API à CRM
Une documentation complète d'API est ici
1. Le réglage de l'intégration de la part de Zadarma.
Les conditions nécessaires pour commencer le réglage de l'intégration:
Dans l'espace client Zadarma:
1. Générer les clés d'autorisation API (Key и Secret)
2. Le standard téléphonique est créé l'assistant de configuration est fini (les numéros internes du standard téléphonique avec l'enregistrement des appels selon le nombre d'utilisateurs de CRM, le scénario des appels entrants)
Si vous avez le compte Zadarma et le CRM qui doit avoir l'adresse URL pour le module téléphonique, per exemple:
https://mybestcrm.com/zadarma
ou
https://id12345678.mybestcrm.com/zadarma
Ensuite nous allons utiliser le lien https://mybestcrm.com/zadarma (Vous devez avoir le lien qui indique votre CRM)
Dans l'espace client Zadarma dans une séction Les paramètres - API dans une colonne “Les événements, dont les données doivent être envoyées:” tous les types de notifications doivent être activés. Dans une séction “La notification des appels au standard téléphonique” dans le champ “Le lien de votre ressource” saisissez URL de votre CRM, les notifications des appels seront envoyées à cette adresse.
Pour que le système accepte le lien, il faut ajouter le code au début de script.
L'exemple de PHP:
<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>
La validation du lien s'effectue après l'appui du bouton “Ajouter”, l'ensemble de symboles arbitraires est envoyé au lien, par exemple 1234567, selon le code indiqué le lien doit rendre la notion envoyée sans symboles supplémentaires, espaces, BOM- séquences etc. Si la validation du lien ne s'effectue pas, vérifiez la notion que rend le lien, envoyez curl demande à votre lien en ajoutant ?zd_echo=1234567
curl https://mybestcrm.com/zadarma?zd_echo=1234567
Dans une réponse le lien doit rendre la notion 1234567
Si c'est vide ou la notion est différente 1234567 - la validation n'est pas effectuée.
Pour augmenter la sécuirité, nous recommandons autoriser le lien de IP 185.45.152.42 Dans chaque demande sur votre lien sera envoyé le titre supplémentaire "Signature", grâce auquel vous pouvez vérifier l'intégrité et l'authenticité des données. En savoir plus ici
2. Le réglage de l'intégration de la part de CRM.
Dans l'espace client Zadarma le lien, indiquant CRM, est déjà confirmé, où seront envoyées les notifications des appels, crées les clés d'autorisation, maintenant il faut sauvegarder les clés dans CRM. Du côté de CRM il faut créer une page pour ajuster l'intégration, on l'appelle “Les paramètres de la téléphonie”, sur cette page les paramètres importants sont:
- Le champ pour sasir les clés d'autorisation (Key и Secret).
- Le lien au module téléphonique dans CRM que nous avons déjà confirmé https://mybestcrm.com/zadarma.
- La liste des utilisateurs avec la possibilité de nommer le numéro interne du standard téléphonique à chacun.
La liste des numéros internes vous pouvez recevoir par le méthode GET /v1/pbx/internal/
De la liste des numéros internes reçus on forme le menu contextuel pour nommer le numéro interne à chaque utilisateur de CRM Si le numéro est déjà nommé, il n'est plus disponible.
Nous recommandons de nommer un des utilisateurs responsable par défaut en créant la case à cocher à la page des paramètres. Le responsable par défaut est l'employé qui sera nommé responsable des événements où il n'y a pas de responsable. Par exemple: L'appel entrant du nouveau client est envoyé vers 5 numéros internes (5 utilisateurs CRM) et personne n'a décroché, mais vous ne voulez pas perdre le client potentiel, dans CRM on peut créer l'événement, la tâche ou le lead “L'appel manqué du numéro”, mais si tout le monde est responsable, le client peut recevoir l'appel 5 fois, dans ce cas vous pouvez nommer responsable l'employé par défaut (Par exemple le responsable des ventes). Si vous avez dans CRM le pool des leads à traiter, les utilisateurs peuvent choisir des leads ou ils sont automatiquement nommés selon la règle et il ne faut pas utiliser l'option de responsable par défaut.
Le réglage de la téléphonie dans CRM sont disponible à l'administrateur. Pour les centres d'appel l'affichage du solde peut être une fonction utile à la page du réglage de la téléphonie dans CRM. Recevoir le solde vous pouvez recevoir par le méthode GET /v1/info/balance/
3. Les appels sortants de l'interface CRM ▾
3.1 Le widget WebRTC pour les appels du navigateur.
Si votre CRM utilise https vous pouvez utiliser notre widget. Attention: Ne placez pas un widget accessible au public sur Internet, sinon tout le monde pourra appeler avec votre compte. Pendant chaque chargement de la page de la part du code de serveur il faut générer la clé pour webrtc, reçue grâce au méthode de GET /v1/webrtc/get_key notre API (La durée de vie de clé - 72 heures).
Dans l'espace client à la page Paramètres - Intégrations et API dans une séction "Intégration de widget WebRTC" il faut saisir le domaine de votre CRM et choisir les paramètres de l'aspect et le placement du widget. Ensuite utilisez le code reçu pour l'intégration avec votre CRM. Au liey de YOUR_KEY placez la clé API générée; au lieu de YOUR_SIP placez votre SIP-numéro ou le login du numéro interne que vous allez utiliser pour les appels.
L'exemple de code:
<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>
Le widget caché:
Le widget affiché:
3.2 Les appels avec le rappel automatique (Callback)
Dans l'interface CRM près de chaque numéro de téléphone on ajoute l'icône/le bouton pour effectuer l'appel et nous recommandons de réaliser le téléphone web avec la composition du numéro pour appeler au numéro qui n'est pas sauvegardé dans le système. Les appels sortants sont effectués au principe de Callback. Le numéro interne doit avoir le téléphone IP ou le softphone pour recevoir et effectuer les appels. L'utilisateur dans CRM clique sur l'icône et de la part de CRM est envoyé le Callback.
Le méthodeGET /v1/request/callback/
Les paramètres:
- from – le numéro interne du standard téléphonique de l'utilisateur.
- to – le numéro de téléphone auquel appelle l'utilisateur.
L'utilisateur reçcoit l'appel entrant sur son softphone, décroche et attend la connexion avec le numéro.
L'exemple de réalisation:
4. Les notifications des appels dans l'interface CRM ▾
Quand le numéro interne effectue ou reçoit l'appel, il faut que dans CRM la notification soit affichée. La notification doit être affichée chez l'utilisateur dont le numéro interne participe à l'appel. Dans une notification de l'appel linformation suivante peut être affichée:
- Le numéro de téléphone
- Le nom du contact/entreprise/lead si le numéro est sauvegardé, le nom est le lien de passage au contact/entreprise/lead
- Si l'appel est du nouveau client - le bouton de création du contact/entreprise/lead
- Le nom d'employé responsable si l'appel est du client existant
- Le numéro virtuel qui reçoit l'appel entrant (le numéro connecté chez Zadarma)
Le déclencheur pour l'apparition de la notification est l'événement NOTIFY_INTERNAL (le début de l'appel entrant au numéro interne.) ou l'événement NOTIFY_OUT_START (le début de l'appel sortant du standard téléphonique.)
Quand on décroche et la conversation commence, dans CRM la notification sera envoyée NOTIFY_ANSWER (la réponse pendant l'appel au numéro interne ou externe.) qui est le déclencheur pour la notification, pendant la réception NOTIFY_ANSWER dans la notification peut apparaître le compte à rebours qui montre la durée d'appel et le titre de la notification “L'appel de 442037691880” peut être remplacé par “La conversation avec 442037691880”
Quand l'appel est fini, la notification sera envoyée NOTIFY_END (la fin de l'appel entrant au numéro interne.) ou NOTIFY_OUT_END (la fin de l'appel sortant du standard téléphonique.)
Après la réception de NOTIFY_END ou NOTIFY_OUT_END la notification se cache.
L'exemple de la réalisation:
5. Les enregistrements et la statistique des appels ▾
Pour charger les enregistrements de Zadarma dans CRM il faut activer l'enregistrement des appels pour le numéro interne du standard téléphonique dans Cloud. Après la fin de l'appel, quand l'audio est prêt , dans CRM sera envoyée la notification NOTIFY_RECORD (l'enregistrement est prêt au chargement.)
Dans un paramètre call_id_with_rec il y a l'identificateur et en l'utilisant vous pouvez recevoir l'enregistrement d'appel, on utilise ce méthode GET /v1/pbx/record/request/. Dans une réponse il y a le lien au fichier avec l'enregistrement d'appel, si dans votre CRM il y a le Cloud pour les enregistrements, l'enregistrement peut être automatiquement chargé dans le Cloud CRM. S'il n'y a pas de propre stockage, on peut réaliser le bouton play pour lire l'audio au lien reçu. Le bouton de lecture peut être placé à côté de l'information sur l'appel, par exemple dans le fil du lead/contact/affaire ou dans la statistique des appels.
Pour former la statistique des appels dans CRM il faut utiliser l'information sur les appels reçue des notifications NOTIFY_END et NOTIFY_OUT_END.
6. La création automatique des contacts/leads/affaires pendant l'appel du nouveau client ▾
La création automatique des événements dans CRM pendant les appels entrants des numéros inconnus ou les appels sortants aux numéros inconnus. Pendant l'appel entrant ou sortant, le numéro de téléphone est vérifié dans une base de CRM et si le numéro n'est pas trouvé, le nouveau contact/lead/affaire/demande est créé. Nous recommandons de faire les options de la création automatique des événements pour les appels entrants et sortants. Pour les appels sortants vous pouvez créer l'événement: quand l'appel est initié (la notification NOTIFY_OUT_START), quand la réponse est répondu (la notification NOTIFY_ANSWER), à la fin de l'appel (la notification NOTIFY_OUT_END). Le numéro, où on appelle l'appel est transmis dans le paramètre destination
Pour l'appel entrant vous pouvez créer l'événement quand l'appel est renvoyé au numéro interne de l'utilisateur de CRM (la notification NOTIFY_INTERNAL, le numéro de celui qui appelle est transmis dans le paramètre caller_id) pour que pendant l'appel l'utilisateur puisse ouvrir un fichier client, la modifier etc. A la fin de l'appel entrant sera envoyée la notification NOTIFY_END où dans le paramètre internal sera transmis le numéro interne du standard téléphonique qui a reçu l'appel, en comparant ce numéro à la liste des utilisateurs CRM, le système pourras définir le responsable. Ou on peut créer l'événement à la fin de l'appel entrant après la réception NOTIFY_END. Certains CRM systèmes n'utilisent pas la création des événements, donne la possibilité au manager de définir si l'appel est ciblé et créer le lead/contact/tâche.
7. Le renvoi automatique de l'appel entrant vers le responsable ▾
Pendant l'appel entrant du client existant (son numéro est dans CRM) l'appel est automatiquement renvoyé au responsable, celui qui appelle n'entend pas la salutation et ne demande pas de le joindre avec le manager avec qui il a déjà parlé, son appel sera automatiquement renvoyé vers le responsable. Est réalisé à l'aide de la notification NOTIFY_START
Dans le paramètre caller_id est transmis me numéro de celui qui appelle si le numéro est déjà sauvegardé dans CRM par exemple le numéro d'un des clients et ce client a le responsable, l'appel entrant sera renvoyé vers le numéro interne du responsable. Vous pouvez indiquer la durée d'appel au responsable, par exemple 15 secondes, si le responsable est absent, dans 15 secondes l'appel entrant est revenu au SVI et l'appel passe selon le scénario du standard téléphonique. Est réalisé à l'aide de la réponse à la demande POST NOTIFY_START
{
"redirect": “101”,
"return_timeout": “15”
}
où,
- redirect - le numéro interne du standard téléphonique (numéro à trois chiffres).
- return_timeout - La notion en secondes >= 3 - la durée de l'appel du numéro interne, avant que l'appel revienne au menu, la notion recommandée 15 ou 20.
8. Afficher le nom du client sur le téléphone IP/softphone ▾
L'option permet de transmettre le nom de client de CRM sur le téléphone ip ou softphone avec lequel il reçoit l'appel. Est réalisé à l'aide de la notification NOTIFY_STARTet sa réponse, dans une notification dans le paramètre caller_id est transmis le numéro de celui qui appelle si le numéro est déjà dans CRM et attaché au client/contact/lead, dans une réponse à NOTIFY_START on peut transmettre le nom de client en latin:
{
"caller_name": "IBM"
}
où,
- caller_name - le nom de client/entreprise de CRM.
9. Le rappel des appels manqués ▾
Pendant l'appel entrant du client à la réception de la notification NOTIFY_END du paramètre caller_id vous pouvez recevoir le numéro de celui qui appelle et trouver le client/contact/lead par ce numéro et le manager responsable. Si l'appel n'est pas répondu, le statut de l'appel pas answered dans un paramètre disposition, on peut créer une tâche/notification que l'appel est manqué au manager responsable.
10. La liste noire dans CRM ▾
Vous pouvez créer la liste des numéros dont les appels sont rejetés, vous pouvez indiquer les numéros à la page des paramètres de la téléphonie, ou faire un bouton d'ajout dans une liste noire pour chaque utilisateur. Est réalisé à la base de la notification NOTIFY_START et sa réponse, si le numéro du paramètre caller_id est dans une liste noire CRM dans une réponse à NOTIFY_START nous transmettons:
{
"redirect": "blacklist"
}
11. L'ajout de l'intégration dans l'espace client Zadarma ▾
Après la réussite des étapes précédentes et le test au niveau de l'utilisateur vous pouvez demander l'ajout de l'intégration dans la Marketplace de Zadarma (si le nombre de visiteurs de votre système est plus de 30 000). Cela permet d'utiliser cette intégration à tous les utilisateurs de Zadarma qui ont le compte et le standard téléphonique. Cela permet à l'utilisateur de sauvegarder tous les paramètres nécessaires. La demande doit être envoyée par courriel integration@zadarma.com avec une note "La demande d'ajout de l'intégration avec le système [Le nom de votre СRM] dans la Marketplace de Zadarma". La demande doit contenir les données suivantes:
L'adresse URL dans votre CRM pour activer l'intégration
A cette adresse sera envoyée l'information sur l'utilisateur Zadarma, qui essaie d'effectuer l'intégration de votre téléphonie et votre СRM. Dans un format de la transmission des données choisi (GET, POST) vous sera donné l'identificateur unique de l'utilisateur dans un format md5 hash. Dans une réponse vous devez envoyer la clé générée, qui est liée à l'utilisateur. Ensuite en cas de chaque demande à votre CRM l'identificateur de l'utilisateur et le hash seront utilisés comme les données confirmant avec l'utilisation du titre:
Authorization: Bearer [userId . hash]
L'identificateur de l'utilisateur sera transmis dans chaque notification dans le champ zdUserId. Les exemples des réponses possibles sont nécessaires.
L'adresse URL dans votre CRM pour désactiver l'intégration
A cette adresse sera envoyée la demande en cas de désactivation de l'intégration. L'autorisation standard Bearer est utilisée.
L'adresse URL dans votre CRM pour recevoir des notifications sur les appels
Les notifications des appels pour les utilisateurs intégrés. Définir l'utilisateur vous pouvez en utilisant le champ zdUserId. Le format des notifications vous pouvez trouver à la page API. L'autorisation standard Bearer est utilisée.
L'adresse URL dans votre CRM, où vous pouvez recevoir le nom de client par le numéro de téléphone
Il faut utiliser l'utilisation de la fonction "Afficher le nom du client sur le softphone". L'exemple de la demande est nécessaire. L'autorisation standard Bearer est utilisée.
(Optionnel) URL-adresse de votre CRM, où on peut recevoir la liste des managers
Indispensable pour utiliser la fonction "Attacher les managers aux numéros internes du standard téléphonique". Cela permet à l'utilisateur de relier les numéros internes avec les managers de l'espace client. S'il faut synchroniser les données de votre CRM il faut indiquer l'adresse URL, où vous pouvez envoyer ces données dans un format JSON. L'exemple de la demande est nécessaire. L'autorisation standard Bearer est utilisée.
Le nom du créateur de l'intégration affiché (envoyer le nom de votre entreprise et le lien à la page d'accueil)
Le logo de l'intégration dans un format PNG, avec un arrière-plan transparent et la taille 500 x 150px
Les fonctions des paragraphes 6-10 vaux mieux faire optionnelles, pour que l'utilisateur final puisse activer/désactiver les fonctions nécessaires dans "Les paramètres de la téléphonie" dans CRM
Après l'intégration si la visite de votre site est plus de 30 000 utilisateurs par mois, nous sommes prêts à tester votre intégration, placer le manuel sur notre site et l'intégration dans l'espace client. Sur toutes les questions liées à l'intégration de votre système avec la téléphonie Zadarma adressez - vous à integration@zadarma.com.