Що таке API і як він поєднує різні сервіси

Автор: Опубліковано

Коротко: API — це програмний інтерфейс, тобто набір правил, завдяки яким одна програма може використовувати дані або функції іншої. Він дає змогу, наприклад, отримати прогноз погоди для застосунку, передати замовлення до складської системи або надіслати запит на створення етикетки для кур’єрського відправлення. API визначає, які операції доступні, як їх викликати та як інтерпретувати результат.

Як API працює на практиці?

Скорочення API походить від англійського Application Programming Interface. Інтерфейс тут означає спосіб взаємодії між компонентами програмного забезпечення, а не екран із кнопками. Користувач працює із застосунком через форму або меню, а програма може взаємодіяти з іншою системою через її API.

API можна порівняти з формою замовлення: вона показує, що можна замовити, які відомості потрібно надати та якого підтвердження очікувати. Щоб правильно оформити замовлення, не потрібно знати, як організовано роботу всередині складу. Так само застосунку не потрібно знати, як інша система зберігає дані або виконує обчислення.

У типовому інтернет-API взаємодія відбувається так:

  1. Застосунок надсилає запит — прохання надати дані або виконати операцію.
  2. Система, що отримує запит, перевіряє його коректність і, за потреби, права відправника.
  3. Система виконує операцію та надсилає відповідь із результатом або повідомленням про помилку.

Не кожен API працює через інтернет. Програмні інтерфейси надають також операційні системи та бібліотеки — готові набори функцій, які використовують у програмуванні. Проте в розмовах про поєднання сервісів термін «API» найчастіше стосується мережевої взаємодії.

Приклад: магазин замовляє відправлення посилки

Уявіть інтернет-магазин, під’єднаний до системи кур’єрської компанії. Після оплати замовлення програмне забезпечення магазину надсилає через API дані, потрібні для відправлення: наприклад, адресу одержувача, вибрану послугу та параметри посилки. Кур’єрська система може у відповідь повернути номер відправлення й етикетку для друку.

Тоді працівникові не потрібно повторно вводити ці відомості в панелі перевізника. Згодом магазин може отримувати статус відправлення та показувати його клієнтові. Доступні дії та обов’язкові дані залежать від конкретного API.

Однак сама наявність API у перевізника не означає, що магазин автоматично почне ним користуватися. Потрібна інтеграція — налаштоване з’єднання систем за допомогою готового плагіна, сервісу автоматизації або окремої програми. API забезпечує можливість взаємодії, а інтеграція реалізує конкретний бізнес-процес.

Що означають endpoint, HTTP і JSON?

У документації інтернет-API часто трапляється endpoint, або кінцева точка: конкретна адреса, за якою доступна певна функція чи ресурс. Наприклад, шлях /tovary/123 може вказувати на дані товару з ідентифікатором 123. Це умовний приклад — справжні адреси визначає постачальник сервісу.

Багато таких інтерфейсів використовують HTTP — протокол зв’язку, яким також користуються вебсайти. Запит містить метод, що визначає тип дії. Метод GET призначений для отримання даних, а POST часто використовують для їх надсилання, наприклад під час створення замовлення.

Відповідь може бути записана у JSON — текстовому форматі даних, зрозумілому для програм. Простий результат міг би виглядати так: {"id":123,"nazva":"Горнятко","naiavnyi":true}. Застосунок зчитує поля й на їхній основі показує назву товару та інформацію про його наявність.

API також передає інформацію про помилки. Під час взаємодії через HTTP код 404 зазвичай означає, що вказаний ресурс не знайдено, а 429 — що перевищено допустиму частоту запитів. Коректно реалізована інтеграція має також обробляти відсутність відповіді, недоступність сервісу та некоректні дані, а не виходити з припущення, що кожна операція буде успішною.

Чи потрібно програмувати, щоб користуватися API?

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

Програміст зазвичай потрібен, коли немає готового з’єднання або процес вимагає нестандартної логіки. Приклад — синхронізація складських залишків із кількох джерел, під час якої потрібно усувати суперечності в даних і безпечно повторювати невдалі операції.

Альтернативою API іноді є ручний експорт та імпорт файлів. Для епізодичного обміну невеликою кількістю даних цього може бути достатньо. API доцільніший, коли обмін відбувається часто або дані мають надходити до іншої системи без ручного запуску експорту.

Що перевірити перед поєднанням сервісів?

Доступ до API не обов’язково відкритий для всіх чи безплатний. Часто він потребує ключа API або токена — облікових даних, які використовують для авторизації доступу. Конфіденційні ключі не слід розміщувати в загальнодоступному коді сайту або передавати людям, яким вони не потрібні.

Перед впровадженням перевірте в офіційній документації та умовах постачальника:

Для початку опишіть одне завдання, наприклад: «після оплати замовлення створи відправлення». Потім перевірте, чи існує готова інтеграція, а якщо ні — чи надають API обох систем функції, потрібні для виконання цього завдання.

Дивіться також: Що таке 2FA?

Читайте також

Дізнайтеся, як PHP-FPM обробляє запити PHP, чим відрізняється від вебсервера та як налаштувати процеси під трафік і ресурси хостингу.
Дізнайтеся, як BIND обслуговує DNS, чим відрізняються його серверні ролі та коли варто розгортати його самостійно замість керованої послуги.
Дізнайтеся, що означають польський реєстр і номер REGON, чим вони відрізняються від NIP та KRS і як перевірити дані підприємства.