Przejdź do głównej zawartości

Webhook forwarding number

Napisane przez Vitalii Topor
Zaktualizowano dzisiaj

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ń:

  1. Company name - nazwa żądania Webhook

  2. 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

  3. 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;

  4. 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;

  5. 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;

  6. 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

  7. Json-rpc method - nazwa metody (funkcji), która ma zostać wywołana.

  8. Timeout in seconds - limit czasu na przekierowanie połączenia do zwróconego kierunku.

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

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:

  1. Nadać nazwę schematowi przekierowania połączeń

  2. Wybrać Webhook forwarding number jako Call forwarding location

  3. Wybrać wcześniej utworzony Webhook number z listy rozwijanej

  4. 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

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.

Czy to odpowiedziało na twoje pytanie?