Tích hợp Chatbot

1. Tải lên Sheet Data cho Minigame Chatbot

Tải về file sheet mẫu: https://drive.google.com/open?id=1sd76BE1oLWUPUFxt4QmoE4PAJFTsdcpB

  • Chọn Data

  • Sau đó Chọn Change Model App

  • Tiếp theo Ấn Browse và chọn File Sheet tải về phía trên

  • Cuối cùng đóng lại

2. Sửa Function

  • Chọn Setting, sau đó chọn Function

2.1. Xóa Function login_facebook, form_information

2.2. Sửa Function check_login_state

  • Trong Function check_login_state: Xóa toàn bộ code cũ và dán code phía dưới vào

//Check lgin state
(function () {
//Lấy thông tin người chơi nếu người chơi đã chơi game
let user_id = getCookie('user_id')
if (user_id) {
$model.setDataModel("Thông tin khách hàng", "user_id", "0", user_id)
} else {
$model.setDataModel("Thông tin khách hàng", "user_id", "0", "")
}
//Kiểm tra vòng quay có đúng là dạng hình ảnh hay ko?
let draw_text = ($model.getDataModel("Không sửa", "Loại vòng quay", "0") === 'image') ? false : true;
// Init Lucky Wheel
theWheel = new Winwheel({
'numSegments': $model.getDataModel("Không sửa", "segments", "0").length || 4,
'outerRadius': 130,
'drawMode': $model.getDataModel("Không sửa", "Loại vòng quay", "0"),
'drawText': draw_text,
'segments': $model.getDataModel("Không sửa", "segments", "0"),
'animation':
{
'type': 'spinToStop',
'duration': 10,
'spins': $model.getDataModel("Không sửa", "segments", "0").length || 4,
// call fn ketquaquay() when theWhell finished
'callbackFinished': 'game_result()'
}
});
let loadedImg = new Image();
loadedImg.src = $model.getDataModel("Cấu hình Game", "Ảnh vòng quay", "0");
theWheel.wheelImage = loadedImg;
theWheel.draw();
// Check thông tin khách hàng
$model.popup = "none";
$api.thongtinkhachhang(function (e, res) {
if(e && e.responseJSON && e.responseJSON.error_message == "user not found !") {
deleteCookie("user_id")
checkLoginState();
return;
}
if (res && res.data && res.data.thong_tin_khach_hang && res.data.thong_tin_khach_hang.name) {
$model.setDataModel("Không sửa", "Tên khách hàng cms", "0", res.data.thong_tin_khach_hang.name)
}
if (res && res.data && res.data.qua_tang_luu_tap) {
$model.setDataModel("Không sửa", "Phần thưởng", "0", res.data.qua_tang_luu_tap)
}
if (res && res.data) {
$model.setDataModel("Không sửa", "Quay tối đa", "0", res.data.luot_quay_toi_da)
$model.setDataModel("Không sửa", "Đếm lượt quay", "0", res.data.da_quay)
$model.setDataModel("Không sửa", "Nhận quà", "0", res.data.nhan_qua)
}
if (res && res.data && res.data.luot_quay_con_lai === undefined) {
$model.setDataModel("Không sửa", "Lượt quay", "0", $model.getDataModel("Không sửa", "Lượt quay mặc định", "0"))
} else if(res && res.data) {
$model.setDataModel("Không sửa", "Lượt quay", "0", res.data.luot_quay_con_lai)
}
if ($model.getDataModel("Không sửa", "Đếm lượt quay", "0") >= $model.getDataModel("Không sửa", "Quay tối đa", "0")) {
swal(`Bạn được quay tối đa ${$model.getDataModel("Không sửa", "Quay tối đa", "0")} lượt quay !`);
$model.setDataModel("Không sửa", "popup", "0", "form")
return;
}
if ($model.getDataModel("Không sửa", "Lượt quay", "0") == 0) {
$model.setDataModel("Không sửa", "popup", "0", "form")
}
if ($model.getDataModel("Không sửa", "Nhận quà", "0") == 1) {
$model.setDataModel("Không sửa", "popup", "0", "after_login_fb")
return;
}
});
});

2.3. Tạo mới Function receiving_gift với code phía dưới

(function () {
let player_infor = {
name: $model.getDataModel("Thông tin khách hàng", "Họ tên", "0"),
phone: $model.getDataModel("Thông tin khách hàng", "Số điện thoại", "0"),
address: $model.getDataModel("Thông tin khách hàng", "Số điện thoại", "0")
}
$model.setDataModel("Thông tin khách hàng", "Thông tin khách hàng", "0", player_infor)
$api.nhanqua(function (e, r) {
if (e) {
console.log("Lỗi nhận quà", e)
return
}
console.log("đã nhận quà", r)
})
});

2.4. Tạo mới Fucntion run_api_chatbot với code phía dưới

(function () {
console.log("chuẩn bị")
let message = [
{ text: `Họ và tên: ${$model.getDataModel("Thông tin khách hàng", "Họ tên", "0")}`},
{ text: `Số điện thoại: ${$model.getDataModel("Thông tin khách hàng", "Số điện thoại", "0")}` },
{ text: `Địa chỉ: ${$model.getDataModel("Thông tin khách hàng", "Địa chỉ nhận quà", "0")}` },
{ text: `Quà tặng của bạn: ${$model.getDataModel("Không sửa", "Phần thưởng", "0")}` }
]
console.log("message", message)
$model.setDataModel("ChatBot", "Tin nhắn Chatbot", "0", message)
console.log("Tin nhắn chatbot", $model.getDataModel("ChatBot", "Tin nhắn Chatbot", "0"))
$api.guiThongtinForm(function(e, r) {
console.log("err chatbot", e)
console.log("run chatbot", r)
})
});

