Stockage clé-valeur, ou comment nos applications sont devenues plus pratiques

Stockage clé-valeur, ou comment nos applications sont devenues plus pratiques

Celui qui développe sur Voximplant connaßt le concept d'« applications », qui relient les scénarios cloud, les numéros de téléphone, les utilisateurs, les rÚgles et les files d'attente d'appels. En d'autres termes, les applications sont la pierre angulaire du développement sur notre plateforme, le point d'entrée vers toute solution basée sur Voximplant, car c'est par la création d'une application que tout commence.

Auparavant, les applications « n'Ă©taient pas capables de se souvenir » des actions exĂ©cutĂ©es par les scĂ©narios ni des rĂ©sultats des calculs, ce qui obligeait les dĂ©veloppeurs Ă  enregistrer des valeurs dans des services tiers ou sur leur propre backend. Si vous avez dĂ©jĂ  travaillĂ© avec le stockage local dans le navigateur, notre nouvelle fonctionnalitĂ© est assez similaire, car elle permet aux applications de mĂ©moriser des paires « clĂ©-valeur » uniques Ă  chaque application dans votre compte. Le fonctionnement du stockage est rendu possible grĂące Ă  un nouveau module. ApplicationStorage – ci-dessous, vous trouverez un guide rapide sur son utilisation, bienvenue !

Vous aurez besoin de

  • un compte Voximplant. Si vous n'en avez pas, l'inscription se fait ici;
  • une application Voximplant, ainsi qu'un scĂ©nario, une rĂšgle et un utilisateur. Nous allons crĂ©er tout cela dans ce tutoriel ;
  • un client web pour passer un appel – utilisons notre web phone phone.voximplant.com.

ParamĂštres Voximplant

Tout d'abord, connectez-vous à votre compte : manage.voximplant.com/auth. Dans le menu à gauche, cliquez sur « Applications », puis sur « Nouvelle application » et créez une application nommée storage. Accédez à la nouvelle application, passez à l'onglet « Scénarios » pour créer un scénario countingCalls avec ce code :

require(Modules.ApplicationStorage);

VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};

    try {
        r = await ApplicationStorage.get('totalCalls');
        if (r === null) {
            r = await ApplicationStorage.put('totalCalls', 0);
        }
    } catch(e) {
        Logger.write('Échec lors de la rĂ©cupĂ©ration de la valeur totalCalls');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Échec lors de la mise à jour de la valeur totalCalls');
    }
    
    e.call.answer();
    e.call.say(`Bienvenue. Nombre d'appels précédents : ${r.value}. `, Language.RU_RUSSIAN_MALE);

    e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);

});

La premiÚre ligne connecte le module ApplicationStorage, tandis que la logique restante est placée dans le gestionnaire d'événements CallAlerting.

Tout d'abord, nous déclarons une variable afin de pouvoir comparer la valeur initiale avec le compteur d'appels. Ensuite, nous tentons d'obtenir la valeur de la clé totalCalls du stockage. Si cette clé n'existe pas encore, nous la créons :

try {
    r = await ApplicationStorage.get('totalCalls');
    if (r === null) {
        r = await ApplicationStorage.put('totalCalls', 0);
    }
}

Ensuite, il est nécessaire d'augmenter la valeur de la clé dans le stockage :

try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    }

VEUILLEZ NOTER

Pour chaque promesse, il est nĂ©cessaire de spĂ©cifier explicitement le traitement des erreurs, comme le montre le listing ci-dessus – sinon l'exĂ©cution du script sera arrĂȘtĂ©e et vous verrez une erreur dans les journaux. Plus de dĂ©tails ici.

AprÚs avoir travaillé avec le stockage, le script répond à l'appel entrant avec la synthÚse vocale et indique combien de fois vous avez appelé auparavant. AprÚs ce message, le script termine la session.

AprÚs avoir enregistré le script, allez à l'onglet « Routage » de votre application et cliquez sur « Nouvelle rÚgle ». Nommez-la startCounting, spécifiez le script countingCalls et laissez le masque par défaut (.*).

Stockage clé-valeur, ou comment nos applications sont devenues plus pratiques
Enfin, créez un utilisateur. Pour cela, allez dans « Utilisateurs », cliquez sur « Créer un utilisateur », indiquez un nom (par exemple, user1) et un mot de passe, puis cliquez sur « Créer ». Cette paire nom d'utilisateur-mot de passe sera nécessaire pour l'authentification dans le webphone.

Vérification

Ouvrez le webphone via le lien phone.voximplant.com et connectez-vous en utilisant le nom du compte, le nom de l'application et la paire nom d'utilisateur-mot de passe de l'utilisateur de l'application. AprÚs une connexion réussie, saisissez n'importe quelle séquence de caractÚres dans le champ de saisie et cliquez sur Appeler. Si tout a été fait correctement, vous entendrez un message de bienvenue synthétisé !

Nous vous souhaitons un excellent dĂ©veloppement sur Voximplant et restez Ă  l'Ă©coute – nous aurons encore beaucoup de nouvelles 😉

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster