Connection Objects

Connection objects represent the current state of the link between data on the IF Platform and the corresponding data on the service provider's side. They are utilized in both Built-In and Plug-In connections.

Purpose of Connection Objects

Linking Identifiers
Connection objects map identifiers between the IF Platform and the underlying service provider, ensuring seamless integration and synchronization.

Tracking Asynchronous Operations
They allow you to monitor the status of asynchronous operations performed on the service provider's side, such as:

  • Issuing an account or card
  • Closing an account
  • Processing a transfer

Error Warnings
Connection objects provide warnings about specific errors that may occur during asynchronous processes, enabling prompt resolution and better system reliability.

Structure of Connection Objects

{
  "id": "76b51f7a-2a4a-471f-a66d-d43e4c2728eb",
  "method": "built-in",
  "serviceProvider": "clearbank",
  "reference": "45ff4ac5-fe22-4233-8152-6a3272ae6569",
  "state": "completed-up-to-date",
  "status": "active",
  "error": null
}
{
  "id": "76b51f7a-2a4a-471f-a66d-d43e4c2728eb",
  "method": "built-in",
  "serviceProvider": "currencycloud",
  "reference": "45ff4ac5-fe22-4233-8152-6a3272ae6569",
  "state": "dependency-failed",
  "status": "pending",
  "error": {
    "category": "technical",
    "origin": "platform",
    "code": "generic",
    "message": "Error received from Currencycloud UK: Status: 400, Body: {\"error_code\":\"account_create_failed\",\"error_messages\":{\"\":[{\"code\":\"name_contains_numbers\",\"message\":\"Account name must not contain numbers.\",\"params\":{}}]}}",
    "attributes": {}
  }
}
FieldDescription
idthe unique identifier assigned by the service provider. Since service providers use different types of IDs (e.g., UUIDs or numbers), this field is defined as a string.
methodenum with values of built-in or plug-in
serviceProviderthe code representing the connected service provider.
referencea human-readable identifier assigned by the service provider. If the service provider assigns only one unique identifier, it will be used for both the id and reference.
stateenum with values of pending, dependency-completed, dependency-failed, creation-in-progress, completed-up-to-date, creation-failed, update-in-progress, completed-outdated. Please refer to the state diagram below for more details
statusrepresents the status of the entity on the service provider's side. The possible values vary by resource type. For example, the statuses for an account may differ from those for a client. Refer to the specific domain documentation for details on the possible statuses.
errora complex object containing error details. This field is only present if the state is one of the following: dependency-failed, creation-failed or completed-outdated. For all other states, this field is null.
error.categoryindicates the type of error. Possible values:
functional: Indicates a validation error caused by the data itself. Updating the data might resolve the issue. Additional details are provided in error.code and error.message.
technical: Indicates a technical error, such as a network issue, which requires intervention by IF engineers.
error.originindicates where the error originated. Possible values:
customer: The error occurred in your system, and you pushed the details to the IF Platform.
platform: The error occurred within the IF Platform.
provider: The error occurred on the service provider's side.
error.codea string code that identifies the error. This code can be used for implementing specific logic to handle errors.
error.messagea user-friendly message describing the error in detail.
error.attributesa dynamic map exposing additional parameters related to the error.