Systems and methods for providing personalized context

By integrating a central API service and mobile applications from multiple vendors on mobile devices, and providing personalized context, the system addresses the information access challenges customers face when contacting enterprise customer support, thereby improving customer experience and agent efficiency.

CN116671091BActive Publication Date: 2026-06-16GENESIS CLOUD SERVICES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GENESIS CLOUD SERVICES CO LTD
Filing Date
2021-11-04
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

When customers contact enterprise customer support, they often find it difficult to quickly obtain personalized contextual information, resulting in wasted time and inefficient agents.

Method used

By connecting to a central API service through a mobile application that operates on the user's mobile device, integrating multiple vendors, and providing personalized context through multiple media channels, including transcripts of past interactions and order history, users can efficiently contact customer support.

🎯Benefits of technology

It enables users to quickly view and manage personalized contexts for multiple suppliers on a single platform, improving customer experience and agent efficiency while reducing repetitive inquiries and verification time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116671091B_ABST
    Figure CN116671091B_ABST
Patent Text Reader

Abstract

A system comprising a mobile application on a mobile device of a user, the mobile application for connecting to a plurality of contact centers and providing personalized context to the user. The system comprises: the mobile application; a connection from the mobile application to a central API service, wherein the central API service provides authentication tokens to the mobile application to facilitate further interaction between them; a plurality of vendors that the user has associated with profiles of the plurality of vendors and that have integrated with the central API service, wherein the vendors are operatively connected with the central API service for information sharing; and a plurality of media channels connecting the plurality of vendors with the central API service, thereby allowing the user to: view, through the mobile application, personalized context from past interactions between the user and the plurality of contact centers; and connect with the plurality of contact centers.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-referencing of related patent applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 109,413, entitled “SYSTEM AND METHODFOR PROVIDING PERSONALIZED CONTEXT,” filed with the U.S. Patent and Trademark Office on November 4, 2020, which was converted into Pending U.S. Patent Application No. 17 / 519,328, entitled “SYSTEM AND METHOD FOR PROVIDING PERSONALIZED CONTEXT,” filed with the U.S. Patent and Trademark Office on November 4, 2021. Background Technology

[0003] This invention relates generally to telecommunications systems in the field of customer relationship management, including customer assistance via call or contact centers and Internet-based service options. More specifically, but not in a limiting sense, this invention relates to systems and methods for providing personalized contexts, including personalized services provided to customers via applications running on mobile computing devices and functions enabled by cloud-based platforms. Summary of the Invention

[0004] The present invention includes a system comprising a mobile application operating on a user's mobile device, the mobile application being used to connect the mobile device to multiple contact centers and to provide the user with personalized context based on past interactions with the multiple contact centers. The system may include: the mobile application operating on the mobile device; a connection from the mobile application to a central API service, wherein the central API service provides an authentication token to the mobile application to facilitate further interaction between the mobile application and the central API service; multiple vendors, to which the user has associated multiple vendors with their profiles and which have integrated with the central API service, wherein the multiple vendors are operatively connected to the central API service for information sharing; and multiple media channels operatively connecting the multiple vendors to the central API service, thereby allowing the user to: view personalized context from past interactions associated with the multiple vendors and the multiple contact centers via the mobile application; and connect to the multiple contact centers.

[0005] These and other features of this application will become more apparent when read in conjunction with the accompanying drawings and the appended claims in the following detailed description of exemplary embodiments. Attached Figure Description

[0006] A more complete understanding of the invention will become apparent when considered in conjunction with the accompanying drawings and with reference to the following detailed description, wherein similar reference numerals indicate similar parts in the drawings:

[0007] Figure 1 A schematic block diagram depicts a communication infrastructure or contact center that can be used to enable or practice the invention according to exemplary embodiments of the present invention;

[0008] Figure 2 It is a system for providing personalized context according to an embodiment of the present invention.

[0009] Figure 3 A schematic block diagram of a computing device according to exemplary embodiments of the present invention and / or exemplary embodiments of the present invention that can be enabled or practiced therein is depicted; and

[0010] Figure 4 A schematic block diagram of a computing device is depicted that illustrates an exemplary embodiment of the invention and / or an exemplary embodiment of the invention that can be used to enable or practice the invention. Detailed Implementation

[0011] To facilitate understanding of the principles of the invention, reference will now be made to exemplary embodiments illustrated in the accompanying drawings, and these embodiments will be described using specific language. However, it will be apparent to those skilled in the art that the detailed material provided in the examples may not be necessary for practicing the invention. In other instances, well-known materials or methods have not been described in detail to avoid obscuring the invention. Furthermore, as would normally be expected by those skilled in the art, as presented herein, further modifications to the provided examples or applications of the principles of the invention can be contemplated.

[0012] As used herein, language specifying non-limiting examples and descriptions includes "for example," "i.e.," etc. Furthermore, throughout this specification, terms such as "implementation," "an embodiment," "an embodiment of the invention," "exemplary embodiment," "certain embodiments," etc., refer to a particular feature, structure, or characteristic described in connection with a given example that may be included in at least one embodiment of the invention. Therefore, the appearance of phrases such as "implementation," "an embodiment," "an embodiment of the invention," "exemplary embodiment," "certain embodiments," etc., does not necessarily refer to the same embodiment or example. Moreover, in one or more embodiments or examples, a particular feature, structure, or characteristic may be combined in any suitable combination and / or sub-combination.

