微信小程序怎麼用雲開發自動一對一回復指定內容

當用戶在小程序點擊客服按鈕,進入會話時,我們一定想知道他從哪個頁面進去的,頁面是什麼內容,用戶最可能想了解什麼信息。
由於我用的是雲開發模式,沒用服務器,因此將今天測試的流程庖丁解牛的發出來,供參考:

步驟一、用戶點擊客服按鈕

按鈕配置代碼:

  <button open-type="contact" url="旅遊路線鏈接" send-message-title="卡片標題" show-message-card="true" send-message-img="/images/img_kefu_show_tip.png" bindcontact="handleContact" 
  session-from='{"title":"兩日遊","url":"http://skb.lvyouquan.com/mg/53af38b41b3440af83e2b4de5cfd094c/bdf30829792b44a1a00e44dd8e18c95c/ProductNew/c7a695d11f104776b2dc4e1252d9493a?busType=1&isQRCode=1","description":"description","thumb_url":"http://vsource.cn/wp-content/uploads/2019/11/learn_downqr-150x150.png"}'>
  點擊購買</button>

注意:session-from只有在用戶進入會話的時候纔會發送給回調接口/雲開發的雲函數。

雲開發配置代碼:


event格式如下:

event= { CreateTime: 1617001411,

  Event: 'user_enter_tempsession',

  FromUserName: 'oZ1ag4rkCRqNTXwiSkjF4_eCZJ14',

  MsgType: 'event',

  SessionFrom:

   '{"title":"兩日遊","url":"http://skb.lvyouquan.com/mg/53af38b41b3440af83e2b4de5cfd094c/bdf30829792b44a1a00e44dd8e18c95c/ProductNew/c7a695d11f104776b2dc4e1252d9493a?busType=1&isQRCode=1","description":"description","thumb_url":"http://vsource.cn/wp-content/uploads/2019/11/learn_downqr-150x150.png"}',

  ToUserName: 'gh_7f451e6c35fe',

  userInfo:

   { appId: 'wx2c73883c8d9b4e3f',

     openId: 'oZ1ag4rkCRqNTXwiSkjF4_eCZJ14' } }

步驟二、用戶發送卡片消息

右下角可以點擊發送,圖片可以定製,比如定製爲:發送商品,那麼後臺就可以自動回覆對應商品的信息。此處發送一條消息的目的在於可以有5條自動回覆消息的權限。否則,若用戶不發送消息,是沒有權限給用戶主動發消息的。

此舉,也可以解決小程序給H5商城導流的問題。小程序僅僅需要做簡單展示或引流,H5做核心的變現和業務邏輯。


雲開發的代碼:

// 雲函數入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
//<!--下載雲存儲圖片-->
let downLoad = async (fileID) => {
  const res = await cloud.downloadFile({
    fileID: fileID, // 圖片的File ID
  })
  const buffer = res.fileContent
  console.log(buffer)
  return buffer
}

//<!--把媒體文件上傳到微信服務器-->
let upload = async (Buffer) => {
  return await cloud.openapi.customerServiceMessage.uploadTempMedia({
    type: 'image',
    media: {
      contentType: 'image/png',
      value: Buffer
    }
  })
}

// 雲函數入口函數
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  console.log('event=',event)
  if (event.MsgType == 'miniprogrampage') {
    let Buffer = await downLoad('cloud://bvread-bdqed.6276-bvread-bdqed-1302378864/kefu/ad_kefu_qun.png')
    let meida = await upload(Buffer)
    await cloud.openapi.customerServiceMessage.send({
      "touser": wxContext.OPENID,
      "msgtype": "image",
      "image": {
        "media_id": meida.mediaId
      }
    })
  }
   else {
     var sessionFromStr = event.SessionFrom;
     var sessionFrom = JSON.parse(sessionFromStr)
    await cloud.openapi.customerServiceMessage.send({
      'touser': wxContext.OPENID,
      'msgtype': 'link',
      'link':{
        'title': sessionFrom.title,
        'url': sessionFrom.url,
        'description': sessionFrom.description,
        'thumb_url': sessionFrom.thumb_url
      }
    })
  }
  return 'success'
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章