Методы API
DEVELOPER PLATFORM · v1

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

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

Скачать OpenAPI

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

GET

Состояние исходящего Webhook API

/api/v1/developer/integrations/{installationId}/outbound-webhook

Возвращает настройки и bounded recent delivery history одной generic Webhook API installation. Event payload, project, provider и signing secret не раскрываются.

Право доступаintegrations.webhooks.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/outbound-webhook'   --header 'Authorization: Bearer YOUR_PROJECT_TOKEN'

Ответы

200 Outbound webhook overview
application/json

object

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

array

stringenum: ["crm.deal.created.v1","crm.deal.updated.v1","crm.deal.stage_changed.v1","crm.task.created.v1","crm.task.completed.v1"]

JSON Schema
{
  "type": "string",
  "enum": [
    "crm.deal.created.v1",
    "crm.deal.updated.v1",
    "crm.deal.stage_changed.v1",
    "crm.task.created.v1",
    "crm.task.completed.v1"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "crm.deal.created.v1",
      "crm.deal.updated.v1",
      "crm.deal.stage_changed.v1",
      "crm.task.created.v1",
      "crm.task.completed.v1"
    ]
  }
}
subscriptionобязательно
object | null
Вложенная схема

object | null

installationIdобязательно
stringminLength: 1
endpointUrlобязательно
stringformat: "uri"
eventTypesобязательно
array
Вложенная схема

array

stringenum: ["crm.deal.created.v1","crm.deal.updated.v1","crm.deal.stage_changed.v1","crm.task.created.v1","crm.task.completed.v1"]

JSON Schema
{
  "type": "string",
  "enum": [
    "crm.deal.created.v1",
    "crm.deal.updated.v1",
    "crm.deal.stage_changed.v1",
    "crm.task.created.v1",
    "crm.task.completed.v1"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "crm.deal.created.v1",
      "crm.deal.updated.v1",
      "crm.deal.stage_changed.v1",
      "crm.task.created.v1",
      "crm.task.completed.v1"
    ]
  }
}
statusобязательно
stringenum: ["active","paused"]
secretHintобязательно
string
versionобязательно
integerexclusiveMinimum: 0
createdAtобязательно
stringformat: "date-time"
updatedAtобязательно
stringformat: "date-time"
JSON Schema
{
  "type": [
    "object",
    "null"
  ],
  "properties": {
    "installationId": {
      "type": "string",
      "minLength": 1
    },
    "endpointUrl": {
      "type": "string",
      "format": "uri"
    },
    "eventTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "crm.deal.created.v1",
          "crm.deal.updated.v1",
          "crm.deal.stage_changed.v1",
          "crm.task.created.v1",
          "crm.task.completed.v1"
        ]
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "paused"
      ]
    },
    "secretHint": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "installationId",
    "endpointUrl",
    "eventTypes",
    "status",
    "secretHint",
    "version",
    "createdAt",
    "updatedAt"
  ]
}
deliveriesобязательно
array
Вложенная схема

array

object

