FAST DEV 24
Для вэб-студый і ШІ-агентаў

Цана і заказ сайта праз API

Адзін адрас на нашым сайце дае дакладную цану і прымае заказ у фармаце JSON. Выклікайце яго з уласнай сістэмы, з бота або з ШІ-агента, па той жа цане, што на старонцы для студый.

curl "https://fast24.dev/api/studio-order?type=website&pages=5&languages=2&booking=1&currency=EUR"

200 OK
{
  "quote": {
    "amount": 125,
    "currency": "EUR",
    "total_pages": 10,
    "breakdown": { "base": 75, "booking": 50 }
  },
  "project": {
    "type": "website", "pages": 5, "languages": 2, "booking": true, …
  },
  "delivery": "Live within 24 hours of our email confirming we have everything: the filled-in brief, texts or a brief for them, a logo, photos and contact details.",
  "payment": "The studio pays only after seeing the finished site. If it does not suit you, you owe nothing.",
  …
}

Скарочаны адказ API на запыт цаны

Як праходзіць заказ

Ад агента студыі да гатовага сайта

  1. Агент студыі

    Агент або ўласная праграма студыі выклікае адрас і адразу атрымлівае цану.

  2. Пытанні брыфа

    Агент задае кліенту пытанні брыфа: чым займаецца бізнес і што павінен зрабіць наведвальнік.

  3. Заказ

    POST вяртае нумар заказу і тую ж цану. Мы пацвярджаем поштай або ў Telegram.

  4. Сайт праз 24 гадзіны

    Сайт у сетцы за 24 гадзіны з нашага ліста, што ў нас ёсць усё.

Старонка вакансій WNR Group на ноўтбуку і адна вакансія на тэлефоне
wnrgroup.work — жывы сайт нашага кліента

Гэта старонка — даведка па кодзе. Цэны і ўмовы для студый глядзіце на старонцы для студый.

Для ШІ-агента

Інструкцыя для агента

Тэкст, які студыя аддае свайму агенту: як даведацца цану, якія пытанні брыфа задаць і як аформіць заказ.

Інструкцыя
Інструкцыя для вашага агента Вы дзейнічаеце ад імя вэб-студыі на fast24.dev. Усё праз адзін адрас: https://fast24.dev/api/studio-order. Поўнае машыннае апісанне: https://fast24.dev/openapi.json. Поўная інструкцыя для праграмы: https://fast24.dev/studios/api/agent.md. 1. Цана. Адпраўце GET на гэты адрас з параметрамі праекта (тып, старонкі, мовы, валюта, дадаткі) — у адказ прыйдзе дакладная цана. Гэты запыт нічога не захоўвае. 2. Апытайце кліента. Адпраўце GET на гэты адрас з brief=1 і lang на мове кліента — у адказ прыйдуць пытанні брыфа студыі, ад важнага да менш важнага, у кожнага пазнака, ці патрэбна яно для старту сайта. Задавайце кліенту па адным-двух пытаннях за раз, у гэтым парадку, на яго мове, а не на мове гэтай інструкцыі. Ніколі не прыдумвайце адказ за кліента: пусты адказ ці «не ведаю» — таксама адказ, перадайце яго як ёсць. Калі два адказы кліента супярэчаць адзін аднаму (напрыклад, названы два розныя гарады), не выбірайце самі: пакіньце поле пустым і скажыце студыі пра гэтую супярэчнасць. 3. Адпраўце заказ. Пашліце POST з кантактам студыі (пошта ці Telegram), праектам і адказамі брыфа, якія вы сабралі, па нумары кожнага пытання. У адказ прыйдуць нумар заказу і дакладная цана, далей яна не мяняецца. 4. Калі чагосьці не хапае. Заказ прымаецца, нават калі брыф яшчэ не поўны: у адказе будзе дакладны спіс пытанняў, якіх не хапае. Задайце іх кліенту і адпраўце яшчэ раз з тым жа нумарам заказу: новыя адказы дададуцца да ўжо адпраўленых. Паўтарайце, пакуль спіс не стане пустым. 5. Спачатку праверце. Дадайце "dry_run": true, каб праверыць запыт гэтак жа, як сапраўдны: тая ж цана, той жа спіс недахопаў, але заказ не ствараецца і ніякае паведамленне нікуды не ідзе. Карыстайцеся гэтым, пакуль рыхтуеце запыт, а сапраўдны адпраўце ўжо без гэтага поля. 6. Што сказаць кліенту. Толькі тое, што кажа сам адрас: сайт будзе даступны па закрытай спасылцы на працягу 24 гадзін пасля атрымання матэрыялаў; студыя плаціць толькі пасля таго, як убачыць гатовы сайт, і нічога не павінна, калі ён не падышоў; пасля аплаты студыя атрымлівае звычайныя файлы HTML, CSS і JavaScript без панэлі кіравання, а цягам тыдня пасля здачы ўваходзяць да 3 колаў правак. 7. Чаго нельга. Не абяцайце кліенту іншую цану ці іншы тэрмін, чым дае адрас. Не адпраўляйце сапраўдны заказ без згоды самой студыі: рашэнне за ёй, не за вамі. Не адказвайце на пытанні брыфа самі, калі кліент на іх не адказаў.
Што робіць адрас