[0013] Those skilled in the art will recognize from this disclosure that various embodiments can be computers implemented using many different types of data processing devices, wherein the embodiments are implemented as apparatus, methods, or computer program products. Therefore, exemplary embodiments may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Exemplary embodiments may also take the form of a computer program product embodied in computer-usable program code in any tangible medium. In each case, the exemplary embodiments may generally be referred to as a “module,” a “system,” or a “method.”

[0014] The flowcharts and block diagrams provided in the accompanying drawings illustrate the architecture, functionality, and operation of possible specific implementations of systems, methods, and computer program products according to exemplary embodiments of the present invention. In this regard, it should be understood that each block or combination of blocks in the flowcharts and / or block diagrams may represent a module, segment, or portion of program code having one or more executable instructions for implementing a specified logical function. Similarly, it should be understood that each block or combination of blocks in the flowcharts and / or block diagrams may be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions that perform a specified action or function. Such computer program instructions may also be stored in a computer-readable medium that instructs a computer or other programmable data processing apparatus to operate in a particular manner, such that the program instructions in the computer-readable medium produce an article of art including instructions that implement the function or action specified in each block or combination of blocks in the flowcharts and / or block diagrams.

[0015] Figure 1 This is a diagram illustrating an implementation scheme of a communication infrastructure, generally indicated by 100. For example, Figure 1 A system for supporting contact centers when providing contact center services is illustrated. A contact center can be an on-premises facility of a business or enterprise, used to serve the enterprise in performing sales and service functions relative to products and services available through the enterprise. Alternatively, a contact center can be operated by a third-party service provider. In one implementation, the contact center can operate as a hybrid system, where some components of the contact center system are hosted at the contact center building and others are remotely hosted (e.g., in a cloud-based environment). Contact centers can be deployed on equipment dedicated to the enterprise or third-party service provider, and / or in remote computing environments, such as private or public cloud environments with infrastructure for supporting multiple contact centers for multiple enterprises. The various components of the contact center system can also be distributed across diverse geographic locations and computing environments, and are not necessarily contained in a single location, computing environment, or even computing device.

[0016] The components of the communications infrastructure generally indicated by 100 include: multiple end-user devices 105A, 105B, 105C; a communications network 110; a switch / media gateway 115; a call controller 120; an IMR server 125; a routing server 130; a storage device 135; a statistics server 140; multiple agent devices 145A, 145B, 145C, including workbenches 146A, 146B, 146C; a multimedia / social media server 150; a web server 155; an iXn server 160; a UCS 165; a reporting server 170; and a media service 175.

[0017] In one implementation, the contact center system manages resources (e.g., personnel, computers, telecommunications equipment, etc.) to enable the delivery of services via telephone or other communication mechanisms. Such services may vary depending on the type of contact center and can range from customer service to help desk, emergency response, telemarketing, order processing, etc.

[0018] Customers, potential customers, or other end users (collectively, customers or end users) who wish to receive services from the contact center may initiate inbound communications (e.g., telephone calls, emails, chats, etc.) to the contact center via end user devices 105A, 105B, and 105C (collectively, 105). Each of the end user devices 105 can be a conventional communication device in the art, such as a telephone, cordless phone, smartphone, personal computer, tablet computer, laptop computer, etc. (to name a few non-limiting examples). Users operating the end user devices 105 can initiate, manage, and respond to telephone calls, emails, chats, text messages, web browsing sessions, and other multimedia transactions. Although three end user devices 105 are shown at 100 for simplicity, any number of end user devices may be present.

[0019] Inbound and outbound communications to and from end-user equipment 105 may traverse network 110, depending on the type of equipment being used. Network 110 may include communication networks for telephone, cellular, and / or data services, and may also include private or public switched telephone networks (PSTN), local area networks (LANs), private wide area networks (WANs), and / or public WANs such as the Internet (examples are given in a non-limiting manner). Network 110 may also include wireless carrier networks, including Code Division Multiple Access (CDMA) networks, Global System for Mobile Communications (GSM) networks, or any wireless networks / technologies conventional in the art, including but not limited to 3G, 4G, LTE, etc.

[0020] In one implementation, the contact center system includes a switch / media gateway 115 coupled to network 110 for receiving and transmitting telephone calls between end users and the contact center. The switch / media gateway 115 may include a telephone exchange or communications exchange configured to act as a central switch for agent-level routing within the center. The switch may be a hardware switching system or a software-implemented softswitch. For example, switch 115 may include an automatic call distributor, a private branch exchange (PBX), an IP-based software switch, and / or any other switch with dedicated hardware and software configured to receive interactions from the Internet and / or from the telephone network from customers, and to route those interactions to, for example, agent telephones or communications devices. In this example, the switch / media gateway establishes a voice path / connection (not shown) between the calling customer and the agent telephone device, for example, by establishing a connection between the customer's telephone device and the agent telephone device.

[0021] In one embodiment, the switch is coupled to a call controller 120, which may serve as, for example, an adapter or interface between the switch and the rest of the contact center's routing, monitoring, and other communication processing components. The call controller 120 may be configured to handle PSTN calls, VoIP calls, etc. For example, the call controller 120 may be configured with Computer Telephony Integration (CTI) software for engaging with the switch / media gateway and contact center equipment. In one embodiment, the call controller 120 may include a Session Initiation Protocol (SIP) server for handling SIP calls. The call controller 120 may also extract data about customer interactions, such as the caller's telephone number (e.g., Automatic Number Identification (ANI) number), the customer's Internet Protocol (IP) address, or email address, and communicate with other components of system 100 while processing interactions.

