Самым простым и быстрым способом автоматизации рассылок по шаблонам является настройка таблицы 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); }