Search for existing answers to your product and support questions.
Familiarize yourself with our support site and learn best practices in working with our team.
Manage Service Requests, View and update service requests submitted by you and others in your organization.
Submit a new issue to our technical support team.
Oracle B2C Service insights from our Technical Support team subject matter experts
Browse resources to assist you in launching your implementation and ensure a successful go-live.
Access your OCI account.
Find product documentation for supported versions of B2C and documentation libraries for related service solutions.
You will have the tools to improve your customers' experience when you learn about all the things our products can do.
Find links for API documentation, Custom Processes, Customer Portal, and Agent Browser UI Extensibility Framework.
Explore how accelerators are designed to demonstrate how an integration scenario could be built using the public integration and extension capabilities of the Oracle B2C Service.
Prepare for a successful transition by reviewing upcoming release changes and enhancements.
Explore webinars, events, and feature kits to learn about B2C Service features, functionality, and best practices from the technical experts.
Oracle MyLearn offers a portfolio of free and paid subscription-based learning resources to help you gain valuable skills, accelerate cloud adoption, increase productivity, and transform your business.
Empower your team with the skills to implement, configure, manage, and use your applications with Customer Experience Cloud Training.
Our goal is to facilitate a friendly, supportive environment where members can easily collaborate with each other on solutions and best practices.
Ask and answer questions specific to B2C.
This is an exciting resource intended to help with your Oracle Service Cloud Analytics.
Share product improvement ideas and enhancement requests with Oracle Development, while collaborating with other Oracle customers and partners.
Update your phone number, email notification preferences, and severity 1 and severity 2 contact preferences.
View the contact managers within your organization.
Find contact information of the Technical Account Manager (TAM) and Client Success Manager (CSM) for your organization.
The chat language translation feature makes it easy for chat agents to communicate with customers who speak a different language. Starting in the 24C release, administrators can configure the chat language translation feature so that a third-party service provides the language translation. For example, Oracle OCI language translation, Language I/O, Google translation, Azure translation APIs or any REST API translation service provider can be used to serve agents the real-time chat translations. For more information on how to enable and configure this feature, check out Answer 12842: Requirements to configure Language Translation for Chat in the Browser User Interface.
This article provides high-level information about the configurations required in below specified modules:
It also includes help on the sample code required for the extensibility actions.
External Object Integration:
First, configure the language detect and the translate API within the External Objects Integration (documentation). Add separate connections for the detect and translate API endpoints of the translation provider in the External Object Integration as shown below:
Next, test the connection to ensure the detect and translation APIs are giving the expected responses. For example, test the Language I/O detect and translate connections by setting the payload in the Request Body field and doing a POST request as shown in above images.
Now that you have created the external object integration so that your preferred language translation provider can detect the language and provide the language translation, you can configure the Language Translation feature for chat.
Chat Translation Configuration:
To configure the feature within the Administration page of the Browser UI:
Use the shuffle control to specify which profiles have the feature enabled, as shown below:
Second, go to the Customizations tab and provide a function name for “Convert Request Extensibility Action” and “Convert Response Extensibility Action”, as shown in the below image:
These functions must be implemented in the extensibility code. The interface types for the parameters are defined in Interfaces:
Now that you have created the language detection and translation component, and defined the extensibility actions for convert requests and responses, you can implement these new functions.
Sample code for Extensibility actions:
Convert Request Extensibility Action: Implement the function that is specified in “Convert Request Extensibility Action” in the Chat Translation configuration. In this example the function specified was “convertRequest”:
///<reference path="./osvcExtension.d.ts"/> public convertRequest(param: ILanguageTranslationRequest): ILanguageTranslationTransformedRequest { let transformedRequest: ILanguageTranslationTransformedRequest; if (param.translationType === 'TRANSLATION') { transformedRequest = { // expected format of the Translation API payload: { "q": param.text, "target": param.targetLanguageCode } } } else if (param.translationType === 'DETECT_LANGUAGE') { // expected format of the Detect API transformedRequest = { payload: { "q": param.text } } } return transformedRequest; }
Convert Response Extensibility Action: Implement the function that is specified in “Convert Response Extensibility Action” in the Chat Translation configuration. In this example the function specified was “convertResponse”:
//Define a languageCodeMap which returns the name of the detected language. ///<reference path="./osvcExtension.d.ts"/> const languageCodeMap = { 'ar': 'Arabic', 'zh-CN': 'Chinese(Simplified)', 'zh-TW': 'Chinese(Traditional)', 'cs': 'Czech', 'da': 'Danish', 'nl': 'Dutch', 'en': 'English', 'fi': 'Finnish', 'fr': 'French', 'de': 'German', 'el': 'Greek', 'hu': 'Hungarian', 'it': 'Italian', 'ja': 'Japanese', 'ko': 'Korean', 'nb-NO': 'Norwegian(Bokmål)', 'pl': 'Polish', 'pt': 'Portuguese', 'pt-BR': 'Portuguese(Brazil)', 'ro': 'Romanian', 'ru': 'Russian', 'es': 'Spanish', 'sv': 'Swedish' } public convertResponse(param: ILanguageTranslationResponse): ILanguageDetectionTransformedResponse | ILanguageTranslationTransformedResponse { let transformedResponse: ILanguageDetectionTransformedResponse | ILanguageTranslationTransformedResponse; if (param.translationType === 'TRANSLATION') { transformedResponse = { translatedText: param.payload?.data?.translations[0].translatedText } } else if (param.translationType === 'DETECT_LANGUAGE') { const languageCode = param?.payload?.data?.detections[0][0].language; const languageScore = param?.payload?.data?.detections[0][0].confidence; const languageLabel = languageCodeMap[languageCode]; let languages: IDetectedLanguage[] = [{ code: languageCode, name: languageLabel, score: languageScore }] transformedResponse = { languages: languages } } return transformedResponse; }
Register Extensibility Action: Register the action name and invoke the code below, so that the action can execute the callback function (BUI Extensibility Documentation):
class SampleExtensionClass { public async initialize(): Promise<void> { const extensionProvider: IExtensionProvider = await ORACLE_SERVICE_CLOUD.extension_loader.load("CUSTOM_APP_ID", "1"); const globalContext: IExtensionGlobalContext = await extensionProvider.getGlobalContext(); //register the functions defined for converting request and response as defined in Chat Translation Customization Configuration image globalContext.registerAction('convertRequest', this.convertRequest.bind(this)); globalContext.registerAction('convertResponse', this.convertResponse.bind(this)); } ..... // add convert request and add convert response functions defined in above code snippets ..... }
(async () => { return await new SampleExtensionClass().initialize(); })()
Now that you have implemented the proper functions and registered the related actions, you can test the Language Translation feature within Chat. Testing is critical to ensure the third-party service is providing translations during the real time chat session.