Như vậy đã hoàn thành chỉnh sửa Function cho Minigame

3. Sửa API

3.1. API updateUserInfo

  • Đổi tên: guiThongtinForm

  • Phương thức: POST

  • Chế độ Bảo mật: Security

  • Params:

    • access_token: Select Data > Chatbot > Chatbot Token > Save Model

    • psid: Select Data > Thông tin khách hàng > mid > Save Model

Cấu hình Params API guiThontinForm
  • Header:

    • Content-Type: Select Data > Không sửa> Content_Type > Save Model

  • Body:

    • Chọn raw

    • messages: Select Data > Chatbot > Tin nhắn Chatbot > Save Model

3.2. API sunwheel

  • Đổi tên: sunwheel

  • Phương thức: GET

  • Chế độ Bảo mật: Normal

  • Params:

    • uid: Select Data > Thông tin khách hàng > mid > Save Model

    • gameId: Select Data > Cấu hình Game > Tên Game > Save Model

    • user: Select Data > Cấu hình Game > Game Token > Save Model

  • Header:

    • Content-Type: Select Data > Không sửa> Content_Type > Save Model

3.3. API reset_game

  • Đổi tên: reset_game

  • Phương thức: GET

  • Chế độ Bảo mật: Normal

  • Params:

    • uid: Select Data > Thông tin khách hàng > mid > Save Model

    • gameId: Select Data > Cấu hình Game > Tên Game > Save Model

    • user: Select Data > Cấu hình Game > Game Token > Save Model

3.4. API nhanqua_time

  • Body:

    • Chọn Raw

    • uid: Select Data > Thông tin khách hàng > mid > Save Model

    • gameId: Select Data > Cấu hình Game > Tên Game > Save Model

    • user: Select Data > Cấu hình Game > Game Token > Save Model

    • thong_tin_khach_hang: Select Data > Thông tin khách hàng > Thông tin khách hàng > Save Model

    • thong_tin_qua_tang: Select Data > Không sửa > Phần thưởng > Save Model

3.5. API cauhinh

3.6. API thongtinkhachhang

  • Đổi tên: cauhinh

  • Phương thức: GET

  • Chế độ Bảo mật: Normal

  • Params:

    • uid: Select Data > Thông tin khách hàng > mid > Save Model

    • gameId: Select Data > Cấu hình Game > Tên Game > Save Model

    • user: Select Data > Cấu hình Game > Game Token > Save Model

4. Chỉnh sửa bổ sung

4.1. Sửa điều kiện hiển thị Thông tin quà tặng

  • Kéo xuống phần Thông tin phần quà

  • Click vào nền xám

  • Sửa Value thành "form1"

4.2. Điều kiện hiển thị Form thông tin

  • Kéo xuống phần Form thông tin

  • Click vào nền xám

  • Sửa Value thành "form"

4.3. Hiển thị tên quà tặng trên Form thông tin

  • Block > Text > Kéo thả Text vào Form thông tin

  • Click chọn chữ và sửa định dạng cho chữ

  • Chọn Select Value Model > Không sửa > Phần thưởng > Save Model

Thêm chữ vào Form thông tin
Chỉnh sửa chữ và Chọn Model Phần thường

5. Tích hợp chatbot Bot Bán Hàng

5.1. Đăng nhập Bot Bán Hàng

5.2. Thêm tên miền https://app.botup.io

5.3. Tạo kịch bản Chatbot

  • Chọn Chatbot > Kịch bản > Tạo Kịch bản

  • Thiết lập kịch bản Minigame

    • Tên kịch bản: Minigame Chabot

    • Dạng tin nhắn: Nút ấn

    • Nội dung tin nhắn mẫu: 🎉️🎉VÒNG QUAY MAY MẮN ️🎉️🎉 Cùng page_name nhận hàng ngàn quà tặng hấp dẫn. 💥Ấn nút "Nhận quà" để tham gia trò chơi 🎡 Vòng quay may mắn🎡 ! Cơ hội nhận được những phần quà từ page_name

    • Tiêu đề nút: CHƠI GAME

    • Chức năng > Địa chỉ Web

    • URL: Link app + ?mid={{client_id}}

    • Tích chọn Hiển thị trong Messenger và dán URL vào dòng dưới

  • Sau đó kéo ngược lên và Lưu lại

5.4. Kết nối Chatbot với Minigame

  • Thiết lập > Thiết lập chung > Tạo mã

  • Sao chép Mã xác thực trang

  • Data > Chatbot > Chatbot Token: Dãn Mã xác thực trang

6. Hoàn thành và trải nghiệm

  • Save và Publish Minigame

  • Chatbot > Kịch bản > Chọn kịch bản Minigame Chatbot

  • Ấn ĐẾN để trải nghiệm

  • Sao chép link gửi bạn bè, đăng lên hội nhóm, trang cá nhân để nhiều người cùng tham gia

  • Bạn cũng có thể dùng điện thoại Quét mã để trải nghiệm. Sử dụng mã quét cho các chiến dịch Offline: Voucher, Card, Tờ rơi, Checkin Sự kiện, Quét mã nhận quà tại quầy,...