Що означає поняття API




Що означає поняття API



Що таке API і як це працює

У наші дні рідко зустрінеш програму або веб-сервіс, що працює повністю автономно. Більшість програмних продуктів так чи інакше інтегрується з іншими системами, обмінюючись із ними даними та функціями. Цей процес взаємодії відбувається завдяки API - спеціалізованим інтерфейсам, які виступають у ролі "мосту" між програмними компонентами. Розбираємось, що означає API, що це за інтерфейси і для чого вони потрібні.

Що означає API

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

Приклад: використовуючи API популярного сервісу Google Maps, програмісти можуть інтегрувати карти та геолокаційні дані до програм — навігатори, таксі-сервіси тощо, а також вбудовувати фрагменти карток у веб-сторінки.

Image by vector4stock на Freepik.

Як працюють сучасні API-інтерфейси

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

Чому API називають інтерфейсом

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

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

Для чого потрібні програмні інтерфейси програм

Програмні інтерфейси додатків (API) виконують ряд важливих функцій як у процесі розробки, і у бізнес-операцій. Розглянемо основні аспекти їхнього використання.

У розробці

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

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

У бізнесі

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

Використання API дозволяє:

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

Очевидно, що застосування API сприяє розширенню присутності бізнесу на ринках, підвищенню його ефективності та створенню нових джерел доходу.

Які функції є у ​​API

Використання Application Programming Interfaces полегшує вирішення завдань розробки та інтеграції програмного забезпечення. Ось деякі функції, що реалізуються через API:

  1. Доступ до даних. Через API програми можуть отримувати необхідну інформацію з баз даних та обробляти її. Наприклад, так веб-сайти отримують відомості про погоду, курси валют, новини тощо.
  2. Виконання операцій. Створення, редагування та видалення записів у БД - наприклад, додавання нового товару в інтернет-магазині або зміна статусу замовлення.
  3. Надсилання повідомлень. Актуальна в системах моніторингу, де потрібне негайне інформування про будь-які зміни або мобільні програми, де потрібно повідомити користувача про нове повідомлення або подію.
  4. Керування ресурсами, такими як файли чи серверні потужності. Це особливо затребуване у хмарних технологіях, де ресурси розподілені та потребують ретельного контролю. Через API можна налаштувати права доступу, запобігти перевантаженню сервера та оптимізувати використання ресурсів.

Таким чином, API – механізм, який забезпечує обмін даними, виконання різних операцій та керування доступом до ресурсів.

Види API-інтерфейсів

Є кілька видів API-інтерфейсів, і кожен має особливості і кращі області використання.Розглянемо найпоширеніші з них.

RESTful API (Representational State Transfer) побудований на архітектурі REST, що використовує HTTP-методи (GET, POST, PUT, DELETE) для управління ресурсами. RESTful API нескладні та гнучкі – вони легко адаптуються під різні пристрої та платформи.

SOAP (Simple Object Access Protocol) – стандарт, який використовує XML для обміну даними. SOAP API мають високий рівень безпеки та сувору структуру. Часто застосовуються у корпоративних додатках.

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

Gateway API служать шлюзами між внутрішніми та зовнішніми системами, керуючи доступом та безпекою. Вони часто використовуються у великих корпоративних інфраструктурах, де потрібний високий рівень контролю та захисту даних.

Кожен вид має свої переваги та обмеження, і вибір відповідного варіанту залежить від вимог проекту. Наприклад, для простого обміну даними між веб-програмами перевагу віддають RESTful API, а для складних корпоративних рішень вибирають SOAP або Gateway API.

Плюси та мінуси використання API

Як і будь-який інструмент, API має свої переваги і недоліки. Розглянемо їх докладніше.

Позитивні сторони використання:

  1. Модульність та масштабованість. Через розділення завдань на окремі модулі можна писати код, доступний для повторного використання. Це полегшує масштабування проектів.
  2. Скорочення часу розробки. Використання готових API заощаджує час на програмування, тестування та підтримку.Це цінно в умовах швидких змін на ринку та необхідності оперативного випуску нових продуктів.
  3. Стандартизація. Знижує ризик помилок, покращує сумісність та надійність додатків, а їх розробка стає більш передбачуваною.
  4. Безпека. При правильному налаштуванні API захищають дані та процеси від недозволеного доступу, обмежуючи доступність ресурсів та застосовуючи шифрування.
  5. Зручність інтеграції. Безшовна взаємодія систем та сервісів спрощує розробку комплексних рішень та знижує витрати на їх об'єднання.

