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.
What are some best practices when implementing Chat REST API integrations?
Use a Single Polling Thread per Session
Only one thread per session should run the polling loop, whether for an Agent or Consumer session.
Running multiple concurrent getMessages requests for the same session can lead to race conditions, duplicated processing, out-of-order message handling, unnecessary server load, and unexpected behavior.
Each session should therefore have a single dedicated thread or process responsible for polling messages from the Chat server.
Do Not Send Concurrent getMessages Requests
If no new data is available, the getMessages request remains open for up to 30 seconds before returning a response. This behavior is intentional and is part of the long-polling mechanism used by the Chat service.
During this period, the client application must not initiate another getMessages request for the same session. Sending overlapping requests can result in unnecessary network traffic, increased server load, delayed message processing, session instability, or inconsistent sequencing behavior.
A new getMessages request should only be initiated after the previous request has completed.
Always Track and Send the Sequence Number
The sequence number should always be tracked and included in subsequent getMessages requests.
If no sequence number is provided, the Chat server assumes the client requires the entire available message history for the session and returns all available data. For long-running sessions, this can result in very large payloads, increased bandwidth usage, higher memory consumption, and slower processing times.
Using the latest sequence number ensures that only newly available messages are returned, significantly improving performance and scalability.
Immediately Restart Polling After Receiving Data
When new data is available, the getMessages request returns immediately rather than waiting for the full polling timeout.
To maintain near real-time communication and minimize latency, the client should:
This prevents message retrieval from being delayed by downstream processing operations.
Separate Polling from Message Processing
The thread responsible for calling getMessages should remain dedicated to message retrieval and should never be blocked by response processing logic.
For large message payloads or complex processing operations, synchronous handling within the polling thread can introduce delays that impact message delivery timing, responsiveness, session synchronization, and overall application stability.
As a best practice, the polling thread should focus exclusively on retrieving messages from the Chat server, and a separate processing layer or thread pool should handle parsing, business logic, database operations, UI updates, or other downstream tasks.
This architecture improves scalability and helps maintain consistent polling behavior under heavy load.
Properly Handle and Recover from Error Responses
All error responses returned by the Chat REST API must be properly parsed, logged, and handled by the client application.
Examples may include:
Transient errors should not terminate the polling mechanism or invalidate the client workflow. The application should implement appropriate retry and recovery logic to ensure polling can continue after temporary failures.
Improper error handling may result in stalled chat sessions, missed messages, broken polling loops, or unnecessary session termination.
Avoid API Calls After Session Invalidation
Once a Chat session has been invalidated or terminated, any subsequent API requests associated with that session will fail. This commonly occurs when the end user disconnects, the agent session ends, the session times out, or the conversation is explicitly terminated.
Applications should therefore ensure that:
Failure to properly synchronize session termination can result in errors such as 403 INVALID_SESSION_ID, failed engagement closure requests, unnecessary retries or logging noise.
Proper session lifecycle management is essential to maintaining a stable Chat REST API integration.