API
API
программный интерфейс приложения
API
Программный интерфейс приложения — то, что разработчик использует при интеграции чужого продукта со своим
Хотим делать телеграм ботов → хотим интеграцию с telegram → используем telegram API
Хотим писать на Python → хотим интеграцию с модулем math → испоользуем API модуля math
API
Это та часть ПО, которую использует разработчик
Широкое понятие
HTTP API
давайте сужать понятия
HTTP API
API, которое работает через протокол HTTP

HTTP и Интернет
Как работает интернет?
Интернет
Вводишь http://telegram.org в строку браузера и браузер открывает сайт телеграма.
Сеть
А дальше браузер в сети ищет нужный сервер

Общение
По этой сети отправляем письмо сайту, с просьбой показать сайт. А сайт отвечает таким же письмом.

Протокол писем
Протокол этих писем называется HTTP: формат писем специального вида

Протокол писем
У письма-запроса есть "глагол" — GET, POST, DELETE, ...
Например запрос страницы — GET
Отправка формы — POST

Протокол писем
У письма-ответа есть "код ответа" — 200, 401, 500

HTTP API
API, которое работает через протокол HTTP

HTTP JSON API
JSON
Формат ответа
HTTP

JSON

JSON
Формат ответа
Посмотрим примеры
Telegram

Telegram

Stepik

Stepik

OpenWeatherMap

"Миллионер"

Python
requests
Удобная библиотека для работы с HTTP
import requests
response = requests.get('https://stepik.org:443/api/courses')
api_answer = response.json()
print(api_answer['courses'][0]['summary']
pyTelegramBotApi
Удобная библиотека для работы с telegram API
import telebot
bot = telebot.TeleBot("TOKEN")
chat_id = 211270198
message = 'Hello!'
bot.send_message(chat_id, message)
[54636] API
By b0g3r
[54636] API
- 647