API — це спосіб однієї програми попросити дані в іншої. У курсі Python ця тема стоїть на ступені «Ігри та боти» для 10–14 років: бібліотека requests, формат JSON і отримання даних із відкритих джерел — погоди, курсів валют.
Виглядає буденно, а насправді це поворотний момент: до цієї теми програма дитини знала тільки те, що дитина в неї вписала.
Чим програма без API відрізняється від програми з ним
Уся попередня робота — змінні, цикли, функції, файли — це замкнений світ. Калькулятор рахує те, що ввели. Гра працює за правилами, які прописали.
Із API програма вперше дізнається щось про зовнішній світ. Скрипт, який показує сьогоднішню погоду, робить те, чого дитина не могла закласти заздалегідь: завтра він покаже інше, і це буде правда.
Із цього моменту стає зрозуміло, як влаштовані застосунки в телефоні. Вони майже нічого не зберігають у собі — вони запитують.
JSON: формат, у якому дані приходять
Відповідь від сервера приходить не готовим текстом, а структурою: вкладені пари «назва — значення». Це JSON, і в темі його розбирають окремо.
Для дитини корисно тут інше, ніж синтаксис. Вона бачить, що дані бувають упорядковані, і щоб дістати з них потрібне, треба зрозуміти будову, а не вгадувати. Навичка читати чужу структуру знадобиться далі скрізь — у базах даних, у налаштуваннях, у файлах конфігурації.
Куди ця тема веде далі
Одразу після API в програмі йдуть три теми Pygame, а потім Telegram-боти на aiogram. І бот — це, по суті, теж робота з API: програма звертається до сервісу Telegram і відповідає на те, що прийшло.
Ще далі — підключення моделі ШІ через OpenAI API. Для дитини, яка вже дістала погоду з відкритого джерела, це не магія, а знайомий механізм: відправили запит, отримали відповідь, обробили.
На старшому ступені тема виростає у власний веб-API на Flask — тобто підліток уже не тільки запитує чужі сервіси, а й робить свій, до якого можуть звертатися інші.
Чи потрібні платні ключі для навчальних завдань?
Для теми про API беруть відкриті джерела — погода, курси валют. Платні сервіси з'являються пізніше й окремо, вже усвідомлено.
Що робити, якщо сервіс не відповідає?
Це нормальна ситуація, і саме тому перед API в програмі стоїть тема про обробку помилок: try/except, власні виключення. Робота із зовнішнім світом означає, що щось може піти не так — і код має це передбачати.
Чи безпечно давати дитині доступ до зовнішніх сервісів?
Запити йдуть до публічних джерел і не вимагають особистих даних. Окремо в програмі є тема про змінні оточення — ключі доступу не пишуть у код і не викладають у репозиторій.
Коротко
Тема API — момент, коли навчальні вправи перетворюються на програми, які роблять щось справжнє. Вона коротка за обсягом, але саме після неї у дитини з'являються проєкти, якими користуються інші люди.
Що з цього виходить за перший рік, розібрано окремо: проєкти за перший рік навчання. Як тема ШІ розгортається на всіх трьох ступенях — тут.