« Astreinte » : différence entre les versions
Apparence
| Ligne 21 : | Ligne 21 : | ||
Principe de cette méthode : | Principe de cette méthode : | ||
* On | * On définit dans un script le paramétrage vu dans la méthode sans script : | ||
*#statut | |||
*#numéro d'astreinte | |||
*#nom astreinte | |||
*#prénom astreinte | |||
===Déclaration du script=== | |||
[[Fichier:2026-04-02 17h11 35.png|vignette]] | |||
Rendez-vous dans : | |||
Admin / Intégrations / Scripts d'appels / + Ajouter personnalisé | |||
#Donner un nom au traitement de l'appel. Exemple : '''astreinte_weekend''' | |||
#Créer un code de raccourci, ce qui permettra d'exécuter le script simplement en appelant ce code, et in fine par une BLF. Exemple : '''*99''' | |||
#OK | |||
#Coller dans le champ script le script paramétré ( voir section suivante ) | |||
#Sauvegarder | |||
#Un message doit indiquer '''Compilation réussie !''' | |||
===Le script=== | ===Le script=== | ||
<syntaxhighlight lang="csharp" line highlight="14-16,19-20"> | <syntaxhighlight lang="csharp" line highlight="14-16,19-20"> | ||
using System; | using System; | ||
Version du 2 avril 2026 à 17:20
par les statuts
Dans les réglages de l'extension qui accueille les appels :
- Réglages
- Transfert d'appels
- Choisir le statut de l'extension à activer pour enclencher le renvoi vers l'astreinte. Dans l'exemple Absent. Pas l'état Disponible évidemment.
- Dans "Transférer les appels externes à", choisir Numéro externe
- Saisir le numéro de l'astreinte
- Cocher Rebond
Limite / contrainte : si les astreintes tournent, avant chaque période d'astreinte, il faut faire ce cheminement pour que le bon numéro de mobile soit paramétré
Via script
Limite de la méthode précédente :
- 4 profils d'astreinte maximum
- Nécessite de manipuler l'application WEB
Principe de cette méthode :
- On définit dans un script le paramétrage vu dans la méthode sans script :
- statut
- numéro d'astreinte
- nom astreinte
- prénom astreinte
Déclaration du script

Rendez-vous dans :
Admin / Intégrations / Scripts d'appels / + Ajouter personnalisé
- Donner un nom au traitement de l'appel. Exemple : astreinte_weekend
- Créer un code de raccourci, ce qui permettra d'exécuter le script simplement en appelant ce code, et in fine par une BLF. Exemple : *99
- OK
- Coller dans le champ script le script paramétré ( voir section suivante )
- Sauvegarder
- Un message doit indiquer Compilation réussie !
Le script
using System;
using System.Threading.Tasks;
using TCX.Configuration;
using CallFlow;
using System.Linq;
using System.Collections.Generic;
namespace dummy
{
public class SetDynamicAstreinte : ScriptBase<SetDynamicAstreinte>
{
public override Task<bool> StartAsync()
{
string targetExtNum = "100";
string mobileElu = "0601020304";
string profileName = "Away";
// Nommage de l'astreinte
string prenomElu = "ASTREINTE";
string nomElu = "ELU";
try
{
IPhoneSystem ps = PhoneSystem.Root;
Extension targetExt = ps.GetDNByNumber(targetExtNum) as Extension;
if (targetExt != null)
{
// 1. Mise à jour du numéro de mobile
targetExt.SetProperty("MOBILENUMBER", mobileElu);
// 2. MISE À JOUR DU NOM
targetExt.FirstName = prenomElu;
targetExt.LastName = nomElu;
// 3. Changement du profil de statut
var profile = targetExt.FwdProfiles.FirstOrDefault(p => p.Name.Equals(profileName, StringComparison.OrdinalIgnoreCase));
if (profile != null)
{
targetExt.CurrentProfile = profile;
}
// 4. Sauvegarde globale
targetExt.ResetCurrentProfileOverride();
targetExt.Save();
return Task.FromResult(true);
}
}
catch (Exception)
{
// Erreur silencieuse
}
return Task.FromResult(false);
}
}
}
