Менше року тому ми представили безкоштовну систему CRM інтегровану з безкоштовною АТС. За цей час їй скористалися 14 000 компаній та 64 000 співробітників.
Зараз ми пропонуємо відкритий API інтерфейс, в якому є більшість функцій ZCRM. API дозволяє використовувати CRM для будь-яких каналів продажу.
Нижче коротко опишемо роботу з API та доступний функціонал. Також наведено простий, але корисний і робочий приклад: скрипт для створення ліда з форми на сайті.
Коротко про безкоштовну CRM
Утримаємося від пояснення, що таке CRM.
Що означає безкоштовна? Немає жодного тарифу чи послуги ZCRM, які потрібно платити. Єдине за що потрібно платити - це за телефонні дзвінки та номери (за спецтарифами, наприклад, абонплата за номер Москви 95 рублів або Лондон 1 євро). А якщо дзвінків майже немає? Те й платити майже не треба.
Безкоштовна CRM активна поки що активна безкоштовна АТС Zadarma. Після реєстрації АТС активна 2 тижні, надалі необхідно поповнювати рахунок на будь-яку суму 1 раз на 3 місяці. Важко уявити офіс, якому потрібна CRM та АТС, але взагалі не потрібний ні номер ні дзвінки.
Навіщо потрібний API для безкоштовної CRM
Розвиток ZCRM не припиняється ні на хвилину, з'явилося багато великих і невеликих функцій. Але ми розуміємо, щоб уявити справді функціональну систему, а не просто розумну записну книжку, недостатньо лише інтеграції з телефонією.
Чим більше контактів з клієнтом тим краще і контакти можуть бути різними. Завдяки API можна без проблем автоматично вносити (або навпаки отримати) інформацію про клієнта/лід та завдання. Завдяки цьому з'являється можливість підключити будь-які канали спілкування з клієнтами та будь-які інші системи автоматизації.
Завдяки API безкоштовну ZCRM можна використовувати будь-яким способом, як цілком, так і частково. Наприклад, як зручний інтерфейс для роботи з корпоративною базою клієнтів або простий зручний планувальник.
Нижче наведемо приклад такого каналу — підключення до CRM лід-форми на сайті. Пізніше на сайті наведемо інші приклади, наприклад створення завдання передзвонити клієнту (відкладений дзвінок).
Основні методи API ZCRM
Так як в API ZCRM доступно 37 методів, утримаємося від опису всіх, опишемо лише основні групи з прикладами.
Повний список з прикладами доступний на сайті
Можлива робота з такими групами методів:
- Клієнти (загальний список, окремі вибірки, редагування, видалення)
- Теги та додаткові властивості клієнтів
- Стрічка клієнта (перегляд, редагування, видалення записів у стрічках клієнтів)
- Співробітники клієнта (оскільки клієнт зазвичай юридична особа, у нього може бути чимало співробітників)
- Завдання (весь функціонал роботи з завданнями)
- Ліди (аналогічно всі функції)
- Користувачі СRM (відображення списку користувачів, їхні права, налаштування, контакти та робочі години)
- Дзвінки (повертає список дзвінків)
Так як використовується існуюча структура API Zadarma, для неї на Github доступні бібліотеки на PHP, C#, Python.
Приклад використання API
Найпростіший і при цьому корисний приклад – створення ліда із форми. Для мінімізації коду цей приклад містить лише основні дані ліда. Подібний приклад, але вже з коментарями від клієнта (зазвичай присутні у кожній формі) доступний
Приклад 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 досить проста, плюс є приклади роботи на
ZCRM постійно розвивається і практично всі нові функції будуть доступні в тому числі через API.
Також ми запрошуємо інтегрувати ваші існуючі системи системи з безкоштовними CRM та АТС Zadarma.
Джерело: habr.com