Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 19 Следующий »

Ниже рассмотрим, каким образом бот может взаимодействовать с 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. Нажмите кнопку Сохранить в верхней части редактора сценариев.



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


  • Нет меток