- Strona główna
- /
- Artykuł
Webex Contact Center for salesforce Service Cloud Voice integruje niezawodne rozwiązanie CCaaS (Contact Center as a Service) firmy Cisco z mechanizmem CRM firmy Salesforce, umożliwiając firmom zarządzanie wielokanałowymi interakcjami z klientami (głosowymi, cyfrowymi) w interfejsie Salesforce, korzystając z Webex AI dla wirtualnych agentów, transkrypcji i inteligentnego routingu, przekształcając agentów w „superagentów” ze zunifikowanymi danymi w celu zapewnienia lepszej obsługi klienta.
Omówienie
Webex Contact Center dla usługi Salesforce Cloud Voice
Webex Contact Center for Service Cloud Voice to gotowe rozwiązanie integracyjne, które wprowadza moc Webex Contact Center do wielokanałowej konsoli agentów Salesforce Service Cloud Voice Service.
Przed przystąpieniem do instalacji zobacz następującą sekcję:
aby dowiedzieć się o wymaganiach wstępnych i ograniczeniach usługi Salesforce Service Cloud Voice i upewnić się, że Twoja organizacja Salesforce jest gotowa do włączenia i zainstalowania pakietu Webex Contact Center dla usługi Cloud Voice.
Wymagania wstępne i ograniczenia
Wymagania wstępne (podtemat)
Interfejsy użytkownika: Usługa głosowa w chmurze jest dostępna tylko w Salesforce Lightning Experience.
Usługa Cloud Voice jest dostępna w tych wydaniach.
- Przedsiębiorstwo
- Nieograniczony
- Dla programistów
Licencje
-
Oprócz licencji Flex 3 Standard lub Premium dla Webex Contact Center klienci muszą zakupić nową licencję dodatku A-SF-VOICE dla zalogowanego agenta. Więcej informacji można znaleźć w przewodniku zamawiania modelu Flex 3.
- Usługa głosowa Salesforce dla telefonii partnerów
Przed włączeniem funkcji Voice należy skonfigurować usługi wstępne w organizacji.
- Przejdź do opcji Informacje o firmie > Ustaw licencję uprawnienia
- Sprawdź użytkownika usług głosowych w chmurze (telefonia partnera).
Wszystkie wersje dla programistów są teraz dostarczane z 5 licencjami telefonii partnerów dostępnymi do testowania.
- Sprawdź użytkownika usług głosowych w chmurze (telefonia partnera).
- Można również zweryfikować to, przechodząc do konfiguracji Salesforce i wyszukując „głos” na lewym pasku bocznym.
- Jeśli zostanie wyświetlona opcja „Centra kontaktu telefonii partnerów”, masz licencję SCV.
- Jeśli opcja „Centra kontaktu telefonii partnerów” nie jest widoczna, należy „włączyć usługę głosową w chmurze”, wykonując poniższe czynności.
- Przejdź do konfiguracji i wyszukiwania usługi Salesforce, wybierz opcję „Konfiguracja telefonii partnera” i przełącz przycisk do „Włącz usługę głosową w chmurze”.
- Włącz kanał wielokanałowy, aby umożliwić agentom nawiązywanie i odbieranie połączeń.
- Przejdź do konfiguracji i wyszukiwania usługi Salesforce, wybierz opcję „Konfiguracja telefonii partnera” i przełącz przycisk do „Włącz usługę głosową w chmurze”.
Włącz wielokanałowy
Jeśli kanał wielokanałowy jest już włączony w organizacji, pomiń ten krok.
- W oknie Konfiguracja wprowadź Omni-Channel Settings w polu Szybkie wyszukiwanie, a następnie wybierz Omni-Channel Settings.


