Работа с API Sherlock Platform из Google Apps Script

Последние изменения: 02.03.2023

Самым простым и быстрым способом автоматизации рассылок по шаблонам является настройка таблицы Google Docs с привязанным к ней скриптом на основе Google App Scripts.

Ниже приведен пример на Google App Scripts для частых операций с API Sherlock Platform. Данный пример включает:

  1. Авторизацию к API Sherlock Platform

  2. Поиск клиента по номеру телефона

  3. Отправку текстового сообщения

  4. Отправку шаблонного сообщения в WhatsApp

При необходимости отправки сообщения клиенту, которого нет в 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); 
}

 

Помогла ли вам статья?