Odoo, résolution contact
Cherche le correspondant dans votre Odoo à partir de son numéro et expose six variables. Ce module ne bloque jamais l'appel, même si Odoo est injoignable.
En bref
| Sorties | Trouvé, Non trouvé et Erreur |
| Champs | Instance Odoo, Numéro à rechercher, et la case Renommer l'appelant avec le nom du contact trouvé |
| Variables exposées | 6, toujours définies, y compris quand la recherche échoue |
| Numéro recherché par défaut | {{caller}} |
| Renommage | coché par défaut |
| Blocage de l'appel | jamais, quoi qu'il arrive |
| Attente | non réglable ici ; plafonnée à 8 secondes |
Le libellé de la case posée sur le plan est Odoo Contact. Le texte d'aide affiché dans la fenêtre est : « Recherche le contact Odoo correspondant au numéro appelant (res.partner) et expose {{odoo_found}}, {{odoo_partner_name}}, {{odoo_partner_id}}, {{odoo_user_id}}, {{odoo_user_name}}, {{odoo_user_extension}} (le poste du commercial, vide s'il n'en a pas). Sorties : Trouvé / Non trouvé / Erreur. Si Odoo est injoignable, l'appel continue (fail-open). »
Comment ça marche
La recherche
Le module cherche dans les contacts d'Odoo celui dont le numéro de téléphone correspond à l'appelant. Il essaie plusieurs écritures du même numéro, parce qu'un appelant peut arriver en +32…, en 0032… ou en 0… selon l'opérateur, et il complète par une comparaison sur les neuf derniers chiffres significatifs. Le premier contact correspondant est retenu.
Il lit alors son nom et son commercial, puis va chercher le poste de ce commercial dans sa fiche Odoo. Un commercial qui n'a pas de poste renseigné laisse cette dernière valeur vide.
Les six variables
| Variable | Ce qu'elle contient |
|---|---|
odoo_found | 1 si un contact a été trouvé, 0 sinon |
odoo_partner_name | le nom du contact |
odoo_partner_id | son identifiant dans Odoo |
odoo_user_id | l'identifiant de son commercial |
odoo_user_name | le nom de son commercial |
odoo_user_extension | le poste de ce commercial, vide s'il n'en a pas |
Elles sont toujours définies, même après un échec : dans ce cas odoo_found vaut 0 et les autres sont vides. Vous pouvez donc les tester en aval sans craindre l'absence de valeur.
{{odoo_user_extension}} se relie directement à un module Appeler : l'appelant tombe sur le commercial qui suit son dossier, sans que vous ayez à tenir une correspondance à la main.
Le renommage
La case Renommer l'appelant avec le nom du contact trouvé remplace le nom affiché de l'appelant par celui du contact. Votre collègue lit le nom du client sur l'écran de son téléphone, avant même de décrocher. Elle est cochée par défaut.
Ce module ne bloque jamais l'appel
C'est le point le plus important, et le moins connu. Ce module enrichit l'appel, il ne décide pas de son sort. Quoi qu'il arrive, Odoo en panne, identifiants périmés, instance suspendue, l'appel continue.
Pour cela, le module prend la première sortie reliée, selon un ordre de préférence : d'abord la branche juste, puis les autres en repli. Trois conséquences, toutes utiles :
- Relier la seule sortie Trouvé suffit à faire fonctionner le plan. Tous les appels passeront par là, trouvés ou non.
- Une sortie que vous n'avez pas reliée ne coupe jamais l'appel, contrairement à la règle générale des autres modules.
- La sortie Erreur peut donc ne jamais être empruntée, si vous ne l'avez pas reliée.
Ce qu'il faut saisir
| Champ | Ce qui est attendu | Si vous le laissez vide |
|---|---|---|
| Instance Odoo | l'Odoo à interroger, parmi ceux déclarés dans Intégrations, Odoo | Instance par défaut, c'est-à-dire l'instance de résolution déclarée pour votre installation |
| Numéro à rechercher | le numéro, en général {{caller}} ; une autre variable est acceptée | {{caller}} |
| Renommer l'appelant avec le nom du contact trouvé | cochée, le nom du contact s'affiche sur le téléphone appelé | décochée, le nom transmis par l'opérateur est conservé |
La marche à suivre
- Vérifiez d'abord que votre Odoo est raccordé, dans Intégrations, Odoo, et que l'instance y est active.
- Posez le module Odoo, résolution contact et reliez le nœud précédent à son entrée.
- Ouvrez-le et choisissez l'Instance Odoo, ou laissez l'instance par défaut si vous n'en avez qu'une.
- Laissez
{{caller}}dans Numéro à rechercher, sauf si vous voulez chercher un numéro obtenu autrement, par exemple une Saisie DTMF. - Décidez du renommage. Laissez la case cochée si vos équipes décrochent sur des postes qui affichent le nom.
- Cliquez sur Sauver.
- Reliez au minimum la sortie Trouvé. Reliez aussi Non trouvé et Erreur le jour où vous voulez les traiter différemment.
- Posez un module Débogage juste après, avec pour message
found={{odoo_found}} nom={{odoo_partner_name}} poste={{odoo_user_extension}}. - Cliquez sur Sauver, puis sur Appliquer les modifications dans le bandeau du haut.
- Appelez depuis un numéro qui figure dans Odoo, puis ouvrez le Journal de débogage du plan et vérifiez le nom retrouvé.
Si ça ne marche pas
Tous les appels partent en Non trouvé. Le numéro de l'appelant ne correspond à aucun contact. Ouvrez la fiche du contact dans Odoo et vérifiez que son téléphone y est renseigné, puis comparez son écriture à la valeur de {{caller}} lue dans le Journal de débogage. Un contact sans numéro ne sera jamais retrouvé, quelle que soit la qualité de sa fiche.
Le nom ne s'affiche pas sur le téléphone de mon collègue. Vérifiez la case Renommer l'appelant avec le nom du contact trouvé dans le module. Vérifiez ensuite que le contact trouvé a bien un nom, et que le poste appelé affiche le nom et pas seulement le numéro.
Les appels continuent d'être routés alors qu'Odoo est en panne. C'est le comportement attendu. Ce module n'est jamais bloquant : il prend la première sortie reliée et l'appel poursuit. Vos six variables sont alors vides, et {{odoo_found}} vaut 0.
La sortie Erreur n'est jamais empruntée. Pour la même raison. Si Erreur n'est pas reliée, le module se rabat sur une autre sortie reliée plutôt que de couper l'appel. Reliez Erreur si vous voulez la voir servir.
{{odoo_user_extension}} est toujours vide. Deux cas. Le contact n'a pas de commercial attribué dans Odoo, et {{odoo_user_name}} est alors vide lui aussi. Ou bien le commercial n'a pas de poste renseigné dans sa fiche Odoo, et il faut le compléter là-bas.
Comment le plan d'appel se construit, expliqué en images
Voir la page Plans de numérotation