- Wybierz Enable Omni-Channel.
- Kliknij Save.
Ograniczenia
- Funkcja głosowa jest dostępna tylko w trybie Lightning Experience.
- Usługa głosowa jest obsługiwana w usługach Service Cloud i Sales Cloud jako licencja dodatku.
- Usługa głosowa nie jest obsługiwana w aplikacji Salesforce Mobile ani w usłudze iPad Safari.
- Połączenia głosowe są obsługiwane tylko w przeglądarkach internetowych Google Chrome, Microsoft Edge (Chromium) i Mozilla Firefox. Aby umożliwić jednokrotne logowanie (SSO), należy włączyć pliki cookie.
- Standardowa nawigacja nie jest obsługiwana.
- Telefonia jest w wysokim stopniu uregulowana, dlatego należy sprawdzić dostępność usług głosowych w danym regionie w firmie Salesforce.
Wymagania
Kody bezczynności
Znajdź wolne kody
| 1 |
Zaloguj się do portalu zarządzania. |
| 2 |
Nawigować do Contact Center > DESKTOP EXPERIENCE > Idle/Wrap-up Codes. |
| 3 |
Upewnij się, że wyświetlane są wolne kody. W przeciwnym razie kliknij przycisk rozwijanego filtru i wybierz Idle Code u góry strony. |
| 4 |
Kliknij wolny kod, aby otworzyć widok szczegółów. Tutaj znajdziesz identyfikator wolnego kodu.
Identyfikatory można kopiować, a następnie używać w konfiguracji mapowania stanu obecności 1}. Jeden z identyfikatorów musi być używany jako Domyślny powód niegotowy firmy Cisco. |
Integrować
Instalacja
Przed kontynuowaniem instalacji zobacz sekcję Wymagania wstępne i ograniczenia, aby dowiedzieć się więcej o wymaganiach wstępnych i ograniczeniach usługi Salesforce Service Cloud.
Zainstaluj i skonfiguruj Centrum kontaktowe Webex dla usługi Cloud Voice
Po uzyskaniu licencji Usługa głosowa w chmurze dla telefonii partnera w menu Konfiguracja telefonii partnera zostanie wyświetlona strona Konfiguracja telefonii partnera.
Więcej informacji można znaleźć w oficjalnym odwołaniu do Salesforce (łącze bezpośrednie).
| 1 |
W oknie Konfiguracja wprowadź
|
| 2 |
Włącz Turn on Voice with Partner Telephony. Plik Partner Telephony Contact Centers strona pojawi się w Setup menu.
Jeśli planujesz wdrożyć pakiet w piaskownicy Salesforce, zastąp go
|
Zainstaluj pakiet
Aby zainstalować pakiet:
| 1 |
Otwórz podane łącze pakietu, aby rozpocząć instalację. |
| 2 |
Zaloguj się do organizacji Salesforce, gdzie należy zainstalować pakiet. |
| 3 |
W kreatorze instalacji wybierz opcję zabezpieczeń "Zainstaluj tylko dla administratorów" (1) i kliknij przycisk Zainstaluj (2). Określ, którzy użytkownicy otrzymują określone uprawnienia do obiektów i komponentów dostarczane z pakietem Webex Contact Center for Service Cloud Voice. Ponadto udziel im tych uprawnień; zestawy uprawnień dołączone z pakietem Webex Contact Center for Service Cloud Voice pomagają w tym procesie. Kreator instalacji pakietu — wyświetlany jest ekran powitalny: Pakiet instalacyjny nie jest dostępny bezpośrednio za pośrednictwem aplikacji Salesforce AppExchange. Klienci muszą skorzystać z przycisku „Pobierz teraz” na liście AppExchange, który otwiera formularz kontaktowy z prośbą o łącze instalacyjne 1} i aktywację firmy Cisco. |
| 4 |
Przyznaj następujące zestawy uprawnień co najmniej jednemu użytkownikowi, aby móc utworzyć centrum kontaktu:
|
| 5 |
Kliknij opcję Konfiguracja | Użytkownicy | Użytkownicy. |
| 6 |
Wyszukaj i wybierz użytkownika. |
| 7 |
Przewiń w dół do pozycji „Uprawnienia do ustawiania przypisań”. |
| 8 |
Kliknij Edit Assignments |
| 9 |
Dla administratorów centrum kontaktu: przypisz ustawione uprawnienia administratora centrum kontaktu (telefonia partnera).
|
| 10 |
W przypadku agentów Contact Center: przypisz ustawione uprawnienia Agent Contact Center (telefonia partnera) i ustawione uprawnienia agenta Webex Contact Center SCV.
Nie zaleca się wybierania Install for All Users , ponieważ nadaje ona wszystkim użytkownikom, którzy korzystają z niestandardowego profilu użytkownika wszystkie uprawnienia (odczyt, tworzenie, edytowanie i usuwanie) dotyczące składników i obiektów pakietu. |
| 11 |
Przypisz licencję pakietu, aby użytkownicy mogli pracować z Connects dla usługi Cloud Voice.
|
| 12 |
Możesz również kliknąć opcję Konfiguracja | Użytkownicy | Użytkownicy.. |
| 13 |
Wyszukaj i wybierz użytkownika. |
| 14 |
Przewiń w dół do Managed Packages. |
| 15 |
Kliknij Assign Licenses. |
| 16 |
Wybierz Webex Contact Center for Service Cloud Voice pakietu z listy. |
| 17 |
Kliknij Add. |
| 18 |
Utwórz Status obecności, aby zdefiniować, które kanały usług są przypisane do różnych stanów. Agenci mogą logować się do Omni-Channel o różnych stanach w zależności od rodzaju pracy, do której są uprawnieni. |
| 19 |
W oknie Konfiguracja wprowadź
|
| 20 |
Kliknij New. Utwórz co najmniej jeden stan dla opcji „Online” i „Zajęty”.
|
Przypisywanie stanów obecności do agentów
| 1 |
W obszarze Konfiguracja wprowadź w polu szybkiego wyszukiwania zestawy uprawnień, a następnie wybierz pozycję Zestawy uprawnień. |
| 2 |
Kliknij, aby otworzyć Partner Telephony Permission Set. |
| 3 |
Kliknij Service Presence Statuses Access. |
| 4 |
Kliknij Edit. |
| 5 |
w Available Service Presences lista, wybierz poprzednio utworzone stany obecności i kliknij Add aby powiązać ich z ustawionym pozwoleniem. Agenci, którzy są przypisani do tego zestawu uprawnień, mogą logować się do kanału Omni przy użyciu dowolnego udostępnionego im stanu obecności. |
| 6 |
Kliknij Save. |
| 7 |
Kliknij Manage Assignments na tej samej stronie. Następnie kliknij Add Assignment w prawym górnym rogu wybierz żądanego użytkownika, kliknij Next, wybierz Expiration Option dla przypisanych użytkowników (opcjonalnie), a następnie kliknij Assign. Usługa Cloud Voice używa domeny zewnętrznej do współpracy z rekordem VoiceCall. Następujące adresy URL należy dodać do „Ustawień zdalnej witryny” w konfiguracji (kliknij tutaj, aby otworzyć oficjalną dokumentację):
Przykład: Jak znaleźć adres URL wystąpienia. |
| 8 |
Po zalogowaniu się sprawdź adres URL na pasku adresu w przeglądarce. Adres URL wystąpienia jest częścią wcześniejszą niż „.mój.salesforce.com”, „.salesforce.com” lub .” lightning.force.com”. Na przykład, jeśli Twoim adresem URL jest https://orgfarm-54a38e30ad-dev-ed.develop.my.salesforce-setup.com/, „orgfarm-54a38e30ad-dev-ed.develop” jest adresem URL wystąpienia. Przykład: Adres URL organizacji pochodzenia: https://cisco.lightning.force.com Przykład: Adres URL do dodania:
|
| 9 |
Aby agent mógł korzystać z usługi Cloud Voice, w aplikacji Lightning Service Console jest wymagany element narzędzia wielokanałowego.
Oficjalne odniesienie z Salesforce można znaleźć, klikając Let's Do This przycisk, który otwiera stronę Skonfiguruj środowisko agenta dla usługi Cloud Voice z telefonią partnera w portalu pomocy Salesforce (łącze bezpośrednie). |
| 10 |
W oknie Konfiguracja wprowadź Partner Telephony Setup w polu Szybkie wyszukiwanie, a następnie wybierz Partner Telephony Setup. |
| 11 |
Przewiń w dół do sekcji 5 More Voice Settings. |
| 12 |
Aby włączyć ochronę clickjacka dla stron Visualforce z wyłączonymi nagłówkami podczas pracy z telefonem programowym w Lightning Experience, musisz dodać domeny, z których telefon programowy i niestandardowe paski narzędzi są ładowane jako zaufane domeny, oprócz adresu URL wystąpienia Salesforce. Te ustawienia oraz listę zaufanych domen można znaleźć w obszarze Konfiguracja | Bezpieczeństwo | Ustawienia sesji. Aby pobrać prawidłową domenę Visualforce, przejdź do opcji Konfiguracja | Kod niestandardowy | Strony Visualforce i kliknij przycisk Podgląd dla:
Przykład: Moja nazwa domeny--cisco_wxcc_scv.vf.force.com Aby uzyskać domenę wystąpienia Salesforce, skopiuj adres URL wyświetlany na pasku adresu URL przeglądarki i dodaj go do Trusted Domains for Inline Frames List wybór listy Visualforce Pages jako typ IFrame. Przykład: MyDomainName.lightning.force.com
Jeśli w organizacji nie masz wdrożonej usługi Moja domena, format adresu URL jest inny. Jeśli masz wdrożoną usługę Moja domena, a domeny rozszerzone nie są włączone w organizacji, format adresu URL jest inny. Jeśli rozszerzone domeny nie są włączone, ustawienie Stabilizuj adresy URL w Visualforce, Konstruktorze doświadczeń, Site.com studio i plikach zawartości Moja domena ma również wpływ na ten format. Aby uzyskać szczegółowe informacje, zobacz Formaty adresu URL mojej domeny w pomocy Salesforce. Ustawienia ochrony klickjacka i zaufanych domen dla funkcji Lightning Experience
|
| 13 |
Aby wyświetlić elementy sterujące nagrywaniem podczas połączeń, agenci potrzebują
Aby go przypisać, dodaj je do zestawu uprawnień utworzonego w kroku Stany obecności.
|
Konfiguracja
Centrum kontaktu
Plik definicji centrum kontaktu określa zestaw pól i wartości, które są używane do definiowania centrum kontaktu w usłudze Salesforce dla określonego systemu CTI. Salesforce używa plików definicji centrum kontaktu do obsługi integracji z wieloma dostawcami systemów CTI.
Więcej informacji można znaleźć w oficjalnej dokumentacji Salesforce (bezpośrednie łącze).
Zaimportuj centrum kontaktu
Pobierz najnowszą wersję centrum kontaktu tutaj.
Uaktualnianie z wersji beta: W tym przewodniku opisano czystą instalację wersji General Availability (GA) integracji Webex Contact Center dla Salesforce Service Cloud Voice.
Jeśli uaktualniasz z wersji beta integracji, nie należy ponownie używać istniejącego rekordu centrum kontaktu partnera. Zamiast tego:
- Zaimportuj plik XML centrum kontaktu partnera dołączony do wydania GA.
- Utwórz nowy rekord centrum kontaktu partnera, korzystając z zaimportowanego kodu XML.
- Zaktualizuj swoją konfigurację, aby korzystać z nowo utworzonego centrum kontaktu partnera.
Kod XML centrum kontaktu partnera GA zawiera zaktualizowane wartości konfiguracji, w tym poprawny adres URL łącznika oraz inne metadane. Ponowne użycie rekordu centrum kontaktu partnera utworzonego z kodu XML wersji beta może zachować przestarzałe wartości konfiguracyjne i uniemożliwić poprawne funkcjonowanie integracji.
| 1 |
W oknie Konfiguracja wprowadź Partner Telephony Contact Centers w Quick Find pole, a następnie wybierz Partner Telephony Contact Centers. Zostanie wyświetlona lista istniejących (jeśli istnieją) centrów kontaktu.
|
| 2 |
Kliknij Create Contact Center po prawej stronie strony. |
| 3 |
Wybierz Webex Contact Center jako dostawcę usług telefonicznych. Następnie kliknij Next.
Zostanie otwarta przeglądarka plików.
|
| 4 |
Wybierz |
| 5 |
Kliknij Open. Plik został zaimportowany.
|
| 6 |
Sprawdź, czy centrum kontaktu jest wyświetlane w widoku listy centrów kontaktu.
|
Skonfiguruj centrum kontaktu
| 1 |
W oknie Konfiguracja wprowadź Partner Telephony Contact Centers w Quick Find pole, a następnie wybierz Partner Telephony Contact Centers. | ||||||||||||||||||||||||||||||
| 2 |
Kliknij wcześniej zaimportowane centrum kontaktu. | ||||||||||||||||||||||||||||||
| 3 |
Kliknij Edit.
| ||||||||||||||||||||||||||||||
| 4 |
W dolnej części Contact Center strona, kliknij Add przycisk poniżej Contact Center Users sekcja. | ||||||||||||||||||||||||||||||
| 5 |
Kliknij przycisk + obok użytkowników mających dostęp do otwartego centrum kontaktu. Tylko użytkownicy mający |
Dostosuj
Aplikacja klienta zewnętrznego na potrzeby integracji Webex Contact Center
Konfiguracja aplikacji klienta zewnętrznego dla łącznika Salesforce Webex Contact Center
Aby w pełni wykorzystać usługę Cloud Voice, przepływ połączeń centrum kontaktu można dostosować do utworzenia rekordu połączenia głosowego i wykonania przepływu omni-kanału Salesforce, gdy połączenie jest w IVR.
Utwórz certyfikat
Upewnij się, że masz już utworzony certyfikat cyfrowy zgodnie z polityką bezpieczeństwa Twojej organizacji.
Aby wygenerować certyfikat cyfrowy, zapoznaj się z dokumentacją Salesforce pod adresem https://developer.salesforce.com/docs/atlas.en-us.voice_pt_developer_guide.meta/voice_pt_developer_guide/voice_pt_generate_certificate.htm.
Przykład.
openssl genrsa -des3 -passout pass:<password> -out server.pass.key 2048
openssl rsa -passin pass:<password> -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []: my-api-user@my-example-org.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<password>
An optional company name []:
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
server.crt => Certyfikat dla zewnętrznej aplikacji klienta Salesforce
server.key => Klucz prywatny dla łącznika Salesforce w Webex Control Hub
Ustawiono uprawnienie dla użytkownika integracji SCV
Poniższy zestaw uprawnień przyznaje dostęp do klas Apex używanych przez Connects dla SCV w celu integracji z przepływami IVR Contact Center i Webex Contact Center dla Salesforce dla SCV.
Poniżej przedstawiono przykładową konfigurację i opisano minimalne wymagane uprawnienia, aby integracja Contact Center / IVR działała.
- W obszarze Konfiguracja przejdź do opcji Użytkownicy | Zestawy uprawnień.
- Kliknij New przycisk.
- Wprowadź etykietę, na przykład: Dostęp IVR do klas SCV Apex
- Nazwa API jest wypełniana automatycznie
- Licencja: brak
- Kliknij plik Save przycisk.
- Zostanie otwarty nowy Zestaw uprawnień.
- Nawigować do Apex Class Access.
- Kliknij plik Edit przycisk i dodaj następujące klasy Apex:
- cisco_wxcc_scv.RoutingUsługi
- Nawigować do System Permissions.
- Kliknij plik Edit i włącz następujące Uprawnienia:
- Usługi REST Apex
- Włączono interfejs API
Minimalny dostęp — profil integracji tylko z interfejsem API
Ten profil jest używany do integracji z Webex Contact Center for Salesforce dla SCV w celu tworzenia rekordów połączeń głosowych i Wykonywania Omni-Flow z przepływu IVR.
Poniżej przedstawiono przykładową konfigurację i opisano minimalne wymagane uprawnienia, aby integracja Contact Center / IVR działała.
To jest klon profilu Minimalny dostęp — tylko integracje API.
- W obszarze Konfiguracja przejdź do opcji Użytkownicy | Profile.
- Na liście Profile wyszukaj Profil Minimalny dostęp — tylko integracje API.
- Kliknij nazwę profilu, aby otworzyć Minimum Access - API Only Integrations profilu.
- Na Minimum Access - API Only Integrations profilu, kliknij Clone przycisk.
- Wprowadź nową nazwę profilu, na przykład: Integracja SCV.
- Kliknij Save przycisk.
- Zostanie otwarty nowy profil.
- Sprawdź, czy profil Minimalny dostęp — tylko integracje API ma wszystkie uprawnienia usunięte z samego profilu.
- Nawigować do System Permissions.
- Upewnij się, że następujące Uprawnienia są włączone:
- Włączono interfejs API
- Użytkownik Tylko W interfejsie API
Użytkownik integracji SCV
Poniżej przedstawiono przykładową konfigurację i opisano minimalne wymagane uprawnienia, aby integracja Contact Center / IVR działała. Dla użytkownika integracji SCV nie jest wymagana licencja głosowa usługi Salesforce ani licencja Webex Contact Center for Salesforce for SCV.
- W obszarze Konfiguracja przejdź do opcji Użytkownicy | Użytkownicy.
- Kliknij New User przycisk.
- Wprowadź imię, nazwisko i wszystkie inne obowiązkowe pola.
- Licencja użytkownika: Integracja z Salesforce
- Profil: wybierz profil utworzony w poprzednim kroku („Profil integracji SCV”, klonowanie minimalnego dostępu — profil integracji tylko API)
- Kliknij Save przycisk.
- Otwórz nowy rekord użytkownika.
- Przypisz Permission Set utworzone przed („IVR Access to SCV Apex Classes”).
- Przypisz licencję zestawu uprawnień Integracja API Salesforce.
Utwórz aplikację klienta zewnętrznego Salesforce
Utwórz nową aplikację klienta zewnętrznego
Istnieją dwie opcje połączenia danych Salesforce z aplikacjami innych firm. Oba Connected Apps oraz External Client Apps są ramami do integracji danych. Zewnętrzne aplikacje klienckie to następna generacja połączonych aplikacji.
Aby skonfigurować aplikację klienta zewnętrznego Salesforce, która jest używana przez Cisco Webex Contact Center:
- Od Setup, przejdź do Apps | External Client Apps | External Client App Manager.
- Kliknij New External Client App.
- External Client App—Basic Information
- Nazwa aplikacji klienta zewnętrznego: WxCC — SCV
- Nazwa API: WxCC_SCV
- Kontaktowy adres e-mail: < adres e-mail >
- Stan dystrybucji: wybierz lokalne

