Po co używać webhooków?
Webhooki sprawiają, że wyniki trafiają do Ciebie, zamiast tego, żebyś wielokrotnie o nie pytał. Zamiast odpytywać endpoint GET aż do zakończenia wyszukiwania, Enrow wysyła każdy wynik na Twój serwer w momencie, gdy jest gotowy — oszczędzając żądania, zmniejszając opóźnienia i utrzymując prostotę kodu. Przestań marnować żądania — pozwól, aby wyniki same do Ciebie trafiały. Ponieważ każdy endpoint Enrow jest asynchroniczny, webhooki są zalecanym sposobem otrzymywania wyników w Email Finder, Email Verifier oraz Phone Finder. Webhooki całkowicie omijają również limity szybkości, ponieważ to Enrow wywołuje Ciebie, a nie odwrotnie.Jak przebiega proces webhooka?
Proces webhooka zamienia pojedyncze żądanie wyszukiwania w automatyczne dostarczenie. Mówisz Enrow, dokąd wysłać wyniki, a Enrow robi resztę:- Wysyłasz POST z żądaniem wyszukiwania z adresem URL
webhookwsettings - Enrow natychmiast zwraca ID wyszukiwania
- Enrow przetwarza wyszukiwanie w tle
- Po zakończeniu Enrow wysyła POST z wynikami na Twój adres URL webhooka
Jak skonfigurować webhooka?
Webhooka możesz zarejestrować na dwa sposoby, w zależności od tego, czy chcesz go dla jednego wyszukiwania, czy dla każdego:- Dla pojedynczego żądania: Dołącz adres URL
webhookw obiekciesettingsdowolnego wywołania API - Globalnie: Ustaw domyślny webhook na stronie API w panelu. Enrow sprawdza adres URL podczas jego zapisywania: zobacz Jak zweryfikować swój endpoint webhooka?
webhook, od endpointu zależy, co dzieje się z webhookiem domyślnym:
- Email Finder: Enrow powiadamia oba adresy URL (raz, jeśli są takie same)
- Phone Finder i Email Verifier: adres URL podany w żądaniu zastępuje adres domyślny
Jak zweryfikować swój endpoint webhooka?
Gdy zapisujesz nowy domyślny adres URL webhooka na stronie API, Enrow najpierw wysyła na niego jednorazowe żądanie weryfikacyjne, aby potwierdzić, że kontrolujesz ten endpoint. Adres URL zostaje zapisany tylko wtedy, gdy Twój endpoint poprawnie na nie odpowie. Enrow wysyła żądaniePOST z następującą treścią JSON:
2xx i odesłać tę samą wartość challenge, jako surową treść odpowiedzi albo w formacie JSON:
2xx, niezgodna wartość challenge, nieosiągalny adres URL albo adres prywatny lub wewnętrzny), a Twój obecny webhook pozostanie aktywny. Parametr webhook przekazany w settings żądania nie jest sprawdzany w ten sposób.
Które zdarzenia wyzwalają wywołanie webhooka?
Sześć typów zdarzeń może wyzwolić wywołanie webhooka, po jednym na każdy endpoint i typ wyszukiwania:Jak wygląda ładunek webhooka?
Ładunek webhooka zależy od endpointu oraz od tego, czy wyszukiwanie było pojedyncze, czy masowe. Pojedyncze wyszukiwania dostarczają pełny wynik bezpośrednio, natomiast masowe wyszukiwania dostarczają powiadomienie o zakończeniu, po którym wykonujesz żądanie GET.Email Finder — pojedynczy
W przypadku pojedynczych wyszukiwań otrzymujesz pełny wynik bezpośrednio w powiadomieniu webhook. Eliminuje to potrzebę wykonywania żądania GET.Wyszukiwanie na podstawie adresu URL profilu LinkedIn
W przypadku wyszukiwania uruchomionego na podstawie adresu URL profilu LinkedIn poleresult zawiera także linkedin_status i linkedin_url (wysłany przez Ciebie adres URL). Pole info jest dołączane tylko wtedy, gdy zostanie znaleziony adres e-mail: wyszukiwanie, które niczego nie znajdzie, nigdy nie ujawnia, kim jest dana osoba. credits.cost to koszt końcowy, tak jak credits_used w odpowiedzi GET, gdzie wyjaśniono również każdy linkedin_status.
Email Finder — masowy
W przypadku masowych wyszukiwań otrzymujesz powiadomienie o zakończeniu partii. Następnie wywołaj endpoint GET /email/find/bulk zid, aby pobrać wyniki.
Email Verifier — pojedynczy
Pełny wynik jest dołączony bezpośrednio — żądanie GET nie jest potrzebne.Email Verifier — masowy
To wyłącznie powiadomienie. Wywołaj GET /email/verify/bulk zid, aby pobrać wyniki.
Phone Finder — pojedynczy
Pełny wynik jest dołączony bezpośrednio — żądanie GET nie jest potrzebne.Phone Finder — masowy
To wyłącznie powiadomienie. Wywołaj GET /phone/bulk zid, aby pobrać wyniki.
Czym różnią się webhooki pojedyncze i masowe?
Webhooki pojedynczych wyszukiwań zawierają kompletny wynik, więc nie jest potrzebne dodatkowe wywołanie. Webhooki masowych wyszukiwań jedynie sygnalizują, że partia jest gotowa — następnie pobierasz wyniki za pomocą odpowiadającego endpointu GET.W przypadku pojedynczych wyszukiwań webhook zawiera wszystko, czego potrzebujesz. W przypadku masowych wyszukiwań webhook informuje, że partia jest gotowa — wtedy pobierasz wyniki.
Jakie są najlepsze praktyki dla endpointów webhooków?
Niezawodny endpoint webhooka odpowiada szybko, używa HTTPS i toleruje sporadyczne duplikaty. Stosuj te praktyki, aby dostarczanie było niezawodne:Szybko zwracaj 200
Szybko zwracaj 200
Przetwarzaj ładunki webhooków asynchronicznie. Zwróć
200 natychmiast, a następnie obsłuż dane w zadaniu działającym w tle.Używaj HTTPS
Używaj HTTPS
Używaj endpointu HTTPS, aby wyniki były przesyłane w formie zaszyfrowanej. Zwykłe adresy URL HTTP są akceptowane, ale niezalecane.
Obsługuj duplikaty
Obsługuj duplikaty
W rzadkich przypadkach webhooki mogą zostać dostarczone więcej niż raz. Użyj pola
id, aby usuwać duplikaty.Używaj pól niestandardowych
Używaj pól niestandardowych
Przekazuj dane Pole
custom w swoich żądaniach, aby zidentyfikować, do którego rekordu należy wynik webhooka:custom jest zwracane w ładunku webhooka bez zmian.Czy używać webhooków, czy odpytywania?
Używaj webhooków w produkcji, a odpytywania tylko do szybkiego prototypowania lub debugowania. Webhooki dostarczają wyniki w czasie rzeczywistym, nie zużywając Twojego limitu żądań, natomiast odpytywanie wykonuje powtarzające się wywołania GET, które wliczają się do Twoich limitów szybkości.Zalecamy webhooki do użytku produkcyjnego. Odpytywania używaj tylko do szybkiego prototypowania lub debugowania.
FAQ
Czy webhooki kosztują dodatkowe kredyty?
Czy webhooki kosztują dodatkowe kredyty?
Nie. Webhooki nie zużywają dodatkowych kredytów: płacisz tylko za samo wyszukiwanie. Ładunki Email Finder i Email Verifier podają koszt w kredytach w polu
credits.cost. To koszt końcowy po zwrotach: 0 dla pojedynczego wyszukiwania bez wyniku (0.25 dla wyszukiwania adresu e-mail na podstawie adresu URL profilu LinkedIn lub dla konta z nienormalnie niskim wskaźnikiem skuteczności), a dla wyszukiwania zbiorczego znalezione wiersze plus obciążone niepowodzenia. Ładunki Phone Finder nie zawierają kosztu. Zobacz Kredyty i rozliczenia, aby poznać koszty dla poszczególnych endpointów.Co się stanie, jeśli mój endpoint nie zwróci 200?
Co się stanie, jeśli mój endpoint nie zwróci 200?
Enrow wysyła każde powiadomienie jeden raz. Jeśli Twój serwer jest nieosiągalny lub odpowiada statusem innym niż
2xx, dostarczenie kończy się niepowodzeniem i nie jest ponawiane. Zawsze możesz pobrać wyniki, odpytując odpowiedni endpoint GET z id wyszukiwania.Jak dopasować webhooka do pierwotnego żądania?
Jak dopasować webhooka do pierwotnego żądania?
Użyj
id z odpowiedzi wyszukiwania albo przekaż obiekt custom w swoim żądaniu — jest on zwracany w ładunku webhooka bez zmian, dzięki czemu możesz przyporządkować wyniki do własnych rekordów, takich jak ID leada w CRM.Dlaczego nie otrzymałem webhooka?
Dlaczego nie otrzymałem webhooka?
Najczęstsze przyczyny to endpoint, który nie zwraca
2xx, serwer, który przekracza limit czasu, lub adres URL, który nie jest publicznie osiągalny. Nieudane dostarczenia nie są ponawiane: pobierz wynik za pomocą odpowiedniego endpointu GET i id wyszukiwania. Aby uzyskać szersze wskazówki dotyczące rozwiązywania problemów, zobacz Obsługa błędów oraz Kody statusu.Następne kroki
Znajdź adres e-mail
Przekaż adres URL webhooka w settings, aby wynik został dostarczony automatycznie.
Pobierz wyniki masowe
Pobierz wyniki partii po wyzwoleniu webhooka bulk_search_finished.
Uwierzytelnianie
Jak przekazać swój klucz API w nagłówku x-api-key.
Limity szybkości
Zobacz, dlaczego webhooki unikają limitu żądań zużywanego przez odpytywanie.

