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 учетверо більша. Щоб увімкнути параметр «так/ні», надішліть 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].