За последние 24 часа нас посетили 23054 программиста и 1725 роботов. Сейчас ищут 1759 программистов ...

Помогите с тестовым

Тема в разделе "Сделайте за меня", создана пользователем ubunta2, 4 фев 2020.

  1. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    1. Ознакомиться с понятийной базой amoCRM (по необходимости).

    2. Необходимо создать html страницу с формой и полями: имя, телефон (обязательное поле), email (обязательное поле). Отправку и валидацию данных форм осуществлять с помощью JS

    3. На сайтеhttps://www.amocrm.ru/ зарегистрировать тестовый аккаунт. (логин и пароль к тестовому аккаунту amocrm выслать на e-mail: )

    4. Зарегистрировать три почтовых email аккаунта на произвольном email сервисе с произвольными контактными данными.

    5. Добавить троих пользователей (по ранее созданным почтовым аккаунтам) с полными правами (но не администраторов) в разделе Права и пользователи.

    6. Провести интеграцию формы с аккаунтом amoCRM (ссылка на api amoCRM).


    Результат интеграции



    В результате интеграции в CRM системе должны создаться:

    • сделка (на этапе воронки “Первичный контакт” с названием “Заявка с сайта”). При создании сделки ей нужно установить ответственного, учитывая принцип распределения (см. ниже “Принцип работы распределения”).

    • задача с типом “Перезвонить клиенту”, ответственный у задачи должен быть такой же как и у сделки, а срок выполнения задачи 1 день;

    • контакт (см. “Создание контакта”).


    Также все данные с формы должны отправляться на почту администратора аккаунта amoCRM с темой письма "Заявка с сайта".



    Создание контакта



    В процессе интеграции нужно создавать новый контакт, если не найден существующий по входящим данным (email и телефон). Поиск существующих контактов в CRM системе нужно производить в 2 этапа: сначала по email, а потом по телефону.

    Если контакт не найден, то нужно создавать новую карточку контакта и крепить к нему созданную сделку. При этом контактные данные должны быть в карточке контакта.

    Если контакт был найден, то к данному контакту крепить “нашу” новую сделку.



    Принцип работы распределения



    Если был найден контакт, то ответственным по сделке ставится пользователь ответственный по контакту (даже если это администратор).

    Если же контакт не был найден, то ответственный выбирается по принципу равномерного распределения сделок между пользователями за текущие сутки (считаем все сделки за текущие сутки для каждого пользователя CRM и ставим ответственным того, у кого наименьшее количество сделок).

    Количество сделок за текущие сутки у которых один и тот же контакт считать как одна сделка.

    Администратор (владелец аккаунта) не участвует в распределении сделок от новых контактов.



    Рекомендация к выполнению задания



    Данный модуль интеграции необходимо писать на языке PHP с применением ООП.

    Код модуля должен быть с комментариями, аккуратно написан и читаемый.

    Модуль должен быть написан максимально универсально (модульно), чтобы можно было применить к любой форме данного типа.

    Для тестового задания не использовать сторонние библиотеки для работы с amoCRM.





    Выполненное задание необходимо развернуть локально и протестировать.
     
  2. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Код (Text):
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4.   <meta charset="UTF-8">
    5.   <title>Отправка формы в амосрм</title>
    6.   <link rel="stylesheet" href="css/head.css">
    7.   <link href="css/style.css" rel="stylesheet">
    8. </head>
    9. <body>
    10.   <div class="wrapper">
    11.     <form id="index-formModalDownload" action="send-contact.php" method="POST" class="form formModal-form">
    12.  
    13.       <h3 class="form-title formModal-form__title">ОСТАВЬТЕ ЗАЯВКУ</h3>
    14.       <p class="form-text formModal-form__text">И мы свяжемся с вами</p>
    15.  
    16.       <div class="form-box form-box__name formModal-form-box__name">
    17.         <label for="formModal__name" class="form-label form-label__name formModal-label__name">Ваше имя:</label>
    18.         <input id="formModal__name" type="text" name="name" class="form-input form-input__name formModal-input__name" placeholder="Имя" required>
    19.       </div>
    20.       <!-- /.form-box__name -->
    21.  
    22.       <div class="form-box form-box__email formModal-form-box__email">
    23.         <label for="formModal__email" class="form-label form-label__email  formModal-label__email">Ваш email:</label>
    24.         <input id="formModal__email" type="email" name="email" class="form-input form-input__email formModal-input__email" placeholder="E-mail" required>
    25.       </div>
    26.       <!-- /.form-box__email -->
    27.  
    28.       <div class="form-box form-box__phone formModal-form-box__phone">    
    29.         <label for="formModal__phone" class="form-label form-label__phone  formModal-label__phone">Ваш телефон:</label>
    30.         <input id="formModal__phone" type="tel" name="phone" class="form-input form-input__phone formModal-input__phone" placeholder="+ 3 (806) 712-34-567" >
    31.       </div>
    32.       <!-- /.form-box__phone -->
    33.  
    34.       <div class="form-box form-box__button formModal-form-box__button">
    35.  
    36.         <button type="submit" class="button form-button " >оставить заявку</button>
    37.       </div>
    38.       <!-- /.form-box__button -->
    39.  
    40.     </form>
    41.   </div>
    42. </body>
    43. </html>
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4.   <meta charset="UTF-8">
    5.   <title>Отправка формы в амосрм</title>
    6.   <link rel="stylesheet" href="css/head.css">
    7.   <link href="css/style.css" rel="stylesheet">
    8. </head>
    9. <body>
    10.   <div class="wrapper">
    11.     <form id="index-formModalDownload" action="send-contact.php" method="POST" class="form formModal-form">
    12.  
    13.       <h3 class="form-title formModal-form__title">ОСТАВЬТЕ ЗАЯВКУ</h3>
    14.       <p class="form-text formModal-form__text">И мы свяжемся с вами</p>
    15.  
    16.       <div class="form-box form-box__name formModal-form-box__name">
    17.         <label for="formModal__name" class="form-label form-label__name formModal-label__name">Ваше имя:</label>
    18.         <input id="formModal__name" type="text" name="name" class="form-input form-input__name formModal-input__name" placeholder="Имя" required>
    19.       </div>
    20.       <!-- /.form-box__name -->
    21.  
    22.       <div class="form-box form-box__email formModal-form-box__email">
    23.         <label for="formModal__email" class="form-label form-label__email  formModal-label__email">Ваш email:</label>
    24.         <input id="formModal__email" type="email" name="email" class="form-input form-input__email formModal-input__email" placeholder="E-mail" required>
    25.       </div>
    26.       <!-- /.form-box__email -->
    27.  
    28.       <div class="form-box form-box__phone formModal-form-box__phone">    
    29.         <label for="formModal__phone" class="form-label form-label__phone  formModal-label__phone">Ваш телефон:</label>
    30.         <input id="formModal__phone" type="tel" name="phone" class="form-input form-input__phone formModal-input__phone" placeholder="+ 3 (806) 712-34-567" >
    31.       </div>
    32.       <!-- /.form-box__phone -->
    33.  
    34.       <div class="form-box form-box__button formModal-form-box__button">
    35.         <input type="hidden" name="utm_source" value="<?php echo $_GET['utm_source']?>">
    36.         <input type="hidden" name="utm_medium" value="<?php echo $_GET['utm_medium']?>">
    37.         <input type="hidden" name="utm_campaign" value="<?php echo $_GET['utm_campaign']?>">
    38.         <input type="hidden" name="utm_content" value="<?php echo $_GET['utm_content']?>">
    39.         <input type="hidden" name="utm_term" value="<?php echo $_GET['utm_term']?>">
    40.         <button type="submit" class="button form-button " >оставить заявку</button>
    41.       </div>
    42.        /.form-box__button
    43.  
    44.     </form>
    45.   </div>
    46. </body>
    47. </html>
     
  4. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    как подключить апи?
     
  5. twim32

    twim32 Активный пользователь

    С нами с:
    29 мар 2017
    Сообщения:
    275
    Симпатии:
    58
  6. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    это смотрел
     
  7. twim32

    twim32 Активный пользователь

    С нами с:
    29 мар 2017
    Сообщения:
    275
    Симпатии:
    58
  8. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    я читал
     
  9. twim32

    twim32 Активный пользователь

    С нами с:
    29 мар 2017
    Сообщения:
    275
    Симпатии:
    58
    Если вы не задаёте никаких вопросов (что не получается, какие ошибки, что не понятно), то ничем вам помочь не смогу.
     
  10. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    не получается сделать тестовое
     
  11. twim32

    twim32 Активный пользователь

    С нами с:
    29 мар 2017
    Сообщения:
    275
    Симпатии:
    58
    бывает...
     
  12. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28