За последние 24 часа нас посетили 20211 программистов и 1663 робота. Сейчас ищут 1476 программистов ...

Свой виджет "Обратного звонка"

Тема в разделе "Сделайте за меня", создана пользователем NRoute, 10 сен 2016.

  1. NRoute

    NRoute Новичок

    С нами с:
    10 сен 2016
    Сообщения:
    1
    Симпатии:
    0
    Выручайте! Я в тупике. Ситуация следующая. Только вот-вот начал изучать PHP, но уже довольно продолжительное время занимаюсь версткой и ECMAScript. Есть уже готовый сайт, клиент захотел форму обратного звонка, которая бы отсылала только SMS и/или E-mail. Я ему предлагать уже готовые варианты, но он уперся на сервисе Zadarma. Говорит, мол, напиши, чтобы с помощью задарма с сайта смс на мой номер приходили с данными клиента. Я ему не стал перечить и согласился. Написал адаптивный виджет, осталось только подсоединить отправку данных из него. Зашел на задарма, нашел там API, нашел там метод /v1/sms/send/, и примеры кода, но не смог разобраться, что к чему. Моих совсем начальных знаний в PHP недостаточно.

    Как должно работать?
    Клиент вводит номер телефона, выбирает удобное время и отправляет форму.
    Если на Zadarma есть деньги, форма отправляет SMS с данными с формы и E-mail.
    Если денег нет, то отправляет только E-mail.
    Баланс можно проверить, вроде, с помощью следующего метода /v1/info/balance/
    Есть два блока absolute и у обоих прописано right: -100%. Первый блок - зеленый, с надписью "Отправлено", предназначен для успешной отправки. Второй блок - красный, с надписью "Ошибка! Попробуйте еще раз". Также есть класс, с анимацией на right: 0.
    Если все проходит успешно, PHP подключает новый класс к тому блоку, который будет соответствовать успешной или нет операцией отправки.

    Форма:
    HTML:
    1.  
    2.                <form>
    3.                     <input type="text" class="placeholder" placeholder="+38 (___) ___-__-__" autofocus>
    4.                     <select id="day">
    5.                         <option>сегодня</option>
    6.                         <option>завтра</option>
    7.                     </select>
    8.                      <span class="middleCenter">в</span>
    9.                     <select id="hour">
    10.                         <option>9:00 - 11:00</option>
    11.                         <option>11:00 - 13:00</option>
    12.                         <option>13:00 - 15:00</option>
    13.                         <option>15:00 - 17:00</option>
    14.                     </select>
    15.                     <input type="submit" class="callMe" value="Позвоните мне!">
    16.                 </form>
    17.  
    Нашел PHP для отправки SMS:
    PHP:
    1. <?php
    2. include_once 'include.php';
    3. $params = array(
    4.     'number' => '442037691880',
    5.     'message' => 'Hello from Zadarma API',
    6.     /*'caller_id' => 'YOURPROVEDPHONE'*/
    7. );
    8. $zd = new \Zadarma_API\Client(KEY, SECRET);
    9. $answer = $zd->call('/v1/sms/send/', $params, 'post');
    10. $answerObject = json_decode($answer);
    11. if ($answerObject->status == 'success') {
    12.     echo 'Messages: ' . $answerObject->messages . '<br/>';
    13.     echo 'Cost: ' . $answerObject->cost . ' ' . $answerObject->currency .  '<br/>';
    14. } else {
    15.     echo $answerObject->message;
    16. }
    17. ?>
    Думаю, будет полезно не только мне. Сколько гуглил, нечего по этому поводу не нашел.
     
    #1 NRoute, 10 сен 2016
    Последнее редактирование: 10 сен 2016
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Там много чего делать надо, мало вероятно что на халяву кто-то сделает.
    Зато могут помочь советом.