integration IPBX 3cx à dolibarr

Bonjour ,
Dans notre entreprise nous disposons de dolibarr comme CRM/Erp et de 3CX phone system comme PBX IP pour la téléphonie,nous souhaitons profiter de la fonctionnalité « clic to dial » de Dolibarr qui semble etre compatible avec un IPBX tel que asterisk et ainsi y integrer notre IPBX, est t-il possible d’integrée 3cx comme celà est possible pour asterisk? si celà est possible comment proceder?
merci d’avance pour votre aide.

Bonjour,

Petit up sur ce vieux post, nous utilisons également 3CX, il y a maintenant une extention de Chrome pour 3CX mais elle ne detect pas les numéros de téléphone de Dolibarr.

quelqu’un à-t-il une solution ?

3cx met à disposition une APi pour une integration a n’importe quel CRM, je sais pas si celà resout le Pb , je ne l’ai pas testé étant donnée que je ne suis pas développeur. Mais cependant s’il y’aurait un Dev volontaire dans la communauté pour bosser sur une integration avec cette solution de communication unifiée ça serait pas mal d’autant plus que 3CX commence sérieusement en monter en puissance , il faudrait que Dolibarr envisage sérieusement une integration avec cette solution comme cela est le cas avec asterisk.En tout cas le boulevard est ouvert aux Dev.

Bonjour,

Je serai également intéressé par cette solution, nous utilisons également 3CX.

Bonjour,

Je serai également interessé.

Bonjour,

Donc beaucoup de monde interessé mais peu de solutions :happy:

Petit Up sur ce post! Y-a-t’il quelqu’un qui s’est déjà aventuré là dedans? Nous sommes en train de tenter l’intégration. Cependant, nous somme bloqués avec l’API REST de Dolibarr…
Des courageux pour nous aiguiller? :laugh:

:cheer: A bientôt!

Pour ceux que ça intéresse, nous sommes en train de finaliser l’intégration de 3CX avec Dolibarr. On finalise le template aujourd’hui, et le testerons surement dans la soirée, et/ou demain. Je vous tiens informés de l’évolution… Si jamais ça fonctionne, nous ferons un post/tuto. Cependant, nous l’intégrons en local pour les tests.

@ +

Je suis ton intégration avec attention car je dois réaliser les mêmes essais avant de décider si oui ou non nous nous orientons vers un 3CX.

Si tu as des premiers retours je serai ravi d’avoir des infos :wink:

Bon courage et bon tests

BOnjour,

As tu un resultat pour vos premier essais ?

Je souhaiterai te contacter afin d’en savoir davantage sur la manière dont vous procédez pour cette intégration.

Bonjour,
A vrai dire, nous avons réussi à l’intégration de la BDD de notre Dolibarr (en local sur un WAMP, pour des questions de test) avec le 3CX. Les requettes MySQL lancées depuis 3CX fonctionnent bien, et l’interaction est spontanée!
Cependant nous sommes un peu bloqués sur la configuration de 3CX… C’est à dire que nous le faisons à temps perdu… En dehors de nos horaires de boulot, ou lorsque la charge de travail le permets.
Autrement, pour être installateur et utilisateur de 3CX, c’est un outil formidable!
Nous vous tiendrons informés des nouvelles…

@ Bientôt

1 J'aime

Merci pour ce retour.

Je suis exactement dans le même contexte ( pour le moment ) cad serveur 3CX en local ( migré en cloud par la suite ) et Dolibarr sous wamp en local également pour le moment.

Comment avez vous procéder pour réaliser vos premier essai, développement d’un fichier pour importer dans le 3CX ? Fichier à importer dans le Dolibarr ? Si oui où ? Et comment s’intègre t il ?

Je serais ravis d’échanger et pourquoi pas apporter ma pierre à l’édifice ^^

Je n’ai pas trouvé de notion de message privé sur le forum pour vous communiquer mes coordonnés, mais si vous êtes intéressez, n’hésitez et je vous donnerez cela.

Cordialement.

1 J'aime

D’accord! Nous en sommes plus ou moins au même point ! ^^
Ca serait avec plaisir d’échanger pour essayer d’avancer sur le projet!
Moi non plus je ne sais pas comment passer en privé! Je cherche! LOL

BOnsoir,

En regardant dans les paramètres du profil on peut affiche ou non l’adresse mail (jai activé la mienne).

