Методы API
DEVELOPER PLATFORM · v1

API, с которым удобно работать

CRM, кампании, аналитика и интеграции. Точные контракты, понятные примеры и подписанные вебхуки.

Скачать OpenAPI

Private preview: API доступен с проектным ключом. Публичные SLA и сроки поддержки ещё не установлены.

GET

Операционное состояние интеграции

/api/v1/developer/integrations/{installationId}/operations

Возвращает capability/readiness, агрегированные счётчики, расписание и последний запуск без provider configuration, mappings, cursors и actor facts.

Право доступаintegrations.operations.read

Authorization: Bearer YOUR_PROJECT_TOKEN

Параметры

installationIdобязательно · path

stringminLength: 1 · maxLength: 160

JSON Schema
{
  "type": "string",
  "minLength": 1,
  "maxLength": 160
}

Примеры запроса

curl --request GET   'https://YOUR_NOVA_HOST/api/v1/developer/integrations/INSTALLATION_ID/operations'   --header 'Authorization: Bearer YOUR_PROJECT_TOKEN'

Ответы

200 Integration operation status
application/json

object

operationSupportобязательно
object
Вложенная схема

object

authModesобязательно
array
Вложенная схема

array

stringenum: ["oauth2","api_key","basic_auth","signed_secret"]

JSON Schema
{
  "type": "string",
  "enum": [
    "oauth2",
    "api_key",
    "basic_auth",
    "signed_secret"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "oauth2",
      "api_key",
      "basic_auth",
      "signed_secret"
    ]
  }
}
capabilitiesобязательно
array
Вложенная схема

array

stringenum: ["initial_import","continuous_import","explicit_export","bidirectional_sync","health_check","reconcile","uninstall_cleanup"]

JSON Schema
{
  "type": "string",
  "enum": [
    "initial_import",
    "continuous_import",
    "explicit_export",
    "bidirectional_sync",
    "health_check",
    "reconcile",
    "uninstall_cleanup"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "initial_import",
      "continuous_import",
      "explicit_export",
      "bidirectional_sync",
      "health_check",
      "reconcile",
      "uninstall_cleanup"
    ]
  }
}
JSON Schema
{
  "type": "object",
  "properties": {
    "authModes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "oauth2",
          "api_key",
          "basic_auth",
          "signed_secret"
        ]
      }
    },
    "capabilities": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "initial_import",
          "continuous_import",
          "explicit_export",
          "bidirectional_sync",
          "health_check",
          "reconcile",
          "uninstall_cleanup"
        ]
      }
    }
  },
  "required": [
    "authModes",
    "capabilities"
  ]
}
credentialConfiguredобязательно
boolean
profileConfiguredобязательно
boolean
scheduleModeобязательно
string | nullenum: ["manual","hourly","daily",null]
configVersionобязательно
integer | nullexclusiveMinimum: 0
runTotalобязательно
integerminimum: 0
failureCountобязательно
integerminimum: 0
pendingConflictCountобязательно
integerminimum: 0
nextScheduledAtобязательно
string | nullformat: "date-time"
latestRunобязательно
object | null
Вложенная схема

object | null

