챗봇 시나리오 - TheOpenCloudEngine/uEngine-cloud GitHub Wiki

챗봇 시나리오와 챗봇 프로세스 개요

  1. 본 시나리오는 해당 페이지 에서 진행되며 해당 페이지 로그인 계정은 [email protected] // test 이다.

  2. 시나리오 내용 연령대별 가장 인기있는 상품과 해당 상품 정보제공해주는 시나리오로 진행된다. 시나리오의 순서는

    1. 메세지 입력으로 시작
    2. 안내 메시지 발송
    3. 메뉴선택 입력받기
    4. 선택된 메뉴로 분기
    5. 분기된 결과로 메시지 발송 및 종료

프로세스 구현

  1. 메시지 입력으로 시작

    1. 메시지 입력으로 프로세스가 시작되기 위해서는 Message Start Event가 필요하다.
    2. Message Start Event는 Start Event에서 변경할 수 있으며, Properties는 아래 그림과 같이 설정하면 된다. image
    3. 위의 그림과 같이 Properties를 설정해주면, 메시지 입력으로 해당 프로세스가 시작이된다.
  2. 안내 메시지 발송과 메뉴선택

    1. 메시지 입력을 받아서 프로세스가 시작이 되었으면 안내메시지가 필요하다.
    2. Task -> SendTask로 전환시 안내메시지를 발송해줄수 있다.
    3. SendTask의 Properties중 입력데이터의 양식은 아래와 같다.
{
    "message": {
        "text": "안녕하세요. 연령대별 인기 상품리스트와 해당 상품 정보를 알려드립니다. \n 
알고싶은 연령대의 번호를 선택해주세요. \n 
1. 10대 \n 
2. 20대 \n
3. 30대"
    }
}

image

  1. 메뉴선택 입력받기
    1. 상대방이 메뉴를 선택한뒤 메시지를 발송하면 그 메시지를 입력 받아야 한다.

    2. Message Intermediate Catch Event를 이용하면 상대방이 입력한 메시지를 변수로 입력할 수 있다.

    3. Process Variable에서 choiceAG라는 변수를 생성해준다. image

    4. Message Intermediate Catch Event의 Properties를 세팅해준다.

    5. 상대방이 선택한 메뉴를 choiceAG에 저장하기위해 데이터 매핑을 해준다.

image

  1. 선택된 메뉴로 분기
    1. 입력받은 값에 따라 분기를 해준다.

image 1. 총 3개의 Send Task를 연결해주고, 각각의 Relation에는 1, 2, 3으로 조건을 걸어주면 choiceAG의 변수값에 따라서 해당 Send task로 진행된다.

  1. 분기된 결과로 메시지 발송 및 종료
    1. 3개의 SendTask를 설정하여준다. ex) 10대 인기상품 image
    2. 10대, 20대, 30대의 SendTask가 모두 완성이 된 후, 해당 시나리오에서는 다른 연령대조회, 종료로 분기를 다시한번 주었다.
    3. 해당 시나리오의 모습은 다음과 같다. image