Skip to main content

Data Models and Interface Definitions

Define clear data models and interface structures for effective integration development

These are the SDK interface files your integration implements. They are part of the build described in The SDK, Integration Template, Sample, and Development Utility.

Defining Data Models

Each object that receives a mapping needs a defined data model using real properties (PascalCase, with JsonProperty tags), not dynamic or ExpandoObject types. For field-level modeling detail (control fields and JsonIgnore, embedded collections, CRUD and collision handling, custom fields), see Data Modeling.

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. For child-record ID linking (Spaceport_SourceId, CollectAdditionalExternalIds), see Managing External IDs.

Did this answer your question?