[0022] In one implementation, system 100 also includes an Interactive Media Response (IMR) server 125. IMR server 125 may also be referred to as a self-service system, virtual assistant, etc. IMR server 125 may be similar to an Interactive Voice Response (IVR) server, except that IMR server 125 is not limited to voice and may additionally cover various media channels. In an example illustrating voice, IMR server 125 may be configured with IMR scripts to ask customers for their needs. For example, a bank's contact center may inform a customer via an IMR script to "press 1" if they wish to retrieve their account balance. By continuing to interact with IMR server 125, the customer may be able to complete the service without speaking to the agent. IMR server 125 may also ask open-ended questions such as "How can I help you?", and the customer may state or otherwise enter the reason for contacting the contact center. Routing server 130 can use the customer's response to route the call or communication to the appropriate contact center resource.

[0023] If communication needs to be routed to an agent, the call controller 120 interacts with the routing server (also known as the orchestration server) 130 to find the appropriate agent to handle the interaction. The selection of the appropriate agent for routing inbound interactions may be based on, for example, the routing strategy adopted by the routing server 130, and further on information such as agent availability, skills, and other routing parameters provided by the statistics server 140.

[0024] In one implementation, routing server 130 can query a customer database that stores information about existing clients, such as contact information, service level agreement (SLA) requirements, the nature of previous customer contacts, and actions taken by the contact center to resolve any customer issues. The database can be, for example, Cassandra or any NoSQL database and can be stored on mass storage device 135. The database can also be an SQL database and can be managed by any database management system, such as Oracle, IBM DB2, Microsoft SQL Server, Microsoft Access, PostgreSQL, etc. (to name a few non-limiting examples). Routing server 130 can query customer information from the customer database via ANI or query any other information collected by IMR server 125.

[0025] Once a suitable agent is identified as usable for handling communications, a connection can be established between the client and the agent devices 145A, 145B, and / or 145C (collectively, 145) of the identified agent. Although for simplicity... Figure 1Three agent devices are shown, but any number of devices may exist. Information collected about customers and / or customer history may also be provided to the agent devices to assist them in better serving communications, and additionally to the contact center administrator / supervisor devices for managing the contact center. In this regard, each device 145 may include a telephone suitable for regular telephone calls, VoIP calls, etc. Device 145 may also include a computer for communicating with one or more servers of the contact center and performing data processing associated with contact center operations, and for interacting with customers via voice and other multimedia communication mechanisms.

[0026] The contact center system 100 may also include a multimedia / social media server 150 for engaging in media interactions other than voice interactions with end-user devices 105 and / or web servers 155. Media interactions may be related to, for example, email, voicemail (via email), chat, video, text messaging, web, social media, shared browsing, etc. The multimedia / social media server 150 may take the form of any IP router conventional in the art with dedicated hardware and software for receiving, processing, and forwarding multimedia events.

[0027] Web server 155 may include social interaction site hosting, for example, various known social interaction sites that end users can subscribe to (such as Facebook, Twitter, Instagram, etc., to name a few non-limiting examples). In one implementation, although web server 155 is depicted as part of contact center system 100, the web server may also be provided by a third party and / or maintained outside the contact center building. Web server 155 may also provide web pages for businesses supported by contact center system 100. End users can browse the web pages and obtain information about the business's products and services. The web pages may also provide mechanisms for contacting the contact center via, for example, web chat, voice calls, email, Web Real-Time Communication (WebRTC), etc. Desktop applets may be deployed on websites hosted on web server 155.

[0028] In one implementation, in addition to real-time interactions, deferred interactions / activities may be routed to a contact center agent. Deferred interactions or activities may include background work or work that can be performed offline, such as responding to emails or letters, participating in training, or other activities that do not require real-time communication with customers. The interaction (iXn) server 160 interacts with the routing server 130 to select an appropriate agent to handle the activity. Once assigned to an agent, the activity may be pushed to the agent or may appear as a task to be performed by the agent in the agent's work pods 146A, 146B, 146C (collectively, 146). The agent's work pods may be implemented via any data structure conventional in the art, such as a linked list, array, etc. In one implementation, the work pods 146 may, for example, be maintained in a buffer memory of each agent device 145.

[0029] In one embodiment, mass storage device 135 may store one or more databases related to agent data (e.g., agent profiles, schedules, etc.), customer data (e.g., customer profiles), and interaction data (e.g., details of each interaction with a customer, including but not limited to: the reason for the interaction, the data processed, the waiting time, the processing time, etc.). In another embodiment, some data (e.g., customer profile data) may be maintained in a customer relationship management (CRM) database hosted on mass storage device 135 or elsewhere. Mass storage device 135 may take the form of a hard disk or disk array as is conventional in the art.

[0030] In one implementation, the contact center system may include a Universal Contact Server (UCS) 165, which is configured to retrieve information stored in a CRM database and direct the storage of that information in the CRM database. The UCS 165 may also be configured to facilitate the maintenance of customer preference history and interaction history, and to capture and store data regarding comments from agents, customer communication history, etc.

[0031] The contact center system may also include a reporting server 170, which is configured to generate reports based on data aggregated by the statistics server 140. Such reports may include near real-time or historical reports related to resource status (such as average wait times, abandonment rates, agent occupancy, etc.). Reports may be generated automatically or in response to specific requests from requesters (e.g., agents / administrators, contact center applications, etc.).

[0032] Figure 1Each of the various servers may include one or more processors that execute computer program instructions and interact with other system components to perform the various functions described herein. The computer program instructions are stored in memory implemented using standard memory devices such as random access memory (RAM). The computer program instructions may also be stored in other non-transitory computer-readable media, such as CD-ROMs, flash drives, etc. While the functionality of each server is described as being provided by a specific server, those skilled in the art will recognize that, without departing from the scope of embodiments of the invention, the functionality of various servers may be combined or integrated into a single server, or the functionality of a specific server may be distributed across one or more other servers.

