FAST DEV 24
Dla studiów webowych i agentów AI

Wycena i zamówienie strony przez API

Jeden adres na naszej stronie zwraca stałą cenę i przyjmuje zamówienie w formacie JSON. Wywołaj go z własnego systemu, z bota albo z agenta AI, w tej samej cenie co na stronie dla studiów.

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.",
  …
}

Skrócona odpowiedź API na zapytanie o cenę

Jak przebiega zamówienie

Od agenta studia do gotowej strony

  1. Agent studia

    Agent albo własny program studia wywołuje adres i od razu dostaje cenę.

  2. Pytania briefu

    Agent zadaje klientowi pytania briefu: czym zajmuje się firma i co ma zrobić odwiedzający.

  3. Zamówienie

    POST zwraca numer zamówienia i tę samą cenę. Potwierdzamy mailem albo na Telegramie.

  4. Strona w 24 godziny

    Online w ciągu 24 godzin od naszego maila, że mamy wszystko.

Strona z ofertami pracy WNR Group na laptopie i jedna oferta na telefonie
wnrgroup.work — działająca strona naszego klienta

Ta strona to opis techniczny. Cennik i zasady dla studiów są na stronie dla studiów.

Dla agenta AI

Instrukcja dla agenta

Tekst, który studio przekazuje swojemu agentowi AI: jak sprawdzić cenę, jakie pytania briefu zadać i jak złożyć zamówienie.

Instrukcja
Instrukcja dla Twojego agenta Działasz w imieniu studia webowego na fast24.dev. Wszystko przez jeden adres: https://fast24.dev/api/studio-order. Pełny opis maszynowy: https://fast24.dev/openapi.json. Pełna instrukcja dla programu: https://fast24.dev/studios/api/agent.md. 1. Cena. Wyślij GET na ten adres z parametrami projektu (typ, strony, języki, waluta, dodatki) — w odpowiedzi przyjdzie stała cena. To zapytanie niczego nie zapisuje. 2. Przeprowadź wywiad z klientem. Wyślij GET na ten adres z brief=1 i lang w języku klienta — w odpowiedzi przyjdą pytania z briefu dla studia w kolejności od najważniejszego, przy każdym zaznaczone, czy jest potrzebne do rozpoczęcia pracy. Zadawaj klientowi po jednym lub dwa pytania naraz, w tej kolejności, w jego własnym języku, nie w języku tej instrukcji. Nigdy nie wymyślaj odpowiedzi za klienta: pusta odpowiedź albo „nie wiem” to też odpowiedź, przekaż ją bez zmian. Jeśli dwie odpowiedzi klienta są sprzeczne (na przykład podane dwa różne miasta), nie wybieraj sam: zostaw pole puste i powiedz studiu o tej sprzeczności. 3. Wyślij zamówienie. Wyślij POST z kontaktem studia (e-mail lub Telegram), projektem i odpowiedziami briefu, które zebrałeś, pod numerem każdego pytania. W odpowiedzi przyjdą numer zamówienia i stała cena, która później się nie zmienia. 4. Jeśli czegoś brakuje. Zamówienie zostaje przyjęte, nawet gdy brief nie jest jeszcze pełny: w odpowiedzi będzie dokładna lista brakujących pytań. Zadaj je klientowi i wyślij jeszcze raz z tym samym numerem zamówienia: nowe odpowiedzi dołączą do już wysłanych. Powtarzaj, aż lista będzie pusta. 5. Najpierw sprawdź. Dodaj "dry_run": true, aby sprawdzić zapytanie dokładnie tak jak prawdziwe: ta sama cena, ta sama lista braków, ale zamówienie nie powstaje i żadna wiadomość nie jest wysyłana. Korzystaj z tego, przygotowując zapytanie, a prawdziwe wyślij już bez tego pola. 6. Co powiedzieć klientowi. Tylko to, co mówi sam adres: strona będzie dostępna pod prywatnym linkiem w ciągu 24 godzin od otrzymania materiałów; studio płaci dopiero po zobaczeniu gotowej strony i nic nie musi płacić, jeśli strona nie pasuje; po zapłacie studio dostaje zwykłe pliki HTML, CSS i JavaScript bez panelu administracyjnego, a w ciągu tygodnia od oddania w cenie jest do 3 rund poprawek. 7. Czego nie wolno. Nie obiecuj klientowi innej ceny ani innego terminu niż zwraca adres. Nie wysyłaj prawdziwego zamówienia bez zgody samego studia: decyzja należy do niego, nie do Ciebie. Nie odpowiadaj na pytania briefu sam, jeśli klient na nie nie odpowiedział.
Co robi ten adres

Jeden adres, dwa wywołania

GET

Sprawdzić cenę

Wyślij projekt jako parametry w adresie, w odpowiedzi przyjdzie cena. Nic nie jest zapisywane.

POST

Złożyć zamówienie

