Массовые заказы
Как оформлять много заказов сразу: через программный интерфейс, с какой частотой, как отслеживать пачками и как не потерять деньги на ошибке в цикле.
Через программный интерфейс
Отдельного метода для пакетного создания нет: каждый заказ создаётся своим вызовом add. Зато статусы и восполнение запрашиваются пачками — именно там пакетный режим экономит обращения.
import time, requests
API = "https://webkit.guru/api/v2"
KEY = "ВАШ_КЛЮЧ"
targets = ["https://t.me/a", "https://t.me/b"]
created = []
for link in targets:
r = requests.post(API, data={
"key": KEY, "action": "add",
"service": 1287, "link": link, "quantity": 1000,
}).json()
if "error" in r:
# Ошибку записываем и идём дальше. Обрывать цикл нельзя:
# часть заказов уже создана и деньги за них списаны.
print(link, "не создан:", r["error"])
continue
created.append(r["order"])
# Пауза держит нас в пределах 60 запросов в минуту.
time.sleep(1)
print("создано:", created)Отслеживание пачками
r = requests.post(API, data={
"key": KEY, "action": "status",
"orders": ",".join(map(str, created)),
}).json()
for order_id, info in r.items():
print(order_id, info["status"], "осталось", info["remains"])Опрашивать статусы чаще, чем раз в несколько минут, бессмысленно: поставщик обновляет их с той же периодичностью, а лимит частоты расходуется впустую.