본문 바로가기

AWS/PROJECT

Amazon Connect 콜백 번호 검증(Callback number validation)

728x90

요즘은 Amazon Connect를 하고 있는데 ... 그때 발견한 콜백 기능에 대해서 써보겠다..

 

보통 전화 가능한 상담원이 다 차서 전화가 불가능할 때 <콜백>이라는 기능을 쓴다.

이 콜백은 홈쇼핑 해피콜 처럼 사용자가 전화번호를 남기면 상담원이 통화 가능할 때 전화를 하거나,

굳이 상담원이 전화번호를 입력하여 전화하지 않고도 자동으로 전화가 가는 오토콜백이 있다.

 

Amazon Connect는 오토콜백(auto-callback)을 지원하기 때문에 유익하다.

하지만, Amazon Connect가 외국 서비스이다보니, +82와 같은 국가번호가 붙지 않으면 전화가 되질 않는다.

 

또한 flow의 <콜백 번호 설정(Set callback number)> 블록에서 +82가 붙어야만 검증이 가능하고, 콜백 기능이 유효하다.

 

하지만, 사람이 전화번호를 남길 때, 0101234~~ 이렇게 남기지 +82101234~~ 이렇게 남기진 않는단 말이다..

 

그래서 이걸 해결할 수 있는 방안에 대해서 설명하겠다.

(참고로 Lambda를 개발해서 쓰면 더 좋겠지만, Lambda 호출 비용과 제한 시간(8초)이 있으므로 이 방법은 배제하겠다)

 

전체 플로우

콜백 플로우는 무조건 Customer queue(고객 대기열) 타입으로 설정해야한다.

잘 안 보이면 확대해서 보기

 

세부 설정

1. Store Customer Input

- 입력할 번호의 최대 값을 지정해주기
- Phone number로 하면 010~~으로 입력해도 값 자체가 +8210으로 자동 변환된다.

 

2. Get Customer Input

- $.StoredCustomerInput으로 1번 단계의 블록을 가져올 수 있다 (https://docs.aws.amazon.com/connect/latest/adminguide/connect-attrib-list.html)

 

3. Set contact attributes
- 콜백 번호 검증에 통과하기 위해 +82를 붙인 변수값이 필요하다.
- 사용자 정의 변수로 +82$.StoredCustomerInput를 지정
- +82010, +82042, +82070이든 유효하게 사용 가능하다.

 

4. Set callback number
- 번호에 +82가 붙었기 때문에 유효성 검사가 통과한다.
- 3번에서 선언한 변수를 사용할 변수로 지정해주면 된다.

 

 

이렇게 하면 CloudWatch Log group에서도 잘 동작했다는 로그를 확인할 수 있다.

{
    "Results": "Success",
    "ContactId": "CONTACT_ID",
    "ContactFlowId": "arn:aws:connect:ap-northeast-2:ACCOUNT:instance/INSTANCE_ID",
    "ContactFlowName": "3.callback_flow",
    "ContactFlowModuleType": "CreateCallback",
    "Timestamp": "2025-06-12T08:12:25.759Z",
    "Parameters": {
        "InitialDelaySeconds": "10",
        "CustomerPhoneNumber": "+8210612345678",
        "MaxRetryAttempts": "1",
        "RetryDelaySeconds": "600"
    }
}

 

즉 해석하자면

사용자가 01012345678# 이라고 번호를 입력해도, 변수 설정 블록 덕분에 +8201012345678 이라고 번호가 저장되는 것이며 이는 콜백 번호 검증에 통과되는 번호여서 콜백이 동작한다는 의미이다.

 

이는 서울리전(ap-northeast-2) 한정으로만 동작하며 다른 리전(내가 테스트한 건 도쿄리전 뿐이지만)에선 동작하지 않았다..

번호 형태 서울 리전 지원 여부 서울 리전 외 지원 여부
+82010 O X
+8210 O O
+82070 O X
+8202 O X

 

꼭 알아두기...

그럼 이만 !

728x90