Webhook forwarding number to unikalne narzędzie, które umożliwia Ringostat PBX otrzymanie numeru telefonu lub loginu SIP, na który połączenie zostanie przekierowane w odpowiedzi na żądanie http(s).
Ta funkcja pozwala na otrzymanie kierunku przekierowania z zewnętrznego źródła w zależności od parametrów połączenia przychodzącego. Parametry te mogą być odbierane jako ustawienia hook-a w nagłówkach HTTP, w formacie JSON lub przy użyciu protokołu JSON-RPC. Odpowiedź musi zawierać kierunek (numer w formacie międzynarodowym/SIP) w treści odpowiedzi HTTP lub w określonym identyfikatorze formatu JSON.
WebHooks to uproszczony wariant zdarzeń REST i poleceń REST, który nie wymaga pisania programu. Jednak mimo to, praca z REST nie jest prostym zadaniem i wymaga solidnych kwalifikacji od programisty. |
Ustawienia Webhook forwarding number
Przejdź do sekcji Virtual PBX - Webhook forwarding w swoim koncie i kliknij Add webhook forwarding number. Wprowadź nazwę Webhook number.
Aby skonfigurować Webhook forwarding number, kliknij przycisk Edit.
Opis pól ustawień:
Company name - nazwa żądania Webhook
URL - adres procesora, na który zostanie wysłane żądanie. Standardowe porty to 80 dla HTTP i 443 dla HTTPS. Aby ustawić Webhook na URL z określonym portem, można przekazać URL w postaci: http://11.111.111.11:80
HTTP request method:
GET - żądanie z parametrami przesyłanymi w linii adresu (URL żądania);
POST - żądanie z parametrami przesyłanymi w treści żądania;
PUT - żądanie modyfikacji zasobu o określonym ID;
DELETE - żądanie usunięcia zasobu o określonym ID;
Data submission type - format, w którym będzie przesyłane żądanie.
http - przesyłanie parametrów w linii adresu (URL żądania)
json - przesyłanie parametrów w formacie obiektu (klucz/wartość) w treści żądania;
json-rpc - aprotokół zdalnego wywoływania procedur wykorzystujący JSON do kodowania wiadomości;
Data import type - format, w którym będzie odbierane żądanie.
http - przesyłanie parametrów w linii adresu (URL żądania)
json - przesyłanie parametrów w formacie obiektu (klucz/wartość) w treści żądania;
json-rpc - protokół zdalnego wywoływania procedur wykorzystujący JSON do kodowania wiadomości;
Name in response for destination (for JSON) - parametr, w którym zostanie zwrócony kierunek przekierowania:
jeśli w odpowiedzi na żądanie zostanie wysłany numer telefonu, zalecamy wpisanie tutaj dst_phone lub dst_callee
jeśli w odpowiedzi na żądanie zostanie wysłany identyfikator schematu przekierowania, należy wpisać tutaj parametr schema
Json-rpc method - nazwa metody (funkcji), która ma zostać wywołana.
Timeout in seconds - limit czasu na przekierowanie połączenia do zwróconego kierunku.
Sposoby konfiguracji Webhook forwarding
Sposoby konfiguracji Webhook forwarding
Połączenie może zostać przekierowane za pomocą Webhook do:
numeru telefonu / konta SIP
schematu przekierowania połączeń ustawionego w projekcie
Webhook forwarding do numeru(-ów) telefonu lub kont SIP
Przykład konfiguracji:
URL: adres procesora
HTTP request method: GET
Data submission type: http lub json
Data import type: domyślnie json
Name in response for destination (for JSON): użyj nazw dst_phone lub dst_callee, aby zwrócić parametry
Parametr ten jest zwracany w formacie json w odpowiedzi na żądanie http i powinien zawierać kierunek (numer w formacie międzynarodowym lub SIP URI potrzebnego konta SIP).
Przykład numeru przekierowania w formacie międzynarodowym:
380XXXXXXXXX (12 cyfr) - Ukraina
7XXXXXXXXXX (11 cyfr) - Kazachstan
Przykład zwracanego SIP URI: supportringostat_example
Połączenie głosowe można również przekierować jednocześnie do kilku numerów telefonów lub kont SIP. Aby to było możliwe, należy podać listę numerów oddzielonych przecinkami.
Przykład z numerami telefonów: 380441111111,380441111112,380441111113
Pełna odpowiedź serwera w formacie json: { "dst_phone": "380441111111,380441111112,380441111113" }
Przykład z kontami SIP: sip_test1,sip_test2,sip_test3
Pełna odpowiedź serwera w formacie json:
{"dst_callee":"sip_test1,sip_test2,sip_test3"}
Przykład z kontami SIP i numerami telefonów: 380441111111,sip_test1,380441111113
Pełna odpowiedź serwera w formacie json:{"dst_callee":"380441111111,sip_test1,380441111113"}
Webhook forwarding do schematu przekierowania połączeń ustawionego w projekcie
Przykład konfiguracji:
URL: adres procesora
HTTP request method: GET
Data submission type: http lub json
Data import type: domyślnie json
Name in response for destination (for JSON): jeśli w odpowiedzi na żądanie zostanie wysłany identyfikator schematu przekierowania, należy wpisać tutaj parametr schema
Parametr ten powinien być zwracany w formacie json w odpowiedzi na żądanie http i zawierać identyfikator schematu przekierowania połączeń.
Aby sprawdzić identyfikator schematu przekierowania połączeń, przejdź do Virtual PBX -> Call forwarding w swoim koncie i kliknij przycisk Edit call forwarding scheme.
Konfiguracja parametrów Webhook
Konfiguracja parametrów Webhook
Do ustawień Webhook number można dodać pewne parametry. Zostaną one przetworzone w celu zwrócenia właściwego kierunku przekierowania połączeń w zależności od danych wejściowych. To ustawienie jest przydatne na przykład wtedy, gdy konieczne jest skonfigurowanie przekierowania połączeń do różnych menedżerów/działów.
Parametry można wybrać z poniższej listy lub nawet utworzyć niestandardowy parametr śledzony na stronie internetowej przy użyciu encji śledzenia (np. miasto, strona witryny itp.)
Aby dodać parametry, wybierz wartość i podaj nazwę parametrów, które mają zostać przesłane.
W tym pliku można znaleźć wszystkie parametry, które mogą zostać wysłane.
Przykład wysyłania parametrów:
{
"caller":"380441112233",
"callee":"380442223344",
"date":"2018-08-13 11:11:11",
"type":"in",
"callnum":"1",
"source":"ringostat",
"medium":"support",
"campaign":"webhook_number",
"term":"test",
"content":"simple_webhook_number_test",
"record":"3333333333.3333333",
"useruuid":"1479099944.1534841744",
"userip":"10.10.10.10",
"callroute":"webhookNumber:90",
"uniquefirst":"1",
"lastpage":"ringostat.com/?utm_source=ringostat&utm_medium=support&utm_campaign=hook_number&utm_term=test",
"landing":"ringostat.com/?utm_source=ringostat&utm_medium=support&utm_campaign=hook_number&utm_term=test",
"replacetype":"dynamic",
"gaid":"UA-11111111-1",
"fullnum":"+380441112233",
"ivrnum":"3",
"callid":"3333333333.3333333",
"custom":"http://ringostat.com/?utm_source=ringostat&utm_med...
"roistat":"17541"
"employee_fio":"Иван Иванов"
"department":"Отдел продаж"
"proper_flag":"1"
"repeated_flag":"0"
"staffid":"1111"
"outbound_number":"380671234567"
"useragent":“Mozilla/5.0 (Linux; Android 8.0.0; LND-L29 Build/HONORLND-L29; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.45 Mobile Safari/537.36”,
"project_id": “0000”,
"add_num_id":“102"
"E164":"+380561234567",
"agent_id":"1111"
"recording_wav":"https://app.ringostat.com/recordings/ua8_-11111111111.1111111.wav?token=462908f128343fc23862397ddd638953"
}Są to parametry, które otrzyma Twój procesor.
Konfiguracja schematu przekierowania połączeń z Webhook number
Aby dodać Webhook forwarding number do schematu przekierowania połączeń, przejdź do Virtual PBX - Call forwarding w swoim koncie i kliknij Create new call forwarding scheme.
Następnie należy:
Nadać nazwę schematowi przekierowania połączeń
Wybrać Webhook forwarding number jako Call forwarding location
Wybrać wcześniej utworzony Webhook number z listy rozwijanej
Dodać inne ustawienia do schematu przekierowania połączeń (inne lokalizacje, godziny pracy, powitanie, dźwięk w tle). Więcej szczegółów na temat tworzenia schematu przekierowania połączeń znajdziesz w naszym artykule tutaj.
Przykład przetwarzania Webhook number
Przykład przetwarzania Webhook number
Identyfikator schematu można otrzymać nawet bez podawania jego nazwy w parametrze – w takim przypadku, jeśli dane wejściowe nie zwrócą numeru, parametr schema zwróci identyfikator schematu przekierowania.
Uwaga! To tylko przykład.
Przykład procesora PHP sprawdzającego parametr typu Insertion type:
Jeśli wartość to „Dynamic", w odpowiedzi zostanie wysłany numer telefonu (nazwa parametru jest określona w linii Forwarding number
Jeśli wartość jest inna, w odpowiedzi zostanie wysłany identyfikator schematu przekierowania (nazwa parametru nie musi być określona w linii Forwarding number)
<?php
$insertion_type = !empty($_GET['insertionType']) ? $_GET['insertionType']: '';
if($insertion_type === 'dynamic') {
echo '{"dst_phone":380443334455}';
}
else {
echo '{"schema":26076}';
}
?>
Zalecamy dodatkowo używać metody API eksportu danych pracowników projektu podczas konfiguracji numeru webhook. Ta metoda API pozwoli uzyskać wszystkie dostępne kierunki pracowników do dalszego przekierowania połączenia.