External Client App—API (Enable OAuth Settings)
- Wybierz: Włącz uwierzytelnianie OAuth
- Ustawienia aplikacji
- Adres URL połączenia zwrotnego: http://localhost:1717/OauthRedirect jako przykładowy adres URL połączenia zwrotnego
- Zakresy OAuth
- Wybierz zakresy OAuth:
- Zarządzaj danymi użytkowników za pośrednictwem interfejsów API (api)
- Wykonuj żądania w dowolnym momencie (refresh_token, offline_access)

Flow Enablement
- Wybierz: Włącz przepływ nośnika JWT
- Kliknij opcję Prześlij pliki i prześlij plik
server.crtplik zawierający Twój certyfikat cyfrowy.

Security
Usuń zaznaczenie pola Require secret for the Web Server Flow opcji.

- Kliknij Create przycisk.
- Zmień na Tab Policies a następnie kliknij Edit przycisk.
- Zasady — Zasady OAuth
- Zasady wtyczek
- Użytkownicy z zezwoleniami: wybierz użytkowników zatwierdzonych przez administratora, którzy są wstępnie autoryzowani
- Potwierdź zmianę
- Autoryzacja aplikacji
- Zasady odświeżania tokenów: wybierz token odświeżania natychmiast wygasa
- Rozluźnienie IP: wybierz opcję Wymuś ograniczenia adresów IP

- Zasady wtyczek
- Zasady — zasady aplikacji
- Strona początkowa — brak
- Wybierz zestawy uprawnień — przypisz zestaw uprawnień utworzony przed („Dostęp IVR do klas SCV Apex”)

- Kliknij Save.
- Zmień na kartę Ustawienia.
-
Ustawienia OAuth sekcji, kliknij Consumer Key oraz Secret przycisk; czeka na wiadomość e-mail i zweryfikuj swoją tożsamość. Nowa karta przeglądarki otwiera ekran z informacjami o kliencie.

- Kliknij Copy i zapisz Consumer Key. Klucz klienta będzie później używany do utworzenia łącznika Salesforce w Webex Contact Center Control Hub.

-
Konfiguracja Centrum kontaktowego Webex i skrypt do tworzenia rekordów połączeń głosowych
Aby uzyskać pełną wartość usług głosowych w chmurze usługi Salesforce, przepływ połączeń w Webex Contact Center należy zmodyfikować w celu utworzenia rekordu połączeń głosowych w usłudze Cloud Voice natychmiast po otrzymaniu połączenia do Contact Center.
W przypadku decyzji dotyczących trasowania i automatyzacji w Salesforce można wykonać opcjonalny przepływ Omni.
Aby uzyskać szczegółowe informacje na temat używanych interfejsów API, zobacz Wrapper interfejsu API usługi Cloud Voice.
Wymagania wstępne
Aby korzystać z usługi Cloud Voice API Wrapper, należy skonfigurować aplikację klienta zewnętrznego Salesforce na potrzeby integracji IVR.
Skonfiguruj łącznik Salesforce w Webex Control Hub
Skonfiguruj łączniki integracji Salesforce dla Webex Contact Center zgodnie z opisem w artykule https://help.webex.com/en-us/article/7fuy63/Set-Up-Integration-Connectors-for-Webex-Contact-Center#id_133211.
| 1 |
Zaloguj się do organizacji klienta pod adresem https://admin.webex.com i przejdź do sekcji Usługi > Centrum kontaktu > Ustawienia dzierżawy > Integracje>Łączniki. |
| 2 |
Na karcie Salesforce kliknij opcję Skonfiguruj lub Dodaj łącznik.
WAŻNY: ZAPEWNIAJ BEZPIECZEŃSTWO POPRZEZ OKRESOWE OBRACANIE TAJEMNIC Aby zapewnić bezpieczeństwo integracji, należy regularnie zmieniać klucz prywatny i certyfikat. Zaktualizuj klucz prywatny w konektorze Contact Center w Webex Hub oraz certyfikat w aplikacji klienta zewnętrznego w Salesforce. Wskazówka dotycząca rozwiązywania problemów Po kliknięciu przycisku Gotowe łącznik nie zapisuje się:
|
Główny przepływ centrum kontaktu Webex
| Zmienna przepływu | Opis |
|---|---|
| Zmienna przepływu dla identyfikatora rekordu połączeń głosowych | Unikatowy identyfikator identyfikujący połączenie. Wymagane do utworzenia rekordu połączeń głosowych. Format: wxcc_<Identyfikator interakcji> Przykład: wxcc_fc4ec7d8-4c91-49aa-b764-081fbba344a8
|
| Zmienna lokalna dla Godziny rozpoczęcia połączenia |
Służy do utworzenia rekordu połączenia głosowego i podczas aktualizacji połączenia głosowego.
|
| Zmienna lokalna dla nazwy/identyfikatora kolejki |
Zwrócone przez użytkownika Wykonaj przepływ omni, używany do trasowania połączeń. Ta zmienna jest wymagana tylko w przypadku użycia polecenia Execute Omni Flow
|
| Zmienna lokalna dla nazwy/identyfikatora agenta |
Zwrócone przez użytkownika Wykonaj przepływ omni, używany do trasowania połączeń. Ta zmienna jest wymagana tylko w przypadku użycia polecenia Execute Omni Flow
|
Przegląd głównego przepływu