idобязательно
stringminLength: 1 · maxLength: 160
typeобязательно
stringenum: ["initial_import","incremental_import","reconcile"]
statusобязательно
stringenum: ["queued","running","retry_pending","completed","failed","cancelled"]
processedCountобязательно
integerminimum: 0
createdCountобязательно
integerminimum: 0
updatedCountобязательно
integerminimum: 0
skippedCountобязательно
integerminimum: 0
failedCountобязательно
integerminimum: 0
attemptsобязательно
integerminimum: 0
maxAttemptsобязательно
integerexclusiveMinimum: 0
retryAtобязательно
string | nullformat: "date-time"
lastErrorCategoryобязательно
string | nullmaxLength: 120
createdAtобязательно
stringformat: "date-time"
startedAtобязательно
string | nullformat: "date-time"
completedAtобязательно
string | nullformat: "date-time"
updatedAtобязательно
stringformat: "date-time"
JSON Schema
{
  "type": [
    "object",
    "null"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "type": {
      "type": "string",
      "enum": [
        "initial_import",
        "incremental_import",
        "reconcile"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "retry_pending",
        "completed",
        "failed",
        "cancelled"
      ]
    },
    "processedCount": {
      "type": "integer",
      "minimum": 0
    },
    "createdCount": {
      "type": "integer",
      "minimum": 0
    },
    "updatedCount": {
      "type": "integer",
      "minimum": 0
    },
    "skippedCount": {
      "type": "integer",
      "minimum": 0
    },
    "failedCount": {
      "type": "integer",
      "minimum": 0
    },
    "attempts": {
      "type": "integer",
      "minimum": 0
    },
    "maxAttempts": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "retryAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "lastErrorCategory": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 120
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "startedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "completedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "type",
    "status",
    "processedCount",
    "createdCount",
    "updatedCount",
    "skippedCount",
    "failedCount",
    "attempts",
    "maxAttempts",
    "retryAt",
    "lastErrorCategory",
    "createdAt",
    "startedAt",
    "completedAt",
    "updatedAt"
  ],
  "additionalProperties": false
}
JSON Schema
{
  "type": "object",
  "properties": {
    "operationSupport": {
      "type": "object",
      "properties": {
        "authModes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "oauth2",
              "api_key",
              "basic_auth",
              "signed_secret"
            ]
          }
        },
        "capabilities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "initial_import",
              "continuous_import",
              "explicit_export",
              "bidirectional_sync",
              "health_check",
              "reconcile",
              "uninstall_cleanup"
            ]
          }
        }
      },
      "required": [
        "authModes",
        "capabilities"
      ]
    },
    "credentialConfigured": {
      "type": "boolean"
    },
    "profileConfigured": {
      "type": "boolean"
    },
    "scheduleMode": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "manual",
        "hourly",
        "daily",
        null
      ]
    },
    "configVersion": {
      "type": [
        "integer",
        "null"
      ],
      "exclusiveMinimum": 0
    },
    "runTotal": {
      "type": "integer",
      "minimum": 0
    },
    "failureCount": {
      "type": "integer",
      "minimum": 0
    },
    "pendingConflictCount": {
      "type": "integer",
      "minimum": 0
    },
    "nextScheduledAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "latestRun": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "type": {
          "type": "string",
          "enum": [
            "initial_import",
            "incremental_import",
            "reconcile"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "running",
            "retry_pending",
            "completed",
            "failed",
            "cancelled"
          ]
        },
        "processedCount": {
          "type": "integer",
          "minimum": 0
        },
        "createdCount": {
          "type": "integer",
          "minimum": 0
        },
        "updatedCount": {
          "type": "integer",
          "minimum": 0
        },
        "skippedCount": {
          "type": "integer",
          "minimum": 0
        },
        "failedCount": {
          "type": "integer",
          "minimum": 0
        },
        "attempts": {
          "type": "integer",
          "minimum": 0
        },
        "maxAttempts": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "retryAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "lastErrorCategory": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 120
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "startedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "type",
        "status",
        "processedCount",
        "createdCount",
        "updatedCount",
        "skippedCount",
        "failedCount",
        "attempts",
        "maxAttempts",
        "retryAt",
        "lastErrorCategory",
        "createdAt",
        "startedAt",
        "completedAt",
        "updatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "operationSupport",
    "credentialConfigured",
    "profileConfigured",
    "scheduleMode",
    "configVersion",
    "runTotal",
    "failureCount",
    "pendingConflictCount",
    "nextScheduledAt",
    "latestRun"
  ],
  "additionalProperties": false,
  "$ref": "#/components/schemas/DeveloperIntegrationOperationStatus"
}
400 Invalid integration operation request
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
401 Invalid developer credential
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
403 Integration operation access unavailable
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
404 Integration installation or run not found
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
429 Developer API rate limit exceeded
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}
503 Developer API rate limiter unavailable
application/problem+json

object

type
stringformat: "uri" · default: "about:blank"
titleобязательно
string
statusобязательно
integerminimum: 100 · maximum: 599
detail
string
instance
string
errors
object
JSON Schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "default": "about:blank"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    },
    "detail": {
      "type": "string"
    },
    "instance": {
      "type": "string"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "required": [
    "title",
    "status"
  ]
}