KingComp – веб-программист
График работы: 9:00 - 18:00 Пн - Пт
Интеграция Zoho CRM на сайте через API

Помню в 2014 году передо мной стояла задача интеграции Zoho CRM на сайте через API. Дело вроде обычное, но хуже реализации API я еще не видел. У меня за 2 года работы возникло много претензий в отношении этой системы. Но бизнес-процессы были уже построены и сменить их не так просто.

Пожалуй начну с минусов API на Zoho CRM:

  • нет динамических полей телефона и Email’а клиента;
    Так, чтобы в поиске участвовали сразу все номера и электронные ящики, а не каждый по отдельности. Надо бы им пример брать с Мегаплана и RetailCRM.
  • неудобный формат json-ответа;
    Вот пример ответа:
    Было бы гораздо приятнее работать в таком формате:
  • возвращает данные «рандомно»;
    К примеру, вы написали скрипт, который возвращает поля «имя», «телефон», «email». А позже решили добавить еще одно поле «ответственный менеджер». В этом случае порядок выдачи может измениться и придется в скрипте вручную их поправлять. Это происходит по причине некорректного вывода информации (см. предыдущий пункт), т.е. отсутствует возможность прямого обращения к необходимой информации.
  • не умеет работать с некоторыми спецсимволами;
    Например, если при добавлении информации в строке встретится символ & или <, то ничего в систему не добавится. Исходя из этого придется в скрипт добавлять дополнительные условия проверки входных данных.
  • параметр «criteria» ограничен 5 параметрами;
    Сложные запросы уже нет возможности создать.
  • неверно обрабатывает информацию при ее добавлении в короткий промежуток времени;
    Допустим клиент отправил форму (скрипт -> CRM). И решил написать еще один вопрос с тем же телефоном и Email. Первая информация добавится в CRM, но API ее может не увидеть при повторной заявке и, соответственно, скрипт не найдет контакт. Таким образом добавит новый контакт с тем же телефоном и Email. В этом случае придется их объединить вручную средствами CRM.
  • нет API для телефонии.

Это все что вспомнил по части API. Работа в самой CRM тоже вызывает претензии:

  • периодически CRM медленно работает, либо вообще недоступен;
    Такое ощущение, что их часто ddos’ят (как-то их саппорт в этом признавался).
  • разные часовые пояса;
    Разница во времени иногда отражается на скорости обработки заявок в техподдержку. Задаешь вопрос в свой рабочий день, отвечают ночью. Видишь ответ только на следующее утро, когда садишься за работу.
  • отсутствует IMAP.
    Правда сейчас они сделали beta-версию, но она невероятно сырая. Отправленное письмо из карточки клиента не подцепилось в папке «Отправленные».

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

На одном из наших проектов, где была интеграция Zoho CRM на сайте через API, скрипт содержал более 500 строк кода. Это разного рода проверки, антиспам, работа со счетами, выставление задач, примечания, обработка нескольких телефонных номеров и Email и т.д. Такой пример здесь не выложишь, поэтому я его сократил до минимума. Главное понять сам принцип, а дальше дело техники…

Функция curlZAPIReq() отвечает за добавление, обновление и поиск Контакта из CRM.

  1. Здесь все довольно просто: сначала получаем переменные отправленные нашей формой с сайта (Имя, Телефон, Email).
  2. Ищем контакт в CRM по совпадению телефона и/или Email: ‘(Mobile:’.$cphone.’)OR(Email:’.$cemail.’)’. Замечу, что номера 84950000000 и +74950000000 будут считаться разными. Это я отметил потому, что в некоторых CRM они считаются равными.
  3. Далее смотрим ID найденного контакта. Если он есть, значит нашли — обновляем данные контакта, в противном случае создадим новый.
    Здесь обратите внимание на строки:
    В зависимости от того клиент не найден, или найден 1 контакт, или может их 2 и более, формат ответа будет различаться. Поэтому и проверки сделаны на все случаи.

Это был простой пример PHP-скрипта по интеграции Zoho CRM на сайт через API.

Мы перепробовали все популярные CRM. С некоторыми из них работаем параллельно в разных проектах. Могу точно сказать, что ни одна CRM на сегодняшний день не идеальна. В каждом из них есть свои клевые качества, так и минусы. Zoho хороший и мощный продукт. Узнать решает ваши задачи или нет, можно только проработав некоторое время. У каждого из нас свои потребности и покрыть их сделав универсальную систему просто невозможно.

Если все таки решили интегрировать свой сайт с Zoho CRM через API достаточно Оставить заявку