Hướng dẫn gửi tin nhắn từ Appsheet sang Zalo

Giới thiệu

Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách gửi tin nhắn từ Appsheet sang Zalo. Appsheet là một nền tảng cho phép bạn tạo ứng dụng di động từ bảng tính Google Sheets, Excel và cơ sở dữ liệu SQL Server. Zalo là một ứng dụng nhắn tin phổ biến tại Việt Nam.

Bước 1: Tạo ứng dụng trên Appsheet

Đầu tiên, bạn cần tạo một ứng dụng trên Appsheet. Điều này có thể được thực hiện bằng cách truy cập vào trang web của Appsheet và nhấp vào nút “Start for free”. Sau đó, bạn sẽ được yêu cầu đăng nhập bằng tài khoản Google của mình.

Bước 2: Cài đặt Zalo API

Tiếp theo, bạn cần cài đặt Zalo API. Điều này có thể được thực hiện bằng cách truy cập vào trang web của Zalo và nhấp vào nút “API”. Sau đó, bạn sẽ được yêu cầu đăng nhập bằng tài khoản Zalo của mình.

 
    
        const giaohang = SpreadsheetApp.getActiveSpreadsheet();
        const ss = giaohang.getSheetByName("ZALO_OA");
        //const refreshToken =ss.getRange('B3').getValue();
        const token = ss.getRange('B3').getValue();
        const url = 'https://openapi.zalo.me/v3.0/oa/message/cs';
        //header zalo
        const header = {
        'access_token': token,
        'Content-Type': 'application/json',
        'Accept': 'application/json'
        };



        function getAccessToken() {
        var giaohang = SpreadsheetApp.getActiveSpreadsheet();
        var ss = giaohang.getSheetByName("ZALO_OA");
        const refreshToken = ss.getRange('B2').getValue();
        Logger.log(refreshToken);
        const secretKey = '7BTPX1GfNiSDLTzBaJ38';
        const appId = '4588125530582612968';
        const url = 'https://oauth.zaloapp.com/v4/oa/access_token';

        const body = {
            'refresh_token': refreshToken,
            'app_id': appId,
            'grant_type': 'refresh_token'
        }

        const headers = {
            'secret_key': secretKey
        }

        const params = {
            'method': 'POST',
            'Content-Type': 'application/x-www-form-urlencoded',
            'payload': body,
            'headers': headers
        }

        const response = JSON.parse(UrlFetchApp.fetch(url, params).getContentText());
        const token = response["access_token"];
        Logger.log(token);
        const refresh = response['refresh_token'];
        Logger.log(refresh);
        ss.getRange('B3').setValue(response['access_token']);
        ss.getRange('B2').setValue(response['refresh_token']);
        }


        function onEdit(e){
        const ss = SpreadsheetApp.getActiveSpreadsheet();
        const sheet = ss.getSheetByName("DON_HANG");
        const range = sheet.getActiveRange();
        const sheetName = sheet.getName();
        const column = range.getColumn();
        const row = range.getRow();
        if (sheetName === "DON_HANG" && column === 1) {
            const ma_hd = sheet.getRange(row, 1).getValues(); // Mã HĐ
            const khach_hang = sheet.getRange(row, 4).getValues(); // Tên khách hàng
            const ngay_dat_hd = Utilities.formatDate(sheet.getRange(row, 2).getValue(),"GMT+7","dd/MM/YYYY"); // Ngày đặt HĐ
            const ngay_can_giao = Utilities.formatDate(sheet.getRange(row, 3).getValue(),"GMT+7","dd/MM/YYYY"); // Ngày đặt HĐ
        const messagent =" [TB] CÓ HỢP ĐỒNG MỚI" + '\n' + "- Mã hợp đồng: " + ma_hd + '\n' + " - Tên khách hàng: " + khach_hang + '\n' + ngay_dat_hd + '\n' + ngay_can_giao + '\n' 
            Logger.log(messagent)
        
            sendZaloMessage('7103621184509101583', messagent);
        }

        }

        function processDataChanges() {
        const ss = SpreadsheetApp.getActiveSpreadsheet();
        const sheet = ss.getSheetByName("Hợp đồng");
        const range = sheet.getActiveRange();
        const sheetName = sheet.getName();
        const column = range.getColumn();
        const row = range.getRow();

        if (sheetName === "Hợp đồng" && column === 1) {
            const ma_hd = sheet.getRange(row, 1).getValues(); // Mã HĐ
            const khach_hang = sheet.getRange(row, 3).getValues(); // Tên khách hàng
            const ngay_dat_hd = Utilities.formatDate(sheet.getRange(row, 7).getValue(),"GMT+7","dd/MM/YYYY"); // Ngày đặt HĐ
            const ngay_chup = sheet.getRange(row, 8).getValues(); // Ngày chụp
            const ngay_hoi = sheet.getRange(row, 9).getValues(); // Ngày hỏi
            const ngay_cuoi = sheet.getRange(row, 10).getValues(); // Ngày cưới
            const han_giao_hd = sheet.getRange(row, 11).getValues(); // Hạn giao HĐ
            const thanh_tien = sheet.getRange(row, 12).getValues(); // Thành tiền
            const khuyen_mai_dv = sheet.getRange(row, 13).getValues(); // Khuyến mãi DV
            const giam_gia = sheet.getRange(row, 14).getValues(); // Giảm giá
            
        const messagent =" [TB] CÓ HỢP ĐỒNG MỚI" + '\n' + "- Mã hợp đồng: " + ma_hd + '\n' + " - Tên khách hàng: " + khach_hang + '\n' +
        " - Ngày đặt hợp đồng: " + ngay_dat_hd + '\n' + " - Ngày chụp: " + ngay_chup + '\n' + " - Ngày hỏi: " + ngay_hoi + '\n' + " - Ngày cưới: " + ngay_cuoi + '\n' + " - Hạn giao hợp đồng: " + han_giao_hd + '\n' + " - Thành tiền: " + thanh_tien + '\n' + " - Khuyến mãi dịch vụ: " + khuyen_mai_dv + '\n' + " - Giảm giá: " + giam_gia;

            Logger.log(messagent)
            sendZaloMessage('6713401403939781007', messagent);
            sendZaloMessage('2346303166140981546', messagent);
        }
        }
        function sendZaloMessage(user_id, text) {
        var messageData = JSON.stringify({
            'recipient': {
            'user_id': user_id
            },
            'message': {
            'text': text,
            'template_type': 'promotion'
            }
        });

        var options = {
            'method': 'POST',
            'payload': messageData,
            'headers': {
            'access_token': token,
            'Content-Type': 'application/json',
            'Accept': 'application/json'
            },
            'followRedirects': true
        };

        // UrlFetchApp.fetch(url, options);
        Logger.log(UrlFetchApp.fetch(url, options));
        }


Bước 3: Gửi tin nhắn từ Appsheet sang Zalo

Cuối cùng, bạn có thể gửi tin nhắn từ Appsheet sang Zalo. Điều này có thể được thực hiện bằng cách sử dụng API của Zalo. Bạn cần nhập mã API vào ứng dụng Appsheet của mình và sau đó bạn có thể gửi tin nhắn.

Link chi tiết các bạn có thể xem ở video phía dưới.



Hòa Data

Chào các bạn, tôi là Hòa - chuyên gia phân tích dữ liệu, nhà phát triển ứng dụng AppSheet. Tôi rất mong được cùng hợp tác và phát triển với các doanh nghiệp để mang đến những giải pháp tối ưu nhất.

1 Nhận xét

  1. Có tạo bình chọn tự động hàng ngày từ Appsheet vào 1 nhóm Zalo k ạ Ad?

    Trả lờiXóa
Mới hơn Cũ hơn