Schema

Any changes to the DealCloud site schema (typically done through Object Management) will be streamed to the default-schema topic. This will include updates to any objects or fields within the site.

The schemaVersion property can be used to track changes to the DealCloud site schema and is sent with every schema and data event message.

Note: a response can contain multiple events and one or more event types. For example, a response can have an update, create, and delete in the same response.

Object Creation

An event indicating a new object called Example Object was created

[
  {
    "eventId": "042d0539-8480-494b-8bd2-2b93795994dc",
    "modifiedAt": "2023-01-20T15:15:58.84Z",
    "topicName": "default-schema",
    "topicOffset": 5,
    "entityType": "EntryLists",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 48,
    "payload": {
      "entities": {
        "created": [
          {
            "apiName": "ExampleObject",
            "singularName": "Example Object",
            "pluralName": "Example Objects",
            "entryListId": -5,
            "entryListType": 1,
            "entryListSubType": 0,
            "id": 661840,
            "name": "Example Object"
          }
        ]
      }
    }
  }
]

Object Update

An event indicating the Example Object was updated

[
  {
    "eventId": "8681be0c-4d79-43ea-bc71-de8525a1083f",
    "modifiedAt": "2023-01-20T15:28:51.673Z",
    "topicName": "default-schema",
    "topicOffset": 11,
    "entityType": "EntryLists",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 49,
    "payload": {
      "entities": {
        "updated": [
          {
            "apiName": "ExampleObject",
            "singularName": "Example Object",
            "pluralName": "Example Objects",
            "entryListId": -5,
            "entryListType": 1,
            "entryListSubType": 0,
            "id": 661840,
            "name": "Example Object"
          }
        ]
      }
    }
  }
]

Object Deletion

An event indicating the Example Object was deleted.

[
  {
    "eventId": "e4cf2040-0abd-4358-ae5f-b59589e38710",
    "modifiedAt": "2023-01-20T15:29:44.543Z",
    "topicName": "default-schema",
    "topicOffset": 12,
    "entityType": "EntryLists",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 50,
    "payload": {
      "entities": {
        "deleted": [
          {
            "entryListId": 0,
            "entryListType": 0,
            "entryListSubType": 0,
            "apiName": "ExampleObject",
            "id": 661840
          }
        ]
      }
    }
  }
]

Field Creation

An example of 3 fields (revenue, multiple, name) being created. They are part of the same response and have the same schemaVersion, indicating these field creations wore done together.

[
  {
    "eventId": "e0826328-446f-4ddf-b72c-59e7572c743f",
    "modifiedAt": "2023-01-20T15:15:58.92Z",
    "topicName": "default-schema",
    "topicOffset": 6,
    "entityType": "Fields",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 51,
    "payload": {
      "entities": {
        "created": [
          {
            "apiName": "Revenue",
            "fieldType": 3,
            "isRequired": false,
            "allowDuplicates": true,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 0,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": false,
            "isAttachment": false,
            "isStoreRequestSupported": true,
            "entryListId": 661840,
            "id": 661842,
            "name": "Revenue"
          },
          {
            "apiName": "Multiple",
            "fieldType": 3,
            "isRequired": false,
            "allowDuplicates": true,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 0,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": true,
            "isAttachment": false,
            "isStoreRequestSupported": false,
            "formula": "[Revenue]",
            "entryListId": 661840,
            "id": 661847,
            "name": "Multiple"
          },
          {
            "apiName": "Name",
            "fieldType": 1,
            "isRequired": true,
            "allowDuplicates": false,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 9,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": false,
            "isAttachment": false,
            "isStoreRequestSupported": true,
            "entryListId": 661840,
            "id": 661841,
            "name": "Name"
          }
        ]
      }
    }
  }
]

Field Update

{
    "eventId": "1f3dc6e4-fd94-48ce-b956-8e51ffa4b1f6",
    "modifiedAt": "2023-01-20T15:16:00.447Z",
    "topicName": "default-schema",
    "topicOffset": 8,
    "entityType": "Fields",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 52,
    "payload": {
      "entities": {
        "updated": [
          {
            "apiName": "Name",
            "fieldType": 1,
            "isRequired": true,
            "allowDuplicates": false,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 9,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": false,
            "isAttachment": false,
            "isStoreRequestSupported": true,
            "entryListId": 661840,
            "id": 661841,
            "name": "Name"
          },
          {
            "apiName": "Revenue",
            "fieldType": 3,
            "isRequired": false,
            "allowDuplicates": true,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 0,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": false,
            "isAttachment": false,
            "isStoreRequestSupported": true,
            "entryListId": 661840,
            "id": 661842,
            "name": "Revenue"
          },
          {
            "apiName": "Multiple",
            "fieldType": 3,
            "isRequired": false,
            "allowDuplicates": true,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "entryLists": [],
            "systemFieldType": 0,
            "choiceValues": [],
            "isKey": false,
            "isCalculated": true,
            "isAttachment": false,
            "isStoreRequestSupported": false,
            "formula": "[Revenue]",
            "entryListId": 661840,
            "id": 661847,
            "name": "Multiple"
          }
        ]
      }
    }
  }

Field Delete

{
    "eventId": "5c11acad-befa-4643-b188-fe24e8593382",
    "modifiedAt": "2023-01-20T15:24:33.457Z",
    "topicName": "default-schema",
    "topicOffset": 10,
    "entityType": "Fields",
    "entityFormatType": "None",
    "modifiedById": 1003660,
    "modifiedByUserEmail": "admin.user@company.com",
    "schemaVersion": 53,
    "payload": {
      "entities": {
        "deleted": [
          {
            "fieldType": 0,
            "isRequired": false,
            "allowDuplicates": false,
            "warnOnNearDuplicates": false,
            "isMoney": false,
            "isMultiSelect": false,
            "systemFieldType": 0,
            "isKey": false,
            "isCalculated": false,
            "isAttachment": false,
            "isStoreRequestSupported": false,
            "entryListId": 0,
            "apiName": "Revenue",
            "id": 661842
          }
        ]
      }
    }
  }