Адзін адрас, два выклікі

GET

Даведацца цану

Адпраўце праект параметрамі ў адрасе, у адказ прыйдзе цана. Нічога не захоўваецца.

POST

Аформіць заказ

Адпраўце праект у фармаце JSON, у адказ прыйдзе нумар заказу і тая ж цана. Пацвярджаем па пошце або ў Telegram.

Адрас

GET https://fast24.dev/api/studio-order

Без параметраў адрас дае кароткае апісанне сэрвісу. З brief=1 дае пытанні брыфа, з любым іншым параметрам дае цану.

curl, без параметраў

curl "https://fast24.dev/api/studio-order"

Адказ

{
  "service": "fast24.dev order API for web studios and AI agents",
  "quote": "GET /api/studio-order?type=website&pages=5&languages=2&booking=1&currency=EUR",
  "order": "POST /api/studio-order with JSON {studio, project, currency}",
  "spec": "https://fast24.dev/openapi.json",
  "delivery": "Live within 24 hours of our email confirming we have everything: the filled-in brief, texts or a brief for them, a logo, photos and contact details.",
  "payment": "The studio pays only after seeing the finished site. If it does not suit you, you owe nothing.",
  "edits": "Plain HTML, CSS and JavaScript files, no admin panel: after payment you get the source files and change the text directly in them, which any developer can do. Up to 3 rounds of changes are included within a week after delivery, each done within 24 hours, plus 7 days of free fixes for anything broken in our work.",
  "terms": "https://fast24.dev/terms",
  "studios": "https://fast24.dev/studios/"
}

curl, з цаной

curl "https://fast24.dev/api/studio-order?type=website&pages=5&languages=2&booking=1&currency=EUR"

JavaScript

const answer = await fetch('https://fast24.dev/api/studio-order?type=website&pages=5&languages=2&booking=1&currency=EUR');
const price = await answer.json();
console.log(price.quote.amount, price.quote.currency); // 125 EUR

Адказ

{
  "quote": {
    "amount": 125,
    "currency": "EUR",
    "total_pages": 10,
    "breakdown": { "base": 75, "booking": 50 }
  },
  "project": {
    "type": "website", "pages": 5, "languages": 2,
    "payments": false, "subscriptions": false, "booking": true,
    "accounts": false, "extra_roles": 0, "integrations": 0
  },
  "delivery": "Live within 24 hours of our email confirming we have everything: the filled-in brief, texts or a brief for them, a logo, photos and contact details.",
  "payment": "The studio pays only after seeing the finished site. If it does not suit you, you owe nothing.",
  "edits": "Plain HTML, CSS and JavaScript files, no admin panel: after payment you get the source files and change the text directly in them, which any developer can do. Up to 3 rounds of changes are included within a week after delivery, each done within 24 hours, plus 7 days of free fixes for anything broken in our work.",
  "terms": "https://fast24.dev/terms",
  "studios": "https://fast24.dev/studios/"
}
Параметры

Параметры запыту GET

ПараметрЗначэнніПа змаўчанні
typelanding, website, shop, redesignwebsite
pages1–5001
languages1–201
paymentson / offoff
subscriptionson / offoff
bookingon / offoff
accountson / offoff
extra_roles0–100
integrations0–100
currencyEUR, USD, PLNEUR
brief1: пытанні брыфа замест цаны—
langмова пытанняў брыфа: en, ru, pl, de, fr, es, pt, byen

Цана ў EUR і USD адным і тым жа лікам, у PLN у 4 разы большая. Каб уключыць параметр «так/не», адпраўце 1, true, yes або on; каб пакінуць выключаным, не пазначайце яго.

Заказ

POST https://fast24.dev/api/studio-order

Адпраўце праект у фармаце JSON. Абавязкова запоўніце studio.email або studio.telegram: без іх пацвердзіць заказ нельга.

curl

curl -X POST https://fast24.dev/api/studio-order \
  -H "Content-Type: application/json" \
  -d '{"studio":{"name":"Studio","email":"studio@example.com"},"project":{"type":"website","pages":5,"languages":2,"booking":true,"business":"A dental clinic with two dentists","goal":"Book a visit by phone or through the form"},"currency":"EUR"}'

Адказ, заказ прыняты (201)