[0033] In one implementation, the terms “interaction” and “communication” are used interchangeably and generally refer to any real-time or non-real-time interaction using any communication channel, including but not limited to telephone calls (PSTN or VoIP calls), email, voicemail, video, chat, screen sharing, text messages, social media messages, WebRTC calls, etc.

[0034] Media Services 175 can provide audio and / or video services to support contact center features such as IVR or IMR system prompts (e.g., playback of audio files), hold music, voicemail / one-way recording, multi-way recording (e.g., multi-way recording of audio and / or video calls), speech recognition, dual-tone multi-frequency (DTMF) recognition, fax, audio and video transcoding, Secure Real-Time Transport Protocol (SRTP), audio conferencing, video conferencing, tutorials (e.g., enabling coaches to listen to interactions between clients and agents and enabling coaches to provide comments to agents when clients have not heard the comments), call analytics, and keyword targeting.

[0035] In one implementation, the building-based platform product provides access to and control of components of system 100 via a user interface (UI) present on agent devices 145A-C. Within the building-based platform product, a graphical application generator program can be integrated, allowing users to write programs (processors) that control various interactive processing behaviors within the building-based platform product. As described above, the contact center can operate as a hybrid system, with some or all of its components remotely hosted, such as in a cloud-based environment. For convenience, aspects of embodiments of the invention will be described below with respect to providing modular tools from a cloud-based environment to components housed within a building.

[0036] As background art, and now generally referred to Figure 2 It will be understood that customers often waste a significant amount of time trying to connect to an organization or enterprise's customer support, for example, regarding things like... Figure 1The contact center shown here provides this service. First, the contact information used by different businesses to reach customer support is located in different or hard-to-reach places. Customers become frustrated trying to find customer support contact information. Agents become frustrated when dealing with these customers. Currently, there is no convenient way to contact customer support from multiple businesses for things like refunds, order status, or account status. Therefore, it would be beneficial to have an interface on the customer's mobile device that allows for convenient coordination of a user's (i.e., the customer's) access to customer support from many businesses. Furthermore, when a customer finally contacts customer support, customer service agents (or simply "agents") often lack contextual information relevant to the interaction, wasting valuable time verifying what the customer already knows and what the business should know. Systems or applications that provide personalized context to agents would enable an improved customer experience.

[0037] Specific reference Figure 2 As part of this disclosure, system 200 is provided, in which mobile application 210 assists users in customer service in a manner that addresses the aforementioned problems. Mobile application 210 provides an interface on the display of a user device, such as a smartphone, that coordinates connection, authentication, and interaction with a backend central API service 220 (or “central API service 220”). Central API service 220 connects to a cloud-based contact center platform (or simply “contact center platform”) 230 to coordinate the provision of several services to users. System 200 also includes a supplier information API 235, which communicates with central API service 220 and, as will be seen, can be used to retrieve a user’s customer order information. Furthermore, a supplier-customer authentication API 240 is provided for authenticating a user as a customer associated with a specific supplier. Additionally, contact center platform 230 is accessible from central API service 220 via public API 245. The contact center platform 230 may also include a session service 250, a media queue 255, an agent resource 260, and data collectors such as a recording service 265 and a transcription processor 270, each of which collects data from interactions between the user and the agent and the data is available to the user and the agent in subsequent interactions to provide context.

[0038] As discussed in more detail below, according to the implementation scheme, users can efficiently contact customer support from suppliers via contact center platform 230 from mobile application 210. This can include chat or voice interaction. In this way, users can connect with customer support agents representing a specific enterprise or supplier. Additionally, the agent can utilize the authentication process to quickly identify the user's profile and other contextual information, such as past orders or transcripts from past interactions. Users can schedule callbacks directly or within the context of previous orders to create a more personalized customer experience. Users can quickly review all their previous interaction history in one place. Such interaction history can include a complete transcript of all the user's chat and voice interactions. Therefore, as will be seen, aspects of this disclosure enhance the personalization offered to customers and improve overall communication with them.

[0039] According to an exemplary implementation, system 200 can coordinate account registration and login to mobile application 210. That is, a user can initiate services by registering an account via mobile application 210. Mobile application 210 can be provided and accessed via the user's mobile device (such as a smartphone). Once registered, the user logs in to use mobile application 210. For example, on mobile application 210, the user creates a new account, and once created, the user then enters credentials to log in to central API service 220. Central API service 220 then sends an authentication token to mobile application 210. Mobile application 210 can then store the authentication token and use it to authenticate the user in all subsequent interactions and communications with central API service 220.

[0040] According to an exemplary implementation, system 200 can coordinate user registration for association with vendors already integrated into mobile application 210. Users can perform this operation via mobile application 210 by browsing a list of such integrated vendors provided to them through mobile application 210. Then, using mobile application 210, users select a specific vendor they are interested in and register or associate that vendor with their profile. This registered association is then maintained via mobile application 210, which recognizes the association until the user decides to terminate it.

[0041] According to an exemplary implementation, system 200 can coordinate the integration of suppliers into mobile application 210. By doing so, suppliers become available to users (i.e., users can choose to associate with a supplier). This integration process may include the supplier registering with and providing information to a central API service 220. The central API service 220 then maps the supplier to an organization ID, a queue ID, and an API access token, which is used in association with the services provided by the contact center platform. For order history, the supplier may also provide the central API service 220 with a supplier management token for authentication.

