osTicket JSON for Asterisk

if [ $localnum = 'noanswer' ]; then
state=mysql --default-character-set=utf8 -h$dbh -u$dbu -p$dbp $dbd -Nse "select concat(_user__cdata.phone,';',_user__cdata.account,';',_user.name) from _user__cdata join _user on user_id=id where phone=$callnum limit 1;"
#первый параметр показывает телефон, второй лицевой счет, третий ФИО абонента (вывод разделен ";" для того, чтобы подставить ФИО с пробелами в переменную bash)
echo $state| while IFS=";" read -r tel acc name; do
#если лицевой счет найден, подставим в email с суффиксом @e-yugansk.ru чтобы тикет смог создасться через API от звонящего пользователя
if [ "$acc" != '' ]; then
echo \ {
echo \ \"alert\": true,
echo \ \"autorespond\": true,
echo \ \"source\": \"API\",
echo \ \"assignee\": \"Техническая Поддержка\",
echo \ \"name\": \"$name\",
echo \ \"email\": \"$acc@e-yugansk.ru\",
echo \ \"phone\": \"$callnum\",
echo \ \"subject\": \"Телефонная заявка от $name\",
echo \ \"ip\": \"10.232.2.98\",
echo \ \"message\": \"data:text\/html\;charset=utf-8\,Входящий звонок $callnum: Лицевой Счет $acc\",
echo \ \"assignId\": \"t2\",
echo \ \"attachments\": [
echo \ ]
echo \ }
#если лицевой счет не найден, подставим в email почту технической поддержки support@e-yugansk.ru
else
echo \ {
echo \ \"alert\": true,
echo \ \"autorespond\": true,
echo \ \"source\": \"API\",
echo \ \"assignee\": \"Техническая\ Поддержка\",
echo \ \"name\": \"Неизвестный\ звонок\",
echo \ \"email\": \"support@e-yugansk.ru\",
echo \ \"phone\": \"$callnum\",
echo \ \"subject\": \"Телефонная\ заявка\",
echo \ \"ip\": \"10.232.2.98\",
echo \ \"message\": \"data:text\/html\;charset=utf-8\,Входящий звонок $callnum\",
echo \ \"assignId\": \"t2\",
echo \ \"attachments\": [
echo \ ]
echo \ }
fi
done
fi

if [ $localnum != noanswer ]; then
state=mysql --default-character-set=utf8 -h$dbh -u$dbu -p$dbp $dbd -Nse "select concat(_user__cdata.phone,';',_user__cdata.account,';',_user.name) from _user__cdata join _user on user_id=id where phone=$callnum limit 1;"
#определяем ID оператора, ответившего на звонок
sid=mysql --default-character-set=utf8 -h$dbh -u$dbu -p$dbp $dbd -Nse "select staff_id from _staff where phone_ext=$localnum limit 1;"
#первый параметр определяет телефон, второй лицевой счет, третий ФИО абонента (вывод разделен ";" для того, чтобы подставить ФИО с пробелами в переменную bash)
echo $state| while IFS=";" read -r tel acc name; do
#если лицевой счет найден, подставим в email с суффиксом @e-yugansk.ru чтобы тикет смог создасться через API от звонящего пользователя
if [ "$acc" != '' ]; then
echo \ {
echo \ \"alert\": true,
echo \ \"autorespond\": true,
echo \ \"source\": \"API\",
echo \ \"assignee\": \"Техническая Поддержка\",
echo \ \"name\": \"$name\",
echo \ \"email\": \"$acc@e-yugansk.ru\",
echo \ \"phone\": \"$callnum\",
echo \ \"subject\": \"Телефонная заявка от $name\",
echo \ \"ip\": \"10.232.2.98\",
echo \ \"message\": \"data:text\/html\;charset=utf-8\,Входящий звонок $callnum: Лицевой Счет $acc\",
echo \ \"assignId\": \"s$sid\",
echo \ \"attachments\": [
echo \ ]
echo \ }
#если лицевой счет не найден, подставим в email почту технической поддержки support@e-yugansk.ru
else
echo \ {
echo \ \"alert\": true,
echo \ \"autorespond\": true,
echo \ \"source\": \"API\",
echo \ \"assignee\": \"Техническая\ Поддержка\",
echo \ \"name\": \"Неизвестный\ звонок\",
echo \ \"email\": \"support@e-yugansk.ru\",
echo \ \"phone\": \"$callnum\",
echo \ \"subject\": \"Телефонная\ заявка\",
echo \ \"ip\": \"10.232.2.98\",
echo \ \"message\": \"data:text\/html\;charset=utf-8\,Входящий звонок $callnum\",
echo \ \"assignId\": \"s$sid\",
echo \ \"attachments\": [
echo \ ]
echo \ }
fi
done
fi

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.