Гарантия: заявка по заказу
Подписка пропала раньше срока, включился не тот тариф или ключ не работает — подайте заявку в течение 7 дней после выдачи: у подписки — от её включения, у ключа и аккаунта — от выдачи. Решаем мы: перезапуск новым ключом (по возможности — другого поставщика) или возврат цены на баланс.
warranty.until в заказе; null — заказ ещё не выполнен, отменён или возвращён.50007 claim_already_open с номером первой в details.claim_id.activation, card_payment): по ней сверяем скриншот. Через 90 дней после решения почту и скриншот стираем.activation, key и account; у card_payment и new_account — только возврат.Подать заявку
POST /v1/orders/ — что случилось (problem), чего хотите
(wish), почта аккаунта клиента, комментарий и скриншот в base64 (PNG, JPEG или WebP до
10 МБ). Тело этой ручки — до 14 МБ, у остальных — 64 КБ.
curl https://api.astrum.shop/v1/orders/$ORDER_ID/claims \
-H "Authorization: Bearer $ASTRUM_KEY" \
-H "Content-Type: application/json" \
-d "{\"problem\": \"not_working\", \"wish\": \"restart\",
\"account_email\": \"client@example.com\",
\"screenshot_base64\": \"$(base64 < plan.png | tr -d '\n')\"}"
import base64, os, httpx
with open("plan.png", "rb") as f:
shot = base64.b64encode(f.read()).decode()
claim = httpx.post(
f"https://api.astrum.shop/v1/orders/{order_id}/claims",
headers={"Authorization": f"Bearer {os.environ['ASTRUM_KEY']}"},
json={
"problem": "not_working",
"wish": "restart",
"account_email": "client@example.com",
"comment": "Вчера был Plus, сегодня Free",
"screenshot_base64": shot,
},
timeout=60,
).json()
import { readFile } from "node:fs/promises";
const shot = (await readFile("plan.png")).toString("base64");
const res = await fetch(`https://api.astrum.shop/v1/orders/${orderId}/claims`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ASTRUM_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
problem: "not_working",
wish: "restart",
account_email: "client@example.com",
screenshot_base64: shot,
}),
});
const claim = await res.json();
problem |
Что случилось |
|---|---|
not_working |
подписки нет или ключ не работает |
wrong_plan |
включился не тот тариф |
other |
другое — опишите в comment |
Заявок — не больше 10 за 10 мин на партнёра (из кабинета и через API вместе).
Решение
Решение приходит вебхуком order.updated: в заказе меняется warranty.claim_status.
claim_status |
Что это |
|---|---|
open |
ждёт решения |
restarted |
перезапустили новым ключом: заказ снова идёт по статусам — если нужны данные клиента, waiting, как в начале |
refunded |
цена вернулась на баланс, в заказе — refunded_usdt |
refused |
отказали: причина — refuse_reason в GET /v1/claims/ |
refuse_reason |
Почему |
|---|---|
account_banned |
аккаунт клиента заблокирован — гарантией не покрывается |
plan_present |
подписка на месте |
wrong_screenshot |
скриншот не о том |
window_closed |
гарантия закончилась |
Все заявки — GET /v1/claims (новые сверху; фильтры status и order_id, следующая
страница — cursor из next_cursor), одна — GET /v1/claims/. То же —
во вкладке «Заявки» кабинета.
Отказы
Заявку не приняли — 50006 claim_not_available, причина в details.problem:
| details.problem | Что это |
|---|---|
closed |
заказ отменён или возвращён — гарантии больше нет |
not_completed |
заказ ещё не выполнен: ждёт данных клиента, включается или не получился |
window_closed |
прошло больше 7 дней после выдачи |
restart_unavailable |
у способа card_payment и new_account перезапуска нет — только возврат |
50001 order_not_foundorder_id: видны только заказы вашего ключа.50006 claim_not_availabledetails.problem: window_closed (прошло больше 7 дней с выдачи), not_completed (заказ ещё не выполнен), closed (заказ отменён или возвращён).50007 claim_already_openorder.updated, заявка — в GET /v1/claims.20001 too_many_requestsRetry-After.11006 validation_errordetails.errors: поле и причина.