- Generuj klucz połączenia dostawcy
- Ustawianie godziny rozpoczęcia połączenia
- Żądanie HTTP: Utwórz rekord połączenia głosowego
- Ocena odpowiedzi HTTP na potrzeby utworzenia rekordu połączenia głosowego
- Błąd obsługi rekordu utworzenia połączenia głosowego
- Żądanie HTTP: Wykonaj przepływ Omni
- Ocena odpowiedzi HTTP dla wykonania przepływu Omni
- Obsługa błędów podczas wykonywania przepływu Omni
- Kontynuuj trasowanie połączeń
| Przepływ | Opis |
|---|---|
| Generuj klucz połączenia dostawcy |
Każde połączenie obsługiwane w usłudze Cloud Voice tworzy rekord połączenia głosowego w usłudze Salesforce i wymaga unikatowego identyfikatora o nazwie klucz połączenia dostawcy. W przypadku rekordów połączeń głosowych utworzonych w Webex Contact Center klucz połączenia dostawcy należy zdefiniować w przepływie WxCC, a następnie przekazać wraz z połączeniem do agenta za pomocą zmiennej przepływu. Wartość vendorCallKey musi być zgodna z następującymi regułami:
|
| Ustawianie godziny rozpoczęcia połączenia |
Znacznik czasowy UTC godziny rozpoczęcia połączenia. Ten znacznik czasowy jest używany do utworzenia rekordu połączenia głosowego i aktualizacji rekordu połączenia głosowego, jeśli dzwoniący rozłączy się przed przekierowaniem do agenta.
|
| Żądanie HTTP: Utwórz rekord połączenia głosowego |
Ten krok jest wymagany dla każdego połączenia. Po utworzeniu rekordu połączenia głosowego identyfikator rekordu połączenia głosowego musi zostać przekazany wraz z połączeniem do agenta w zmiennej wraz z kluczem połączenia dostawcy. Skonfiguruj używaną zmienną w konfiguracji centrum kontaktu w usłudze Cloud Voice. |
| Ustawienia żądania HTTP |
|
Żądanie HTTP: Utwórz rekord połączenia głosowego
Ten krok jest wymagany dla każdego połączenia. Po utworzeniu rekordu połączenia głosowego identyfikator rekordu połączenia głosowego musi zostać przekazany wraz z połączeniem do agenta w zmiennej wraz z kluczem połączenia dostawcy. Skonfiguruj używaną zmienną w konfiguracji centrum kontaktu w usłudze Cloud Voice.
Ustawienia żądania HTTP
- Etykieta aktywności: Utwórz połączenie głosowe
- Użyj uwierzytelnionego punktu końcowego: Włączone
- Łącznik: Łącznik Salesforce utworzony w poprzednim kroku
- Ścieżka żądania:
/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall - Metoda: POST
- Typ zawartości żądania: Aplikacja/JSON
Treść żądania
Podczas tworzenia rekordu połączenia głosowego można również zaktualizować pola niestandardowe rekordu połączenia głosowego o dane połączenia. Poniżej przedstawiono dwa przykłady treści żądania: jeden ze wszystkimi wymaganymi polami, ale bez aktualizacji pól niestandardowych, i jeden z polami niestandardowymi.
Bez aktualizacji pól niestandardowych w rekordzie połączeń głosowych:
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"vendorCallKey": "{{SCV_VendorCallKey}}",
"to": "{{NewPhoneContact.DNIS}}",
"from": "{{NewPhoneContact.ANI}}",
"initiationMethod": "Inbound",
"startTime": "{{SCV_CallStartTime}}",
"participants": [
{
"participantKey": "{{NewPhoneContact.ANI}}",
"type" : "END_USER"
}
]
}
Przykład dotyczący aktualizowania pól niestandardowych w rekordzie połączeń głosowych:
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"vendorCallKey": "{{SCV_VendorCallKey}}",
"to": "{{NewPhoneContact.DNIS}}",
"from": "{{NewPhoneContact.ANI}}",
"initiationMethod": "Inbound",
"startTime": "{{SCV_CallStartTime}}",
"participants": [
{
"participantKey": "{{NewPhoneContact.ANI}}",
"type" : "END_USER"
}
],
"callAttributes": "{\"custfield1__c\": \"<value1>\",\"custfield2__c\": \"<value2>\",\"custfield3__c\": \"<value3>\"}"
}
Parametry
| Nazwa właściwości | Wartość |
|---|---|
| NazwaDevCentrum połączeń | Imię i nazwisko programisty centrum kontaktu |
| nazwa certyfikatu | Nazwa interfejsu API certyfikatu (tak jak skonfigurowano w centrum kontaktu) |
| kluczPołączeniaVendor | Unikatowy identyfikator połączenia: {{SCV_VendorCallKey}}
|
| do | Wywołany numer/numer seryjny: {{NewPhoneContact.DNIS}}
|
| od | Numer dzwoniącego/ANI: {{NewPhoneContact.ANI}}
|
| Godzina rozpoczęcia | Znacznik czasu UTC {{SCV_CallStartTime}} (ustawienie należy ustawić natychmiast po zaakceptowaniu połączenia w skrypcie) |
| Atrybuty połączenia |
Reprezentuje dodatkowe pola standardowe i niestandardowe w rekordzie połączeń głosowych, gdzie każda para klucz-wartość odpowiada polowi standardowemu lub niestandardowemu i jego wartościom. Przykład:
|
Analizowanie ustawień
- Typ zawartości: JSON
- Zmienna wyjściowa: SCV_IdentyfikatorPołączeniaGłosowego
- Wyrażenie ścieżki:
$.data.voiceCallId
Identyfikator rekordu połączeń głosowych przekazywany do agenta.
Ocena odpowiedzi HTTP na potrzeby utworzenia rekordu połączenia głosowego
Sprawdź stan żądania HTTP Utwórz połączenie głosowe HTTP:
- Etykieta: statusCodeCreateVoiceCall
- Zmienna: CreateVoiceCall.httpStatusCode
Jeśli kod stanu == 200 => powodzenie else => żądanie nie powiodło się, obsługa błędów
Błąd obsługi rekordu utworzenia połączenia głosowego
Tylko dla wersji demonstracyjnej / debugowania, odtwórz komunikat w zależności od kodu stanu HTTP.
Jeśli utworzenie połączenia głosowego powiodło się, kontynuuj wykonywanie przepływu omni. W przeciwnym razie kontynuuj trasowanie połączeń.
Żądanie HTTP: Wykonaj przepływ Omni (krok opcjonalny)
Użyj opcji Execute Omni-Flow, jeśli chcesz:
- uruchamianie zadań automatycznych, na przykład wyszukiwanie lub tworzenie rekordów i łączenie ich z rekordem połączeń głosowych
- wyszukuj rekordy i wykonaj okienko wyskakujące
- synchronizowanie kolejek Salesforce i Cisco
- pozwól usłudze Cloud Voice podjąć decyzję o trasowaniu
To żądanie zawsze powoduje powrót „kolejki” lub „agenta” do miejsca, w którym połączenie musi zostać przekierowane.
Po wykonaniu tego żądania upewnij się, że wysyłasz polecenie Wyczyść trasowanie, jeśli dzwoniący rozłączy się przed odebraniem przez agenta. Zobacz przepływ zdarzeń Centrum kontaktowego Webex.
Ustawienia żądania HTTP
- Etykieta aktywności: Przepływ ExecuteOmniFlow
- Użyj uwierzytelnionego punktu końcowego: Włączone
- Łącznik: Łącznik Salesforce utworzony w poprzednim kroku
- Ścieżka żądania:
/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow - Metoda: POST
- Typ zawartości żądania: Aplikacja/JSON
Treść żądania
Oprócz wymaganych pól można przekazać dodatkowe dane jako zmienne wejściowe do Omni-Flow. Poniżej przedstawiono dwa przykłady treści wniosku. Pierwsza bez dodatkowych parametrów przepływu, tylko pola wymagane, a druga z dwiema zmiennymi wejściowymi.
Przykład z parametrami przepływu Omni:
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"dialedNumber": "{{NewPhoneContact.DNIS}}",
"flowDevName": "<flow api name>",
"fallbackQueue": "<fallback queue name>"
}
Przykład aktualizacji pól niestandardowych w rekordzie połączeń głosowych:
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"dialedNumber": "{{NewPhoneContact.DNIS}}",
"flowDevName": "<flow api name>",
"fallbackQueue": "<fallback queue name>",
"flowInputParameters":
{
"param1": "value1",
"param2": "value2"
}
}
Parametry
| Nazwa właściwości | Wartość |
|---|---|
| NazwaDevCentrum połączeń | Imię i nazwisko programisty centrum kontaktu |
| nazwa certyfikatu | Nazwa interfejsu API certyfikatu (tak jak skonfigurowano w centrum kontaktu) |
| Identyfikator połączenia głosowego | Identyfikator rekordu połączenia głosowego, utworzony w poprzednim kroku:
{{SCV_VoiceCallRecordId}}
|
| wybranyNumer | Wywołany numer/numer seryjny: {{NewPhoneContact.DNIS}}
|
| nazwa_devFlow | Nazwa programisty Omni-Flow do wykonania |
| kolejka rezerwowa | Identyfikator kolejki lub nazwa interfejsu API kolejki rezerwowej kolejki Salesforce |
| Parametry wejściowe przepływu |
Dodatkowe dane wejściowe do przepływu wielokanałowego (para klucz-wartość). Przykład:
|
Analizowanie ustawień
Kolejka
- Typ zawartości: JSON
- Zmienna wyjściowa: SCV_OmniFlowQueue
- Wyrażenie ścieżki:
$.data.queue
Do trasowania może być użyty „Kolejka” zwrócona z polecenia Execute Omni-Flow.
Agent- Typ zawartości: JSON
- Zmienna wyjściowa: SCV_OmniFlowAgent
- Wyrażenie ścieżki:
$.data.agent
Funkcja „Agent” zwrócona z polecenia Execute Omni-Flow, może być używana do trasowania.
Ocena odpowiedzi HTTP dla wykonania przepływu Omni
Sprawdź stan HTTP żądania http Execute Omni Flow:
- Etykieta: statusCodeExecuteOmniFlow
- Zmienna: ExecuteOmniFlow.httpStatusCode
Jeśli kod stanu == 200 => powodzenie else => żądanie nie powiodło się, wystąpił błąd podczas obsługi.
Obsługa błędów podczas wykonywania przepływu Omni
Tylko dla wersji demonstracyjnej / debugowania, odtwórz komunikat w zależności od kodu stanu HTTP.
Jeśli wykonanie przepływu Omni powiodło się, zmienne SCV_OmniFlowQueue i SCV_OmniFlowAgent nie są ustawione. Decyzja o trasowaniu w przepływie połączeń.
Kontynuuj trasowanie połączeń
Kontynuuj w przepływie połączeń i kieruj połączenia do agenta. Opcjonalnie, użyj SCV_OmniFlowQueue i SCV_OmniFlowAgent, aby wybrać kolejkę i agenta.
Przepływ zdarzeń Centrum kontaktowego Webex
Jeśli dzwoniący przerwie połączenie, zanim agent je odbierze, musimy zaktualizować usługę Cloud Voice i zakończyć połączenie.
- Jeśli użyto polecenia Execute Omni-Flow, wyślij polecenie Clear Routing, aby usunąć oczekujący routing usługi (PSR)
- Wyślij aktualizację połączenia głosowego, aby zaktualizować godziny rozpoczęcia i zakończenia w rekordzie połączenia głosowego oraz zmienić stan z Nowy na Ukończony