Обмеження та недоліки:

  1. Залежність зовнішніх сервісів. Збої у роботі можуть зробити власні програми недоступними.
  2. Потенційна вразливість атак. Необхідний уважний підхід до налаштування прав доступу та регулярні оновлення безпеки.
  3. Обмежений контроль даних. Управління здійснюється через зовнішній інтерфейс — тому є ризики втрати контролю.
  4. Складність налаштування. Потрібне гарне розуміння принципів функціонування API та досвід їх налаштування.

Незважаючи на деякі недоліки, застосування API здатне суттєво підвищити ефективність ПЗ та продуктивність його розробки.

Як використовувати API

Послідовність кроків щодо реалізації API у проектах:

  1. Виберіть API, який найкраще підходить для ваших потреб. Враховуйте функціональність, безпеку та зручність.
  2. Зареєструйтесь на сайті API-провайдера та отримайте ключ. Дотримуйтесь інструкцій, розміщених на сайті API.
  3. Напишіть код для взаємодії з API. Можливо, потрібна установка бібліотек та фреймворків, потрібних для роботи API.
  4. Після інтеграції API необхідні тестування та налагодження – переконайтеся, що все функціонує коректно.
  5. Зверніть особливу увагу на захист API.Встановіть необхідні заходи безпеки, такі як автентифікація та авторизація користувачів, шифрування та обмеження доступу до чутливих даних.
  6. Якщо виникнуть проблеми або питання, зверніться до документації API та спільноти розробників. Багато API мають активні форуми підтримки та бази знань, де можна знайти відповіді на більшість питань.

Виконавши ці кроки, ви наблизите створення цікавого проекту із застосуванням API.

Приклади API

Для кращого розуміння наведемо кілька популярних прикладів API у різних сферах:

  1. Ощадбанк API. Програмісти можуть інтегрувати у свої та сторонні програми сервіси Ощад, наприклад «Платежі онлайн»:
    • доступ до даних сервісів Оберу в онлайн та десктопних додатках;
    • авторизація користувачів через SberID.
  2. Яндекс API Доступ до сервісів Яндекса:
    • інтеграція карт Яндекса до мобільних додатків;
    • пошук інформації та інтеграція з пошуковою системою Яндекса;
    • отримання прогнозу погоди
    • переклад текстів;
    • надсилання поштових повідомлень.
  3. ВКонтакті API. Програми, що взаємодіють з вітчизняною соціальною мережею:
    • авторизація через ВК;
    • публікація постів та повідомлень;
    • доступ до інформації про друзів та груп;
    • перегляд інформації про користувачів.
  4. Держпослуги API. Доступ до державних сервісів - перегляд штрафів ДІБДР, запис на прийом до лікаря, подання заяв на отримання документів та ін.
    • десктопне та мобільне додатки «Держпослуги».
    • Послуги, взаємодіють із держ. органами.
  5. Пошта Росії API. Відстеження відправлень, інформування про статус доставки та ін.
    • мобільні програми для відстеження посилок.
    • Послуги, що автоматизують взаємодію України з Поштою Росії.

Висновок

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

Що таке API і як він працює

Простими словами пояснюємо, як програми спілкуються між собою, та практикуємо API-дзвінки.

Ілюстрація: Катя Павловська для Skillbox Media

Пише про програмування, у вільний час створює ігри. Мріє відкрити свою студію та випускати лампові RPG.

Заходьте ви на сайт з вакансіями і шукаєте роботу розробником, а там майже в кожній вакансії написано, що потрібно вміти працювати з REST API, або SOAP API, або просто API. Що це все означає і навіщо потрібно програмісту? Давайте розумітися.

Зміст

  • Що таке API
  • Чому API називають інтерфейсом
  • Як API допомагає писати надійні програми
  • Види API
  • Інтеграція API
  • Чому API такі популярні у програмістів
  • Які функції можуть входити до API
  • Як компанії заробляють за допомогою API
  • Як відбувається виклик функцій API

Що таке API

API (англ. application programming interface - програмний інтерфейс програми) - це набір способів і правил, за якими різні програми спілкуються між собою та обмінюються даними.

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

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

Так термінал надсилає запит до банку, щоб людина купила квиток у кіно
Ілюстрація: Катя Павловська для Skillbox Media

Програмний інтерфейс нагадує договір між клієнтом і продавцем. Тільки клієнтом виступає додаток, якому потрібні дані, а продавцем - сервер або ресурс, з якого ми ці дані беремо. У такому договорі прописуються умови, як і які дані може отримати клієнт.

