OIC Callback Explained Simply

Share

Introduction

Callback in Oracle Integration Cloud (OIC) is a critical concept when dealing with asynchronous integrations, especially in real-world enterprise scenarios where systems don’t respond immediately. In modern cloud architectures using Oracle Integration Cloud (OIC Gen 3), callback mechanisms help manage long-running processes, external approvals, third-party system responses, and delayed transactions.

From a consultant’s perspective, callback integrations are heavily used in projects involving Fusion HCM approvals, ERP invoice processing, SCM order orchestration, and external payment gateways. If you don’t design callbacks properly, integrations either fail silently or lead to data inconsistencies.

In this blog, we will break down callback patterns in OIC with practical implementation guidance, not just theory.


What is Callback in Oracle Integration Cloud?

A callback in OIC is a mechanism where:

  • An integration sends a request to an external system
  • The external system processes it asynchronously
  • Instead of waiting, OIC pauses execution
  • Once processing is complete, the external system sends a callback response
  • OIC resumes the integration flow

Key Concept

👉 Callback = Wait + Resume pattern

Unlike synchronous APIs (request-response), callbacks are designed for:

  • Long-running transactions
  • External system dependencies
  • Human approvals
  • Event-driven architectures

Key Features of Callback in OIC Gen 3

1. Asynchronous Processing Support

  • Allows integrations to run without blocking threads
  • Improves performance in high-volume environments

2. Wait Activity

  • OIC provides a Wait action to pause integration until callback is received

3. Callback Endpoint Generation

  • OIC automatically generates a callback URL
  • External systems use this URL to send response

4. Correlation Mechanism

  • Uses tracking identifiers to match callback with original request

5. Fault Handling Support

  • Timeout handling if callback is not received
  • Retry logic can be implemented

Real-World Integration Use Cases

Use Case 1 – Fusion HCM Approval Workflow

Scenario:

  • Employee submits a promotion request
  • OIC sends data to external approval system
  • Manager approves after 2 days
  • External system sends callback

Why Callback?

  • Approval is not immediate
  • OIC must wait without timing out

Use Case 2 – ERP Invoice Processing with External Tax Engine

Scenario:

  • Invoice sent to external tax calculation system
  • System processes large batch (10–15 mins)
  • Sends calculated tax via callback

Use Case 3 – Payment Gateway Integration

Scenario:

  • OIC sends payment request
  • Bank processes asynchronously
  • Sends success/failure callback

Architecture / Technical Flow

Below is the typical callback flow in OIC:

  1. Trigger Integration (REST/SOAP)
  2. Send request to external system
  3. Store correlation ID
  4. Wait activity initiated
  5. External system processes request
  6. External system calls OIC callback endpoint
  7. OIC resumes integration
  8. Process response and complete flow

Key Components

Component Purpose
Trigger Starts integration
Invoke Sends request to external system
Wait Action Pauses flow
Callback Endpoint Receives response
Tracking ID Matches request and response

Prerequisites

Before implementing callback in OIC, ensure:

  • Access to OIC Gen 3 instance
  • REST/SOAP connection configured
  • External system capable of sending callback
  • Understanding of:
    • JSON/XML payloads
    • REST APIs
    • OIC orchestration patterns

Step-by-Step Build Process

Let’s implement a callback integration using REST adapter.


Step 1 – Create Integration

Navigate:

👉 Home → Integrations → Create

  • Select App Driven Orchestration
  • Name: Invoice_Callback_Integration

Step 2 – Configure Trigger (REST Adapter)

  • Drag REST adapter as trigger
  • Configure:
    • Method: POST
    • Request payload: Invoice details

Example JSON:

{ “invoiceId”: “INV123”, “amount”: 5000 }

Step 3 – Invoke External System

  • Add Invoke activity
  • Configure REST connection to external system
  • Pass invoice data

Step 4 – Add Wait Action (Callback Pattern)

This is the most important step.

  • Drag Wait action
  • Choose:
    • Wait for callback

OIC generates:

  • Callback URL
  • Correlation identifier

Step 5 – Configure Correlation

Define correlation field:

Example:

  • invoiceId

This ensures: 👉 Callback response maps to correct instance


Step 6 – Design Callback Payload

Expected response from external system:

{ “invoiceId”: “INV123”, “status”: “APPROVED”, “taxAmount”: 500 }

Step 7 – Process Callback Response

  • Map callback data
  • Add business logic:
    • If APPROVED → proceed
    • If REJECTED → handle error

Step 8 – Save and Activate

  • Click Save
  • Click Activate

Testing the Technical Component

Step 1 – Trigger Integration

Use Postman:

{ “invoiceId”: “INV123”, “amount”: 5000 }

Step 2 – Verify Wait State

  • Go to Monitoring → Tracking
  • Status should be: 👉 Waiting

Step 3 – Send Callback Request

Call generated callback URL:

{ “invoiceId”: “INV123”, “status”: “APPROVED” }

Step 4 – Validate Completion

  • Integration resumes
  • Status changes to: 👉 Completed

Common Errors and Troubleshooting

1. Callback Not Received

Reason:

  • Incorrect callback URL

Solution:

  • Verify endpoint from OIC

2. Correlation Failure

Error:

  • Instance not found

Reason:

  • Mismatch in correlation ID

Fix:

  • Ensure same ID used in request and callback

3. Timeout Issues

Problem:

  • Wait expires

Solution:

  • Increase timeout duration
  • Implement retry mechanism

4. Payload Mismatch

Error:

  • Mapping failure

Fix:

  • Validate JSON structure

Best Practices from Real Projects

1. Always Use Unique Correlation IDs

  • Avoid duplicate processing

2. Log Every Callback Request

  • Helps in debugging production issues

3. Design Idempotent Integrations

  • Callback may be triggered multiple times

4. Implement Timeout Handling

Example:

  • If no callback in 24 hours → mark failed

5. Secure Callback Endpoint

  • Use OAuth or API Gateway
  • Avoid exposing public endpoints without security

6. Use Tracking Fields Effectively

  • Enable business identifiers for monitoring

Real Consultant Insight

In one ERP implementation, a client used a third-party logistics provider. Shipment confirmation came after 6–8 hours.

Initially, they designed synchronous integration → result: ❌ Timeouts
❌ Failed transactions

After implementing callback: ✅ Stable processing
✅ No timeouts
✅ Better monitoring


Summary

Callback in Oracle Integration Cloud is a must-know pattern for any serious OIC consultant.

It enables:

  • Asynchronous processing
  • Reliable integrations
  • Handling long-running workflows
  • Better scalability

If you’re working on Fusion HCM, ERP, or SCM integrations, callbacks are not optional—they are essential.


FAQs

1. What is the difference between callback and synchronous integration in OIC?

Answer: Synchronous integration waits for immediate response, while callback allows delayed response and resumes later.


2. Can we use callback with REST adapter in OIC?

Answer: Yes, REST adapter fully supports callback pattern with Wait activity in OIC Gen 3.


3. How does OIC identify the correct integration instance during callback?

Answer: Using correlation identifiers like invoiceId or requestId.


Additional Reference

For deeper understanding, refer to Oracle official documentation:

https://docs.oracle.com/en/cloud/paas/application-integration/index.html


Share

Leave a Reply

Your email address will not be published. Required fields are marked *