Самым простым и быстрым способом автоматизации рассылок по шаблонам является настройка таблицы Google Docs с привязанным к ней скриптом на основе Google App Scripts.
Ниже приведен пример на Google App Scripts для частых операций с API Sherlock Platform. Данный пример включает:
Поиск клиента по номеру телефона
При необходимости отправки сообщения клиенту, которого нет в Sherlock Platform, необходимо через API сначала создать клиента и диалог для отправки сообщения.
Дополнительная информация по Google Apps Script доступна по ссылке https://developers.google.com/apps-script/overview
function SherlockAPIDemo() {
var sherlockUrl = "<SherlockPlatformURL>";
var infobipId = "FC68E906-4C78-48BE-9FCC-3D18281F506C"; // ID типа канала для отправки
// подключаемся к API
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : '{"Username" : "<your_login>","password" : "<your_password>"}'
};
var authData = UrlFetchApp.fetch(sherlockUrl + "/API/V2/Token", options);
var authDataJson = JSON.parse(authData.getContentText());
// получаем id клиента по номеру
options = {
'method' : 'get',
'contentType': 'application/json',
'headers': {'authorization' : 'Bearer ' + authDataJson.token}
};
var clientData = UrlFetchApp.fetch(sherlockUrl + "/API/V2/Client?SocialNetworkMessengers=" + infobipId + "&Phone=<client_phone_number>", options);
var clientDataJson = JSON.parse(clientData.getContentText());
//Logger.log(clientData);
if(clientDataJson.length==0)
return;
//Logger.log(clientDataJson[0].id);
// отправляем текстовое сообщение
var messageData = {
"clientId": clientDataJson[0].id,
"text": "Тестовое сообщение",
"messageDirectionId": 2,
"messageCategoryId": 1,
"draft": false,
"isImportant": false,
"isBotMessage": true,
"previousMessageDelay": 0,
"previousMessageDelayType": 2,
"socialNetworkMessengerId": infobipId
};
options = {
'method' : 'post',
'contentType': 'application/json',
'headers': {'authorization' : 'Bearer ' + authDataJson.token},
'payload' : JSON.stringify(messageData)
};
UrlFetchApp.fetch(sherlockUrl + "/API/V2/Message", options);
// отправляем шаблонное сообщение
var templateTag = {
"tag_type":"template_message",
"whatsApp_template_name":"shipping_delay_2",
"parameters": ["test1","test2","test3","test4"]
};
var messageTemplateData = {
"clientId": clientDataJson[0].id,
"text": JSON.stringify(templateTag),
"messageDirectionId": 2,
"messageCategoryId": 1,
"draft": false,
"isImportant": false,
"isBotMessage": true,
"previousMessageDelay": 0,
"previousMessageDelayType": 2,
"socialNetworkMessengerId": infobipId
};
options = {
'method' : 'post',
'contentType': 'application/json',
'headers': {'authorization' : 'Bearer ' + authDataJson.token},
'payload' : JSON.stringify(messageTemplateData)
};
UrlFetchApp.fetch(sherlockUrl + "/API/V2/Message", options);
}