- PhoneContactEnded — to zdarzenie jest uruchamiane, gdy połączenie na żywo zostanie rozłączone, a wszyscy uczestnicy zostaną usunięci.
- Żądanie HTTP: Wyczyść trasowanie
- Żądanie HTTP: Zaktualizuj połączenie głosowe
Żądanie HTTP: Wyczyść trasowanie
- Etykieta: Wyczyść trasowanie
- Użyj uwierzytelnionego punktu końcowego: Włączone
- Łącznik: Łącznik Salesforce utworzony w poprzednim kroku
- Ścieżka żądania:
/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting - Metoda: POST
Typ zawartości żądania: Aplikacja/JSON
Treść żądania
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"voiceCallId": "{{SCV_VoiceCallRecordId}}"
}
Parametry
| Nazwa właściwości | Wartość |
|---|---|
| NazwaDevCentrum połączeń | Imię i nazwisko programisty centrum kontaktu |
| nazwa certyfikatu | Nazwa interfejsu API certyfikatu (tak jak skonfigurowano w centrum kontaktu) |
| Identyfikator połączenia głosowego | Identyfikator rekordu połączenia głosowego, utworzony w poprzednim kroku: SCV_IdentyfikatorPołączeniaGłosowego |
Analizowanie ustawień
Brak.
Żądanie HTTP: Zaktualizuj połączenie głosowe
- Etykieta: Zaktualizuj połączenie głosowe
- Użyj uwierzytelnionego punktu końcowego: Włączone
- Łącznik: Łącznik Salesforce utworzony w poprzednim kroku
- Ścieżka żądania:
/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall - Metoda: POST
- Typ zawartości żądania: Aplikacja/JSON
Treść żądania
{
"callCenterDevName": "<Contact Center API name>",
"certDevName": "<cert dev name>",
"voiceCallId": "{{SCV_VoiceCallRecordId}}",
"startTime": "{{SCV_CallStartTime}}",
"endTime": "{{now() | replace({'[UTC]': ''})}}",
"disconnectReason": { "value": "Abandoned in queue", "isError": true }
}
Parametry
| Nazwa właściwości | Wartość |
|---|---|
| NazwaDevCentrum połączeń | Imię i nazwisko programisty centrum kontaktu |
| nazwa certyfikatu | Nazwa interfejsu API certyfikatu (tak jak skonfigurowano w centrum kontaktu) |
| Identyfikator połączenia głosowego | Identyfikator rekordu połączenia głosowego, utworzony w poprzednim kroku: SCV_IdentyfikatorPołączeniaGłosowego |
| Godzina rozpoczęcia | Znacznik czasu UTC rozpoczęcia połączenia {{SCV_CallStartTime}} (jako używane do tworzenia rekordu połączeń głosowych) |
| Godzina zakończenia | Bieżący znacznik czasu UTC `{{now() |
| rozłączReason | Przyczyna rozłączenia połączenia. Obiekt znajduje isError
należy ustawić jako true aby był prawidłowo wyświetlany. |
Analizowanie ustawień
Brak.
Materiały referencyjne
- Tworzenie klucza prywatnego i certyfikatu cyfrowego z podpisem własnym
- Konfiguracja połączonej aplikacji z łącznikiem Salesforce Webex Contact Center
- Konfigurowanie łączników integracyjnych dla Webex Contact Center — Salesforce
- Podręcznik konfiguracji i administratora Cisco Webex Contact Center > Projektant przepływów
- Interfejs API REST integracji telefonii
Tłumaczenie językowe
(Opcjonalnie) Włącz narzędzie Tłumacz
To ustawienie ma zastosowanie tylko w przypadku korzystania z ustawień języka tłumaczenia.
| 1 |
Przejdź do Ustawienia → Centrum tłumaczeń → Ustawienia języka tłumaczenia. |
| 2 |
Kliknij Enable aby wybrać język tłumaczenia.
|
(Opcjonalnie) Włącz języki tylko dla platformy
To ustawienie dotyczy tylko języków innych niż EN-US.
| 1 |
Przejdź do opcji Konfiguracja → Ustawienia firmy → Ustawienia językowe. |
| 2 |
Wybierz wymagane języki. |
| 3 |
Zaznacz następujące pola wyboru:
|
| 4 |
Zapisz zmiany.
|
Aktywuj język i wybierz użytkownika (zadanie)
| 1 |
Przejdź do Ustawienia → Centrum tłumaczeń → Ustawienia języka tłumaczenia. |
| 2 |
Wybierz język i wybierz użytkownika, który będzie go tłumaczył. |
| 3 |
Zapisz zmiany.
|
Ustawienia wielu języków
Tłumaczenie etykiet niestandardowych
| 1 |
Przejdź do opcji Konfiguracja → Etykiety niestandardowe. |
| 2 |
Wybierz nazwę etykiety niestandardowej, którą chcesz otworzyć.
|
| 3 |
Na liście powiązanych tłumaczeń kliknij |
| 4 |
Wybierz Język, na który tłumaczysz.
|
| 5 |
Wprowadź przetłumaczoną wartość w polu Tekst tłumaczenia. Ten tekst zastępuje wartość określoną w polu Wartość etykiety, gdy domyślnym językiem użytkownika jest język tłumaczenia. |
| 6 |
Zapisz zmiany. |
Uprawnienia Salesforce wymagane przez funkcję użytkownika
Zestaw uprawnień agentów SCV Webex Contact Center zawiera wszystkie uprawnienia wymagane do pracy z gadżetem Webex Contact Center i integracjami opracowanymi dla agentów.
Dostęp do klasy Apex (sekcja)
- cisco_wxcc_scv.CiscoScvWxcc
- cisco_wxcc_scv.ServiceResponseHandler
- cisco_wxcc_scv.RoutingUsługi
- cisco_wxcc_scv.TelephonyIntegrationHandler
Dostęp do niestandardowych typów metadanych (sekcja)
- cisco_wxcc_scv.WxCC Połączenie
Dostęp do strony Visualforce (sekcja)
- cisco_wxcc_scv.CiscoScvLoginWxCC
- cisco_wxcc_scv.CiscoScvMainWxCC
- cisco_wxcc_scv.CiscoScvOAuthRedirect
- cisco_wxcc_scv.CiscoScvSwLoader
Wrapper interfejsu API usług w chmurze
Wymagania wstępne
Aby korzystać z usługi Cloud Voice API Wrapper, należy skonfigurować aplikację klienta zewnętrznego Salesforce na potrzeby integracji IVR.
Użyj wrappera interfejsu API usługi Cloud Voice
Usługa Cloud Voice (SCV) dla Salesforce korzysta z interfejsu API REST integracji telefonii do tworzenia i aktualizowania połączeń głosowych, wykonywania przepływów wielokanałowych i usuwania rekordów PendingServiceRouting powiązanych z połączeniem głosowym. Ta usługa wymaga autoryzacji JWT i użycia metody HTTP PATCH, która nie jest obecnie obsługiwana przez rozwiązanie Cisco IP Interactive Voice Response (IVR).
W celu uproszczenia korzystania z interfejsu REST API integracji telefonii dla SCV w (nie tylko) systemie IVR, udostępniono nowy zestaw interfejsów API, które owijają istniejący interfejs API Salesforce i są dostępne bezpośrednio z organizacji Salesforce, w której zainstalowany jest pakiet Webex Contact Center for Service Cloud Voice.
Narzędzie Wrapper interfejsu API usługi Cloud Voice usuwa potrzebę uwierzytelniania tokena JWT, wprowadza dodatkowe kontrole danych wymaganych przez interfejs API Salesforce i poprawia obiekty odpowiedzi.
Pobierz token Access_Token
Wykonaj żądanie POST na adres https://<your-domain-name>.my.salesforce.com/services/oauth2/token
Wysyłanie następujących parametrów w treści:
{
"grant_type": "client_credentials",
"client_id": "<consumer key of the connected app>",
"client_secret": "<consumer secret of the connected app>"
}
If the request is successful, the following JSON response will be returned:
{
"access_token": "<your-access-token>",
"instance_url": "<your-org-base-url>",
"id": "https://login.salesforce.com/id/<id>/<id>",
"token_type": "Bearer",
"issued_at": "<timestamp>",
"signature": "<unique-signature-code>"
}
Wykonaj żądania
Adres URL wystąpienia musi zawierać my.salesforce.com.
Przykład poprawnego adresu URL wystąpienia: https://abc-123.my.salesforce.com
Użycie dowolnego innego adresu URL jako adresu URL wystąpienia (np. https://abc-123.lightning.force.com ) powoduje ustawienie stanu Brak autoryzacji 401 z zwróconym kodem błędu INVALID_SESSION_ID.
Tworzenie połączenia głosowego (sekcja)
Tworzy rekord połączenia głosowego zawierający uczestników (tj. rozmówcę i odbiorcę) dla rekordu połączenia głosowego. Po utworzeniu rekordu połączenia głosowego w Salesforce tworzona jest konwersacja. Używaj tego interfejsu API tylko w kontekście czasu rzeczywistego, co oznacza, że należy wywoływać ten interfejs API tylko po zainicjowaniu połączenia. Ten interfejs API może być również używany do tworzenia rekordów VoiceCall na potrzeby połączeń transferowych i konferencyjnych przez umieszczenie parametru parentVoiceCallId w ładunku żądań.
Identyfikator URI punktu końcowego
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/createVoiceCall
Metoda HTTP
POST
Nagłówki
Autoryzacja: Okaziciela <access_token>
Typ treści: aplikacja/json
Parametry
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"vendorCallKey": "5324881f-1e84-4367-8930-f69a74b30ca6",
"to": "8002345678",
"from": "4081456688",
"initiationMethod": "Inbound",
"startTime": "2019-07-02T17:32:28Z",
"participants": [
{
"participantKey": "4081456688",
"type" : "END_USER"
}
],
"callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
"parentVoiceCallId": "fsdfzuhsdfsa-43556fgef3-56g44gv4ew",
"callOrigin": "Preview",
"queue": "queue123"
}
Odpowiedź (udana)
{
"data": {
"voiceCallId": "00X000012345abc"
},
"errors": null,
"success": true
}
Odpowiedź (z błędami)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
}
Zaktualizuj połączenie głosowe
Aktualizuje połączenie głosowe po jego zakończeniu. Użyj tego interfejsu API do aktualizacji parametrów związanych z połączeniami, które są niedostępne na etapie tworzenia rozwiązania VoiceCall. Interfejs API aktualizacji VoiceCall jest operacją asynchroniczną. Nie można pytać o stan połączenia API.
Tego punktu końcowego można również użyć do utworzenia połączenia VoiceCall nawet po jego zakończeniu. To zachowanie jest przydatne w scenariuszach, w których chcesz zarejestrować rekord w Salesforce w przypadku połączeń porzuconych lub nieodebranych lub w każdym innym scenariuszu, w którym połączenie głosowe nie zostało jeszcze utworzone.
Identyfikator URI punktu końcowego
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/updateVoiceCall
Metoda HTTP
POST
Nagłówki
Autoryzacja: Okaziciela <access_token>
Typ treści: aplikacja/json
Parametry
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc",
"startTime": "2020-08-26T21:21:14Z",
"endTime": "2019-08-26T21:21:34Z",
"isActiveCall": true,
"fromNumber": "1234",
"callOrigin": "Preview",
"enqueueTime": "2019-08-26T21:21:34Z",
"acceptTime": "2019-08-26T21:21:24Z",
"numberOfHolds": 20,
"queue": "queue123",
"agent": "agent123",
"agentInteractionDuration": 12,
"longestHoldDuration": 10,
"totalHoldDuration": 21,
"recordingLocation": "Bern",
"totalRecordingDuration": 55,
"callAttributes": "{\"devscv24__AAA_Test__c\":\"field value\",\"Other_Field__c\":\"other value\"}",
"disconnectReason": {
"value": "TELECOM_PROBLEM",
"isError": true
}
}
Szczegółowy opis parametrów zaakceptowanych przez to żądanie można znaleźć w Salesforce oficjalnej dokumentacji w sekcji „Parametry”.
Odpowiedź (udana)
{
"data": {
"status": "pending"
},
"errors": null,
"success": true
}
Interfejs API aktualizacji VoiceCall jest operacją asynchroniczną. Nie można pytać o stan połączenia API.
Odpowiedź (z błędami)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
}
Wykonaj Omni-flow
Wykonuje przepływ wielokanałowy w celu przekierowywania połączeń. Przekazuje identyfikator połączenia (Salesforce VoiceCallId lub dostawca usług telefonicznych ContactId) jako parametry do przepływu i zwraca instrukcje trasowania agenta lub kolejki do przepływu kontaktu. Domyślnie usługa głosowa w chmurze używa przepływu wielokanałowego (lub kolejki rezerwowej) określonego dla kanału telefonu, który pasuje do wybranego numeru. Jeśli wybrany numer nie pasuje do istniejącego kanału telefonicznego, można opcjonalnie ustawić nowy wybrany numer, przepływ wielokanałowy i kolejkę rezerwową jako parametry wejściowe do tego połączenia API.
Usługa Cloud Voice używa następującej kolejności pierwszeństwa do przekierowywania połączeń:
- Używa ustawień przepływu wielokanałowego i kolejki rezerwowej dla kanału telefonu pasującego do wybranego numeru. Przepływ ma pierwszeństwo. Jeśli przepływ nie powiedzie się, zostanie użyta kolejka rezerwowa.
- Używa parametrów flowDevName i fallbackQueue określonych w wywołaniu interfejsu API Execute Omniflow.
Identyfikator URI punktu końcowego
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/executeOmniFlow
Metoda HTTP
POST
Nagłówki
Autoryzacja: Okaziciela <access_token>
Typ treści: aplikacja/json
Parametry
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc",
"dialedNumber": "+18445791189",
"flowDevName": "Route_VoiceCall",
"fallbackQueue": "00G111222333444",
"flowInputParameters":
{
"Input1": "one",
"Input2": "two"
}
}
- Parametr voiceCallId to identyfikator połączenia voiceCallId usługi Salesforce lub identyfikator kontaktu dostawcy usług telefonicznych.
- Szczegółowy opis parametrów zaakceptowanych przez to żądanie można znaleźć w Salesforce oficjalnej dokumentacji w sekcji „Parametry”.
Odpowiedź (udana)
{
"data": {
"queue": "queue info",
"agent": "agent info"
},
"errors": null,
"success": true
}
Parametry AGENT_INFO i QUEUE_INFO odpowiadają polu ExternalId w polu CallCenterRoutingMap
Odpowiedź (z błędami)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
}
Wyczyść trasowanie
Usuwa rekord PendingServiceRouting (PSR) połączenia głosowego. Ten interfejs API nie musi być wywoływany w większości scenariuszy; rekord PSR jest automatycznie usuwany, gdy połączenie nie jest już trasowane. Istnieją jednak pewne scenariusze, na przykład nieodebrane lub porzucone połączenia podczas korzystania z systemów telefonii partnerów, w których należy jawnie wywołać ten interfejs API, aby wyczyścić rekord PSR.
Identyfikator URI punktu końcowego
<instance_url>/services/apexrest/cisco_wxcc_scv/voice/v1/clearRouting
Metoda HTTP
POST
Nagłówki
Autoryzacja: Okaziciela <access_token>
Typ treści: aplikacja/json
Parametry
{
"callCenterDevName": "contactCenterDevName123",
"certDevName": "certDevName123",
"voiceCallId": "00X000012345abc"
}
- Parametr voiceCallId to identyfikator połączenia voiceCallId usługi Salesforce lub identyfikator kontaktu dostawcy usług telefonicznych.
- Szczegółowy opis parametrów zaakceptowanych przez to żądanie można znaleźć w Salesforce oficjalnej dokumentacji w sekcji „Parametry”.
Odpowiedź (udana)
{
"data": {
"status": "Success"
},
"errors": null,
"success": true
}
Odpowiedź (z błędami)
{
"data": null,
"errors": ["Error message 1", "Error message 2"],
"success": false
}
Tłumaczenia numerów telefonów
Różne interakcje między usługami głosowymi w chmurze a Webex Contact Center zależą od tłumaczeń numerów telefonów. Ze względu na różnice międzynarodowe i aplikacje specyficzne dla klientów potrzebne jest konfigurowalne narzędzie do przenoszenia numerów telefonów z formatu A do formatu B.
Rozwiązanie Webex Contact Center for Service Cloud Voice automatycznie usuwa wszystkie znaki z wyjątkiem cyfr, hasztagów (#), gwiazdki (*), przecinków (,) i początkowych znaków plus (+). Usuwa również pierwsze wystąpienie (0). Zostanie to wykonane PRZED zastosowaniem tłumaczeń numerów telefonów.
W tym przewodniku opisano, jak skonfigurować tłumaczenia numerów telefonów.
Pola
Tłumaczenia numerów telefonów są przechowywane w polach Nazwa-Wartość. Dzięki temu można skonfigurować nieograniczoną liczbę reguł dla każdej funkcji.
Konfiguracja jest przechowywana w postaci ciągu znaków JSON.
Proszę pamiętać, że ukośniki muszą być zamienione na sekwencje escape, np. \d+ staje się \d+.
{"Remove all characters but digits":"[1,17]->[^\\d]+","To internal number":"[7,17]->(\\d{7})(\\d{4})->$2"}
Nazwa pola nie jest używana technicznie. W celu szybkiej identyfikacji celu tej reguły należy dodać czytelny dla człowieka ciąg. Dobre nazwy to na przykład: Usuń wszystkie wiodące zera, Dodaj wiodący plus itp.
Tworzenie reguł tłumaczenia
Reguły są podane w postaci wyrażeń regularnych. Aby być dokładnym: Implementacja wyrażeń regularnych w języku JavaScript
Dobrym sposobem na rozpoczęcie jest czytanie dokumentu RegExp z dokumentów internetowych MDN.
Tworzenie złożonych wyrażeń regularnych jest jednak często kłopotliwe. Dlatego dodaliśmy dodatkową składnię, aby konfiguracja była jak najłatwiejsza.
Na poniższym rysunku przedstawiono ogólną składnię reguły tłumaczenia numeru telefonu:
Predykaty
Predykat służy do określenia interwału definiującego długość dopasowanej liczby.
Powyższy wpis określa, że wszystkie liczby o długości od 7 do 11 znaków (w tym krawędzie i spacje) są zgodne.
Predykaty zawsze odpowiadają oryginalnej długości liczby. Pomaga to uprościć konfigurację poprzez zmniejszenie ryzyka kolizji reguł dla numerów wewnętrznych/zewnętrznych.
Wzór
Wzorzec określa format podanej liczby.
Powyższy wzorzec stwierdza, że numer musi składać się tylko z cyfr, i wybiera je.
Selektor
Selektory definiują ostateczny format liczby. Jeśli konieczne jest dodanie znaków / cyfr, które nie były pierwotnie obecne, jest to miejsce, w którym można to zrobić.
Selektor to ostatni krok w budowaniu numeru. Na podstawie wyjściowego wzorca selektor tworzy nową liczbę.
Przykład 1
W poniższym przykładzie pokazano, jak przenieść numer otrzymany z centrum kontaktu w formacie 0319175200 do szwajcarskiego formatu E164 +41 31 917 52 00.
W tym przykładzie są używane dwie reguły tłumaczenia (1. i 2.)
Pierwsza reguła w tym przykładzie tak naprawdę nie zmienia liczby. W przypadku numerów o długości od 1 do 17 znaków, wszystko inne niż cyfry zostałoby usunięte. Ponieważ nie ma żadnych znaków niecyfrowych, nic się nie zmienia.
Druga reguła dotyczy liczb o długości dokładnie 10 znaków (pierwotnie). 0319175200 pasuje i dlatego reguła jest stosowana. Wzorzec określa, że numer musi zaczynać się od grupy składającej się z jednej cyfry (\d{1}), następnie grupy składającej się z dwóch cyfr (\d{2}), następnie grupy trzech cyfr (\d{3}) itd.
Selektor uzyskuje następnie dostęp do grup wzorców w celu zdefiniowania nowego ciągu liczbowego. Oznacza to, że $2 odwołuje się do pierwszego elementu (\d{2}) i dlatego zawiera 31.
Przykład 2
W poniższym przykładzie pokazano, jak przenieść numer otrzymany z Contact Center w formacie +14693150217 do amerykańskiego formatu E164 +1 469 315 0217.
W tym przykładzie są używane dwie reguły tłumaczenia (1. i 2.)
- Liczba ta ma dokładnie 12 znaków, dlatego stosowana jest reguła „Dodaj obszary do numerów w USA”.
- (\+1) mówi, że numer musi zaczynać się od +1. Jeśli liczba ma długość 12 znaków, ale nie zaczyna się od znaku +1, reguła zostaje anulowana i nic się nie zmienia.
- (\d{3}) mówi, że po znaku +1 musi następować 3 cyfr.
- (\d{3}) mówi, że po ostatnich 3 cyfrach należy następować kolejne 3 cyfr.
- (\d{4}) mówi, że po ostatnich 3 cyfrach musi następować 4 cyfr.
Jeśli którakolwiek z tych wartości nie jest zgodna, numer nie zostanie zmieniony.
Wszystkie reguły dotyczą zatem „+14693150217”. W związku z tym liczba zostaje zmieniona o „$1 $2 $3 $4”:
- $1 odnosi się do grupy (\+1); liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +1.
- $2 odnosi się do pierwszego z dwóch numerów (\d{3}), liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +1 469.
- $3 odnosi się do drugiego z tych dwóch numerów (\d{3}), liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +1 469 315.
- $4 odnosi się do ostatniej grupy (\d{4}). Numer wysyłany do usługi głosowej w chmurze wygląda następująco: +1 469 315 0217.
Spacje w części zamiennej reguły „$1 $2 $3 $4” są używane bezpośrednio. Jeśli więc użyjesz „$1-$2-$3-$4”, liczba zostanie przetłumaczona na: +1-469-315-0217
Możesz także usuwać grupy: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->$2 $3 $4 zostanie przetłumaczone na: 469 315 0217. [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})-> $3 $4 zostanie przetłumaczone na: 315 0217.
Możliwa jest również konwersja numeru międzynarodowego w Stanach Zjednoczonych na numer lokalny, taki jak: [12, 12]->(\+1)(\d{3})(\d{3})(\d{4})->($2) $3-$4.
Następnie numer przychodzący „+14693150217” zostanie przetłumaczony na: (469) 315-0217.
Przykład 3
W poniższym przykładzie pokazano, jak przenieść numer otrzymany z centrum kontaktu w formacie +491515555531 do niemieckiego formatu E164 +49 151 5555 531.
W tym przykładzie są używane dwie reguły tłumaczenia (1. i 2.)
- Liczba ta ma dokładnie 13 znaków, dlatego stosowana jest reguła „Dodaj obszary do numerów niemieckich”.
- (\+49) mówi, że numer musi zaczynać się od +49. Jeśli liczba ma długość 13 znaków, ale nie zaczyna się od znaku +49, reguła zostaje anulowana i nic się nie zmienia.
- (\d{3}) mówi, że po znaku +49 musi następować 3 cyfr.
- (\d{4}) mówi, że po ostatnich 3 cyfrach musi następować 4 cyfr.
- (\d{3}) mówi, że po ostatnich 4 cyfrach musi następować 3 cyfr.
Jeśli którakolwiek z tych wartości nie jest zgodna, numer nie zostanie zmieniony.
Wszystkie reguły dotyczą więc „+491515555531”. W związku z tym liczba zostaje zmieniona o „$1 $2 $3 $4”:
- $1 odnosi się do grupy (\+49); liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +49.
- $2 odnosi się do pierwszego z dwóch numerów (\d{3}), liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +49 151.
- $3 odnosi się do drugiego z tych dwóch numerów (\d{4}), liczba wysyłana do usługi głosowej w chmurze wygląda następująco: +49 151 5555.
- $4 odnosi się do ostatniej grupy (\d{3}). Numer wysyłany do usługi głosowej w chmurze wygląda następująco: +49 151 5555 531.
To samo dotyczy pierwszej reguły. Możesz użyć części zamiennej $1 $2 $3 $4, aby wybrać, czego używać z numeru.
Więcej przykładów Translacji wyrażeń regularnych
| Opis | Tłumaczenie Regex |
|---|---|
| Usuń wszystkie znaki z wyjątkiem cyfr | [1,17]->[^\d]+ |
| Usuń wszystkie znaki z wyjątkiem cyfr i + | [1,17]->[^+\d]+ |
| Opis | Tłumaczenie Regex |
|---|---|
| Usuń +1 | [12,12]-> (.{1})(\d{1})(\d{10})->$3 |
| Usuń +1 | [10,12]->(^\+1+)(\d+)->$2 |
| Usuń +49 | [10,15]->(^\+49+)(\d+)->$2 |
| Usuń +49 | [10,15]-> (.{1})(\d{2})(\d{9})->$3 |
| Usuń +41 | [10,13]->(^\+41+)(\d+)->$2 |
| Usuń +41 | [10,13]-> (.{1})(\d{2})(\d{9})->$3 |
| Usuń +XX | [10,14]->(^\++)(\d{2})(\d+)->$3 |
| Opis | Tłumaczenie Regex |
|---|---|
| Usuń + i zastąp go zerami US E164 | [10,12]-> (.{1})(\d{1})(\d{10})-> 001 $3 |
| Usuń +1 i zastąp go zerami US E164 | [10,12]->(^\+1+)(\d+)-> 001$2 |
| Usuń + i zastąp go zerami DE E164 | [12,15]-> (.{1})(\d{2})(\d{10})-> 0049 $3 |
| Usuń +49 i zastąp go zerami DE E164 | [10,12]->(^\+49+)(\d+)-> 0049$2 |
| Usuń + i zastąp go zerami CH E164 | [10,13]-> (.{1})(\d{2})(\d{9})-> 0041 $3 |
| Usuń +41 i zastąp go zerami CH E164 | [10,12]->(^\+41+)(\d+)-> 0041$2 |
| Opis | Tłumaczenie Regex |
|---|---|
| Numer w Stanach Zjednoczonych z spacją | [12,17]->(\d{1})(\d{3})(\d{3})(\d{4})->+1 $2 $3 $4 |
| Numer w Stanach Zjednoczonych z spacją | [12,17]->(\+1)(\d{3})(\d{3})(\d{4})->$1 $2 $3 $4 |
| Numer DE z spacją | [12,17]->(\d{2})(\d{3})(\d{4})(\d{3})->+49 $2 $3 $4 |
| Numer DE z spacją | [12,17]->(\+49)(\d{3})(\d{4})(\d{3})->$1 $2 $3 $4 |
| Numer CH z spacją | [12,17]->(\d{2})(\d{2})(\d{3})(\d{2})(\d{2})->+41 $2 $3 $4 |
| Numer CH z spacją | [12,17]->(\+41)(\d{2})(\d{3})(\d{2})(\d{2})->$1 $2 $3 $4 |
Konfiguracja strony połączeń głosowych
Konfigurowanie strony rekordu połączeń głosowych
Strona rekordu VoiceCall jest domyślnie wstępnie skonfigurowana z układem kolumn 3 i następującymi składnikami:
- Działania i zalecenia
- Notatki do połączeń
- Szczegóły połączeń
- Nagrania
Komponenty można dowolnie usuwać lub dodawać do strony, w zależności od potrzeb biznesowych. Można również użyć różnych układów stron, ale niektóre składniki, takie jak odtwarzacz nagrywania połączeń i treść rozmowy, mogą pasować tylko do średnich i dużych obszarów w szablonie.
Wyświetl komponent Powód podsumowania
Składnik Powód podsumowania musi być wyświetlany podczas połączenia i podczas podsumowania.
Dodaj komponent Przyczyna podsumowania Cisco do strony rekordu VoiceCall:
- Przeciągnij plik Cisco Wrap-Up Reason Składnik sieciowy Lightning z obszaru Niestandardowy na liście Lightning Components na stronie VoiceCall Record.
- Kliknij Save.
- Kliknij Activate.
- Kliknij Assign as Org Default.
- Kliknij Save.
- Kliknij Save ponownie, a następnie kliknij Back arrow aby powrócić do strony.
Plik Cisco Wrap-Up Reason komponent będzie automatycznie wyświetlany podczas połączenia i podczas podsumowania:
Jeśli zostanie dodany do strony, dla każdego połączenia jest wyświetlany składnik Cisco Reason podsumowania, nawet jeśli w Cisco Contact Center nie skonfigurowano podsumowania.
Wyświetlanie odtwarzacza nagrywania połączeń
Jeśli łącze do nagrywania połączeń zostało zapisane dla odpowiedniego połączenia głosowego, zostanie wyświetlony odtwarzacz nagrywania.
Aby dodać komponent Odtwarzacz nagrywania połączeń do strony nagrywania połączeń głosowych, wykonaj następujące czynności:
- Przeciągnij komponent Web Player Call Recording Player (Odtwarzacz nagrywania połączeń Błyskawica) na stronę nagrywania połączeń głosowych
- Kliknij Save.
- Kliknij Activate.
- Kliknij Assign as Org Default.
- Kliknij Save.
- Kliknij Save ponownie, a następnie kliknij strzałkę Wstecz, aby powrócić do strony.
Administratorzy usługi Webex
Konfiguracja przepływu
Wyskakujący ekran
Węzeł „Screen Pop” jest dostępny w Webex Contact Center Flow. Można z niej skorzystać do uruchomienia okienka wyskakującego w usłudze głosowej w chmurze lub w osobnym oknie.
Więcej informacji na temat tej funkcji można znaleźć w dokumentacji Projektanta przepływów .
Wyskakujące okienko w osobnym oknie
Aby otworzyć wyskakujące okienko w osobnym oknie, w węźle „Wyskakujące okienko” należy podać adres URL absolute. Parametry queryParameters zostaną dołączone do adresu URL jako parametry wyszukiwania.
Obsługiwane są następujące tryby:
- Nowa karta przeglądarki — zawsze otwiera nową kartę przeglądarki.
- Istniejąca karta przeglądarki — w wyskakującym okienku pierwszej Istniejącej karty przeglądarki zostanie otwarta nowa karta przeglądarki. Ta karta będzie dedykowaną kartą dla kolejnych ekranów Istniejących kart przeglądarki, a adres URL zostanie odświeżony na tej konkretnej karcie przeglądarki.
- Wewnątrz pulpitu — jest obsługiwany w taki sam sposób, jak Nowa karta przeglądarki.
Aktualnie otwarta strona może zapobiec przekierowaniu. W takim przypadku Istniejąca karta przeglądarki zostanie otwarta na nowej karcie przeglądarki.





