Amazon Connect コールバック時に国コードを読み替えて復唱する

2022.09.05

こんにちは。繁松です。

はじめに

前回[コールバック時に電話番号の入力を再確認する方法]というブログで、復唱での再確認の場合は国コード(+81)が入ったまま読み上げられる事について書きました。
今回はコールフロー内にLambdaを実行するブロックをいれて、国コード入りの電話番号を国コード無しの電話番号に置換して読み上げる方法について書いていきます。

復唱での再確認(+81あり)

まず、前回ブログに書いた内容のフローは以下になります。

例「折り返し先の電話番号は090-0000...ですね?よろしければ1を、変更する場合は2を押してください」のようなイメージ

  1. プロンプトを読み上げる音声を聞きやすくするために、Takumiの音声を設定しています。
  2. 顧客の入力を+81の国コードが設定された電話番号として保存するように設定しています。
  3. 入力された番号をコールバック番号として設定しています。
  4. 入力された電話番号の読み上げに使用するために保存済みの顧客の入力を属性として設定します。
  5. 入力された電話番号を読み上げます。
  6. [1]を入力した場合は、後続のコールバックのフローへ、[2]を入力した場合は[手順2]に戻り再度番号を入力していただくフローになっています。

動作イメージ

設定内容

フローに設定している内容についてブロック毎に説明します。

1.音声の設定

2.顧客の入力を保存する

3.コールバック番号を設定する

4.コンタクト属性の設定

5.プロンプトの再生(入力された電話番号の読み上げ)

テキストには以下の内容を記載しています。

<speak>   
<say-as interpret-as="telephone">入力された電話番号は$.Attributes.PhoneNumber</say-as>   
</speak>

6.顧客の入力を取得する(入力された電話番号の確認)

復唱での再確認(+81なし)

次にLambdaいれて[+81]を読み替えるように設定したフローです。
コールフローの変更点は赤枠内の2箇所です。

1.[コンタクト属性の設定]を[Lambda関数を呼び出す]に変更
2.[プロンプトの再生]の内容を修正

設定方法

1.Lambda関数の作成

Lambdaに以下の関数を作成します。
ランタイム:Python 3.9

import json  
  
def lambda_handler(event, context):  
    PhoneNumber81 = event['Details']['Parameters']['PhoneNumber1']  
    PhoneNumber = PhoneNumber81.replace('+81', '0')  
      
    return{  
        'PhoneNumber2': PhoneNumber,  
    }

AWSコンソールからAmazon Connectを開き作成したLambda関数をConnectに追加します。
Amazon Connect > 問い合わせフロー > AWS Lambda > Add Lambda Function

2.Lambda関数を呼び出すブロックに変更

[コンタクト属性の設定]を[Lambda関数を呼び出す]に変更します。
設定内容は以下です。
作成した関数を選択し、パラメータとして[保存済みの顧客の入力]を設定します。

3.プロンプトの再生ブロックを修正

[プロンプトの再生]の内容を修正します。

テキストを以下の内容に修正します。

<speak>  
<say-as interpret-as="telephone">入力された電話番号は$.External.PhoneNumber2</say-as>  
</speak>

4.動作確認

[+81]が[0]で復唱されることを確認しました。

さいごに

電話番号の復唱で国コードを読み上げたくない場合はLambdaを利用することで、国コード無しの電話番号を読み上げることができます。
国コード無しの方が違和感なく復唱されているかと思います。

以上、繁松でした。