API зустрічається практично скрізь:

  • У мовах програмування він допомагає функціям коректно спілкуватися. Функція виклику повинна дотримуватися типу даних і послідовності параметрів функції, що викликається.
  • В операційній системі він допомагає програмам отримувати дані з пам'яті або змінювати налаштування ОС. Тому, щоб розробляти програми для конкретної операційної системи, потрібно знати її API.
  • У Інтернеті послуги спілкуються один з одним через програмний інтерфейс. Якщо API відкритий, то офіційну документацію роботи з ним публікують творці сервісу-джерела. Приміром, виглядає документація Telegram.

Незважаючи на те, що термін досить широкий, найчастіше у вакансіях йдеться саме про третій варіант.

Чому API називають інтерфейсом

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

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

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

API – це щось зрозуміле для користувача. А ось його реалізація може бути дуже складною
Ілюстрація: Катя Павловська для Skillbox Media

Як API допомагає писати надійні програми

Зазвичай ми знаємо, як програми влаштовані всередині. Втім, нам іноді й не має значення, як вони працюють. Тому програмну реалізацію називають «чорною скринькою» та ховають за кількома рівнями абстракцій, щоб користувачам було зручно ними користуватися.

Рівні абстракції сильно прискорюють процес розробки, оскільки програміст може використовувати готові функції API інших програм. Це проста практика. Наприклад, більшість операційних систем надають свої API іншим програмам, щоб вони отримали можливість:

  • працювати з файловою системою;
  • малювати графіку;
  • зберігати дані;
  • використовувати мережеві можливості;
  • відтворювати аудіо і таке інше.

Windows, Linux або macOS самі визначають, які функції потрібно викликати та які параметри передати, щоб виконати ті чи інші дії. Все це описується у документації до API, з яким працюють розробники інших програм.

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

Види API

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

Web API

Web API — загальна назва всіх API, які використовують для взаємодії між веб-сервісами через інтернет. З їх допомогою програми обмінюються даними та виконують дії за протоколом HTTP(S). Всі наведені нижче інтерфейси відносяться до Web API.

REST

REST API – це архітектурний підхід для створення веб-сервісів. Він прописує обмеження пристрою та функціональності API. По суті, REST – це набір правил та принципів. Усього їх шість:

  • Клієнт-серверна архітектура. При цьому підході додаток складається з двох «іпостастей»: сервера та клієнта. Наприклад, код та ресурси цієї сторінки зберігаються на серверах Skillbox, а ваш браузер виступає у ролі клієнта, який підтягує з сервера потрібні вам дані.
  • Відсутність стану (statelessness). Сервер не зберігає дані про попередні взаємодії з клієнтом — кожен запит від клієнта до сервера має бути самодостатнім. При такому підході навантаження на сервер знижується в кілька разів - йому не потрібно пам'ятати кожну сесію обміну даними з клієнтом.
  • Кешування (cacheability). Завдяки кешованості клієнт може зберігати відповіді API для повторного використання без виконання запиту. Це знижує затримку та навантаження на сервер. Відповіді REST API також повинні вказувати, чи вони можуть бути кешовані клієнтом.
  • Одноманітність інтерфейсу (uniform interface). REST API повинні працювати через одноманітний інтерфейс, який спрощує взаємодію між клієнтами та серверами. У REST API це стандартні методи HTTP (GET, POST, PUT, DELETE), а також точні угоди про найменування ресурсів.
  • Шари (layered system). Архітектура REST API - це справжній листковий пиріг, який складається з серверів, проксі, шлюзів, балансувальників навантаження та інших допоміжних систем. Тому клієнти ніколи не знають точно, спілкуються вони безпосередньо з сервером або з його дублером.
  • Код на вимогу (code on demand) – необов'язковий принцип. Сервер може надсилати код, який буде виконуватися вже на стороні клієнта, наприклад, це може бути код JS-скриптів та інших інтерактивних елементів інтерфейсу.

Плюси REST API

  • Освоїти простіше, ніж SOAP чи GraphQL.
  • Використовуються стандартні HTTP-методи (GET, POST, PUT, DELETE).
  • Широка підтримка та сумісність із веб-технологіями.
  • Кешування та масштабованість.

