Перейти к содержанию

Методы API

Чтобы получить, загрузить и удалить загруженные изображения и звуки, надо передать OAuth Token при создании DialogApi:

skill {
    // ...
    dialogApi = ktorYandexDialogApi {
        oauthToken = "..."
    }
    // ...
}.run()

Для каждого аккаунта Яндекса на Диалоги можно загрузить не больше 100 МБ картинок и 1 ГБ аудио. Чтобы узнать, сколько места уже занято, используйте этот метод.

dialogApi?.getStatus()

Изображения (Документация)

  • Список изображений, загруженных для навыка, можно получить этим методом.
dialogApi?.getAllImages()
  • Чтобы загрузить картинку для навыка из интернета, передайте URL картинки в метод.
dialogApi?.uploadImage(url = "https://example.com")
  • Чтобы загрузить файл, передайте File в метод.
val file = File("example.png")
dialogApi?.uploadImage(file = file)
  • Чтобы удалить загруженное изображение, передайте его идентификатор в этот метод.
dialogApi?.deleteImage(imageId)

Аудио (Документация)

  • Чтобы посмотреть аудиофайлы, загруженные для навыка, используйте этот метод.
dialogApi?.getAllSounds()
  • Аудио можно загрузить только файлом, передайте File в метод.
val file = File("example.mp3")
dialogApi?.uploadSound(file = file)
  • Чтобы удалить загруженное аудио, передайте его идентификатор в этот метод.
dialogApi?.deleteSound(soundId)

Response

Все методы API возвращают обёртку Response<>.

sealed interface Response<T> {
    data class Failed<T>(val message: String) : Response<T>
    data class Success<T>(val data: T) : Response<T>
}


Примечание

Вы можете заменить стандартный DialogApi на свою реализацию. Библиотека предоставляет реализацию KtorYandexDialogApi.

skill {
    dialogApi = ktorYandexDialogApi {
        oauthToken = "..."
    }
}.run()

Примеры

ImageDialogsApi.kt