Bot container restart from admin-panel
This commit is contained in:
@@ -1,37 +1,101 @@
|
||||
# import requests
|
||||
# import json
|
||||
# from dotenv import load_dotenv
|
||||
# import os
|
||||
|
||||
# load_dotenv()
|
||||
|
||||
# API_URL='http://106.245.250.243:8000/api/clients'
|
||||
# API_KEY='g1XqG9lir4RneLuX01VAob+F0MpVCZTpG2is8UBWLZ0='
|
||||
|
||||
# def fetch_clients(api_url, api_key):
|
||||
# """
|
||||
# Подключаемся к API с использованием заданного X-API-Key
|
||||
# """
|
||||
# headers = {
|
||||
# "X-API-Key": api_key
|
||||
# }
|
||||
# try:
|
||||
# response = requests.get(api_url, headers=headers)
|
||||
# response.raise_for_status()
|
||||
# return response.json()
|
||||
# except requests.exceptions.RequestException as e:
|
||||
# print(f"Ошибка при запросе к API: {e}")
|
||||
# return None
|
||||
|
||||
# if __name__ == '__main__':
|
||||
# api_endpoint = f"{os.getenv('API_URL')}"
|
||||
# api_key = os.getenv("API_KEY")
|
||||
|
||||
# print(api_endpoint, api_key)
|
||||
# if not api_endpoint or not api_key:
|
||||
# print("Необходимо задать API_URL и API_KEY в .env файле.")
|
||||
# exit(1)
|
||||
|
||||
# clients = fetch_clients(api_endpoint, api_key)
|
||||
|
||||
# if clients is not None:
|
||||
# print(json.dumps(clients, indent=4, ensure_ascii=False))
|
||||
# else:
|
||||
# print("Не удалось получить данные с API.")
|
||||
|
||||
import requests
|
||||
import json
|
||||
from dotenv import load_dotenv
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv('.env')
|
||||
load_dotenv()
|
||||
|
||||
def fetch_clients(api_url, api_key):
|
||||
"""
|
||||
Подключаемся к API с использованием заданного X-API-Key
|
||||
"""
|
||||
headers = {
|
||||
"X-API-Key": api_key
|
||||
}
|
||||
try:
|
||||
response = requests.get(api_url, headers=headers)
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Ошибка при запросе к API: {e}")
|
||||
return None
|
||||
class ApiClient:
|
||||
def __init__(self, base_url=None, api_key=None):
|
||||
self.base_url = base_url or os.getenv('API_URL', 'http://106.245.250.243:8000/api')
|
||||
self.api_key = api_key or os.getenv('API_KEY')
|
||||
if not self.api_key:
|
||||
raise ValueError("API_KEY не задан ни в .env, ни через параметры конструктора")
|
||||
self.headers = {
|
||||
"X-API-Key": self.api_key
|
||||
}
|
||||
|
||||
def fetch_clients(self):
|
||||
"""Получение списка клиентов"""
|
||||
try:
|
||||
url = f"{self.base_url}/clients"
|
||||
response = requests.get(url, headers=self.headers)
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Ошибка при получении клиентов: {e}")
|
||||
return None
|
||||
|
||||
def fetch_invoices(self, filters=None):
|
||||
"""Получение списка счетов с возможными фильтрами"""
|
||||
try:
|
||||
url = f"{self.base_url}/invoices"
|
||||
response = requests.get(url, headers=self.headers, params=filters)
|
||||
response.raise_for_status()
|
||||
return response.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"Ошибка при получении счетов: {e}")
|
||||
return None
|
||||
|
||||
if __name__ == '__main__':
|
||||
api_endpoint = os.getenv("API_URL")
|
||||
api_key = os.getenv("API_KEY")
|
||||
|
||||
print(api_endpoint, api_key)
|
||||
if not api_endpoint or not api_key:
|
||||
print("Необходимо задать API_URL и API_KEY в .env файле.")
|
||||
exit(1)
|
||||
|
||||
clients = fetch_clients(api_endpoint, api_key)
|
||||
|
||||
if clients is not None:
|
||||
client = ApiClient()
|
||||
|
||||
print("=== Клиенты ===")
|
||||
clients = client.fetch_clients()
|
||||
if clients:
|
||||
print(json.dumps(clients, indent=4, ensure_ascii=False))
|
||||
else:
|
||||
print("Не удалось получить данные с API.")
|
||||
print("Не удалось получить клиентов")
|
||||
|
||||
print("\n=== Счета ===")
|
||||
filters = {
|
||||
"page": 1,
|
||||
# "created_at[after]": "2024-12-01T00:00:00",
|
||||
# "created_at[before]": "2025-01-01T00:00:00"
|
||||
}
|
||||
invoices = client.fetch_invoices(filters)
|
||||
if invoices:
|
||||
print(json.dumps(invoices, indent=4, ensure_ascii=False))
|
||||
else:
|
||||
print("Не удалось получить счета")
|
||||
|
||||
Reference in New Issue
Block a user