Ниже рассмотрим, каким образом робот может работать с API Яндекса на примере получения информации о ближайшем городе в определенной точке. Точка определяется географическими координатами широты и долготы согласно всемирной системе геодезических параметров Земли (WGS84).

Выполните следующие действия:

  1. Перейдите в раздел Сценарии Сценарии.

       2. Создайте новый сценарий.

      3. Нажмите кнопку в строке созданного сценария.

     4. Разместите в сценарии блок Вопрос.

         В поле Вопрос (произносится роботом) введите следующий текст: «Назовите значение северной широты».

       5. Разместите в сценарии еще один блок Вопрос.

          В поле Вопрос (произносится роботом) введите следующий текст: «Задайте значение восточной долготы».

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

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение lat. Эта переменная будет хранить значение северной широты.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

       7. Повторите указанные выше действия чтобы разместить еще один блок Вопрос с текстом, как указано на рисунке ниже.

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

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение lng. Эта переменная будет хранить значение восточной долготы.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

      9. После последнего блока Вопрос добавьте блок Запрос к серверу.

      10. Выделите блок Запрос к серверу и в параметрах блока задайте следующие настройки:

  • В поле Тип авторизации выберите значение Отсутствует.
  • В поле Выберите тип запроса выберите значение GET.
  • В поле URL введите следующее значение: https://api.rasp.yandex.net/v3.0/nearest_settlement/?apikey={ключ API}format=json&lat={lat}&lng={lng}&distance={distance}, где:
    • apikey имя переменной, которая хранит ключ API.

Для выполнения запроса необходимо зарегистрировать вашу организацию в Яндексе и получить ключ API.

    • format формат возвращаемых данных.
    • lat имя переменной, которая хранит значение северной широты.
    • lng – имя переменной, которая хранит значение восточной долготы.
    • distance радиус, в пределах которого будет выполнен поиск самого близкого города.

       11. Выберите соединительную стрелку между блоками Вопрос и Запрос к серверу и в параметрах стрелки задайте следующие настройки:

  • Установите флажок напротив параметра Сохранить ответ.
  • В поле Название переменной введите значение distance. Эта переменная будет хранить значение радиуса, в пределах которого будет выполнен поиск самого близкого города.
  • В поле Тип выходных данных выберите значение Ветка по умолчанию.

      12. После блока Запрос к серверу разместите блок Информация со следующим текстом: «В радиусе 50 км для указанной точки ближайшим городом будет {city}», где:

  • {city} – имя переменной, которая будет возвращать название ближайшего города.

       13. Выберите соединительную стрелку между блоками Запрос к серверу и Информация и в параметрах стрелки задайте следующие настройки:

  • В поле Тип выберите значение Результат.
  • В поле Успешность запроса выберите значение Успешно.
  • В поле Код ответа выберите значение 200.
  • В поле Присвоить переменные при выборе ветки введите название переменной city и значение title. Эта переменная будет хранить значение города, который содержится в поле title возвращаемого JSON-объекта.

При необходимости создайте вторую ветку с блоком Информация для случая, когда город не будет найден (код ответа 404). 

      14. Нажмите кнопку Сохранить в верхней части редактора сценариев.

       Сценарий будет сохранен. Начните диалог с ботом и проверьте, что сценарий работает корректно.

.