Skip to main content

Data Models and Interface Definitions

Define clear data models and interface structures for effective integration development

Updated over 3 months ago

Defining Data Models

Each object that receives mapping must have a clearly defined data model. All fields in the model must correspond to actual properties or fields on your model—avoid using dynamic or ExpandoObject class objects..

Data Model Requirements

  • Use real properties (not dynamic fields).

  • Follow PascalCase naming conventions.

  • Include JsonProperty tags for serialization.

  • Properly represent external API responses.

  • Handle subcollections appropriately.

  • Implement control fields to modify API behavior through user mappings.

Interface Folder Structure

The Interface folder serves as the primary interaction point between the iPaaS.com platform and your integration code. This folder requires modifications to align with specific integration features and requirements.

Core Interface Classes

  • APICall.cs
    Generic class that handles external API calls and error management.

  • CallWrapper.cs
    Manages connection establishment through EstablishConnection() and ValidateConnection() methods.

  • Connection.cs
    Master class that represents a site connection and its configuration.

  • ConversionFunctions.cs
    Enables the creation of custom transformation functions that become accessible through the user interface.

  • CustomFieldHandler.cs
    Manages external custom fields with methods including:

    • GetValueCustomField()

    • SetValueCustomField()

    • GetCustomFieldKVPs()

  • DevelopmentTests.cs
    Contains testing functionality specifically for integration development workflows.

  • Metadata.cs
    Defines the structure of tables, scopes, and presets through key methods:

    • GetPresets()

    • GetTables()

    • GetScopes()

  • Settings.cs
    Defines configuration properties used by Presets.

  • TranslationUtilities.cs
    Primary interaction point containing essential methods:

    • GetDestinationObject()

    • ModelCreateAsync()

    • UpdateWebhookSubscriptionAsync()

    • PollRequest()

    • EstimateTotalAPICallsMade()

    This class also handles child object relationships, prerequisites, and post-processing actions.

Did this answer your question?