Мінуси REST API

  • Навантаження мережі. REST API використовує текстові формати, наприклад JSON, а це збільшує обсяг даних, що передаються в порівнянні з бінарними форматами.
  • Немає єдиного стандарту. REST API не має суворої специфікації, і багато розробників реалізують API на основі вимог конкретного проекту. Це ускладнює інтеграцію коїться з іншими сервісами.
  • Недостатня безпека. Розробники повинні самостійно впроваджувати засоби авторизації та аутентифікації. Вбудованих механізмів захисту немає.
  • Немає підтримки довготривалих з'єднань. REST API побудований на синхронному протоколі HTTP, який працює у форматі «запит – відповідь». Через це розробники не можуть реалізувати підтримку довготривалих з'єднань, наприклад веб-сокетів.

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

SOAP

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

Плюси SOAP API

  • Стандартизація. SOAP — стандартизований протокол з чіткими правилами обміну повідомленнями. Це дозволяє завжди отримувати передбачуваний результат.
  • Безпека. Підтримуються методи шифрування та керування транзакціями, а повідомлення можна підписувати цифровим підписом, що корисно для корпоративних програм.
  • Гнучкість. SOAP працює поверх різних протоколів передачі даних, включаючи HTTP, TCP та SMTP, на відміну від, наприклад, REST API, який використовує лише HTTP.

Мінуси SOAP API

  • Складність. Реалізація та підтримка SOAP займає більше часу, ніж REST.
  • Низька продуктивність. Відповіді SOAP часто більші, ніж у інших видів API. Це знижує швидкість передачі.
  • Не підтримує JSON. SOAP за замовчуванням працює з форматом XML, а сучасні веб-програми використовують JSON. Тому протокол доводиться модифікувати.

GraphQL

GraphQL – це мова запитів для API. Він хороший тим, що дозволяє клієнтам запитувати лише дані, які їм справді потрібні. Крім того, за допомогою одного запиту GraphQL можна отримати дані, які REST вимагали б двох або навіть трьох запитів поспіль.Така робота API можлива завдяки строгій типізації структури запитів.

Плюси GraphQL

  • Гнучкість. Клієнти можуть вимагати лише потрібні дані, що дозволяє уникати передачі зайвої інформації.
  • Агрегація даних. За допомогою одного запиту можна отримати дані з кількох джерел. При використанні інших видів API для цього потрібно було б послідовно виконати кілька запитів.
  • Ефективність. Через мережу не передаються зайві дані, а це знижує навантаження на сервер і економить ресурси мережі.

Мінуси GraphQL

  • Складність налаштування. Впровадження та налаштування GraphQL займає більше часу порівняно з REST.
  • Безпека. Складні складові запити залишаються вразливими для атак хакерів, тому потрібен додатковий захист.
  • Екосистеми. Для GraphQL доступно менше інструментів та бібліотек, ніж для REST.

RPC (gRPC, tRPC)

RPC — це протокол, який дозволяє програмі викликати функції, що знаходяться на віддаленому сервері, якби вони виконувались локально на клієнті. RPC API відправляє на сервер запит із зазначенням методу та необхідними параметрами, а у відповідь отримує результат виконання методу. Існують різні реалізації RPC - наприклад, gRPC від Google та tRPC, побудований мовою TypeScript.

Плюси RPC

  • Простий у використанні. Віддалені функції викликаються так само просто, як локальні, що значно скорочує кодову базу.
  • Висока продуктивність. Деякі реалізації API RPC використовують бінарні формати передачі даних і протокол HTTP/2, що прискорює взаємодію з віддаленим сервером.

Мінуси RPC

  • Найменша сумісність. Освоїти RPC складніше, ніж інші види API, і ще треба освоїти мову опису інтерфейсів (IDL, interface definition language).
  • Обмежена гнучкість. RPC не просто запитує ресурси з віддаленого сервера, а просить виконати певну функцію та повернути результат. Такий тип взаємодії складніше використовувати у сучасних веб-додатках.

Інтеграція API

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

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

Розглянемо ще один приклад. Уявіть, що у вас є інтернет-магазин, і ви хочете автоматизувати процес доставки. Для цього необхідно інтегрувати API служби доставки. Тоді весь процес обробки замовлення виглядатиме так:

  • Інтернет-магазин отримує дані замовлення (адреса доставки, вага посилки та габарити) та відправляє їх у службу доставки через API.
  • Служба приймає ці дані, обробляє їх та повертає інформацію про вартість та час доставки.
  • Магазин показує цю інформацію покупцю.

За допомогою інтеграції API можна підключити сервіс прийому платежів або виводити в картках товарів відгуки з інших майданчиків.

Чому API такі популярні у програмістів

Програмні інтерфейси сервісів та бібліотек дозволяють розробникам не винаходити велосипед. Навіщо писати код, коли можна користуватися готовим?