[0042] According to an exemplary implementation, system 200 can coordinate a user's request for and receipt of order history associated with a supplier linked to their account. In such a case, as described above, the user will have already registered with the supplier. Then, via mobile application 210, the user selects or indicates that they wish to see their order history with a specific supplier. Mobile application 210 can then connect to the supplier-customer authentication API 240 and provide authentication information associated with that supplier. In response, mobile application 210 receives the user's customer ID from the supplier-customer authentication API 240. Mobile application 210 then connects to a central API service 220 and requests order history associated with the specific supplier given the customer ID. Central API service 220 then connects to a supplier information API 235 for retrieving order information. Central API service 220 can provide the customer ID and supplier identifier to supplier information API 235. For authentication purposes, central API service 220 can also provide a supplier management token. Given this information, supplier information API 235 retrieves the user's order history and transmits it to central API service 220, which in turn sends it to mobile application 210 and provides it to the user.

[0043] According to an exemplary implementation, system 200 can coordinate a user's request for customer support communication with a vendor. For example, consider a scenario where a user wishes to chat with customer support of a selected vendor. In such a case, the user can simply initiate a chat by selecting a chat option related to the selected vendor, provided via mobile application 210. In response, mobile application 210 connects to central API service 220 and receives chat interaction information related to the selected vendor (as may have been provided and configured as part of the previously discussed integration process associated with the selected vendor). Central API service 220 returns vendor-related information such as queue ID and API access token to mobile application 210. Using this received information, mobile application 210 then initiates a chat interaction with the vendor by connecting to a contact center platform. In this implementation, a cloud chat desktop applet can be used to implement the chat interaction.

[0044] According to an exemplary implementation, system 200 can coordinate a user's request for and receipt of transcripts of past chats with a vendor. In such a case, for example, a user can choose to view previous chat interactions with a specific vendor from mobile application 210. Mobile application 210 connects to central API service 220 to request transcripts. Central API service 220 then requests transcripts of the chats from public API 245.

[0045] According to an exemplary implementation, system 200 can coordinate calls between a user and a supplier (i.e., with voice interaction). In such a case, the user selects a call option related to the selected supplier, provided by mobile application 210. Mobile application 210 then initiates a call to the telephone number corresponding to the supplier (e.g., available in a supplier information card).

[0046] According to an exemplary implementation, system 200 can coordinate a user's scheduled callback with a specific supplier. In such a case, the user selects a scheduled callback with the supplier from mobile application 210. The user can specify the requested callback time. Mobile application 210 then initiates a request to central API service 220 using information associated with the customer and supplier, as well as the preferred callback time. Central API service 220 then initiates the request to the public API 245 of the contact center platform by providing a supplier API access token and other relevant information, and creates a session with the requested callback information (i.e., with session service 250). The callback request is added to media queue 255, and agent 260 initiates the callback at the scheduled time, or immediately if no callback time is specified.

[0047] According to an exemplary implementation, system 200 can coordinate a user's request for and receipt of text transcripts of past calls with a vendor's agent. In such a case, the customer selects from mobile application 210 to view transcripts of previous call interactions with a specific vendor. Mobile application 210 then connects to central API service 220 and requests transcription. Central API service 220 then requests transcripts of specific calls from public API 245, such as transcripts that may have been previously created via recording service 265 and transcription processor 270.

[0048] According to an exemplary application of the above concepts, a system is provided that includes a mobile application operating on a user's mobile device, the mobile application being used to connect the mobile device to multiple contact centers and provide the user with personalized context based on past interactions with the multiple contact centers. The system may include: the mobile application operating on the mobile device; a connection from the mobile application to a central API service, wherein the central API service provides an authentication token to the mobile application to facilitate further interaction between the mobile application and the central API service; multiple vendors, to which the user has associated multiple vendors with their profiles and which have integrated with the central API service, wherein the multiple vendors are operatively connected to the central API service for information sharing; and multiple media channels operatively connecting the multiple vendors to the central API service, thereby allowing the user to: view personalized context from past interactions associated with the multiple vendors and the multiple contact centers via the mobile application; and connect to the multiple contact centers.

[0049] In an exemplary implementation, integration may include mapping each vendor with a unique organization identifier, queue identifier, and API access token via a cloud-based contact center platform from a central API service.

[0050] In an exemplary implementation, the interaction history sharing includes the user requesting order history from a first supplier among a plurality of suppliers by: the mobile application connecting to an authentication API associated with the first supplier; transmitting authentication information provided by the user to the authentication API of the first supplier; a central API service receiving a supplier access token from the first supplier; the mobile application receiving the user's identifier from the authentication API of the first supplier; the user transmitting the request for the order history from the mobile application to the central API service, wherein the request includes the user's identifier and the supplier identifier of the first supplier; the central API service transmitting the request for the order history, the supplier access token, and the user's identifier to a supplier information API associated with the first supplier; and the central API service receiving the order history from the supplier information API associated with the first supplier, and the central API service transmitting the received order history to the mobile application for display on the mobile device.

[0051] In an exemplary implementation, one of the multiple media channels is operatively connected to a queue identifier, which is returned to a mobile application by a central API service for use in initiating an interaction with one of the multiple vendors using a desktop applet associated with the contact center platform. The interaction may include at least one of chat interactions, calls, and requests for a callback. Personalized context may include transcripts of one or more previous voice interactions and / or one or more chat interactions.