SI vos premiers essais ont réussis 'est que vous êtes plus aancé que moi car je travail encore sur la structure et le principe de fonctionnement de l’api.
De ce que j’ai compris, pour le moment vous attaquez directement la base (en dur) depuis le paramètre de connexion du 3CX.
Or je ne sais pas si c’est la seule solution pour s’interconnecter. Je suis encore en cours de discussion avec le responsable technique de mon prestataire 3CX.

tres heureux de voir que ça progresse sur cette problématique, Mon Lab est toujours d’actualité, j’ai beaucoup plus de compétences sur la partie système et network de 3cx que sa partie API, et on a pratiquement les mêmes configurations C-a-d 3cx déployé localement ainsi que Dolibarr en local l’objectif par la suite ça serait de passer en Cloud une fois les tests d’interconnexions des 2 solutions fonctionnent…comme je l’ai précise j’ai de faibles compétences en Dev donc un tuto serait super dès que les tests sont concluants de votre cotés ( why not en faire un module par la suite …), au besoin je suis dispo pour vous apporter mon appuie technique sur mon champs de compétences …mon p’tit rêve depuis ces 8 ans où j’ai découvert ces 2 solutions , c’est pouvoir les coupler et en faire un solide pivot pour les métiers de la relation Client (comme quoi faut rester patient lool)…Bravo les gars pour ce travail que vous faites…

Et bien ravi que ça intéresse certains! A vrai dire, notre Dolibarr en Production est sur hébergement mutualisé chez OVH… Autant te dire que nous allons le passer sur un VPS. Car en étant sur un mutualisé, OVH bloque certaines fonctions, notamment la partie API RESTfull… Donc c’est pour cela que nous avons déployé un dolibarr en local (le même que celui qui est en prod).
Pour être honnête on galère un peu avec la partie Template de 3CX. Ceci étant dit, l’intéraction entre 3CX et Dolibarr est fonctionnelle! Les requêtes MySQL lancées depuis 3CX vers notre BDD de Dolibarr est parfaite, et fonctionnelle.
Et comme dit précédemment, nous effectuons ce job en dehors de notre temps de travail, dédié essentiellement à notre clientèle… Donc à temps perdu.
C’est vrai que si on arrive à coupler ces deux outils, ça serai un énorme avantage pour nos clients, chez qui nous avons déployer et Dolibarr, et 3CX.

A tous ceux qui veulent contribuer, et faire avancer le schmilblick, n’hésitez pas!
Ceci dit, je lance un appel aux modérateur du Forum : Comment faire pour passer en PV? :dry: :laugh:

Merci pour ces retours.

@Jrdelavegas lorsque tu dis : Les requêtes MySQL lancées depuis 3CX vers notre BDD de Dolibarr est parfaite, et fonctionnelle.
Pourrais tu détailler ta config 3CX car je reste bloqué sur une errer time out

Tester l’intégration CRM
Merci d’entrer un numéro de téléphone à rechercher dans le CRM
001
The operation has timed out.
Started scenario with empty id
Request text: ConnectionString: Server=myserver;Port=5432;Database=dolichef;User Id=myID;Password=My PSWD
Statement:

