Ознакомиться с понятийной базой amoCRM (по необходимости). Необходимо создать html страницу с формой и полями: имя, телефон (обязательное поле), email (обязательное поле). Отправку и валидацию данных форм осуществлять с помощью JS На сайтеhttps://www.amocrm.ru/ зарегистрировать тестовый аккаунт. (логин и пароль к тестовому аккаунту amocrm выслать на e-mail: ) Зарегистрировать три почтовых email аккаунта на произвольном email сервисе с произвольными контактными данными. Добавить троих пользователей (по ранее созданным почтовым аккаунтам) с полными правами (но не администраторов) в разделе Права и пользователи. Провести интеграцию формы с аккаунтом amoCRM (ссылка на api amoCRM). Результат интеграции В результате интеграции в CRM системе должны создаться: сделка (на этапе воронки “Первичный контакт” с названием “Заявка с сайта”). При создании сделки ей нужно установить ответственного, учитывая принцип распределения (см. ниже “Принцип работы распределения”). задача с типом “Перезвонить клиенту”, ответственный у задачи должен быть такой же как и у сделки, а срок выполнения задачи 1 день; контакт (см. “Создание контакта”). Также все данные с формы должны отправляться на почту администратора аккаунта amoCRM с темой письма "Заявка с сайта". Создание контакта В процессе интеграции нужно создавать новый контакт, если не найден существующий по входящим данным (email и телефон). Поиск существующих контактов в CRM системе нужно производить в 2 этапа: сначала по email, а потом по телефону. Если контакт не найден, то нужно создавать новую карточку контакта и крепить к нему созданную сделку. При этом контактные данные должны быть в карточке контакта. Если контакт был найден, то к данному контакту крепить “нашу” новую сделку. Принцип работы распределения Если был найден контакт, то ответственным по сделке ставится пользователь ответственный по контакту (даже если это администратор). Если же контакт не был найден, то ответственный выбирается по принципу равномерного распределения сделок между пользователями за текущие сутки (считаем все сделки за текущие сутки для каждого пользователя CRM и ставим ответственным того, у кого наименьшее количество сделок). Количество сделок за текущие сутки у которых один и тот же контакт считать как одна сделка. Администратор (владелец аккаунта) не участвует в распределении сделок от новых контактов. Рекомендация к выполнению задания Данный модуль интеграции необходимо писать на языке PHP с применением ООП. Код модуля должен быть с комментариями, аккуратно написан и читаемый. Модуль должен быть написан максимально универсально (модульно), чтобы можно было применить к любой форме данного типа. Для тестового задания не использовать сторонние библиотеки для работы с amoCRM. Выполненное задание необходимо развернуть локально и протестировать.
Код (Text): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Отправка формы в амосрм</title> <link rel="stylesheet" href="css/head.css"> <link href="css/style.css" rel="stylesheet"> </head> <body> <div class="wrapper"> <form id="index-formModalDownload" action="send-contact.php" method="POST" class="form formModal-form"> <h3 class="form-title formModal-form__title">ОСТАВЬТЕ ЗАЯВКУ</h3> <p class="form-text formModal-form__text">И мы свяжемся с вами</p> <div class="form-box form-box__name formModal-form-box__name"> <label for="formModal__name" class="form-label form-label__name formModal-label__name">Ваше имя:</label> <input id="formModal__name" type="text" name="name" class="form-input form-input__name formModal-input__name" placeholder="Имя" required> </div> <!-- /.form-box__name --> <div class="form-box form-box__email formModal-form-box__email"> <label for="formModal__email" class="form-label form-label__email formModal-label__email">Ваш email:</label> <input id="formModal__email" type="email" name="email" class="form-input form-input__email formModal-input__email" placeholder="E-mail" required> </div> <!-- /.form-box__email --> <div class="form-box form-box__phone formModal-form-box__phone"> <label for="formModal__phone" class="form-label form-label__phone formModal-label__phone">Ваш телефон:</label> <input id="formModal__phone" type="tel" name="phone" class="form-input form-input__phone formModal-input__phone" placeholder="+ 3 (806) 712-34-567" > </div> <!-- /.form-box__phone --> <div class="form-box form-box__button formModal-form-box__button"> <button type="submit" class="button form-button " >оставить заявку</button> </div> <!-- /.form-box__button --> </form> </div> </body> </html>
PHP: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Отправка формы в амосрм</title> <link rel="stylesheet" href="css/head.css"> <link href="css/style.css" rel="stylesheet"> </head> <body> <div class="wrapper"> <form id="index-formModalDownload" action="send-contact.php" method="POST" class="form formModal-form"> <h3 class="form-title formModal-form__title">ОСТАВЬТЕ ЗАЯВКУ</h3> <p class="form-text formModal-form__text">И мы свяжемся с вами</p> <div class="form-box form-box__name formModal-form-box__name"> <label for="formModal__name" class="form-label form-label__name formModal-label__name">Ваше имя:</label> <input id="formModal__name" type="text" name="name" class="form-input form-input__name formModal-input__name" placeholder="Имя" required> </div> <!-- /.form-box__name --> <div class="form-box form-box__email formModal-form-box__email"> <label for="formModal__email" class="form-label form-label__email formModal-label__email">Ваш email:</label> <input id="formModal__email" type="email" name="email" class="form-input form-input__email formModal-input__email" placeholder="E-mail" required> </div> <!-- /.form-box__email --> <div class="form-box form-box__phone formModal-form-box__phone"> <label for="formModal__phone" class="form-label form-label__phone formModal-label__phone">Ваш телефон:</label> <input id="formModal__phone" type="tel" name="phone" class="form-input form-input__phone formModal-input__phone" placeholder="+ 3 (806) 712-34-567" > </div> <!-- /.form-box__phone --> <div class="form-box form-box__button formModal-form-box__button"> <input type="hidden" name="utm_source" value="<?php echo $_GET['utm_source']?>"> <input type="hidden" name="utm_medium" value="<?php echo $_GET['utm_medium']?>"> <input type="hidden" name="utm_campaign" value="<?php echo $_GET['utm_campaign']?>"> <input type="hidden" name="utm_content" value="<?php echo $_GET['utm_content']?>"> <input type="hidden" name="utm_term" value="<?php echo $_GET['utm_term']?>"> <button type="submit" class="button form-button " >оставить заявку</button> </div> /.form-box__button </form> </div> </body> </html>
Не надо смотреть, надо читать. Там ссылка на пошаговый туториал : https://www.amocrm.ru/developers/content/oauth/step-by-step#easy_auth
Если вы не задаёте никаких вопросов (что не получается, какие ошибки, что не понятно), то ничем вам помочь не смогу.