[0052] Now for reference Figure 3 and Figure 4 This invention may include or be implemented in a computer system 400. It should be understood that each of the various servers, controls, switches, gateways, engines, and / or modules (collectively, servers) shown in the figures is implemented via hardware or firmware (e.g., ASIC), as will be understood by those skilled in the art. Each of the various servers may be implemented in one or more computing devices (e.g., [unclear - possibly a computer system]). Figure 4 A, Figure 4 B) refers to a process or thread that runs on one or more processors, executes computer program instructions, and interacts with other system components to perform the various functions described herein. The computer program instructions are stored in memory, which may be implemented in the computing device using standard memory devices such as RAM. The computer program instructions may also be stored in other non-transitory computer-readable media, such as CD-ROMs, flash drives, etc. Those skilled in the art will recognize that computing devices can be implemented via firmware (e.g., application-specific integrated circuits), hardware, or a combination of software, firmware, and hardware. Those skilled in the art will also recognize that, without departing from the scope of exemplary embodiments of the invention, the functionality of various computing devices may be combined or integrated into a single computing device, or the functionality of a particular computing device may be distributed across one or more other computing devices. A server may be a software module, which may also be simply referred to as a module. This group of modules in the contact center may include servers and other modules.

[0053] Various servers may be located on on-site computing equipment at the same physical location as the contact center's agent, or they may be located off-site (or in the cloud) at geographically different locations (e.g., in a remote data center) connected to the contact center via a network such as the Internet. Furthermore, some servers may be located on on-site computing equipment at the contact center, while others may be located off-site computing equipment, or servers providing redundancy may be provided via both on-site and off-site computing equipment to provide greater fault tolerance. In some implementations, functionality provided by servers located off-site may be accessed and provided via a Virtual Private Network (VPN) as if such servers were on-site, or functionality may be provided using Software as a Service (SaaS) to provide functionality over the Internet using various protocols, such as exchanging data using data encoded in Extensible Markup Language (XML) or JSON.

[0054] Figure 3 and Figure 4 This is a diagram illustrating an embodiment of a computing device, generally indicated by 400, that can be employed in an embodiment of the present invention. Each computing device 400 includes a CPU 405 and a main memory unit 410. Figure 3 As shown, computing device 400 may further include storage device 415, removable media interface 420, network interface 425, input / output (I / O) controller 430, one or more display devices 435A, keyboard 435B, and pointing device 435C (e.g., mouse). Storage device 415 may include, but is not limited to, storage devices for operating systems and software. Figure 4 As shown, each computing device 400 may also include additional optional elements such as a memory port 440, a bridge 445, one or more additional input / output devices 435D, 435E, and a cache memory 450 communicating with the CPU 405. Input / output devices 435A, 435B, 435C, 435D, and 435E are collectively referred to herein as 435.

[0055] CPU 405 is any logic circuit that responds to and processes instructions fetched from main memory unit 410. It may be implemented, for example, as an integrated circuit, as a microprocessor, microcontroller, or graphics processing unit, or as a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC). Main memory unit 410 may be one or more memory chips capable of storing data and allowing central processing unit 405 direct access to any memory location. Figure 3 As shown, the central processing unit 405 communicates with the main memory 410 via the system bus 455. Figure 4As shown, the central processing unit 405 can also communicate directly with the main memory 410 via the memory port 440.

[0056] In one embodiment, CPU 405 may include multiple processors and provide functionality for executing multiple instructions simultaneously or for executing an instruction on more than one piece of data simultaneously. In one embodiment, computing device 400 may include a parallel processor having one or more cores. In one embodiment, computing device 400 includes a shared-memory parallel device having multiple processors and / or multiple processor cores, accessing all available memory as a single global address space. In another embodiment, computing device 400 is a distributed-memory parallel device with multiple processors, each processor accessing only local memory. Computing device 400 may have both some shared memory and some memory that can be accessed only by a specific processor or subset of processors. CPU 405 may include a multi-core microprocessor that combines two or more independent processors into a single package, for example, into a single integrated circuit (IC). For example, computing device 400 may include at least one CPU 405 and at least one graphics processing unit.

[0057] In one implementation, CPU 405 provides Single Instruction Multiple Data (SIMD) functionality, for example, executing a single instruction on multiple data lines simultaneously. In another implementation, several processors within CPU 405 may provide functionality for executing multiple instructions on multiple data lines simultaneously (MIMD). CPU 405 may also use any combination of SIMD cores and MIMD cores in a single device.

[0058] Figure 4 An embodiment in which the CPU 405 communicates directly with the cache memory 450 via a second bus (sometimes referred to as the back-side bus) is depicted. In other embodiments, the CPU 405 communicates with the cache memory 450 using the system bus 455. The cache memory 450 typically has a faster response time than the main memory 410. Figure 3 As shown, CPU 405 communicates with various I / O devices 435 via local system bus 455. Various buses can be used as local system bus 455, including but not limited to Video Electronics Standards Association (VESA) Local Bus (VLB), Industry Standard Architecture (ISA) bus, Extended Industry Standard Architecture (EISA) bus, Microchannel Architecture (MCA) bus, Peripheral Component Interconnect (PCI) bus, PCI-X bus, PCI-Express bus, or NuBus. In implementations where the I / O device is a display device 435A, CPU 405 communicates with the display device 435A via Advanced Graphics Port (AGP). Figure 4 An implementation scheme of a computer 400 in which the CPU 405 communicates directly with the I / O device 435E is described. Figure 4 An implementation scheme that combines local bus and direct communication is also described: CPU 405 communicates with I / O device 435D using local system bus 455, while communicating directly with I / O device 435E.