Wyślij projekt jako JSON, w odpowiedzi przyjdzie numer zamówienia i ta sama cena. Potwierdzamy mailem albo na Telegramie.

Adres

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

Wywołany bez parametrów zwraca krótki opis usługi. Z brief=1 zwraca pytania briefu, z każdym innym parametrem cenę.

curl, bez parametrów

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

Odpowiedź

{
  "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, z ceną

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

Odpowiedź

{
  "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/"
}
Parametry

Parametry zapytania GET

ParametrWartościDomyślnie
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: pytania briefu zamiast ceny—
langjęzyk pytań briefu: en, ru, pl, de, fr, es, pt, byen

Cena w EUR i USD to ta sama liczba, w PLN jest 4 razy wyższa. Aby włączyć parametr typu tak/nie, wyślij 1, true, yes albo on; żeby zostawić go wyłączony, pomiń go.

Zamówienie

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

Wyślij projekt jako JSON. Pole studio.email albo studio.telegram jest wymagane, inaczej nie potwierdzimy zamówienia.

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"}'

Odpowiedź, zamówienie przyjęte (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/"
}
Pola

Co wysłać, co przyjdzie w odpowiedzi

studio

PoleWymaganeUwaga
namenienazwa studia lub agencji
websiteniestrona studia lub agencji
emailco najmniej jedno z dwóchżebyśmy mogli potwierdzić zamówienie
telegramco najmniej jedno z dwóchżebyśmy mogli potwierdzić zamówienie

project

PoleWartościDomyślnie
typelanding, website, shop, redesignwebsite
pages1–5001
languages1–201
paymentson / offoff
subscriptionson / offoff
bookingon / offoff
accountson / offoff
extra_roles0–100
integrations0–100
businesstekst: czym zajmuje się klient studia—
goaltekst: co ma zrobić odwiedzający na stronie—
content_readyon / offoff
notestekst: co jeszcze warto nam powiedzieć—

Pozostałe pola zapytania

PoleCo oznacza
briefodpowiedzi z briefu, kluczem jest id pytania z brief_questions
langjęzyk listy missing w odpowiedzi, domyślnie en
order_idnumer przyjętego już zamówienia: nowe odpowiedzi z briefu dopisujemy do niego, studio i project są wtedy niepotrzebne
dry_runtrue: sprawdzenie zapytania bez tworzenia zamówienia i bez wysyłania wiadomości

Odpowiedź na zamówienie

PoleCo oznacza
order_idnumer zamówienia, na przykład FD-MUKEOJ1N-BBC8
status"received": zamówienie przyjęte, brief kompletny; "brief_incomplete": zamówienie przyjęte, braki są w missing; "brief_complete": odpowiedzi wysłane z order_id uzupełniły brief
missingpytania briefu, których jeszcze brakuje do rozpoczęcia pracy; pusto, gdy niczego nie brakuje
dry_runtrue tylko wtedy, gdy w zapytaniu był dry_run
priceten sam obiekt co quote w odpowiedzi GET: amount, currency, total_pages, breakdown
projectprojekt z podstawionymi wartościami domyślnymi
nextco dzieje się dalej, w jednym zdaniu
deliverytermin realizacji, ten sam co na stronie dla studiów
paymentwarunki płatności, te same co na stronie dla studiów
editswarunki poprawek, te same co na stronie dla studiów
termslink do warunków umowy
studioslink do cennika dla studiów
Błędy

Co może przyjść zamiast ceny

KodBłądKiedy
400{ "error": "Send JSON: {studio, project, currency}" }treść zapytania nie jest poprawnym JSON-em
400{ "error": "studio.email or studio.telegram is required, so we can confirm the order" }nie wypełniono ani studio.email, ani studio.telegram
413{ "error": "Request too large" }treść zapytania jest większa niż 20 000 bajtów
429{ "error": "Too many orders from this address, try again in an hour" }więcej niż 10 zamówień z jednego adresu IP w ciągu godziny
404{ "error": "order_id not found" }nie ma zamówienia o takim order_id
Ograniczenia

Na co pozwala ten adres

  • Otwarty dla każdej strony: adres odpowiada na zapytania z dowolnego źródła (CORS).
  • Metody: GET, POST i OPTIONS.
  • Treść POST do 20 000 bajtów.
  • Do 10 zamówień na godzinę z jednego adresu IP; GET takiego limitu nie ma.
Po złożeniu zamówienia

Co dzieje się po POST

Zamówienie od razu dostaje numer i stałą cenę w odpowiedzi. Zapisujemy je tak samo jak zgłoszenie z formularza na stronie, potwierdzamy mailem albo na Telegramie i prosimy o materiały w ciągu 15 minut.

Warunki dotyczące terminu, płatności i poprawek w każdej odpowiedzi są takie same jak na stronie dla studiów.

Pełny opis

Dla programu albo agenta AI

Pełny opis obu wywołań w formacie do odczytu maszynowego jest w pliku openapi.json.

Pytania o podłączenie: [email protected].