Utwórz zamówienie
Nowe/order/createTa metoda API v3 zastępuje te metody API v2 (nadal działają):
Utwórz zamówienie (wersja robocza)
Wycenia wybrane pozycje na serwerze i przechowuje je jako wersję roboczą przez 30 minut. Nie dochodzi do przepływu środków, a token nie jest wymagany.
{"action": "new", "product": "shared",
"options": {"count": 10, "period": "1m", "traffic": 100, "countries": {"UA": 5, "DE": 5}},
"client": {"total": "9.00", "currency": "USD"}}
Uwagi
action:newsłuży do zakupu produktu,topupdo doładowania salda (options: {amount, currency}).optionswykorzystuje klucze z katalogu:count,period(1w,2w,1m,1y),traffic(GB),countries,geo_service,ip_score,unlimited_ips.- Wyślij
client.totalwraz z obliczoną ceną:client_check.matchedwskazuje, czy jest ona równa cenie serwera. - Opcja wykraczająca poza dopuszczalny zakres zwraca kod błędu
422 option_out_of_rangewraz z dopuszczalnym zakresem.
Metoda zapytania
Parametry zapytania
| Identyfikator | Regulamin | Przykład |
|---|---|---|
| action | requiredstring | new |
| productNie koniecznie | nullablestring | shared |
| optionsNie koniecznie | nullablearray | [] |
| clientNie koniecznie | nullablearray | [] |
| client.totalNie koniecznie | required_with:clientnumeric | 0 |
| client.currencyNie koniecznie | nullablestringsize:3 | "USD" |
| client.catalog_versionNie koniecznie | nullablestring | 0 |
Przykłady kodu
1const baseUrl = "https://api.stableproxy.com/v3";2const response = await fetch(baseUrl + "/order/create", {3 method: "POST",4 headers: {5 "Content-Type": "application/json"6 },7 body: JSON.stringify({8 "action": "new",9 "product": "shared",10 "options": "[]",11 "client": "[]",12 "client.total": "0",13 "client.currency": "\"USD\"",14 "client.catalog_version": 015 })16});17const data = await response.json();Przykłady odpowiedzi
{
"data": {
"order": {
"id": "990dd34a-0165-4641-ab9d-94bea1007fe0",
"action": "new",
"product": "shared",
"status": "draft",
"expires_at": "2026-10-06T15:46:32Z",
"options": {
"count": 10,
"period": "1m",
"traffic": 100,
"countries": [],
"geo_service": "overall",
"ip_score": 0,
"unlimited_ips": false
},
"price": {
"currency": "USD",
"total": "1.96",
"total_usd": "1.96",
"lines": [
{
"key": "ips",
"amount_usd": "0.80"
},
{
"key": "traffic",
"amount_usd": "1.00"
}
],
"unit": {
"ip": "0.08",
"one_gb": null
},
"adjustments": [
{
"key": "sale",
"amount": "0.00"
}
]
},
"client_check": {
"matched": false,
"client_total": "1.20",
"difference": "0.76",
"catalog_stale": true
}
}
},
"meta": []
}{
"error": {
"code": "option_out_of_range",
"message": "An option is outside the allowed range.",
"details": {
"count": {
"min": 1,
"max": 2000
}
}
}
}