Тут Передача даних із Kwizbot за допомогою send_request ми розбирались як з допомогою send_request відправити запит, тепер розглянемо як обробити відповідь.

Ми будемо використовувати в якості тестового API два сервіси

  1. http://worldclockapi.com/api/json/est/now - API повертає звичайний JSON-об’єкт, ми почнемо з нього
  2. https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5 - API повертає масив JSON-об’єктів, що складніше в обробці

В цій інструкції розглядаються такі кейси:

Обробка JSON-об’єкту у відповідь

Створимо таку конфігурацію дій

{
  "url": "<http://worldclockapi.com/api/json/est/now>",
  "method": "GET",
  "response_mapping": {
    "dayOfTheWeek": "today"
  }
}

І таку конфігурацію сценарію. Що було до, і що буде після запиту нам не дуже важливо, наше завдання вивести який сьогодні день тижня в плейсхолдер today.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8df4beb1-a7ce-42b7-85dc-e3ae8710c76c/Untitled.png

Параметр response_mapping відповідає за те, в який плейсхолдер буде записаний параметр відповіді API запиту. Тут все доволі зрозуміло: параметр з API dayOfTheWeek буде доступний в конструкторі зa плейсхолдером {{today}}

Обробка масиву об’єктів у відповідь

Перейдемо до отримання курсу валют. Створимо таку конфігурацію дій:

{
  "url": "<https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5>",
  "method": "GET",
  "response_mapping": {
    "list_obj": {
      "text": "{{ccy}}/{{base_ccy}}",
      "value": "{{buy}}"
    }
  },
	"save_mapped_list_obj": "currency_mapped_obj"
}

Нам знадобиться ось така конфігурація сценарію:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/74dd32f8-144a-4ea1-8d12-4a978271522b/Untitled.png

Блок "список" повинен бути сконфігурований так

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1e2a72bf-1ed1-4573-9d3a-c1df5d1e0550/Untitled.png