Методы API
DEVELOPER PLATFORM · v1

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

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

Скачать OpenAPI

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

PUT

Изменить политику SLA обращений CRM

/api/v1/developer/crm/tickets/sla-policy

Идемпотентно заменяет полный набор SLA-целей и при необходимости рабочий календарь через CRM-owned validation/audit; receipt не содержит policy или tenant facts.

Право доступаcrm.tickets.sla.write

Authorization: Bearer YOUR_PROJECT_TOKEN

Параметры

idempotency-keyобязательно · header

stringpattern: "^[\\x21-\\x7E]+$" · minLength: 1 · maxLength: 160

JSON Schema
{
  "type": "string",
  "minLength": 1,
  "maxLength": 160,
  "pattern": "^[\\x21-\\x7E]+$"
}

Тело запроса

application/json

object

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

object

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

object

firstResponseMinutesобязательно
integerminimum: 1
resolutionMinutesобязательно
integerminimum: 1
JSON Schema
{
  "type": "object",
  "properties": {
    "firstResponseMinutes": {
      "type": "integer",
      "minimum": 1
    },
    "resolutionMinutes": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "firstResponseMinutes",
    "resolutionMinutes"
  ],
  "additionalProperties": false
}
normalобязательно
object
Вложенная схема

object

firstResponseMinutesобязательно
integerminimum: 1
resolutionMinutesобязательно
integerminimum: 1
JSON Schema
{
  "type": "object",
  "properties": {
    "firstResponseMinutes": {
      "type": "integer",
      "minimum": 1
    },
    "resolutionMinutes": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "firstResponseMinutes",
    "resolutionMinutes"
  ],
  "additionalProperties": false
}
highобязательно
object
Вложенная схема

object

firstResponseMinutesобязательно
integerminimum: 1
resolutionMinutesобязательно
integerminimum: 1
JSON Schema
{
  "type": "object",
  "properties": {
    "firstResponseMinutes": {
      "type": "integer",
      "minimum": 1
    },
    "resolutionMinutes": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "firstResponseMinutes",
    "resolutionMinutes"
  ],
  "additionalProperties": false
}
urgentобязательно
object
Вложенная схема

object

firstResponseMinutesобязательно
integerminimum: 1
resolutionMinutesобязательно
integerminimum: 1
JSON Schema
{
  "type": "object",
  "properties": {
    "firstResponseMinutes": {
      "type": "integer",
      "minimum": 1
    },
    "resolutionMinutes": {
      "type": "integer",
      "minimum": 1
    }
  },
  "required": [
    "firstResponseMinutes",
    "resolutionMinutes"
  ],
  "additionalProperties": false
}
JSON Schema
{
  "type": "object",
  "properties": {
    "low": {
      "type": "object",
      "properties": {
        "firstResponseMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "resolutionMinutes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "firstResponseMinutes",
        "resolutionMinutes"
      ],
      "additionalProperties": false
    },
    "normal": {
      "type": "object",
      "properties": {
        "firstResponseMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "resolutionMinutes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "firstResponseMinutes",
        "resolutionMinutes"
      ],
      "additionalProperties": false
    },
    "high": {
      "type": "object",
      "properties": {
        "firstResponseMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "resolutionMinutes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "firstResponseMinutes",
        "resolutionMinutes"
      ],
      "additionalProperties": false
    },
    "urgent": {
      "type": "object",
      "properties": {
        "firstResponseMinutes": {
          "type": "integer",
          "minimum": 1
        },
        "resolutionMinutes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "required": [
        "firstResponseMinutes",
        "resolutionMinutes"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "low",
    "normal",
    "high",
    "urgent"
  ],
  "additionalProperties": false
}
businessHours
union
Вложенная схема

union

Вариант 1

object

kindобязательно
stringenum: ["always"]
JSON Schema
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "always"
      ]
    }
  },
  "required": [
    "kind"
  ],
  "additionalProperties": false
}
Вариант 2

object

kindобязательно
stringenum: ["weekly"]
weekdaysобязательно
arrayminItems: 1 · maxItems: 7
Вложенная схема

arrayminItems: 1 · maxItems: 7

union

