API для бесплатной CRM



    Меньше года назад мы представили бесплатную CRM систему интегрированную с бесплатной АТС. За это время ей воспользовались 14 000 компаний и 64 000 сотрудников.
    Сейчас мы предлагаем открытый API интерфейс, в котором доступно большинство функций ZCRM. API позволяет использовать CRM для любых каналов продаж.
    Ниже кратко опишем работу с API и доступный функционал. Также приведен простой но полезный и рабочий пример: скрипт для создания лида из формы на сайте.

    Кратко о бесплатной CRM


    Воздержимся от объяснения что такое CRM. Бесплатная CRM Zadarma поддерживает все стандартные функции хранения данных о клиенте. Информация сохраняется в ленте клиента. Также кроме информации о клиентах доступен удобный постановщик задач с отображением на любой вкус (календарь, канбан, список). Все это доступно для 50+ сотрудников и полностью интегрировано с телефонией (в том числе звонки из браузера по технологии WebRTC).

    Что значит бесплатная? Нет ни одного тарифа либо услуги ZCRM, за которые нужно платить. Единственное за что нужно платить — это за телефонные звонки и номера (по спецтарифам, например, абонплата за номер Москвы 95 рублей или Лондона 1 евро). А если звонков почти нет? То и платить почти не нужно.
    Бесплатная CRM активна пока активна бесплатная АТС Zadarma. После регистрации АТС активна 2 недели, в дальнейшем необходимо пополнять счет на любую сумму 1 раз в 3 месяца. Сложно представить офис, которому нужна CRM и АТС, но вообще не нужен ни номер ни звонки.

    Зачем нужен API для бесплатной CRM


    Развитие ZCRM не прекращается ни на минуту, появилось множество больших и маленьких функций. Но мы понимаем, чтобы представить действительно функциональную систему, а не просто умную записную книжку, недостаточно только интеграции с телефонией.
    Чем больше контактов с клиентом тем лучше и контакты могут быть самыми разными. Благодаря API можно без проблем автоматически вносить (либо наоборот получить) информацию о клиенте/лиде и задачах. Благодаря этому появляется возможность подключить любые каналы общения с клиентами и любые другие системы автоматизации.
    Благодаря API бесплатную ZCRM возможно использовать любым способом, как целиком так и частично. Например, как удобный интерфейс для работы с корпоративной базой клиентов, либо простой удобный планировщик.
    Ниже приведем пример подобного канала — подключение к CRM лид-формы на сайте. Позже на сайте приведем и другие примеры, например создание задачи перезвонить клиенту (отложенный звонок).

    Основные методы API ZCRM


    Так как в API ZCRM доступно 37 методов, воздержимся от описания всех, опишем лишь основные их группы с примерами.
    Полный список с примерами доступен на сайте в описании API CRM.

    Возможна работа со следующими группами методов:
    • Клиенты (общий список, отдельные выборки, редактирование, удаление)
    • Теги и дополнительные свойства клиентов
    • Лента клиента (просмотр, редактирование, удаление записей в лентах клиентов)
    • Сотрудники клиента (так как клиент как правило юридическое лицо, у него может быть не мало сотрудников)
    • Задачи (весь функционал по работе с задачами)
    • Лиды (аналогично все функции)
    • Пользователи СRM (отображение списка пользователей, их права, настройки, контакты и рабочие часы)
    • Звонки (возвращает список звонков)


    Так как используется существующая структура API Zadarma, для нее на Github уже доступны библиотеки на PHP, C#, Python.

    Пример использования API


    Самый простой и при этом полезный пример — создание лида из формы. Для минимизации кода этот пример содержит только основные данные лида. Подобный пример, но уже с комментариями от клиента (обычно присутствуют в каждой форме) доступен в блоге на сайте. Примеры скрипта написаны на PHP без фреймворков а потому легко встраиваются.
    Пример html формы для создания лида:

    <form method="POST" action="/zcrm_leads">
       <label for="name">Name:</label>
       <br>
       <input type="text" id="name" name="name" value="">
       <br>
       <label for="phone">Phone:</label><br>
       <input type="text" id="phone" name="phones[0][phone]" value="">
       <br>
       <label for="phone">Email:</label><br>
       <input type="text" id="email" name="contacts[0][value]" value="">
       <br>
       <br>
       <input type="submit" value="Submit">
    </form>
    


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

    И собственно PHP пример по созданию лида с данными из формы:

    <?php
    $postData = $_POST;
    if ($postData) {
       if (isset($postData['phones'], $postData['phones'][0], $postData['phones'][0]['phone'])) {
           $postData['phones'][0]['type'] = 'work';
       }
       if (isset($postData['contacts'], $postData['contacts'][0], $postData['contacts'][0]['value'])) {
           $postData['contacts'][0]['type'] = 'email_work';
       }
       $params = ['lead' => $postData];
       $params['lead']['lead_source'] = 'form';
    
       $leadData = makePostRequest('/v1/zcrm/leads', $params);
       var_dump($leadData);
    }
    exit();
    
    function makePostRequest($method, $params)
    {
       // замените userKey и secret на ваши из личного кабинета
       $userKey = '';
       $secret = '';
       $apiUrl = 'https://api.zadarma.com';
    
       ksort($params);
    
       $paramsStr = makeParamsStr($params);
       $sign = makeSign($paramsStr, $method, $secret);
    
       $curl = curl_init();
       curl_setopt($curl, CURLOPT_URL, $apiUrl . $method);
       curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
       curl_setopt($curl, CURLOPT_POST, true);
       curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
       curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
       curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
       curl_setopt($curl, CURLOPT_POSTFIELDS, $paramsStr);
       curl_setopt($curl, CURLOPT_HTTPHEADER, [
           'Authorization: ' . $userKey . ':' . $sign
       ]);
    
       $response = curl_exec($curl);
       $error = curl_error($curl);
    
       curl_close($curl);
    
       if ($error) {
           return null;
       } else {
           return json_decode($response, true);
       }
    }
    
    /**
    * @param array $params
    * @return string
    */
    function makeParamsStr($params)
    {
       return http_build_query($params, null, '&', PHP_QUERY_RFC1738);
    }
    
    /**
    * @param string $paramsStr
    * @param string $method
    * @param string $secret
    *
    * @return string
    */
    function makeSign($paramsStr, $method, $secret)
    {
       return base64_encode(
           hash_hmac(
               'sha1',
               $method . $paramsStr . md5($paramsStr),
               $secret
           )
       );
    }
    
    


    Как вы видите, работа с API достаточно проста, плюс присутствуют примеры работы на PHP, C#, Python. Таким образом без особых проблем можно вписать простую бесплатную CRM в любой рабочий процесс, получив автоматизацию «малой кровью».
    ZCRM непрерывно развивается и практически все новые функции будут доступны в том числе через API.
    Также мы приглашаем интегрировать ваши существующие системы системы с бесплатными CRM и АТС Zadarma.
    Zadarma
    Бесплатная облачная АТС, виртуальные номера, CRM

    Комментарии 2

      +1

      А могли бы вы в следующей мажорной версии (SDK PHP) сменить неймспейс с \Zadarma_API на \Zadarma\Api или там \ZadarmaAPI? А то глаз цепляется (

        0
        Спасибо за предложение, передам разработчикам.

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое