챗봇 시나리오 - TheOpenCloudEngine/uEngine-cloud GitHub Wiki
챗봇 시나리오와 챗봇 프로세스 개요
-
본 시나리오는 해당 페이지 에서 진행되며 해당 페이지 로그인 계정은 [email protected] // test 이다.
-
시나리오 내용 연령대별 가장 인기있는 상품과 해당 상품 정보제공해주는 시나리오로 진행된다. 시나리오의 순서는
- 메세지 입력으로 시작
- 안내 메시지 발송
- 메뉴선택 입력받기
- 선택된 메뉴로 분기
- 분기된 결과로 메시지 발송 및 종료
프로세스 구현
-
메시지 입력으로 시작
- 메시지 입력으로 프로세스가 시작되기 위해서는 Message Start Event가 필요하다.
- Message Start Event는 Start Event에서 변경할 수 있으며, Properties는 아래 그림과 같이 설정하면 된다.
- 위의 그림과 같이 Properties를 설정해주면, 메시지 입력으로 해당 프로세스가 시작이된다.
-
안내 메시지 발송과 메뉴선택
- 메시지 입력을 받아서 프로세스가 시작이 되었으면 안내메시지가 필요하다.
- Task -> SendTask로 전환시 안내메시지를 발송해줄수 있다.
- SendTask의 Properties중 입력데이터의 양식은 아래와 같다.
{
"message": {
"text": "안녕하세요. 연령대별 인기 상품리스트와 해당 상품 정보를 알려드립니다. \n
알고싶은 연령대의 번호를 선택해주세요. \n
1. 10대 \n
2. 20대 \n
3. 30대"
}
}
- 메뉴선택 입력받기
-
상대방이 메뉴를 선택한뒤 메시지를 발송하면 그 메시지를 입력 받아야 한다.
-
Message Intermediate Catch Event를 이용하면 상대방이 입력한 메시지를 변수로 입력할 수 있다.
-
Process Variable에서 choiceAG라는 변수를 생성해준다.
-
Message Intermediate Catch Event의 Properties를 세팅해준다.
-
상대방이 선택한 메뉴를 choiceAG에 저장하기위해 데이터 매핑을 해준다.
-
- 선택된 메뉴로 분기
- 입력받은 값에 따라 분기를 해준다.
1. 총 3개의 Send Task를 연결해주고, 각각의 Relation에는 1, 2, 3으로 조건을 걸어주면 choiceAG의 변수값에 따라서 해당 Send task로 진행된다.
- 분기된 결과로 메시지 발송 및 종료
- 3개의 SendTask를 설정하여준다. ex) 10대 인기상품
- 10대, 20대, 30대의 SendTask가 모두 완성이 된 후, 해당 시나리오에서는 다른 연령대조회, 종료로 분기를 다시한번 주었다.
- 해당 시나리오의 모습은 다음과 같다.