мгновенный обратный звонок для посадочных страниц

Мгновенный звонок с формы на сайте, в т.ч. для посадочных страниц

Сегодня мы разберем частный кейс – мгновенный обратный звонок с формы на сайте. Это может быть полезно лэндингам (посадочным страницам) с формами захвата. Самый типовой сценарий – пользователь вводит свой телефон в форму захвата, нажимает “отправить” и вместе с отправкой формы пользователю идет мгновенный звонок.

Звонок из формы

Чтобы совершить звонок (javascript) необходимо вызвать функцию

Параметры:

  1. phoneNumber – обязательный параметр. Все нецифры будут удалены из номера (например, +7(999)111-11-11 => 79991111111)
  2. deferred – является ли звонок отложенным. По умолчанию – false.
  3. startTime, endTime – актуальны для deferred=true. Интервал времени дня в минутах (0 – 1440) по времени UTC, в течение которого можно звонить. Возможно указание обратного интервала, например, 1420 – 20. По умолчанию – (0 – 1440)

Внимание!!! Интервал должен содержать не менее 10 минут рабочего времени (устанавливается в панели администратора)!!! Иначе звонок не гарантируется.

  1. day – актуален для deferred=true. День (0-6, пн-вс), когда будет совершен звонок. По умолчанию – любой день.
  2. histId – Необязателен. Системный параметр. Указывать false или undefined.
  3. onSuccessFunc – необязательна. Функция, которая будет вызвана в случае успешного завершения запроса на звонок к серверу (вызывается асинхронно).
  4. onFailFunc – необязательна. Функция, которая будет вызвана в случае неуспешного завершения запроса на звонок к серверу (вызывается асинхронно).

Возвращаемое значение:

Функция возвращает true, если запрос отправлен на сервер. Иначе (например, не прошла валидация телефона) – false.

Генерируемые события:

Вы можете получать информацию о статусе звонка, используя обработчики события F1callCallStatusChange. Т. е. для нас – F1callCallStatusChange. Установить обработчик можно с помощью нашего api:

При этом функция-обработчик yourFunction получает параметр event, а поле event.detail содержит поля status (внутренний код ошибки) и text (выводимое описание ошибки).

Запись информации о пользователе в систему

Вызывать функцию:

Параметры:

  1. name, email, phone- необязательные параметры. Имя пользователя, его email и телефон.
  2. otherJsonInfo – необязателен. JSON-сериализуемое значение с произвольным содержимым.
  3. onSuccessFunc – необязательна. Функция, которая будет вызвана в случае успешного завершения запроса к серверу на сохранение информации (вызывается асинхронно).
  4. onFailFunc – необязательна. Функция, которая будет вызвана в случае неуспешного завершения запроса к серверу на сохранение информации (вызывается асинхронно).

Форматированное поле телефона

Вы можете создать форматированное поле телефона, создав объект, от вашего текстового поля ввода:

У данного объекта есть следующие методы:

  1. Объект cursor – управление курсором внутри окна
    1. Метод get() – возвращает позицию курсора
    2. Метод set(position) – устанавливает курсор в позицию position
  2. Метод getElement() – возвращает DOM-элемент <input>
  3. getFormattedPhone() – возвращает форматированный по шаблону телефон (шаблон хранится в F1call.PHONE_MASK. По умолчанию – ‘+7(___)___-__-__’.
  4. getPhone() – возвращает телефон без символов формата (только цифры)
  5. setPhone(number) – Устанавливает телефон в форму. Телефон должен содержать только цифры, первая = 7.
  6. isReadyToCall() – проверяет, введен ли в форму телефон, по которому можно позвонить (включая проверку по черному списку, который получается с сервера).

Пример

Реализация примера – http://connect.beta.f1call.com/dev/formExample.