目錄
情境概述
用戶將購物車的商品做下單、並且結帳成功後,傳送後續的訊息給用戶,例如:提醒用戶結帳成功,可以至購物記錄查看商品的最新進度。
取得MantaGO Bot的ID
MantaGO Bot的ID在後續的API使用,都需要在request query或body之中,作為的botId的value進行帶入。
要拿皮卡丘的機器人的Bot ID,點進去皮卡丘的機器人:
取得網址:https://mantago.cc/chatbot/lNbWoobyg
。
擷取網址內容的/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用戶
傳送對話模組:
進入對話模組取得這個對話模組的ID、拿網址:https://mantago.cc/intent/YqaQwqdnj/rb2kYmMdW
、擷取最後一個『 / 』之後的文字,此對話模組的ID便是rb2kYmMdW
。
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();
{
"success": true,
"message": "Send customer broadcast successfully"
}
推送文字給特定Facebook用戶
推送文字內容 :『親愛的顧客您好,你已成功下單,可以至消費紀錄查看商品的最新進度』。
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();
{
"success": true,
"message": "Send customer broadcast successfully"
}