idобязательно
stringminLength: 1
eventIdобязательно
stringminLength: 1
eventTypeобязательно
stringenum: ["crm.deal.created.v1","crm.deal.updated.v1","crm.deal.stage_changed.v1","crm.task.created.v1","crm.task.completed.v1"]
statusобязательно
stringenum: ["pending","processing","retry_pending","succeeded","dead_letter"]
attemptsобязательно
integerminimum: 0
maxAttemptsобязательно
integerexclusiveMinimum: 0
responseStatusобязательно
integer | nullminimum: 100 · maximum: 599
lastErrorCategoryобязательно
string | null
createdAtобязательно
stringformat: "date-time"
completedAtобязательно
string | nullformat: "date-time"
JSON Schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "eventId": {
      "type": "string",
      "minLength": 1
    },
    "eventType": {
      "type": "string",
      "enum": [
        "crm.deal.created.v1",
        "crm.deal.updated.v1",
        "crm.deal.stage_changed.v1",
        "crm.task.created.v1",
        "crm.task.completed.v1"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "processing",
        "retry_pending",
        "succeeded",
        "dead_letter"
      ]
    },
    "attempts": {
      "type": "integer",
      "minimum": 0
    },
    "maxAttempts": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "responseStatus": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 100,
      "maximum": 599
    },
    "lastErrorCategory": {
      "type": [
        "string",
        "null"
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "eventId",
    "eventType",
    "status",
    "attempts",
    "maxAttempts",
    "responseStatus",
    "lastErrorCategory",
    "createdAt",
    "completedAt"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "minLength": 1
      },
      "eventId": {
        "type": "string",
        "minLength": 1
      },
      "eventType": {
        "type": "string",
        "enum": [
          "crm.deal.created.v1",
          "crm.deal.updated.v1",
          "crm.deal.stage_changed.v1",
          "crm.task.created.v1",
          "crm.task.completed.v1"
        ]
      },
      "status": {
        "type": "string",
        "enum": [
          "pending",
          "processing",
          "retry_pending",
          "succeeded",
          "dead_letter"
        ]
      },
      "attempts": {
        "type": "integer",
        "minimum": 0
      },
      "maxAttempts": {
        "type": "integer",
        "exclusiveMinimum": 0
      },
      "responseStatus": {
        "type": [
          "integer",
          "null"
        ],
        "minimum": 100,
        "maximum": 599
      },
      "lastErrorCategory": {
        "type": [
          "string",
          "null"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "completedAt": {
        "type": [
          "string",
          "null"
        ],
        "format": "date-time"
      }
    },
    "required": [
      "id",
      "eventId",
      "eventType",
      "status",
      "attempts",
      "maxAttempts",
      "responseStatus",
      "lastErrorCategory",
      "createdAt",
      "completedAt"
    ]
  }
}
JSON Schema
{
  "type": "object",
  "properties": {
    "eventTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "crm.deal.created.v1",
          "crm.deal.updated.v1",
          "crm.deal.stage_changed.v1",
          "crm.task.created.v1",
          "crm.task.completed.v1"
        ]
      }
    },
    "subscription": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "installationId": {
          "type": "string",
          "minLength": 1
        },
        "endpointUrl": {
          "type": "string",
          "format": "uri"
        },
        "eventTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "crm.deal.created.v1",
              "crm.deal.updated.v1",
              "crm.deal.stage_changed.v1",
              "crm.task.created.v1",
              "crm.task.completed.v1"
            ]
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "paused"
          ]
        },
        "secretHint": {
          "type": "string"
        },
        "version": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "installationId",
        "endpointUrl",
        "eventTypes",
        "status",
        "secretHint",
        "version",
        "createdAt",
        "updatedAt"
      ]
    },
    "deliveries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "eventId": {
            "type": "string",
            "minLength": 1
          },
          "eventType": {
            "type": "string",
            "enum": [
              "crm.deal.created.v1",
              "crm.deal.updated.v1",
              "crm.deal.stage_changed.v1",
              "crm.task.created.v1",
              "crm.task.completed.v1"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "retry_pending",
              "succeeded",
              "dead_letter"
            ]
          },
          "attempts": {
            "type": "integer",
            "minimum": 0
          },
          "maxAttempts": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "responseStatus": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 100,
            "maximum": 599
          },
          "lastErrorCategory": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "eventId",
          "eventType",
          "status",
          "attempts",
          "maxAttempts",
          "responseStatus",
          "lastErrorCategory",
          "createdAt",
          "completedAt"
        ]
      }
    }
  },
  "required": [
    "eventTypes",
    "subscription",
    "deliveries"
  ],
  "$ref": "#/components/schemas/OutboundWebhookOverviewResponse"
}
400 Invalid outbound webhook reference
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 Outbound webhook 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 Outbound webhook installation 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"
  ]
}