API retseptlari
Sayt, agent, bilim, nashr va hisobot jarayonlarini boshidan oxirigacha avtomatlashtiring.
Sayt, agent, bilim, nashr va hisobot jarayonlarini boshidan oxirigacha avtomatlashtiring.
Bu retseptlar ochiq SDK o‘rnatilishidan oldin ham ishlashi uchun bevosita RESTʼdan foydalanadi. Server muhitida MAF_API_KEYni o‘rnating va oldingi bosqichlar qaytargan IDʼlarni kiriting.
Retsept: bilimga asoslangan agent yaratish va nashr qilish#
sites:write, agents:write va knowledge:write ruxsatlari bor bitta API kaliti yarating. Avtomatlashtirish saytlarni ro‘yxatlasa yoki tekshirsa, sites:readni ham qo‘shing.
1. Sayt yarating#
curl --fail-with-body https://makeagent.fast/api/v1/sites \
-X POST \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-acme-site-2026-01" \
-d '{
"title": "Acme support",
"slug": "acme-support",
"type": "business",
"template": "minimal",
"content": {
"headline": "Ask Acme support",
"subheadline": "Answers grounded in our current policies.",
"about": "Acme support answers product and account questions."
},
"persona_mode": "assistant",
"languages": ["en"]
}'Muvaffaqiyatli javob 201 Created bo‘ladi, saytni data ichida beradi va Location sarlavhasida uning kanonik resurs yo‘lini qaytaradi. data.idni SITE_ID sifatida saqlang.
2. Agent va joylashtirish siyosatini sozlang#
curl --fail-with-body "https://makeagent.fast/api/v1/sites/$SITE_ID/agent" \
-X PATCH \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-acme-agent-2026-01" \
-d '{
"display_name": "Acme guide",
"persona_mode": "assistant",
"instructions": "Answer only from confirmed Acme sources. If the answer is missing, say that a teammate will follow up.",
"languages": ["en"],
"embed_enabled": true,
"allowed_origins": ["https://www.acme.example", "https://staging.acme.example"]
}'Ruxsat berilgan manzillar aniq origin bo‘ladi: protokol, host nomi va ixtiyoriy port. Yo‘l yoki oxirgi wildcard kiritmang.
3. Matnli bilim manbasini qo‘shing#
curl --fail-with-body "https://makeagent.fast/api/v1/sites/$SITE_ID/knowledge" \
-X POST \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-acme-returns-2026-01" \
-d '{
"name": "Returns policy 2026-01",
"text": "Customers may request a return within 30 days of delivery. Contact support before sending an item back."
}'Ochiq API hozir 5 dan 200 000 belgigacha kiritilgan matnni qabul qiladi. URL crawling, fayl yuklash, YouTube, podcast va feed manbalari uchun boshqaruv panelidan foydalaning.
4. Tuzilmali FAQ qo‘shing#
curl --fail-with-body "https://makeagent.fast/api/v1/sites/$SITE_ID/faqs" \
-X POST \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-acme-faq-returns-2026-01" \
-d '{
"question": "How long do I have to return an order?",
"answer": "You may request a return within 30 days of delivery.",
"approved": true
}'5. Nashr qiling#
curl --fail-with-body "https://makeagent.fast/api/v1/sites/$SITE_ID/publish" \
-X POST \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-acme-publish-2026-01" \
-d '{"published": true}'Javobda {"data":{"id":"...","status":"published"}} bo‘lishi kerak. Haqiqiy embedni ochib, javobi manbada bor savol bering. Nashr qilish agent holati o‘zgarganini isbotlaydi; u manba sifati yoki embed manzili to‘g‘riligini isbotlamaydi.
Retsept: lidlarni xavfsiz sahifalash#
leads:read ruxsatli kalitdan foydalaning. next_cursorni yopiq qiymat deb qabul qiling va URL uchun kodlang.
const base = `https://makeagent.fast/api/v1/sites/${siteId}/leads`;
let cursor: string | null = null;
do {
const url = new URL(base);
url.searchParams.set("limit", "100");
if (cursor) url.searchParams.set("cursor", cursor);
const response = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.MAF_API_KEY}` },
});
if (!response.ok) throw await response.json();
const page = await response.json();
for (const lead of page.data) await exportLead(lead);
cursor = page.next_cursor;
} while (cursor);Cursorni dekodlamang, tahrirlamang, saralamang yoki boshqa to‘plam uchun qayta ishlatmang.
Retsept: hodisa vaqtida embedni o‘chirish#
agents:writedan foydalaning va tarmoq qayta urinishlarida bir xil idempotency kalitini saqlang:
curl --fail-with-body "https://makeagent.fast/api/v1/sites/$SITE_ID/agent" \
-X PATCH \
-H "Authorization: Bearer $MAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: incident-2026-07-embed-off" \
-d '{"embed_enabled": false}'Javob muvaffaqiyatli bo‘lgach, ruxsatli hostda ishga tushiruvchi endi yaratilmasligini tekshiring. Manzil, kontent yoki hisob maʼlumoti muammosini to‘g‘rilagandan keyin yangi hodisani-yakunlash kaliti bilan qayta yoqing.
Ishlab chiqarish tekshiruv ro‘yxati#
- Har bir xizmat va muhit uchun alohida kalit ishlating.
- O‘zgartirish yuborishdan oldin resurs IDʼlari va idempotency kalitlarini doimiy saqlang.
- Ulanish va javob timeoutlarini belgilang.
Retry-Afterga amal qiling va qayta urinishlarni cheklang.- Sir yoki shaxsiy maʼlumotni logga yozmasdan amal nomi, HTTP holati va request IDʼni qayd eting.
- Ishlab chiqarishga yozish ruxsatlarini berishdan oldin no-production saytda sinang.