JSON Schema
{
  "anyOf": [
    {
      "type": "number",
      "enum": [
        1
      ]
    },
    {
      "type": "number",
      "enum": [
        2
      ]
    },
    {
      "type": "number",
      "enum": [
        3
      ]
    },
    {
      "type": "number",
      "enum": [
        4
      ]
    },
    {
      "type": "number",
      "enum": [
        5
      ]
    },
    {
      "type": "number",
      "enum": [
        6
      ]
    },
    {
      "type": "number",
      "enum": [
        7
      ]
    }
  ]
}
JSON Schema
{
  "type": "array",
  "items": {
    "anyOf": [
      {
        "type": "number",
        "enum": [
          1
        ]
      },
      {
        "type": "number",
        "enum": [
          2
        ]
      },
      {
        "type": "number",
        "enum": [
          3
        ]
      },
      {
        "type": "number",
        "enum": [
          4
        ]
      },
      {
        "type": "number",
        "enum": [
          5
        ]
      },
      {
        "type": "number",
        "enum": [
          6
        ]
      },
      {
        "type": "number",
        "enum": [
          7
        ]
      }
    ]
  },
  "minItems": 1,
  "maxItems": 7
}
startMinuteобязательно
integerminimum: 0 · maximum: 1439
endMinuteобязательно
integerminimum: 1 · maximum: 1440
JSON Schema
{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "weekly"
      ]
    },
    "weekdays": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "number",
            "enum": [
              1
            ]
          },
          {
            "type": "number",
            "enum": [
              2
            ]
          },
          {
            "type": "number",
            "enum": [
              3
            ]
          },
          {
            "type": "number",
            "enum": [
              4
            ]
          },
          {
            "type": "number",
            "enum": [
              5
            ]
          },
          {
            "type": "number",
            "enum": [
              6
            ]
          },
          {
            "type": "number",
            "enum": [
              7
            ]
          }
        ]
      },
      "minItems": 1,
      "maxItems": 7
    },
    "startMinute": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1439
    },
    "endMinute": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1440
    }
  },
  "required": [
    "kind",
    "weekdays",
    "startMinute",
    "endMinute"
  ],
  "additionalProperties": false
}
JSON Schema
{
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "always"
          ]
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "weekly"
          ]
        },
        "weekdays": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "type": "number",
                "enum": [
                  1
                ]
              },
              {
                "type": "number",
                "enum": [
                  2
                ]
              },
              {
                "type": "number",
                "enum": [
                  3
                ]
              },
              {
                "type": "number",
                "enum": [
                  4
                ]
              },
              {
                "type": "number",
                "enum": [
                  5
                ]
              },
              {
                "type": "number",
                "enum": [
                  6
                ]
              },
              {
                "type": "number",
                "enum": [
                  7
                ]
              }
            ]
          },
          "minItems": 1,
          "maxItems": 7
        },
        "startMinute": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1439
        },
        "endMinute": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1440
        }
      },
      "required": [
        "kind",
        "weekdays",
        "startMinute",
        "endMinute"
      ],
      "additionalProperties": false
    }
  ]
}
JSON Schema
{
  "type": "object",
  "properties": {
    "targets": {
      "type": "object",
      "properties": {
        "low": {
          "type": "object",
          "properties": {
            "firstResponseMinutes": {
              "type": "integer",
              "minimum": 1
            },
            "resolutionMinutes": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "firstResponseMinutes",
            "resolutionMinutes"
          ],
          "additionalProperties": false
        },
        "normal": {
          "type": "object",
          "properties": {
            "firstResponseMinutes": {
              "type": "integer",
              "minimum": 1
            },
            "resolutionMinutes": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "firstResponseMinutes",
            "resolutionMinutes"
          ],
          "additionalProperties": false
        },
        "high": {
          "type": "object",
          "properties": {
            "firstResponseMinutes": {
              "type": "integer",
              "minimum": 1
            },
            "resolutionMinutes": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "firstResponseMinutes",
            "resolutionMinutes"
          ],
          "additionalProperties": false
        },
        "urgent": {
          "type": "object",
          "properties": {
            "firstResponseMinutes": {
              "type": "integer",
              "minimum": 1
            },
            "resolutionMinutes": {
              "type": "integer",
              "minimum": 1
            }
          },
          "required": [
            "firstResponseMinutes",
            "resolutionMinutes"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "low",
        "normal",
        "high",
        "urgent"
      ],
      "additionalProperties": false
    },
    "businessHours": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "always"
              ]
            }
          },
          "required": [
            "kind"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "weekly"
              ]
            },
            "weekdays": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "number",
                    "enum": [
                      1
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      2
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      3
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      4
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      5
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      6
                    ]
                  },
                  {
                    "type": "number",
                    "enum": [
                      7
                    ]
                  }
                ]
              },
              "minItems": 1,
              "maxItems": 7
            },
            "startMinute": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1439
            },
            "endMinute": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1440
            }
          },
          "required": [
            "kind",
            "weekdays",
            "startMinute",
            "endMinute"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "targets"
  ],
  "additionalProperties": false,
  "$ref": "#/components/schemas/UpdateDeveloperCrmTicketSlaPolicyRequest"
}

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

curl --request PUT   'https://YOUR_NOVA_HOST/api/v1/developer/crm/tickets/sla-policy'   --header 'Authorization: Bearer YOUR_PROJECT_TOKEN'   --header 'Idempotency-Key: YOUR_UNIQUE_COMMAND_ID'   --header 'Content-Type: application/json'   --data '{"targets":{"low":{"firstResponseMinutes":1440,"resolutionMinutes":4320},"normal":{"firstResponseMinutes":480,"resolutionMinutes":1440},"high":{"firstResponseMinutes":120,"resolutionMinutes":480},"urgent":{"firstResponseMinutes":30,"resolutionMinutes":120}},"businessHours":{"kind":"weekly","weekdays":[1,2,3,4,5],"startMinute":540,"endMinute":1080}}'

Ответы

200 Updated CRM ticket SLA receipt
application/json

object

resourceIdобязательно
stringminLength: 1 · maxLength: 160
changedобязательно
boolean
JSON Schema
{
  "type": "object",
  "properties": {
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 160
    },
    "changed": {
      "type": "boolean"
    }
  },
  "required": [
    "resourceId",
    "changed"
  ],
  "$ref": "#/components/schemas/DeveloperMutationResponse"
}
400 Invalid SLA policy or idempotency key
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 CRM tickets entitlement or membership 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"
  ]
}
409 Idempotency key conflict or client unavailable for a new ticket
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"
  ]
}