MantaGO
  • 文件說明
  • 文件說明
    • 會員API
      • 帳號綁定
      • 解除帳號綁定
      • 會員列表
      • 會員資料
    • 用戶推播
    • 設定webview網址
    • 設定回呼網址
    • API Token與Secret Key換發
  • 常見問題
    • 如何取得Token
    • 錯誤代碼
  • 情境範例
    • 購物車下單後推播訊息
Powered by GitBook
On this page
  • 目錄
  • 情境概述
  • 取得MantaGO Bot的ID
  • 拿(更新)Token和Secret Key
  • 推播訊息
  • 推送對話模組給特定Line用戶
  • 推送文字給特定Facebook用戶
  1. 情境範例

購物車下單後推播訊息

以用戶將購物車內的商品做下單結帳後,並推送訊息給用戶之情境,並以Node.js程式碼為例

Previous錯誤代碼

Last updated 7 months ago

目錄


情境概述

用戶將購物車的商品做下單、並且結帳成功後,傳送後續的訊息給用戶,例如:提醒用戶結帳成功,可以至購物記錄查看商品的最新進度。


取得MantaGO Bot的ID

MantaGO Bot的ID在後續的API使用,都需要在request query或body之中,作為的botId的value進行帶入。

  1. 例如,有下面幾個機器人:

  1. 要拿皮卡丘的機器人的Bot ID,點進去皮卡丘的機器人:

  1. 取得網址:https://mantago.cc/chatbot/lNbWoobyg。

  2. 擷取網址內容的/chatbot/後的文字:lNbWoobyg,這個lNbWoobyg就是為皮卡丘的機器人的Bot ID。


拿(更新)Token和Secret Key

參考 如何取得Token的方法來取得打API用的Token和Secret Key。

如果API用的Token和Secret Key過期了,會得到以下錯誤:

{
    "success": false,
    "errResponse": {
        "message": "Token is invalid or expired",
        "code": 1004,
        "botId": "MantaGO Bot ID"
    }
}

可以打換發API Token和Secret Key的API來取得新的API Token和Secret Key。

這裡提供換發API Token和Secret Key的程式碼範例:

const axios = require('axios');

const secret = "API Secret Key"
const token = "API Token"
const botId = "MantaGO Bot ID"

const data = { "secret": secret };

const config = {
  method: 'post',
  url: 'https://mantago.cc/api/openapi/token?botId=botId',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': `Bearer ${token}`,
  },
  data : data
};

async function makeRequest() {
  try {
    const response = await axios.request(config);
    console.log(response.data);
  }
  catch (error) {
    console.log(error);
  }
}

makeRequest();

推播訊息

有了MantaGO Bot的ID以及有效的API Token和Secret Key,就可以進行推播。

從 用戶推播的內容,在推播訊息的時候,有以下兩種選擇:

  • 推送內容:文字或是特定對話模組。

  • 平台用戶:以下將以Line和Facebook為例。

以下提供 『推送對話模組給特定Line用戶』 和 『推送文字給特定Facebook用戶』 兩種範例。

推送對話模組給特定Line用戶

傳送對話模組:

  1. 進入對話模組取得這個對話模組的ID、拿網址:https://mantago.cc/intent/YqaQwqdnj/rb2kYmMdW、擷取最後一個『 / 』之後的文字,此對話模組的ID便是rb2kYmMdW。

  2. 去打推播的API;推播訊息的程式碼範例:

const axios = require('axios');

const secret = "API Secret Key"
const token = "API Token"
const botId = "MantaGO Bot ID"
const lineUUidList = [
    "Line user uuid"
  ]

const data = {
  "intentId": "rb2kYmMdW",
  "botId": botId,
  "clientIds": lineUUidList,
  "platform": "line",
  "secret": secret
};

const config = {
  method: 'post',
  url: 'https://mantago.cc/api/openapi/broadcast',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': `Bearer ${token}`,
    },
  data : data
};

async function makeRequest() {
  try {
    const response = await axios.request(config);
    console.log(response.data);
  }
  catch (error) {
    console.log(error);
  }
}

makeRequest();
  1. 推送成功的API Response:

{
    "success": true,
    "message": "Send customer broadcast successfully"
}
  1. 訊息:

推送文字給特定Facebook用戶

推送文字內容 :『親愛的顧客您好,你已成功下單,可以至消費紀錄查看商品的最新進度』。

  1. 去打API,推播訊息的程式碼範例:

const axios = require('axios');

const secret = "API Secret Key"
const token = "API Token"
const botId = "MantaGO Bot ID"
const facebookUUidList = [
    "Facebook user uuid"
  ]

const data = {
  "message": "親愛的顧客您好,你已成功下單,可以至消費紀錄查看商品的最新進度",
  "botId": botId,
  "clientIds": facebookUUidList,
  "platform": "facebook",
  "fbTag": "POST_PURCHASE_UPDATE",
  "secret": secret
};

const config = {
  method: 'post',
  url: 'https://mantago.cc/api/openapi/broadcast',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': `Bearer ${token}`,
    },
  data : data
};

async function makeRequest() {
  try {
    const response = await axios.request(config);
    console.log(response.data);
  }
  catch (error) {
    console.log(error);
  }
}

makeRequest();
  1. 推送成功的API Response:

{
    "success": true,
    "message": "Send customer broadcast successfully"
}
  1. 訊息:

情境概述
取得MantaGO Bot的ID
拿(更新)Token和Secret Key
推播訊息
推送給Line用戶
推送給Facebook用戶