Коли я вперше почув слово «API», воно звучало як щось із підручника для програмістів, до якого мені далеко. Потім з'ясувалося, що я користувався API щодня, навіть не здогадуючись. Тому розкажу, що таке API простими словами, без жаргону: на прикладі офіціанта в кафе й кількох реальних випадків з життя сайтів.
API на прикладі кафе
Уяви, що ти сидиш у кафе. Кухня десь у приміщенні, ти туди не заходиш. Ти спілкуєшся з офіціантом: кажеш, що хочеш, він передає замовлення на кухню й приносить результат. Тобі не потрібно знати, як там усе влаштовано, достатньо вміти замовляти за меню.
API (Application Programming Interface, «інтерфейс програмування застосунків») працює так само. Кухня це чужа програма чи сервер із даними, ти це твоя програма чи сайт, а офіціант це API: набір правил, за якими одна програма просить іншу щось зробити чи віддати дані.
Де ти зустрічаєш API щодня
- Прогноз погоди на сайті чи в застосунку. Сайт не вимірює температуру сам: він запитує її в сервісу погоди через API.
- Вхід через Google чи Facebook. Сайт звертається до цих сервісів, щоб підтвердити, що це справді ти.
- Карта на сайті компанії. Вона підтягується з картографічного сервісу.
- Кнопка «Поділитися» і автопостинг. Програма, яка сама публікує пост у соцмережі, робить це через їхнє API. Я описував це в статтях про автопостинг у Telegram і про автопостинг у YouTube.
- Оплата карткою на сайті. Магазин не бачить твої дані, а передає запит платіжній системі.
Як це виглядає всередині
Найчастіше веб-API це звичайні запити по інтернету. Твоя програма надсилає запит на певну адресу, а сервер повертає відповідь, зазвичай у форматі JSON: простий текст із парами «ключ і значення». Приклад відповіді сервісу погоди:
{
"city": "Львів",
"temperature": 7,
"condition": "хмарно"
}
Така відповідь легко читається і програмою, і людиною. Саме тому JSON став стандартом для обміну даними.
Що означають запити GET, POST та інші
- GET – отримати дані («дай мені погоду»).
- POST – створити чи надіслати щось нове («створи пост», «додай замовлення»).
- PUT і PATCH – змінити наявні дані.
- DELETE – видалити.
Ключ API і чому його не можна показувати
Більшість сервісів видає ключ, який ідентифікує твою програму. За ним сервіс розуміє, хто звертається, і може обмежити кількість запитів або стягнути плату. Ключ це як пароль: не публікуй його в коді, який бачать усі (наприклад, у JavaScript на сторінці чи в публічному репозиторії). Тримай на сервері й не копіюй у відкриті місця.
Як спробувати самому
Найпростіше почати з вільного API, який не вимагає ключа. Відкрий у браузері адресу такого сервісу й подивись, що він повертає. Далі можна написати кілька рядків на JavaScript чи PHP, щоб отримати ці дані й показати на сторінці. Приклад роботи з даними в PHP є в статті про підключення до MySQL через PDO.
Типові помилки новачків
- Світити ключ API у відкритому коді.
- Не читати документацію. Це «меню» сервісу, там написано, які запити існують.
- Не обробляти помилки. Сервер може бути недоступний, ліміт вичерпаний чи відповідь порожня: програма має це пережити.
- Забувати про ліміти. Багато API обмежують кількість запитів на хвилину чи добу.
Що далі
Якщо хочеш побачити API у дії, подивись статті про автопостинг: Telegram через API на PHP і автопостинг у Facebook з PHP. А щоб зберігати дані, які ти отримуєш, знадобиться з'єднання з базою через PDO.
Більше про це – за позначками Back-end розробка, REST API та Веб-розробка.
А де ти вже зустрічав API і не знав про це? Розкажи в коментарях 🙂


Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.