API for free CRM

API for free CRM

Less than a year ago, we launched a free CRM system integrated with a free PBX. During this time, 14,000 companies and 64,000 employees have used it.
We now offer an open API interface, which provides access to most of ZCRM's features. The API allows the CRM to be used for any sales channel.
Below we briefly describe working with the API and the available functionality. A simple yet useful working example is provided: a script for creating a lead from a form on a website.

About the free CRM

We'll refrain from explaining what a CRM is. Free CRM Zadarma supports all standard features for storing customer data. Information is saved in the client feed. Additionally, besides client information, there is a convenient task manager with various display options (calendar, kanban, list). All of this is available for over 50 employees and is fully integrated with telephony (including browser calls via WebRTC technology).
API for free CRM
What does free mean? There is not a single tariff or service in ZCRM that requires payment. The only things you need to pay for are phone calls and numbers (at special rates, for example, the subscription for a Moscow number is 95 rubles or 1 euro for London). And if there are almost no calls? Then you hardly need to pay anything.
The free CRM remains active as long as the free Zadarma PBX is active. After registering, the PBX is active for 2 weeks, thereafter, you need to top up the account with any amount once every 3 months. It’s hard to imagine an office that needs a CRM and a PBX, but does not need any number or calls at all.

Why is API needed for a free CRM

The development of ZCRM never stops for a minute; many large and small features have appeared. However, we understand that to present a truly functional system and not just a smart notebook, it is not enough to just integrate with telephony.
The more contacts with the client, the better, and the contacts can be very diverse. Thanks to the API, it is easy to automatically enter (or conversely retrieve) information about the client/lead and tasks. This opens the possibility to connect any communication channels with clients and any other automation systems.
Med API-en kan gratis ZCRM anvendes på enhver måde, enten helt eller delvist. For eksempel som et praktisk interface til arbejde med den virksomhedsmæssige kundedatabase eller som en simpel og brugervenlig planlægger.
Her er et eksempel på en sådan kanal — tilslutning af CRM leadform til hjemmesiden. Senere vil vi præsentere andre eksempler, som f.eks. oprettelse af en opgave til at ringe tilbage til kunden (udskudt opkald).

De primære metoder i ZCRM API

Da der er 37 metoder tilgængelige i ZCRM API, vil vi undlade at beskrive dem alle, men i stedet kun beskrive de vigtigste grupper med eksempler.
En fuld liste med eksempler er tilgængelig på hjemmesiden i beskrivelsen af API CRM.

Det er muligt at arbejde med følgende metodgrupper:

  • Kunder (generel liste, individuelle forespørgsler, redigering, sletning)
  • Tags og yderligere egenskaber for kunder
  • Kundefeed (visning, redigering, sletning af poster i kunde-feeds)
  • Kundeansatte (da kunden typisk er en juridisk person, kan de have mange ansatte)
  • Opgaver (hele funktionaliteten til at arbejde med opgaver)
  • Leads (svarende til alle funktioner)
  • CRM-brugere (visning af brugerliste, deres rettigheder, indstillinger, kontakter og arbejdstimer)
  • Opkald (returnerer en liste over opkald)

Da den eksisterende struktur af API Zadarma bruges, er der allerede biblioteker tilgængelige på Github i PHP, C#, Python.

Eksempel på brug af API

Det enkleste og samtidig nyttige eksempel er oprettelse af et lead fra en formular. For at minimere koden indeholder dette eksempel kun de grundlæggende oplysninger om leadet. Et lignende eksempel, men med kommentarer fra kunden (som normalt er til stede i hver formular), er tilgængeligt i bloggen på hjemmesiden. Eksemplerne på scriptet er skrevet i PHP. uden frameworks og derfor let kan integreres.
Eksempel på HTML-formular til oprettelse af et lead:

<form method="POST" action="/no/zcrm_leads/" data-trp-original-action="/zcrm_leads">
   <label for="name">Navn:</label>
   <br>
   <input type="text" id="name" name="name" value="">
   <br>
   <label for="phone">Telefon:</label><br>
   <input type="text" id="phone" name="phones[0][phone]" value="">
   <br>
   <label for="phone">E-post:</label><br>
   <input type="text" id="email" name="contacts[0][value]" value="">
   <br>
   <br>
   <input type="submit" value="Send">
<input type="hidden" name="trp-form-language" value="no"/></form>

Denne formular er ekstremt enkel for ikke at overbelaste artiklen. Den har hverken design, CAPTCHA eller kommentarfelt. En version med et kommentarfelt (kommentaren tilføjes til kunde-feedet efter oprettelse af leadet) er tilgængelig i vores blog.

Og selve PHP-eksemplet til oprettelse af et lead med data fra formularen:

$postData];
   $params['lead']['lead_source'] = 'form';

   $leadData = makePostRequest('\/v1\/zcrm\/leads', $params);
   var_dump($leadData);
}
exit();

function makePostRequest($method, $params)
{
   \/\/ bytt userKey og secret med dine fra din personlige konto
   $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);
   }
}

\/\*\n* @param array $params\n* @return string\n*\/\nfunction makeParamsStr($params)
{
   return http_build_query($params, null, '&', PHP_QUERY_RFC1738);
}

\/\*\n* @param string $paramsStr\n* @param string $method\n* @param string $secret\n*\n* @return string\n*\/\nfunction makeSign($paramsStr, $method, $secret)
{
   return base64_encode(\
       hash_hmac(\
           'sha1',\
           $method . $paramsStr . md5($paramsStr),\
           $secret\
       )\
   );
}

Som du ser, er det ganske enkelt å jobbe med API-en, og det finnes også eksempler på arbeid i PHP., C#, Python. Dermed kan man enkelt integrere et enkelt gratis CRM-system i hvilken som helst arbeidsflyt og oppnå automatisering uten store kostnader.
ZCRM utvikler seg kontinuerlig, og nesten alle nye funksjoner vil også være tilgjengelige gjennom API-en.
Vi inviterer deg også til å integrere dine eksisterende systemer med den gratis CRM-en og Asterisk-systemet fra Zadarma.

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster