@@ -1208,4 +1208,291 @@ public function startEventAutomation360($eventName, array $variables)
12081208
12091209 return $ this ->handleResult ($ requestResult );
12101210 }
1211+
1212+ /**
1213+ * Add phones to addressbook
1214+ *
1215+ * @param $bookID
1216+ * @param array $phones
1217+ * @return stdClass
1218+ */
1219+ public function addPhones ($ bookID , array $ phones )
1220+ {
1221+ if (empty ($ bookID )) {
1222+ return $ this ->handleError ('Empty book id ' );
1223+ }
1224+
1225+ $ data = [
1226+ 'addressBookId ' => $ bookID ,
1227+ 'phones ' => json_encode ($ phones )
1228+ ];
1229+
1230+ $ requestResult = $ this ->sendRequest ('/sms/numbers ' , 'POST ' , $ data );
1231+
1232+ return $ this ->handleResult ($ requestResult );
1233+ }
1234+
1235+ /**
1236+ * Add phones with variables to addressbook
1237+ *
1238+ * @param $bookID
1239+ * @param array $phones
1240+ * @return stdClass
1241+ */
1242+ public function addPhonesWithVariables ($ bookID , array $ phonesWithVariables )
1243+ {
1244+ if (empty ($ bookID )) {
1245+ return $ this ->handleError ('Empty book id ' );
1246+ }
1247+
1248+ $ data = [
1249+ 'addressBookId ' => $ bookID ,
1250+ 'phones ' => json_encode ($ phonesWithVariables )
1251+ ];
1252+
1253+ $ requestResult = $ this ->sendRequest ('/sms/numbers/variables ' , 'POST ' , $ data );
1254+
1255+ return $ this ->handleResult ($ requestResult );
1256+ }
1257+
1258+ /**
1259+ * Update variables for phones
1260+ *
1261+ * @param $bookID
1262+ * @param array $phones
1263+ * @param array $variables
1264+ * @return stdClass
1265+ */
1266+ public function updatePhoneVaribales ($ bookID , array $ phones , array $ variables )
1267+ {
1268+ if (empty ($ bookID )) {
1269+ return $ this ->handleError ('Empty book id ' );
1270+ }
1271+
1272+ $ data = [
1273+ 'addressBookId ' => $ bookID ,
1274+ 'phones ' => json_encode ($ phones ),
1275+ 'variables ' => json_encode ($ variables )
1276+ ];
1277+
1278+ $ requestResult = $ this ->sendRequest ('/sms/numbers ' , 'PUT ' , $ data );
1279+
1280+ return $ this ->handleResult ($ requestResult );
1281+ }
1282+
1283+ /**
1284+ * Delete phones from book
1285+ *
1286+ * @param $bookID
1287+ * @param array $phones
1288+ * @return stdClass
1289+ */
1290+ public function deletePhones ($ bookID , array $ phones )
1291+ {
1292+ if (empty ($ bookID )) {
1293+ return $ this ->handleError ('Empty book id ' );
1294+ }
1295+
1296+ $ data = [
1297+ 'addressBookId ' => $ bookID ,
1298+ 'phones ' => json_encode ($ phones )
1299+ ];
1300+
1301+ $ requestResult = $ this ->sendRequest ('/sms/numbers ' , 'DELETE ' , $ data );
1302+
1303+ return $ this ->handleResult ($ requestResult );
1304+ }
1305+
1306+ /**
1307+ * get information about phone number
1308+ *
1309+ * @param $bookID
1310+ * @param $phoneNumber
1311+ * @return stdClass
1312+ */
1313+ public function getPhoneInfo ($ bookID , $ phoneNumber )
1314+ {
1315+ if (empty ($ bookID )) {
1316+ return $ this ->handleError ('Empty book id ' );
1317+ }
1318+
1319+ $ requestResult = $ this ->sendRequest ('/sms/numbers/info/ ' .$ bookID .'/ ' .$ phoneNumber );
1320+
1321+ return $ this ->handleResult ($ requestResult );
1322+ }
1323+
1324+ /**
1325+ * Add phones to blacklist
1326+ *
1327+ * @param $bookID
1328+ * @param array $phones
1329+ * @return stdClass
1330+ */
1331+ public function addPhonesToBlacklist (array $ phones )
1332+ {
1333+ $ data = [
1334+ 'phones ' => json_encode ($ phones )
1335+ ];
1336+
1337+ $ requestResult = $ this ->sendRequest ('/sms/black_list ' , 'POST ' , $ data );
1338+
1339+ return $ this ->handleResult ($ requestResult );
1340+ }
1341+
1342+ /**
1343+ * Delete phones from blacklist
1344+ *
1345+ * @param array $phones
1346+ * @return stdClass
1347+ */
1348+ public function removePhonesFromBlacklist (array $ phones )
1349+ {
1350+ $ data = [
1351+ 'phones ' => json_encode ($ phones )
1352+ ];
1353+
1354+ $ requestResult = $ this ->sendRequest ('/sms/black_list ' , 'DELETE ' , $ data );
1355+
1356+ return $ this ->handleResult ($ requestResult );
1357+ }
1358+
1359+ /**
1360+ * Get list of phones from blacklist
1361+ *
1362+ * @return stdClass
1363+ */
1364+ public function getPhonesFromBlacklist ()
1365+ {
1366+ $ requestResult = $ this ->sendRequest ('/sms/black_list ' );
1367+
1368+ return $ this ->handleResult ($ requestResult );
1369+ }
1370+
1371+ /**
1372+ * Create sms campaign based on phones in book
1373+ *
1374+ * @param $bookID
1375+ * @param array $params
1376+ * @param array $additionalParams
1377+ * @return stdClass
1378+ */
1379+ public function sendSmsByBook ($ bookID , array $ params , array $ additionalParams = [])
1380+ {
1381+ if (empty ($ bookID )) {
1382+ return $ this ->handleError ('Empty book id ' );
1383+ }
1384+
1385+ $ data = [
1386+ 'addressBookId ' => $ bookID
1387+ ];
1388+
1389+ $ data = array_merge ($ data , $ params );
1390+
1391+ if ($ additionalParams ) {
1392+ $ data = array_merge ($ data , $ additionalParams );
1393+ }
1394+
1395+ $ requestResult = $ this ->sendRequest ('/sms/campaigns ' , 'POST ' , $ data );
1396+
1397+ return $ this ->handleResult ($ requestResult );
1398+ }
1399+
1400+ /**
1401+ * Create sms campaign based on list
1402+ *
1403+ * @param $phones
1404+ * @param array $params
1405+ * @param array $additionalParams
1406+ * @return stdClass
1407+ */
1408+ public function sendSmsByList (array $ phones , array $ params , array $ additionalParams )
1409+ {
1410+ $ data = [
1411+ 'phones ' => json_encode ($ phones )
1412+ ];
1413+
1414+ $ data = array_merge ($ data , $ params );
1415+
1416+ if ($ additionalParams ) {
1417+ $ data = array_merge ($ data , $ additionalParams );
1418+ }
1419+
1420+ $ requestResult = $ this ->sendRequest ('/sms/send ' , 'POST ' , $ data );
1421+
1422+ return $ this ->handleResult ($ requestResult );
1423+ }
1424+
1425+ /**
1426+ * List sms campaigns
1427+ *
1428+ * @param $params
1429+ * @return stdClass
1430+ */
1431+ public function listSmsCampaigns (array $ params = null )
1432+ {
1433+ $ requestResult = $ this ->sendRequest ('/sms/campaigns/list ' , 'GET ' , $ params );
1434+
1435+ return $ this ->handleResult ($ requestResult );
1436+ }
1437+
1438+ /**
1439+ * Get info about sms campaign
1440+ *
1441+ * @param $campaignID
1442+ * @return stdClass
1443+ */
1444+ public function getSmsCampaignInfo ($ campaignID )
1445+ {
1446+ $ requestResult = $ this ->sendRequest ('/sms/campaigns/info/ ' .$ campaignID );
1447+
1448+ return $ this ->handleResult ($ requestResult );
1449+ }
1450+
1451+ /**
1452+ * Cancel SMS campaign
1453+ *
1454+ * @param $campaignID
1455+ * @return stdClass
1456+ */
1457+ public function cancelSmsCampaign ($ campaignID )
1458+ {
1459+ $ requestResult = $ this ->sendRequest ('/sms/campaigns/cancel/ ' .$ campaignID , 'PUT ' );
1460+
1461+ return $ this ->handleResult ($ requestResult );
1462+ }
1463+
1464+ /**
1465+ * Get SMS campaign cost based on book or simple list
1466+ *
1467+ * @param array $params
1468+ * @param array|null $additionalParams
1469+ * @return stdClass
1470+ */
1471+ public function getSmsCampaignCost (array $ params , array $ additionalParams = null )
1472+ {
1473+ if (!isset ($ params ['addressBookId ' ]) && !isset ($ params ['phones ' ])) {
1474+ return $ this ->handleError ('You mast pass phones list or addressbook ID ' );
1475+ }
1476+
1477+ if ($ additionalParams ) {
1478+ $ params = array_merge ($ params , $ additionalParams );
1479+ }
1480+
1481+ $ requestResult = $ this ->sendRequest ('/sms/campaigns/cost ' , 'GET ' , $ params );
1482+
1483+ return $ this ->handleResult ($ requestResult );
1484+ }
1485+
1486+ /**
1487+ * Delete SMS campaign
1488+ *
1489+ * @param $campaignID
1490+ * @return stdClass
1491+ */
1492+ public function deleteSmsCampaign ($ campaignID )
1493+ {
1494+ $ requestResult = $ this ->sendRequest ('/sms/campaigns ' , 'DELETE ' , ['id ' => $ campaignID ]);
1495+
1496+ return $ this ->handleResult ($ requestResult );
1497+ }
12111498}
0 commit comments