[0059] The computing device 400 may contain a variety of I / O devices 435. Input devices include one or more keyboards 435B, a mouse, a touchpad, a trackball, a microphone, and a plotter (to name a few non-limiting examples). Output devices include a video display device 435A, speakers, and a printer. Figure 3 The I / O controller 430 shown can control the one or more I / O devices, such as, for example, a keyboard 435B and a pointing device 435C (e.g., a mouse or optical pen).

[0060] Refer again Figure 3 The computing device 400 may support one or more removable media interfaces 420, such as floppy disk drives, CD-ROM drives, DVD-ROM drives, tape drives of various formats, USB ports, Secure Digital or Compact FLASH™ memory card ports, or any other device suitable for reading data from read-only media or for reading data from or writing data to read-write media. The I / O device 435 may be a bridge between the system bus 455 and the removable media interface 420.

[0061] The removable media interface 420 can be used, for example, to install software and programs. The computing device 400 may also include a storage device 415, such as one or more hard disk drives or a hard disk drive array, for storing the operating system and other related software, and for storing application software programs. Optionally, the removable media interface 420 may also be used as a storage device. For example, the operating system and software may run from a bootable medium (e.g., a bootable CD).

[0062] In one embodiment, computing device 400 may include or be connected to a plurality of display devices 435A, each display device may have the same or different type and / or form. Therefore, either I / O device 435 and / or I / O controller 430 may include any type and / or form of suitable hardware, software, or a combination of hardware and software to support, enable, or provide computing device 400 with connectivity to and use of the plurality of display devices 435A. For example, computing device 400 may include any type and / or form of video adapter, video card, driver, and / or library for engaging, communicating, connecting, or otherwise using display devices 435A. In one embodiment, video adapters may include multiple connectors for engaging to the plurality of display devices 435A. In another embodiment, computing device 400 may include multiple video adapters, each video adapter being connected to one or more display devices among display devices 435A. In other embodiments, one or more display devices among display devices 435A may be provided by one or more other computing devices connected via a network to, for example, computing device 400. These implementations may include any type of software designed and configured to use the display device of another computing device as a second display device 435A of the computing device 400. Those skilled in the art will recognize and understand that the computing device 400 can be configured in various ways and implementations to have multiple display devices 435A.

[0063] exist Figure 3 and Figure 4 The implementation scheme of the computing device, generally indicated in the document, can operate under the control of an operating system that controls task scheduling and access to system resources. The computing device 400 can run any operating system, any embedded operating system, any real-time operating system, any open-source operating system, any proprietary operating system, any operating system for mobile computing devices, or any other operating system capable of running on the computing device and performing the operations described herein.

[0064] The computing device 400 can be any workstation, desktop computer, laptop or notebook computer, server machine, handheld computer, mobile phone or other portable telecom device, media playback device, gaming system, mobile computing device, or any other type and / or form of computing, telecommunications, or media device capable of communication and having sufficient processor power and memory capacity to perform the operations described herein. In some embodiments, the computing device 400 may have a different processor, operating system, and input devices consistent with the device.

[0065] In other embodiments, computing device 400 is a mobile device. Examples may include a Java-enabled cellular phone or personal digital assistant (PDA), smartphone, digital audio player, or portable media player. In one embodiment, computing device 400 includes a combination of devices, such as a mobile phone combined with a digital audio player or portable media player.

[0066] Computing device 400 may be one of a plurality of machines connected by a network, or it may include a plurality of machines so connected. The network environment may include one or more local machines, clients, client nodes, client machines, client computers, client devices, endpoints, or endpoint nodes that communicate with one or more remote machines (which may also be referred to as server machines or remote machines) via one or more networks. In one embodiment, the local machine has the capability to act as a client node seeking access to resources provided by the server machine, and as a server machine to provide access to hosted resources as other clients. The network may be a LAN or WAN link, a broadband connection, a wireless connection, or any or a combination of the foregoing. Various communication protocols may be used to establish connections. In one embodiment, computing device 400 communicates with other computing devices 400 via any type and / or form of gateway or tunneling protocol (such as Secure Sockets Layer (SSL) or Transport Layer Security (TLS)). The network interface may include a built-in network adapter (such as a network interface card) adapted to connect the computing device to any type of network capable of communicating and performing the operations described herein. I / O devices may be bridges between system buses and external communication buses.

[0067] In one implementation, the network environment can be a virtual network environment where various components of the network are virtualized. For example, the various machines can be virtual machines implemented as software-based computers running on physical machines. The virtual machines can share the same operating system. In other implementations, different operating systems can run on each virtual machine instance. In one implementation, a "hypervisor" type of virtualization is implemented, where multiple virtual machines run on the same host physical machine, each acting as if it had its own dedicated box. Virtual machines can also run on different host physical machines.

[0068] Other types of virtualization are also envisioned, such as networking (e.g., via Software-Defined Networking (SDN)). Functions (such as session border controller functions and other types of functions) can also be virtualized, such as via Network Functions Virtualization (NFV).

[0069] In one implementation, using LSH to automatically discover carrier audio messages from a large number of pre-connected audio recordings can be applied to support processes for media services in contact center environments. For example, this can aid call analysis processes in contact centers and eliminate the need for humans to listen to large amounts of audio recordings to discover new carrier audio messages.

[0070] While the invention has been shown and described in detail in the accompanying drawings and the foregoing description, it should be regarded as exemplary rather than restrictive. It should be understood that only preferred embodiments have been shown and described, and protection is intended for all equivalents, changes and modifications falling within the spirit of the invention as set forth herein and / or as set forth in the appended claims.

