API Integration

Discover essential strategies for seamless API integration to enhance connectivity and streamline workflows in your applications.

Overview

This guide walks you through how to:

  • Set up a new integration (one-time setup)
  • Create a connection for a client/profile
  • Test and use the integration

Before You Begin

Make sure you have the following from the client:

  • API collection (Postman or cURL requests)
  • Environment details:
    • Sandbox (if available)
    • Production
  • API dependency details (if APIs depend on each other)
  • Required connection inputs (API keys, URLs, credentials)

Integrations Journey

Staging UI Url: https://eus-s-api-framework-integration-manager-wa01.azurewebsites.net

UAT UI Url: https://eus-u-api-integration-mgr-wa01.azurewebsites.net/

Production UI Url: https://cus-prd-api-integration-mgr-wa01.azurewebsites.net/

Part 1: Create a New Integration (One-Time Setup)

Step 1: Access the Integration Manager

Open the Integration Manager UI (Staging / UAT / Production)

Step 2: View Existing Integrations

  • Navigate to the Integrations tab
  • Review existing integrations before creating a new one

Step 3: Add a New Integration

  • Click Add Integration
  • Provide basic details:
    • Name
    • Alias
    • Integration Type
    • Logo URL

Step 4: Generate Configuration Using AI

  • Upload or input API details
  • Let the system generate the configuration automatically

⚠️ Important:

  • AI-generated config is ~70% accurate
  • Always review before saving

Step 5: Review and Edit Configuration

Check the following carefully:

  • API endpoints (URLs)
  • Authentication type (OAuth, Bearer, etc.)
  • Headers and request body
  • API dependency flow (chained calls)

Step 6: Save the Integration

  • Once validated, click Save
  • Integration is now available across all profiles

Part 2: Create a Connection (Per Client/Profile)

Step 1: Navigate to Profile Integrations

  • Open the required Profile in MPC
  • Go to the Integrations section

Step 2: Add a New Connection

  • Select the integration you created
  • Click Add Connection

Step 3: Enter Required Details

Fill in all required fields such as:

  • API URL
  • Client ID / Secret
  • Username / Password

Fields are defined by the integration setup

Step 4: Save and Test the Connection

  • Click Save
  • Use Test Connection to verify

Ensure:

  • Authentication works
  • API responds successfully

Step 5: View Connection Details

Click Configure to review settings

Note: Passwords are masked and cannot be viewed

Part 3: Using the Integration (API Execution)

Step 1: Use the API Endpoint

Final API format:

_id

A unique system‑generated identifier for the schema or integration record.

Used internally for database reference, versioning, and lookup operations.

Not shown to users and not editable.

integrationId

A universally unique identifier (UUID) representing the integration to which this schema belongs.

Ensures that the schema fields are linked to the correct integration definition.

Used across backend services to fetch or update integration‑specific configuration.

integrationType

Numeric code representing the integration category or provider type.

Used internally by the system to determine logic flows, validation rules, or processing pipelines.

Example: 1 may represent CRM integrations, 2 may represent PMS integrations (varies by platform).

name

The human‑readable name of the integration.

Displayed throughout the UI in integration lists, connection screens, and configuration steps.

Helps users easily recognize the integration they are setting up (e.g., “Salesforce”).

alias

A simplified, URL‑safe, and system‑friendly identifier for the integration.

Used internally in routing, mapping, and request handling.

Typically lowercase and without spaces (e.g., salesforce, googleads).

logo

A URL pointing to the logo image for the integration.

Displayed in the UI to improve recognition and user experience.

Must be a valid image URL (SVG, PNG, JPG supported depending on UI).

status

Indicates whether the integration is currently active or inactive.

Common values: 

Active → The integration is ready for use and visible to users.

Inactive → Disabled or hidden in UI until re-enabled.

Used by backend logic to determine availability of integration features.

apiConfig (explained below in detail)

Contains all API‑level configuration for the integration.

Defines how the system communicates with external APIs, including endpoints, authentication, headers, request bodies, HTTP methods, and chaining steps.

Represents the complete blueprint of how API calls are constructed, validated, and executed.

Low‑level structure (endpoints, verbs, headers, body, steps, caching, etc.) is already documented in the API Configuration section. 

infraConfig (explained below in detail)

Contains infrastructure‑level settings that govern logging, retry behavior, secure keys, and access control.

Ensures integrations follow platform‑wide best practices around reliability, monitoring, and security.

Used by the framework to apply standardized behaviors (logging rules, retry rules, auth requirements).

Detailed sub‑properties (logSettings, retrySettings, accessControl, etc.) are already described in your Infra Configuration documentation. 

schemaConfig (explained below in detail)

Defines the UI‑driven input schema required to collect values for the integration (like credentials, URLs, object types).

Determines how fields appear to users — including field type, labels, requirement flags, and placeholder hints.

Acts as the contract for all user-provided configuration needed to activate or test the integration.

Individual field properties such as label, type, name, required, placeholder have been documented in the Schema Configuration section.

 

Step 2: Trigger API Call

Use frontend, backend, or API tools to trigger the endpoint

System automatically:

  • Uses connection credentials
  • Handles authentication
  • Executes API logic

Step 3: Review API Response

Response structure:

{
 "isSuccessful": true,
 "data": {...},
 "errors": []
}