Telephony Integration Tips

Użyj nowego interfejsu REST API telefonii do implementacji dowolnego scenariusza w świecie rzeczywistym

  • Rozmowa z klientem
    Pokaż formularz szczegółów połączenia przedstawicielowi handlowemu odpowiedzialnemu za tego klienta.
  • Kolejka przetwarzania połączeń
    Przetwarzaj połączenia przychodzące w sposób jednoczesny lub sekwencyjny.
  • Komunikacja grupowa
    Przekieruj połączenie do innego pracownika, który może pomóc.
  • Nagranie połączeń i raportów
    Zapisz nagranie połączenia do CRM i raportów standardowych.

Pełna integracja jest tylko w trzech krokach od Ciebie!

Dołożyliśmy wszelkich starań, aby integracja była tak prosta, jak to tylko możliwe.

  1. Tylko cztery metody REST
    Nowy interfejs API telefonii zawiera tylko cztery metody i jedno wydarzenie! Dostosujesz się w niecałe 15 minut!
  2. Zapomnij o OAuth!
    Używaj webhooków chronionych hasłem zamiast podstępnego uwierzytelniania OAuth.
  3. Zaimplementuj dowolny scenariusz
    Popraw implementację swojej telefonii i uczyń ją bardziej wyrafinowaną.

Jak połączyć połączenie przychodzące z Bitrix24?

Wspólna metoda integracji

  • Tylko jedna metoda API REST
    Utwórz webhook przychodzący do użycia za pomocą metody telephony.externalcall.register.
  • Wskazówki dla programistów
    Podczas tworzenia webhooku Bitrix24 zasugeruje wymagane parametry i wygeneruje gotowy URL do wywołania z systemu telefonicznego.
  • Utwórz nowego potencjalnego klienta
    Jeśli numer przychodzący nie istnieje w CRM, Bitrix24 utworzy lead i otworzy ID nowego leadu.
  • Wyszukaj CRM dla istniejących klientów
    Jeśli istnieje dopasowanie wśród potencjalnych klientów, kontaktów lub firm istniejących w CRM, system pokaże odpowiedni wynik.
<?php

$queryUrl = 'https://xxx.bitrix24.com/rest/1/yyyyxxx000111/telephony.externalcall.register.json';
$queryData = http_build_query(array(
'USER_ID' => 1,
'PHONE_NUMBER' => '555666777',
'TYPE' => 2,
'CALL_START_DATE' => '2016-16-11 10:10',
'CRM_CREATE' => true
));

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

$result = json_decode($result, 1);

Jak uspójnić kolejkę przetwarzania za pomocą Bitrix24?

Użyj dowolnej logiki kolejki!

  • Tylko dwie metody REST API
    Twórz przypływające webhook'y do użytku za pomocą metody telephony.externalcall.show i telephony.externalcall.hide.
  • Arbitralny algorytm przetwarzania kolejki
    Pokaż szczegóły połączeń do wymaganych osób jednocześnie lub zgodnie z kolejką, wywołując telephony.externalcall.show webhook; ukryj formularz szczegółów, gdy nie jest już potrzebny, używając telephony.externalcall.hide.
<?php

$queryUrl = 'https://xxx.bitrix24.com/rest/1/yyyyxxx000111/telephony.externalcall.hide.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.a2fc40b56aa869141cc6aa2d2a965ba6.1478527542', // from telephony.externalcall.register
'USER_ID' => 1 // hide the call details form from user 1's screen
));

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

$queryUrl = 'https://xxx.bitrix24.com/rest/1/yyyyxxx000111/telephony.externalcall.show.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.a2fc40b56aa869141cc6aa2d2a965ba6.1478527542', // from telephony.externalcall.register,
'USER_ID' => 6 // show the call details form to user 6
));

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

W jaki sposób użytkownik może dzwonić z Bitrix24?

Bezpośrednie połączenia z CRM!

  • Tylko jedna metoda REST API
    Utwórz webhook przychodzący dla zdarzenia OnExternalCallStart. 
  • Użytkownik inicjuje połączenie z Bitrix24
    Kiedy użytkownik kliknie numer telefonu klienta w Bitrix24, webhook przekaże numer telefonu wychodzącego do Twojej centrali PBX.
  • Wykonaj połączenie!
    Teraz wszystko, co musisz zrobić, to rozpocząć połączenie z centralą PBX!
specify your handler's URL in the outbound webhook preferences
https://your_server/your_webhook_script.php


handler code
<?php

/*

Bitrix24 passes $_REQUEST to the handler containing the following data:

array(
'PHONE_NUMBER' => '555666777', // number to dial
'USER_ID' => '1', // the ID of a user initiating the call
'CRM_ENTITY_TYPE' => 'LEAD', // type of a CRM object whose details form the user opened to make the call
'CRM_ENTITY_ID' => '248' // the ID of the respective CRM entity
)
*/

// register the outbound call
$queryUrl = 'https://xxx.bitrix24.com/rest/1/yyyyxxx000111/telephony.externalcall.register.json';
$queryData = http_build_query(array(
'USER_ID' => $_REQUEST['USER_ID'],
'PHONE_NUMBER' => $_REQUEST['USER_ID'],
'TYPE' => 1, // outbound call
'CALL_START_DATE' => '2016-16-11 10:10',
'CRM_CREATE' => false,
'CRM_ENTITY_TYPE' => $_REQUEST['CRM_ENTITY_TYPE'],
'CRM_ENTITY_ID' => $_REQUEST['CRM_ENTITY_ID']
));

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

$result = json_decode($result, 1);

Jak zapisać nagranie połączenia do Bitrix24?

Zobacz szczegóły i słuchaj nagrań rozmów bez opuszczania CRM!

  • Tylko jedna metoda REST API
    Dodaj wychodzący webhook do użycia z metodą telephony.externalcall.finish.
  • Dodaj nagranie
    Po zakończeniu połączenia, wywołaj webhook określając parametry połączenia: długość i status.
  • Zachowaj i słuchaj nagrań rozmów w Bitrix24
    Wyróżnij opłaty za połączenia, aby połączenia były wydajniejsze!
  • Standardowe raporty telefoniczne
    Wyróżnij opłaty za połączenia, aby połączenia były wydajniejsze!
<?php

$queryUrl = 'https://xxx.bitrix24.com/rest/1/yyyyxxx000111/telephony.externalcall.finish.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.733e885003cbac98d92b811806caeaea.1478528885', // from telephony.externalcall.register
'DURATION' => '120', // call length, seconds
'STATUS_CODE' => 200, // status: success
'RECORD_URL' => 'http://your_server/call_record.mp3', // save call recording from this URL
));

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));

$result = curl_exec($curl);
curl_close($curl);

$result = json_decode($result, 1);

Potrzebujesz czegoś poza możliwościami webhook?

Przeczytaj dokumentację i zobacz przykład lokalnej aplikacji.