API для безкоштовної CRM

API для безкоштовної CRM

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

Коротко про безкоштовну CRM

Утримаємося від пояснення, що таке CRM. Безкоштовна CRM Zadarma підтримує всі стандартні функції зберігання даних клієнта. Інформація зберігається у стрічці клієнта. Також, крім інформації про клієнтів, доступний зручний постановник завдань з відображенням на будь-який смак (календар, канбан, список). Все це доступно для 50+ співробітників та повністю інтегровано з телефонією (у тому числі дзвінки з браузера за технологією WebRTC).
API для безкоштовної CRM
Що означає безкоштовна? Немає жодного тарифу чи послуги 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="/uk/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.

Джерело: habr.com

Додати коментар або відгук