Ответ
Интеграция через REST API — один из самых распространенных способов взаимодействия между системами. Она основана на стандартных HTTP-методах (GET, POST, PUT, DELETE) и обмене данными в формате JSON.
Пример: Отправка уведомлений в Telegram
В этом примере наше приложение (система 1) интегрируется с Telegram API (система 2) для отправки сообщений.
import requests
import os
def send_telegram_message(bot_token: str, chat_id: str, text: str):
"""Отправляет сообщение в Telegram чат через Bot API."""
url = f"https://api.telegram.org/bot{bot_token}/sendMessage"
payload = {
"chat_id": chat_id,
"text": text,
"parse_mode": "Markdown" # Опционально, для форматирования
}
try:
response = requests.post(url, json=payload)
response.raise_for_status() # Вызовет исключение для HTTP-ошибок (4xx или 5xx)
return response.json()
except requests.exceptions.RequestException as e:
print(f"Ошибка при отправке запроса: {e}")
return None
# Пример использования
# BOT_TOKEN и CHAT_ID лучше хранить в переменных окружения
BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN", "ВАШ_ТОКЕН")
CHAT_ID = os.getenv("TELEGRAM_CHAT_ID", "ВАШ_CHAT_ID")
if BOT_TOKEN != "ВАШ_ТОКЕН":
send_telegram_message(BOT_TOKEN, CHAT_ID, "*Привет* из Python-приложения!")
Ключевые шаги и аспекты интеграции:
- Изучение документации API: Необходимо понять эндпоинты, методы, форматы запросов и ответов целевой системы.
- Аутентификация: В примере используется токен (
bot_token), который передается в URL. Другие популярные методы — API-ключи в заголовках (Authorization: Api-Key ...) или OAuth 2.0. - Формирование запроса: Создание HTTP-запроса с правильными заголовками, телом (
payload) и параметрами. Библиотекаrequestsв Python идеально подходит для этого. - Обработка ответа и ошибок: Важно анализировать HTTP-статус код (200 OK, 401 Unauthorized и т.д.) и реализовывать логику для случаев, когда API недоступно или возвращает ошибку (
try...exceptиresponse.raise_for_status()).