Importowanie leadow drogą API w wydaniu Bitrix24 self hosted
16 November 2018
NASTĘPNY ARTYKUŁLead – zbędne informacje czy nieoszlifowany klejnot?
Przestrzeń informacyjna za naszych czasów jest przesycona ofertami, które mogą konkurować z Twoim biznesem. Użytkownicy w Internecie również nie tworzą jednolitej grupy odbiorców: jedni celowo szukają właśnie Twojego produktu lub usługi, inni dopiero się rozglądają, kolejni w ogóle przeglądają różne strony, mimo że nie zamierzają niczego kupować. Oni wszyscy pasują na Twojego potencjalnego klienta, wystarczy trochę im w tym pomóc dokładając pewnego wysiłku.
Każdy ślad – numer telefonu, skrzynka e-mail, imię lub inne dane dotyczące potencjalnego klienta – się liczy. Często te szczegóły przyczyniają się do czegoś większego. Otóż, to jest LEAD – byt, który jest w stanie zamienić się w prawdziwego klienta. W ramach CRM Bitrix24 możesz skonwertować klienta na kontakt, firmę, a nawet deal!
Nie należy marnować czasu na tłumaczenie tego, że leady są ważnym ogniwem w zarządzaniu projektem. W tym artykule postaram się szczegółowo opisać metody i osobliwości importowania leadów do Bitrix24. Przede wszystkim to przyda się programistom, jednak jestem przekonany, że menedżerowie też wyciągną swoje korzyści ze znajomości tych metod, ich objętości i złożoności.
Największy ból
Bardzo często firmy „przeprowadzają się” z jednego CRM do innego. W Bitrix24 ta praktyka jest dobrze znana, ponieważ zakres funkcji i cena tego systemu ściąga do niego użytkowników innych CRM. Równie często firmy działają na kilku systemach jednocześnie, więc potrzebują świetnej synchronizacji danych. Tworzenie leadów w systemie Bitrix24 jest przewidziane na kilka sposobów:
-
Odręcznie;
-
Import danych z plików CSV;
-
Przez formy/formularze, ankiety, bezpośrednie połączenia telefoniczne lub maile.
W moim doświadczeniu prywatnym miała miejsce sytuacja, w której w firmie klienta wszystkie workflowy przebiegały równolegle w dwóch systemach. Bitrix24 był systemem nowym i do niego wprowadzało się wszystkich klientów ze starego systemu. Oczywiście, robienie tego od ręki byłoby rozwiązaniem niedorzecznym, a tak naprawdę to raczej niewykonalnym. Opcja zmiany metod przetwarzania leadów od razu w wybranym systemie CRM nie wchodził w rachubę. Zatrzymaliśmy się na importowaniu danych z pliku, jednak nie przez interface użytkownika, tylko z użyciem API.
Klient chciał, aby plik ładował się na serwer i regularnie ulegał przetwarzaniom krona, jednak ostatecznie żadna decyzja nie zapadła: warunki zmieniały się bardzo często, tym samym zmieniając metody przekazywania danych. Tylko idea pozostała bez zmian – napisać dodatek dla zapisywania informacji w Bitrix24
Indywidualne rozwiązanie
Dokumentacja dot. funkcji i metod pracy z leadami jest skąpa. Musiałem stawiać czoła całemu zadaniu mając pod ręką tylko standardowe opcje. Podstawowe czynności dotyczą klasy CCrmLead.
Można wykorzystać standardowe metody GetList, Update i Add. Zadanie: uzyskać dane źródłowe, sprawdzić nową bazę na obecność tych danych, dopiero po tym stworzyć nowy lead lub odświeżyć go (jeżeli już istnieje w systemie). Przed napisaniem kodu należy stworzyć w Bitrix24 wszystkie pola, które będą wypełniać się danymi z pól innego CRM.
Aby zaznaczyć w skrypcie dane dla utworzonych pól, trzeba posiadać ich identyfikatory. Zwróć uwagę na adres edytowania wybranego pola: “/crm/configs/fields/?mode=edit&entity_id=CRM_LEAD&field_id=UF_CRM_1519634296”. W nim widać field_id=UF_CRM_1519634296. Aby oznaczyć to pole jako „Hobby”, należy zaznaczyć je w masywie danych pod zaznaczonym kluczem.
Jeżeli ma się do czynienia z listą z 20 pól użytkowników, wyciąganie id z ich adresów jest opcją skrajnie niewygodną. Używając funkcji CCrmLead::GetUserFields($langID = false), można uzyskać masyw z wiadomościami o takich polach.
Jeżeli trzeba otrzymać listę pól domyślnych, można użyć CCrmLead::GetFields(). W celu utworzenia leada pole “TITLE” musi być obowiązkowym.
Być może będziesz potrzebował od razu ustawić status leada. Informacje o statusach uzyskasz dzięki funkcji CCrmLead::GetStatuses().
“Do walki!”(с)
Zaczynamy. Skrypt dodający leada o skrzynce “test@test.com” wygląda następująco:
$oLead = new CCrmLead(false); - аргумент показывает или нужно проверять права. $arFields=array( "TITLE"=>'Lead test', "EMAIL"=>'test@test.com', "STATUS_ID" => 'NEW', "UF_CRM_1519634296" => 'Fishing', "UF_CRM_1519635704" => 26, "PERMISSION" => 'IMPORT' ); $LEAD_ID=$oLead->Add($arFields, true, array('CURRENT_USER'=>1));
Jako że skrypt nie będzie uruchamiany w kronie, należy zaznaczyć użytkownika, z którym leady będą się łączyć. W tym przypadku nim jest administrator. Nie wolno zapomnieć też o atrybucie praw PERMISSION, który później umożliwi edycję danych leada.
Używamy metod:
Add(array &$arFields, $bUpdateSearch = true, $options = array()) Update($ID, array &$arFields, $bCompare = true, $bUpdateSearch = true, $options = array())
Wniosek
Bitrix24 posiada wszystkie narzędzia do pracy z klientami Twojej firmy. Nawet gdy pojawia się jakieś wyzwanie, które uniemożliwia automatyczne rozwiązanie, doświadczeni programiści potrafią sobie z tym radzić. Najlepszy scenariusz to wypracowanie nowej i skutecznej logiki konkretnie na potrzeby Twojej sytuacji.
Skontaktujemy się z Tobą w ciągu 10 minut