[0071] Therefore, the appropriate scope of the invention should be determined only by the broadest interpretation of the appended claims, so as to cover all such modifications and all relationships equivalent to those shown in the drawings and described in the specification.

Claims

1. A system (100) including a mobile application (210) operating on a user's mobile device, the mobile application being used to connect the mobile device (400) to multiple contact centers and provide personalized context, the system comprising: The mobile application (210) operates on the user's mobile device (400), wherein the user's mobile device (400) includes a smartphone; A connection from the mobile application (210) to a central API service (220), wherein the central API service (220) provides an authentication token to the mobile application (210) to facilitate further interaction between the mobile application (210) and the central API service (220); Multiple suppliers, wherein the user has associated the multiple suppliers with the multiple supplier profiles and the multiple suppliers have been integrated with the central API service (220), wherein the multiple suppliers are operatively connected to the central API service (220) for interaction history sharing, wherein the interaction history sharing includes the user requesting order history from a first supplier among the multiple suppliers in the following manner: The mobile application (210) connects to the authentication API (240) associated with the first supplier; The authentication information provided by the user is transmitted to the authentication API (240) of the first supplier; The central API service (220) receives a vendor access token from the first vendor; The mobile application receives the user's identifier from the authentication API (240) of the first vendor; In response to the user's request for the order history transmitted from the mobile application (210) to the central API service (220), wherein the request includes the user's identifier and the supplier identifier of the first supplier; The central API service (220) transmits the request for the order history, the supplier access token, and the user's identifier to the supplier information API (235) associated with the first supplier; as well as The central API service (220) receives the order history from the supplier information API (235) associated with the first supplier, and the central API service (220) transmits the received order history to the mobile application (210) for display on the mobile device (400) for viewing by the user. Multiple media channels operatively connect the multiple vendors to the central API service (220), wherein one of the multiple media channels is operatively connected to a queue identifier returned by the central API service (220) to the mobile application (210) for initiating an interaction with one of the multiple vendors using a desktop widget associated with the contact center platform, wherein the interaction includes at least one of chat interaction, calling, and requesting a callback, thereby allowing the user to: View personalized context from past interactions between the user and the plurality of contact centers through the mobile application (210); as well as Connect to the multiple contact centers.

2. The system of claim 1, wherein the integration includes mapping each vendor by the central API service (220) via a cloud-based contact center platform using a unique organization identifier, the queue identifier, and the API access token.

3. The system of claim 1, wherein the personalized context includes transcripts of one or more previous voice interactions.

4. The system of claim 1, wherein the personalized context includes transcripts of one or more previous chat interactions.

5. The system of claim 1, wherein the user is a customer of one or more of the plurality of suppliers.

6. A system comprising: Central API Service (220); A mobile application (210) operating on a user's mobile device (400), wherein the mobile application (210) is configured to connect to multiple contact centers associated with multiple suppliers via the central API service (220) and provide the user with personalized context based on past interactions that have occurred between the user and the multiple contact centers, wherein sharing the past interactions includes the user requesting order history from a first supplier among the multiple suppliers in the following manner: The mobile application (210) connects to the authentication API (240) associated with the first supplier; The authentication information provided by the user is transmitted to the authentication API (240) of the first supplier; The central API service (220) receives a vendor access token from the first vendor; The mobile application (210) receives the user's identifier from the authentication API (240) of the first vendor; In response to the user's request for the order history transmitted from the mobile application (210) to the central API service (220), wherein the request includes the user's identifier and the supplier identifier of the first supplier; The central API service (220) transmits the request for the order history, the supplier access token, and the user's identifier to the supplier information API (235) associated with the first supplier; as well as The central API service (220) receives the order history from the supplier information API (235) associated with the first supplier, and the central API service (220) transmits the received order history to the mobile application (220) for display on the mobile device (400) to the user; Processor (270); and A memory, which communicates with the processor (270), stores instructions that, when executed by the processor (270), cause the processor to provide the personalized context in the following manner: The mobile application (210) connects to the central API service (220); Communicate with the central API service (220) to integrate the multiple vendors into the mobile application (210); Interacting with the user via an interface generated by the mobile application (220) on the mobile device (400), wherein the interaction with the user includes enabling the user to create an account and select the plurality of providers to be associated with the created account; An authentication token is sent from the central API service (220) to the mobile application (210) for interaction with the central API service (220), wherein the API service (220) communicates on behalf of the user with the plurality of vendors associated with the user's account; The plurality of vendors are connected to the central API service (220) via a plurality of media channels, wherein one of the plurality of media channels is operatively connected to a queue identifier, which is returned by the central API service (220) to the mobile application (210) for initiating an interaction with one of the plurality of vendors using a desktop widget associated with the contact center platform, wherein the interaction includes at least one of chat interaction, calling, and requesting a callback; In response to a request from the user, retrieve the interaction history associated with one or more contact centers of the plurality of suppliers; and The retrieved interaction history is displayed to the user on the mobile device, wherein the interaction history includes transcripts of at least one previous interaction between the user and one or more of the plurality of contact centers of the plurality of vendors.

7. The system of claim 6, wherein the integration includes mapping each vendor by the central API service (220) via a cloud-based contact center platform with a unique organization identifier, the queue identifier, and the API access token.

8. The system of claim 6, wherein the personalized context includes transcripts of one or more previous voice interactions.

9. The system of claim 6, wherein the personalized context includes transcripts of one or more previous chat interactions.

10. The system of claim 6, wherein the user is a customer of one or more of the plurality of suppliers.