1
0

More than 1 year has passed since last update.

AmazonConnectを使ってスマホに電話をかける自動化Lambda

Last updated at Posted at 2023-07-01

はじめに

AmazonConnectを利用してLambdaから架電する場合のサンプルコードを載せています。
初心者向け
※ AmazonConnectのフローやキュー作成などの詳細は省いてます


AWS構成

image.png


流れ

  1. 事前準備
  2. Amazon Connect概略
  3. Lambdaコード

1. 事前準備

・1. AmazonConnectで利用する架電元の電話番号をtwillioなどの無料で電話番号を取得できるサービスなどで取得しておきます。
https://www.twilio.com/ja/docs/usage/tutorials/how-to-use-your-free-trial-account
image.png

・2. 日本の電話に架電したい場合、クォーターの制限緩和が必要です
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/country-code-allow-list.html#prefixes-not-allowed


2.Amazon Connect概略

Amazon Connectのインスタンスを作成し「キュー」と「フロー」を作成しておきます。

キューの例
image.png

フローの例
image.png

3. Lambdaコード

最後に、AmazonConnectを呼び出すLambdaコードのサンプル

.ts
import AWS from 'aws-sdk';

const connect = new AWS.Connect();

// 電話をかける関数
async function makeCall(): Promise<void> {
  // 電話のパラメータを設定
  const params = {
    InstanceId: 'YOUR_INSTANCE_ID',
    ContactFlowId: 'YOUR_CONTACT_FLOW_ID',
    DestinationPhoneNumber: '架電先のスマホの電話番号 (例: +81xxxxのE164形式か通常の形式)',
  };

  try {
    // 電話をかけるリクエストを送信
    await connect.startOutboundVoiceContact(params).promise();
    console.log('Call initiated successfully');
  } catch (error) {
    console.error('Error initiating call:', error);
  }
}

// 電話をかける
makeCall();

これで、CloudwatchでS3トリガーなどでCSVファイルを取得して対象の電話番号に電話をかけるかんたんな自動化ができあがり

メモ

AmazonConnectに流れてくるユーザーが電話を切ったかどうかなどは、CTRのログを見ればわかります。
問い合わせレコードデータモデル
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/ctr-data-model.html

架電する際のAttributesは以下の文字しか使えない(日本語不可)

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0