Методы API
DEVELOPER PLATFORM · v1

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

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

Скачать OpenAPI

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

GET

Каталог товаров и услуг CRM

/api/v1/developer/crm/products

Возвращает текущие товары и услуги с ценой в минимальных единицах валюты проекта.

Право доступаcrm.products.read

Authorization: Bearer YOUR_PROJECT_TOKEN

Параметры

statusнеобязательно · query

stringenum: ["active","archived","all"]

JSON Schema
{
  "type": "string",
  "enum": [
    "active",
    "archived",
    "all"
  ]
}
queryнеобязательно · query

stringminLength: 1 · maxLength: 120

JSON Schema
{
  "type": "string",
  "minLength": 1,
  "maxLength": 120
}
limitнеобязательно · query

integerminimum: 1 · maximum: 100 · default: 50

JSON Schema
{
  "type": "integer",
  "minimum": 1,
  "maximum": 100,
  "default": 50
}
cursorнеобязательно · query

stringminLength: 1 · maxLength: 512

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

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

curl --request GET \
  'https://YOUR_NOVA_HOST/api/v1/developer/crm/products?status=active&limit=50' \
  --header 'Authorization: Bearer YOUR_PROJECT_TOKEN'

Ответы

200 Paginated project CRM products
application/json

object

productsобязательно
arraymaxItems: 100
Вложенная схема

arraymaxItems: 100

object

idобязательно
stringminLength: 1 · maxLength: 160
nameобязательно
stringminLength: 1
typeобязательно
stringenum: ["product","service"]
priceMinorобязательно
integerminimum: 0
statusобязательно
stringenum: ["active","archived"]
createdAtобязательно
stringformat: "date-time"
updatedAtобязательно
stringformat: "date-time"
JSON Schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "type": {
      "type": "string",
      "enum": [
        "product",
        "service"
      ]
    },
    "priceMinor": {
      "type": "integer",
      "minimum": 0
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "archived"
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": [
    "id",
    "name",
    "type",
    "priceMinor",
    "status",
    "createdAt",
    "updatedAt"
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "minLength": 1,
        "maxLength": 160
      },
      "name": {
        "type": "string",
        "minLength": 1
      },
      "type": {
        "type": "string",
        "enum": [
          "product",
          "service"
        ]
      },
      "priceMinor": {
        "type": "integer",
        "minimum": 0
      },
      "status": {
        "type": "string",
        "enum": [
          "active",
          "archived"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "date-time"
      },
      "updatedAt": {
        "type": "string",
        "format": "date-time"
      }
    },
    "required": [
      "id",
      "name",
      "type",
      "priceMinor",
      "status",
      "createdAt",
      "updatedAt"
    ]
  },
  "maxItems": 100
}
nextCursorобязательно
string | null
JSON Schema
{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "product",
              "service"
            ]
          },
          "priceMinor": {
            "type": "integer",
            "minimum": 0
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "archived"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "priceMinor",
          "status",
          "createdAt",
          "updatedAt"
        ]
      },
      "maxItems": 100
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "products",
    "nextCursor"
  ],
  "$ref": "#/components/schemas/DeveloperCrmProductListResponse"
}
400 Invalid pagination 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"
  ]
}
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"
  ]
}