Ось які можливості дає API:

  • Надає доступ до готових інструментів. Наприклад, до функцій бібліотеки для машинного навчання TensorFlow вони допомагають швидко створити нейромережу, не витрачаючи час на розробку інструментів з нуля.
  • Підвищує безпеку. API дозволяє винести в окрему програму функціональність, яка має бути захищена. Так знижується можливість некоректного використання цих функцій іншими програмами.
  • Пов'язує різні системи. Якщо вам потрібно підключити платіжну систему або авторизацію через соцмережі до сайту, без API не обійтися.
  • Знижує вартість розробки. Часто буває, що дешевше користуватися платним API, ніж створювати функціональність з нуля.

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

Написали один рядок коду, підключили API - робот побіг
Ілюстрація: Катя Павловська для Skillbox Media

Які функції можуть входити до API

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

Наприклад, в API для аналізу текстів будуть функції пошуку всіх однокорінних слів, підрахунку кількості спілок та виявлення часто зустрічаються словосполучень.

Функції API можуть вирішувати як утилітарні завдання конкретних додатків. Це може стати елементом маркетингу, коли доступ до API пропонується як окрема послуга.

API - це меню, тільки замість їжі там функції
Ілюстрація: Катя Павловська для Skillbox Media

Як компанії заробляють за допомогою API

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

Надіслали картинки - отримали готове відео
Ілюстрація: Катя Павловська для Skillbox Media

Наприклад, «Яндекс» надає платні API таких технологій:

  • перекладача з машинним навчанням;
  • системи розпізнавання та синтезу мови;
  • платформи хмарних обчислень тощо.

Популярні соціальні мережі також надають доступ до своїх API. За допомогою них можна, наприклад, створити гру для "ВКонтакті" або додати на сайт авторизацію через Google.

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

Як відбувається виклик функцій API

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

Ось приклад виклику методів бібліотек у мові Python:

# Підключаємо бібліотеку
import numpy as np # Викликаємо метод, який повертає модуль числа -5 x = np.abs(-5) # Виводимо змінну x print(x)

Якщо API надає функції через Інтернет (Web API), потрібно надіслати на сервер HTTP-запит із даними у форматі JSON. Приклад синтезу мови за допомогою API Yandex.SpeechKit:

import requests import json # Поміщаємо в змінну API_URL адресу API
API_URL = "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize"
# Поміщаємо у словник data дані для відправки в API Yandex.SpeechKit
data = < "text": "Привіт! Це приклад коду для статті про API у Skillbox Media", "lang": "ru-RU", "speed": 1, "voice": "filipp", "emotion": "good" >
# Перетворюємо дані в рядок у форматі JSON
json_str = json.dumps(data) # Надсилаємо дані на сервер і отримуємо відповідь
answer = requests.post(API_URL, json_str)

Можете запустити цей код та послухати результат.

Також трапляються непрямі дзвінки API — коли дзвінок відбувається за участю посередника (іншої функції або іншого API). Наприклад, коли користувач натискає кнопку "Оновити", він також взаємодіє з API браузера, але робить це не безпосередньо, а через графічний інтерфейс.

Що запам'ятати

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

API заощаджує час програмістів та зменшує витрати бізнесу на розробку.

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

Ресурс в REST - це будь-яка сутність, якій можна назвати ім'я. Ресурсом може бути користувач, клієнт, файл – будь-що. Певною мірою ресурси синонімічні класам у мовах програмування.

Схожі статті

  • Що означає в обліку розгорнуте сальдо на рахунках
  • Що означає фраза бумеранг
  • Що означає символ е
  • Що означає код 321
  • Що означає зображення сови
  • Що означає коли тебе гладять по підборідді
  • Що означає коли кішка постійно вилизує себе
  • Що означає під шип
  • Недавні статті

  • Як бродить зернова брага
  • Що робити якщо не засмагаєш на сонці чому засмага погано лягає на шкіру або перестає прилипати
  • Як швидко зняти гель лак без апарату
  • Як робиться Каті голови
  • Яка гребінець краще для об'єму
  • Чим роблять м'яку покрівлю
  • Чи можна залишати крем для обличчя на ніч
  • Де знаходиться датчик селектора
  • географія нашої діяльності
    вулиця Драгоманова, 27
    вул. Курчатова 1Б
    вул. Міцкевича 130
    вул. Лабунського, 1
    вул. Макарова-Пржевальського
    вул. Толстого 10
    вул. Грушевського 28
    вул. Перший промінь (Черняхівського)
    напишіть нам

    сообщение успешно отправлено
    x