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

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

Менш за год таму мы прадставілі бясплатную CRM сістэму інтэграваную з бясплатнай АТС. За гэты час ёй скарысталіся 14 кампаній і 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="/be/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#, Пітон. Такім чынам без асаблівых праблем можна ўпісаць простую бясплатную CRM у любы працоўны працэс, атрымаўшы аўтаматызацыю "малой крывёй".
ZCRM бесперапынна развіваецца і практычна ўсё новыя функцыі будуць даступныя у тым ліку праз API.
Таксама мы запрашаем інтэграваць вашыя існуючыя сістэмы сістэмы з бясплатнымі CRM і АТС Zadarma.

Крыніца: habr.com

Дадаць каментар