Пример работы с SMS шлюзом для командной обочки Bash
Скрипт для оболочки Bash позволяет отправлять сообщения прямо с консоли пользователя, протестирован на версии 4.4.12.
Отправка смс
Получения статуса отправленной смс
Получение цены отправки
Получение баланса
Отправка смс:
#!/bin/bash
set -u
LOGIN='your login'
PASSWORD='your password'
URL='http://api.myatompark.com/members/sms/xml.php'
function sendSms {
local phones
phones=("${@:5}")
local phonesXml
for ix in ${!phones[*]}
do
phonesXml+="${phones[$ix]} "
done
local data="XML=\
\
\
SEND \
\
\
$1 \
$2 \
\
\
$3 \
$4 \
\
${phonesXml} \
"
#echo -e "$data"
curl --data "$data" $URL
}
function getPrice {
local phones
phones=("${@:5}")
local phonesXml
for ix in ${!phones[*]}
do
phonesXml+="${phones[$ix]} "
done
local data="XML=\
\
\
GETPRICE \
\
\
$1 \
$2 \
\
\
$3 \
$4 \
\
${phonesXml} \
"
#echo -e "$data"
curl --data "$data" $URL
}
function getStatus {
local numbers
numbers=("${@:3}")
local statisticsXml
for ix in ${!numbers[*]}
do
statisticsXml+="${numbers[$ix]} "
done
local data="XML=\
\
\
GETSTATUS \
\
\
$1 \
$2 \
\
\
$statisticsXml\
\
"
#echo -e "$data"
curl --data "$data" $URL
}
function getBalance {
local data="XML=\
\
\
BALANCE \
\
\
$1 \
$2 \
\
"
#echo -e "$data"
curl --data "$data" $URL
}
function getCreditPrice {
local data="XML=\
\
\
CREDITPRICE \
\
\
$1 \
$2 \
\
"
#echo -e "$data"
curl --data "$data" $URL
}
function logging {
echo -en "$1";
}
args=("$@")
usage="$(basename "$0") [-h] [-a (send|price|status|credit_price|balance)] [-s n] [-t n] [-p n] [-n n] -- xml sms gateway for sending sms
where:
-h show this help text
-a \033[4m action_name \033[0m
\033[1m send \033[0m send sms on phones
\033[1m price \033[0m price sms on phones
-s sender name
-t text sms
-p phones (example: '380933630000 380933630001')
\033[1m status \033[0m show status on phones by phone's id (special attributes)
-n phones's id
\033[1m balance \033[0m show user banance
\033[1m credit_price \033[0m show user price"
while getopts ":hs:a:s:t:p:" opt; do
case $opt in
a) ACTION="${OPTARG}" ;;
s) SENDER="${OPTARG}" ;;
t) TEXT="${OPTARG}" ;;
n) NUMBERS="${OPTARG}" ;;
p) STR_PHONES="${OPTARG}" ;;
h) echo -en "$usage"
printf "\n"
exit
;;
\?) printf "illegal option: -%s\n" "$OPTARG" >&2
echo -en "$usage" >&2
printf "\n"
exit 1
;;
:) logging "Option -${OPTARG} requires an argument." ; exit 252 ;;
esac
done
shift $(($OPTIND - 1))
if [[ "${ACTION:-unset}" == "unset" ]]; then
echo -e "Parameters ACTION not found. "
exit 1
fi
case $ACTION in
send)
if [[ "${SENDER:-unset}" == "unset" ]]; then
echo -e "Parameters SENDER not found. "
exit 1
fi
if [[ "${TEXT:-unset}" == "unset" ]]; then
echo -e "Parameters TEXT not found. "
exit 1
fi
if [[ "${STR_PHONES:-unset}" == "unset" ]]; then
echo -e "Parameters PHONES not found. "
exit 1
fi
PHONES=()
for phone in $STR_PHONES; do
PHONES+=("$phone")
done
sendSms $LOGIN $PASSWORD "$SENDER" "$TEXT" ${PHONES[*]} ;;
price)
if [[ "${SENDER:-unset}" == "unset" ]]; then
echo -e "Parameters SENDER not found. "
exit 1
fi
if [[ "${TEXT:-unset}" == "unset" ]]; then
echo -e "Parameters TEXT not found. "
exit 1
fi
if [[ "${STR_PHONES:-unset}" == "unset" ]]; then
echo -e "Parameters PHONES not found. "
exit 1
fi
PHONES=()
for phone in $STR_PHONES; do
PHONES+=("$phone")
done
getPrice $LOGIN $PASSWORD "$SENDER" "$TEXT" ${PHONES[*]} ;;
status)
if [[ "${NUMBERS:-unset}" == "unset" ]]; then
echo -e "Parameters NUMBERS not found. "
exit 1
fi
PHONES=()
for phone in $NUMBERS; do
PHONES+=("$phone")
done
getStatus $LOGIN $PASSWORD ${PHONES[*]} ;;
credit_price)
getCreditPrice $LOGIN $PASSWORD ;;
balance)
getBalance $LOGIN $PASSWORD ;;
:) logging "Option -${OPTARG} requires an argument." ; exit 252 ;;
esac
printf "\n"
По запросу предоставляется необходимое количество дополнительных смс для тестирования сервиса массовых смс-уведомлений ePochta SMS.
Есть вопрос?
- 8 (800) 555-09-63
- Бесплатно по России
Новости:
- 2020-11-27
- Внимание! С 1 декабря 2020 года меняется цена на отправку СМС в сети Билайн
- 2020-11-23
- ePochta объявляет старт Черной Пятницы: Спеццена на рассылку в WhatsApp
- 2020-11-18
- С 1 декабря 2020 года оператор МТС повышает стоимость СМС
- 2020-05-04
- Вебинар: СМС маркетинг. Что писать в тексте СМС рассылок?
- 2020-04-28
- Операторы повышают цены СМС рассылки по прямому каналу в РФ


7 (495) 649-62-48
Украинский
Казахский
English
Italiano