System.TimeoutException: The operation has timed out.
at Npgsql.TaskExtensions.WithTimeout(Task task, NpgsqlTimeout timeout)
at Npgsql.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
at Npgsql.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.ConnectorPool.AllocateLong(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlConnection.<>c__DisplayClass32_0.<<Open>g__OpenLong|0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at CrmIntegration.SqlDatabaseClient.Execute(String statement, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.ProcessSQLDatabaseQuery(ISQLClientFactory sqlClientFactory, ScenarioQuery query, IValueManager customManager, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.ProcessScenario(ProtocolScenario scenario, IValueManager customManager, CancellationToken token)
at CrmIntegration.ScenarioProcessorBase.Execute(ProtocolScenario scenario, CancellationToken token)
at CrmIntegration.CrmProcessor.GetContactInfoFromCrm(String contactNumber, String destinationEmail, Boolean createIfNotFound, CancellationToken token)

.
COnfig 3CX
Query CRM
General Configuration
Server:
Monserveur
Port:
5432
Database:
dolichef
Username:

Password:

Lookup SQL Statement:
Contact URL Prefix:
http://srv-app16/dolichef/htdocs/contact/
Contact URL Suffix:
/list
Enable Call Journaling
Call Journaling SQL Statement:
Enable Contact Creation
Contact Creation SQL Statement:

Je viens de voir ton post, je l’ai zapé dans le fil de discussion. Oui, exactement, on attaque la BDD en dur, comme tu dis. Depuis l’interface d’administration du 3CX. Et c’est de là que nous lançons les requêtes, qui nous donnent bien un résultat! Exemple : lors que nous réalison un test, en tapant le numéro de téléphone d’un client existant dans la BDD de Dolibarr en local, la fiche du client (socID) remonte bien dans l’interface du 3CX. On a toutes les infos (Nom, prénom, n° de tel, etc). Ce n’est pas la seule façon possible, mais on a estimé qu’il était peut-être plus simple de commencer par là, avant d’attaquer avec les API et le fameux Template creator de 3CX… Je ne sais si tu as lu la doc de 3CX à ce sujet… Mais en bref, en passant par l’interface d’administration du 3CX, le Template est déjà « tout fait », à nous de trouver les variables correspondantes dans la BDD de Dolibarr… Et c’est ce que nous essayons de faire pour le moment.

Alors, pour ce qui nous concerne, je te joins des captures écrans de ce que nous avons fait. Contrairement à toi, nous allons chercher les infos dans « societe » au lieu de « contact ». Mais ça devrait marcher également avec contact.
Je t’ai joint tout en « clair », et comme tu pourras voir, nous avons créé un tiers + contact fils nommé « Dupont toto », et nous lui avons donné pour numéro de téléphone « 0123456789 ». Lorsque nous interrogeons la BDD depuis 3CX, nous avons donc bien les infos du tiers ou contact qui apparaissent. Cependant pour 3CX l’intégration n’est pas fonctionnelle…

Img01.jpg

Img02.jpg

Img03.jpg
Nous cherchons quel suffixe mettre… Le préfixe on en est pas sûr, mais on pense que ça doit être bon…
Voilà voilà!

Bon avis aux intéressés… J’annonce officiellement que nous sommes parvenus à l’intégration de Dolibarr dans 3CX! :sunglasses: :sunglasses: :sunglasses:
Je m’explique : Lorsqu’un client (Tiers) nous appelle, 3CX va vérifier dans la BDD de Dolibarr si le numéro appelant correspond à un client (Tiers), si oui --> Il va automatiquement incrémenter le contact (Tiers) dans sa propre BDD, et affiche donc le nom du client (Tiers) tout en affichant le numéro de téléphone. Le contact est désormais dans le carnet d’adresse du 3CX. Et inversement, lorsque nous appelons un client (un tiers qui est déjà présent dans Dolibarr), il va automatiquement incrémenter sa propre BDD et ainsi créer le contact dans le carnet d’adresse. De ce coté là, tout est fonctionnel. :cheer:
Cependant nous rencontrons un problème…
Je m’explique à nouveau : Nous avons des clients (Tiers), qui sont des entreprises… Donc qui par définition peuvent avoir plusieurs contacts… Lors de la création d’un client (Tiers) dans notre Dolibarr, le client va se créer dans la table « llx_societe ». Dans cette table, nous avons une variable qui s’appelle « nom », dans laquelle figure le nom du client (si c’est une entreprise, aucun soucis), mais par contre si c’est un client particulier, on a ET son nom, ET son prénom présent dans cette variable… Jusque là, pas trop dérangeant… Mais là où ça peut poser soucis, c’est que si on a beaucoup de clients (plus de 300 par exemple), on ne pourra pas les trier par nom, ou par prénom dans le répertoir de 3CX… Car le nom et le prénom sont confondus dans cette variable. Et d’autre part, si j’ai un client pro (une entreprise), avec laquelle j’ai plusieurs interlocuteurs (donc des contacts du Tiers)… 3CX ne va chercher que les numéros présent dans la table « llx_societe »… Et pas dans « llx_socpeople », là où sont les contacts…
Donc j’ai pensé à faire l’inverse : c’est à dire, dire à 3CX d’aller vérifier les numéros présents dans « llx_socpeople ». Sauf que là, si j’ai des clients (TIERS) et que je ne leur ai pas créé de contact, car ce sont des entreprises, et que je n’ai pas de contact dans la fiche du client, 3CX ne va pas m’afficher l’identité du client, car il ne recherche pas dans la bonne table…

Si des intéressé veulent se joindre à nous pour essayer de résoudre ce problème…