{
  "order_id": "FD-MUKEOJ1N-BBC8",
  "status": "received",
  "price": {
    "amount": 125,
    "currency": "EUR",
    "total_pages": 10,
    "breakdown": { "base": 75, "booking": 50 }
  },
  "project": {
    "type": "website", "pages": 5, "languages": 2,
    "payments": false, "subscriptions": false, "booking": true,
    "accounts": false, "extra_roles": 0, "integrations": 0
  },
  "next": "We confirm the order and ask for the content within 15 minutes, by email or Telegram.",
  "delivery": "Live within 24 hours of our email confirming we have everything: the filled-in brief, texts or a brief for them, a logo, photos and contact details.",
  "payment": "The studio pays only after seeing the finished site. If it does not suit you, you owe nothing.",
  "edits": "Plain HTML, CSS and JavaScript files, no admin panel: after payment you get the source files and change the text directly in them, which any developer can do. Up to 3 rounds of changes are included within a week after delivery, each done within 24 hours, plus 7 days of free fixes for anything broken in our work.",
  "terms": "https://fast24.dev/terms",
  "studios": "https://fast24.dev/studios/"
}
Палі

Што адпраўляць, што прыйдзе ў адказ

studio

ПолеАбавязковаЗаўвага
nameненазва студыі або агенцтва
websiteнесайт студыі або агенцтва
emailхаця б адно з двухкаб пацвердзіць заказ
telegramхаця б адно з двухкаб пацвердзіць заказ

project

ПолеЗначэнніПа змаўчанні
typelanding, website, shop, redesignwebsite
pages1–5001
languages1–201
paymentson / offoff
subscriptionson / offoff
bookingon / offoff
accountson / offoff
extra_roles0–100
integrations0–100
businessтэкст: чым займаецца кліент студыі—
goalтэкст: што павінен зрабіць наведвальнік на сайце—
content_readyon / offoff
notesтэкст: што яшчэ варта нам сказаць—

Астатнія палі запыту

ПолеШто азначае
briefадказы брыфа, ключ — id пытання з brief_questions
langмова спісу missing у адказе, па змаўчанні en
order_idнумар ужо прынятага заказу: новыя адказы брыфа дадаюцца да яго, studio і project тады не патрэбныя
dry_runtrue: праверка запыту без заказу і без лістоў

Адказ на заказ

ПолеШто азначае
order_idнумар заказу, напрыклад FD-MUKEOJ1N-BBC8
status"received": заказ прыняты, брыф поўны; "brief_incomplete": заказ прыняты, чаго не хапае — у missing; "brief_complete": адказы, дасланыя па order_id, дапоўнілі брыф
missingпытанні брыфа, якіх яшчэ не хапае для пачатку працы; пуста, калі хапае ўсяго
dry_runtrue, толькі калі ў запыце быў dry_run
priceтой жа аб’ект, што quote у адказе GET: amount, currency, total_pages, breakdown
projectпраект з падстаўленымі значэннямі па змаўчанні
nextшто адбудзецца далей, адным радком
deliveryумова пра тэрмін, тая ж, што на старонцы для студый
paymentумова пра аплату, тая ж, што на старонцы для студый
editsумова пра праўкі, тая ж, што на старонцы для студый
termsспасылка на умовы дагавора
studiosспасылка на цэны для студый
Памылкі

Што можа прыйсці замест цаны

КодПамылкаКалі
400{ "error": "Send JSON: {studio, project, currency}" }цела запыту не разбіраецца як JSON
400{ "error": "studio.email or studio.telegram is required, so we can confirm the order" }не запоўнена ні studio.email, ні studio.telegram
413{ "error": "Request too large" }цела запыту большае за 20 000 байт
429{ "error": "Too many orders from this address, try again in an hour" }больш за 10 заказаў з аднаго IP-адрасу за гадзіну
404{ "error": "order_id not found" }заказу з такім order_id няма
Абмежаванні

Што дазваляе адрас

  • Адкрыты любому сайту: адрас адказвае на запыты з любой крыніцы (CORS).
  • Метады: GET, POST і OPTIONS.
  • Цела POST — да 20 000 байт.
  • Да 10 заказаў у гадзіну з аднаго IP-адрасу; у GET такога абмежавання няма.
Пасля заказу

Што адбываецца пасля POST

Заказ атрымлівае нумар і дакладную цану адразу ў адказе. Мы захоўваем яго гэтак жа, як заяўку з формы на сайце, пацвярджаем па пошце або ў Telegram і просім матэрыялы на працягу 15 хвілін.

Умовы пра тэрмін, аплату і праўкі ў кожным адказе — тыя ж, што на старонцы для студый.

Поўнае апісанне

Для праграмы або ШІ-агента

Поўнае машыначытальнае апісанне абодвух выклікаў — у openapi.json.

Пытанні па падключэнні: [email protected].