Ruxsatlar va xatolar
Eng kam ruxsatni bering va ochiq APIʼning barcha barqaror xato kodlarini qayta ishlang.
Eng kam ruxsatni bering va ochiq APIʼning barcha barqaror xato kodlarini qayta ishlang.
Har bir ochiq API amali bitta aniq ruxsat talab qiladi. Shu ruxsati yo‘q haqiqiy hisob maʼlumoti 403 insufficient_scope oladi; unga kengroq kirish hech qachon yashirincha berilmaydi.
Ruxsatlar maʼlumotnomasi#
| Ruxsat | Imkon beradi |
|---|---|
account:read | Autentifikatsiya qilingan hisob, tarif, huquqlar va hamyon xulosasini o‘qish |
sites:read | Saytlarni ro‘yxatlash va olish |
sites:write | Sayt yaratish, yangilash, nashr qilish va nashrdan olish |
agents:read | Agent sozlamalarini o‘qish |
agents:write | Persona, ko‘rsatma, til, ovoz, embed holati va ruxsatli manzillarni yangilash |
knowledge:read | Bilim manbalari va FAQʼlarni ro‘yxatlash |
knowledge:write | Matn manbasini qabul qilish/o‘chirish va FAQ yaratish/yangilash/o‘chirish |
conversations:read | Suhbatlarni ro‘yxatlash va xabarlarini olish |
leads:read | Yig‘ilgan lidlarni ro‘yxatlash |
leads:write | Lid yaratish, yangilash, qualify qilish va imkoniyat pipelineʼiga qabul qilish |
pipeline:read | Bosqich, hisob, imkoniyat, faollik va CRM sinxron holatini o‘qish |
pipeline:write | Bosqich sozlash, hisob/imkoniyat yaratish yoki yangilash, CRM natijasini import/qayta urinish |
analytics:read | Sayt tahlil hodisalarini o‘qish |
connectors:read | Sirlarni qaytarmasdan konnektor holatini ro‘yxatlash |
connectors:write | Konnektor yaratish, yangilash, yoqish, o‘chirish va olib tashlash |
domains:read | Domen holati va kerakli DNS yozuvlarini o‘qish |
domains:write | Domen ulash, tekshirish, yangilash va olib tashlash |
broadcasts:read | Ommaviy xabar va yetkazish holatini ro‘yxatlash |
broadcasts:write | Qoralama yaratish va ommaviy yuborishni navbatga qo‘yish |
notifications:read | Ega bildirishnomalarini ro‘yxatlash |
notifications:write | Bildirishnomani o‘qilgan yoki o‘qilmagan deb belgilash |
monetization:read | Monetizatsiya mahsulotlarini ro‘yxatlash |
monetization:write | Mahsulot yaratish, yangilash, faollashtirish, faolsizlantirish va o‘chirish |
usage:read | O‘lchangan foydalanish hodisalarini o‘qish |
webhooks:read | Webhook endpointlari va yetkazish holatini ro‘yxatlash |
webhooks:write | Webhook endpointini yaratish va o‘chirish |
Hisobot vazifalari uchun o‘qish ruxsatlarini ishlating. Faqat integratsiya o‘sha o‘zgarishni bajarsa yozish ruxsatini qo‘shing. Masalan, lid eksportiga odatda sites:read va leads:read kerak, sites:write yoki agents:write emas.
Ruxsat xatolari#
{
"error": {
"code": "insufficient_scope",
"message": "The API key does not grant the required scope.",
"details": { "required": ["sites:write"] },
"request_id": "6c0b2f2e-..."
}
}Yetishmayotgan ruxsatli yangi kalit yarating va server sirini yangilang. Mavjud API kaliti ruxsatlarini joyida kengaytirib bo‘lmaydi; bu huquq o‘zgarishlarini aniq va audit qilinadigan qiladi.
Xato qobig‘i#
Barcha API xatolari bir xil yuqori darajadagi tuzilmani ishlatadi:
type ApiError = {
error: {
code: string;
message: string;
details?: unknown;
request_id: string;
};
};Inglizcha messageni taqqoslamasdan error.code bo‘yicha shoxlansin. Xabarlar versiya o‘zgarmasdan yaxshilanishi mumkin. Amal nomi, holat va urinish bilan error.request_id hamda x-request-id javob sarlavhasini log qiling, ammo authorization sarlavhasi yoki so‘rov sirlarini hech qachon yozmang.
Holat va kod maʼlumotnomasi#
| HTTP | Barqaror kod | Maʼnosi | Odatiy javob |
|---|---|---|---|
400 | invalid_request | Tekshiruv ishlamadi yoki maydon qo‘llab-quvvatlanmaydi | detailsdagi maydonlarni to‘g‘rilang; o‘zgarmagan kiritma bilan qayta urinmang |
400 | invalid_json | Tana JSON obyekt emas yoki noto‘g‘ri JSON | Bitta haqiqiy JSON obyekt yuboring |
401 | authentication_required | Bearer sarlavhasi yo‘q | Server hisob maʼlumotini qo‘shing |
401 | invalid_api_key | Kalit noto‘g‘ri, muddati tugagan, bekor qilingan yoki egasi yo‘q | Kalitni almashtiring yoki yangilang |
403 | subscription_required | Egasida faol pullik tarif yo‘q | Qayta urinishdan oldin obunani tiklang |
403 | insufficient_scope | Hisob maʼlumotida amal ruxsati yo‘q | Eng kam ruxsatli yangi hisob maʼlumoti yarating |
404 | not_found | Endpoint yoki egaga tegishli resurs topilmadi | Yo‘l va tenantga tegishli IDʼni tekshiring |
409 | conflict | Joriy resurs holati amalga to‘sqinlik qiladi | Qayta urinishdan oldin joriy holatni o‘qing |
415 | invalid_request | O‘zgartirish tanasi application/json emas | Content-Type: application/json yuboring |
429 | rate_limit_exceeded | Kalitning bir daqiqalik tarif oynasi to‘lgan | Retry-Afterni kuting va tasodifiy og‘ish qo‘llang |
500 | internal_error | So‘rovni yakunlab bo‘lmadi | Xavfsiz yoki idempotent amalni qayta urinib, request IDʼni xabar qiling |
Boshqa tenantdagi resurs mavjudligini oshkor qilmaslik uchun hisob egasidan tashqaridagi resurslar 404 qaytarishi mumkin.
Tekshiruv tafsilotlari#
Maydon tekshiruvi o‘z forma boshqaruvingiz yonida ko‘rsatish mumkin bo‘lgan yo‘llarni qaytaradi:
{
"error": {
"code": "invalid_request",
"message": "Request validation failed.",
"details": [
{ "path": "content.headline", "message": "String must contain at least 1 character(s)" }
],
"request_id": "6c0b2f2e-..."
}
}O‘zgartirish tanalari JSON obyekt bo‘lishi kerak. Array, bo‘sh tana, form data va text content type bilan yuborilgan JSON rad etiladi.
Qayta urinish qarorlari#
429dan keyinRetry-Afterko‘rsatgan soniya kutib qayta urining.500ni faqat xavfsiz o‘qish yoki bir xilIdempotency-Keybilan himoyalangan yozishda qayta urining.- Jarayondagi idempotency
409xatosidan keyin uningRetry-After: 2sarlavhasiga ko‘ra qayta urining. - Sabab o‘zgarmaguncha
400,401,403,404yoki holat ziddiyatini qayta urinmang.
Kutish tartibi uchun So‘rov tezligi cheklovlari, har amal ruxsati uchun API maʼlumotnomasiga qarang.