Management API pārskats
Management API ir paredzēts aizmugursistēmas darbiem, kas neietver tērzēšanas ziņojumu sūtīšanu:
- bota izveide programmatiski, izmantojot
POST /v1/management/bots - konkrēta jums piederoša bota datu nolasīšana, izmantojot
GET /v1/management/bots/{bot_id} - konkrēta bota atjaunināšana, izmantojot
PATCH /v1/management/bots/{bot_id} - abonementa patēriņa nolasīšana, izmantojot
GET /v1/usage
Management atslēgas ir piesaistītas jūsu kontam, nevis kādam konkrētam botam. Tās apzināti tiek turētas atsevišķi no Bot Talk atslēgām, lai kompromitēta tērzēšanas atslēga nevarētu modificēt jūsu botus vai nolasīt norēķinu datus.
Bāzes URL
https://api.chatlab.com/aichat
Visi šajā rakstā minētie galapunkti ir relatīvi pret šo bāzes URL.
Darba sākšana
- Atveriet administratora lietotni un dodieties uz Account Settings > Management API (Konta iestatījumi > Management API).
- Noklikšķiniet uz Create Management Key (Izveidot Management atslēgu), ievadiet nosaukumu, pēc izvēles iestatiet atļauto IP adrešu sarakstu un ātruma ierobežojumu, un pēc tam apstipriniet.
- Atlasiet tikai tās atļaujas, kas nepieciešamas jūsu integrācijai, un nokopējiet pilno atslēgu no apstiprinājuma modālā loga. Vienkārša teksta formā tā tiek parādīta tikai vienu reizi.
- Glabājiet to savā serverī, nevis pārlūkprogrammas kodā vai publiskā repozitorijā. Lai pārbaudītu piekļuvi, veiciet tikai lasīšanas pieprasījumu, piemēram,
GET /v1/usagearusageatļauju. - Atsauciet neizmantotās vai kompromitētās atslēgas Management API lapā.
Atslēga izskatās šādi: mk_abcdefghijklmnopqrstuvwxyz012345. Prefikss mk_ to atšķir no Bot Talk atslēgām (ck_).
Autentifikācija
Authorization: Bearer mk_abcdefghijklmnopqrstuvwxyz012345
Nosūtot mk_ atslēgu uz /v1/chat (vai jebkuru citu Bot Talk galapunktu), tiek atgriezta kļūda 403 key_type_not_allowed. Nosūtot ck_ atslēgu uz /v1/management/*, tiek atgriezta tā pati kļūda.
Ierobežojumi
- Maksimums 5 aktīvas Management API atslēgas vienam lietotājam
- Maksimums 10 pieprasījumi minūtē vienai atslēgai (žetonu spainis ar ietilpību 10 un vienmērīgu papildināšanu ar ātrumu ~1 žetons ik pēc 6 sekundēm). Izveides brīdī šo vērtību var samazināt - iestatiet mazāku
rateLimitPerMinute, un maksimālais limits samazināsies, līdz ar to proporcionāli mainoties papildināšanas ātrumam.
Atļaujas
Katra Management atslēga ietver jebkuru no trim tālāk norādītajām atļaujām. Izveides brīdī ir jāatlasa vismaz viena, pretējā gadījumā pieprasījums tiek noraidīts ar kļūdu 400 invalid_request_error. Izsaucot galapunktu ar atslēgu, kurai trūkst nepieciešamās atļaujas, tiek atgriezta kļūda 403 insufficient_permissions.
bot_read- nepieciešamaGET /v1/management/bots/{bot_id}bot_management- nepieciešamaPOST /v1/management/botsunPATCH /v1/management/bots/{bot_id}usage- nepieciešamaGET /v1/usage
Pieprasījuma pamatteksta struktūra: ligzdotas sadaļas, kas atbilst administratora saskarnes cilnēm
POST un PATCH pieņem JSON pamattekstu, kas sadalīts 13 sadaļās. Katra sadaļa atbilst apakšcilnei administratora lietotnes Bot Settings sānjoslā, tāpēc JSON atslēgas un redzamās cilnes sakrīt: ja mainīsiet consent.humanSupportRequirePolicyAccept, izmantojot API, redzēsiet, ka tā pati pārslēgpoga maina stāvokli cilnē Consent & Privacy (Piekrišana un konfidencialitāte) administratora lietotnē.
role- bota personība, neapstrādāts prompt, atbildes garums, valoda, vietnes / uzņēmuma konteksts (cilne Role & Behavior)conversation- sveiciena ziņojums, vaicājuma precizēšana, sarunas nepārtrauktība, novērtēšanas pārslēgpoga + rīku padomi, ieteikto jautājumu saturs + dinamiskie papildjautājumi (cilne Chat Conversation)chatMemory- tērzēšanas atmiņas pārslēgpoga, kopsavilkumu uzvednes, konteksta piešķiršana (cilne Summaries & Memory)appearance- krāsas, teksti, izmēri, pielāgots CSS, sākuma ekrāns, ieteikto jautājumu stils, automātiskās atvēršanas uzvedība, cilvēka rakstīšanas simulācija, kājenes markdown (cilne Appearance)humanSupport- saziņas veidlapa ar cilvēku (cilne Human Contact Form)leadCollection- lead piesaistes veidlapa (cilne Lead Collection)liveChat- nodošana uz Live Chat (cilne Live Chat)consent- visas četras privātuma politikas piekrišanas pārslēgpogas, kā arī piekrišanas ekrāna teksts (cilne Consent & Privacy)whiteLabel- logotipa paslēpšana, pielāgota logotipa saite, mitināšana pielāgotā domēnā (cilne Whitelabel)security- atļautie domēni, surogātpasta filtrs, sarunu ātruma ierobežojumi (cilne Security)voice- balss ievade un balss sarunas: modelis, balss, valodas, prompt, ilguma ierobežojums (cilne Voice Conversation)multilingual- daudzvalodu režīms, bāzes valoda, piedāvātās valodas, zināšanu bāzes valodu apstrāde (cilne Languages)advanced- LLM modelis, temperatūra, konteksta lielums, bota ziņojumu limits, iekšējā lokāle, Offer Cards (cilne Model & Advanced)
No ierakstāmajiem iestatījumiem tikai name atrodas augstākajā līmenī, jo tas identificē pašu botu, nevis pieder kādai konkrētai cilnei.
Bot Settings sānjoslā pašlaik ir 16 apakšcilnes, un 13 no tām atbilst iepriekš minētajām sadaļām. Trīs apakšcilnes, kurām nav atbilstošas sadaļas, ir Flow, Actions un Forms - visas trīs ir aplūkotas zemāk sadaļā "Ārpus API tvēruma". Pārējās 13, kurām ir atbilstība, ir: Appearance, Chat Conversation, Role & Behavior, Human Contact Form, Lead Collection, Live Chat, Whitelabel, Consent & Privacy, Security, Model & Advanced, Summaries & Memory, Voice Conversation un Languages.
Pieprasījuma pamattekstam un atbildes pamattekstam ir vienāda struktūra. Atbildē tiek pievienoti divi papildu elementi:
meta- tikai lasāms: bota ID un laika zīmogi. Noņemiet to, lai pārvērstu GET atbildi par derīgu POST pamattekstu.apiKey- iekļauts tikai izveides brīdī - jaunizveidotā Bot Talk API atslēga jaunajam botam.
Divi lauki kopīgajā struktūrā ir tikai lasāmi - tie tiek atgriezti atbildē, bet tiek ignorēti, ja mēģināt tos nosūtīt POST/PATCH pieprasījumā:
appearance.avatarUrl- pilns publiskais URL bota avatara attēlam (piem.,https://api.chatlab.com/aichat/content/avatar_xyz.png). Veiciet GET pieprasījumu tieši uz to, lai lejupielādētu failu. Lai to mainītu, augšupielādējiet jaunu failu, izmantojot multipart daļuavatar(skatiet PATCH).whiteLabel.whitelabelLogoUrl- pilns publiskais URL white-label galvenes logotipam. Tāds pats princips kāavatarUrl. Lai to mainītu, augšupielādējiet jaunu failu, izmantojot multipart daļuwhitelabel_logo(skatiet PATCH).
Abi URL izmanto pašreizējā pieprasījuma shēmu + resursdatoru + konteksta ceļu, tāpēc, izmantojot white-label pielāgoto domēnu, tie atgriežas piesaistīti šim domēnam (piem., https://api.acme.com/aichat/content/...).
Nosūtiet null sadaļai, lai izlaistu to PATCH pieprasījumā; nosūtiet null laukam sadaļas ietvaros, lai izlaistu šo konkrēto lauku. Lauka līmeņa null nekad neizdzēš saglabāto vērtību - tas nozīmē tikai "neaiztikt".
Lomas un uzvednes veidošana
Sistēmas prompt, ko faktiski saņem LLM, tiek izveidots vienā no diviem veidiem atkarībā no role.role vērtības. Zinot, kuru zaru izmantojat, sapratīsiet, kuri lauki ir svarīgi un kuri tiek saglabāti, bet ignorēti.
Zars A - role.role ir CUSTOMER_SUPPORT, SALES vai LEAD_COLLECTION_AGENT (balstīts uz veidnēm)
Aizmugursistēma saliek prompt no iebūvētas veidnes un pilnībā ignorē role.rawPrompt (vērtība joprojām tiek saglabāta bota iestatījumos, bet netiek izmantota). Veidne ietver:
role.role- lomas nosaukumu (piem., "Customer Support") un automātiski pievienotus lomai specifiskus norādījumusname- bota nosaukumu, kas ievietots ievadteikumārole.language-"Auto Detect"pārslēdz botu, lai tas pielāgotos lietotāja valodai; jebkura cita vērtība (piem.,"English","Polish") kļūst par "Output in {language}, unless user uses another language"role.responseLength- piesaistīts mērķa vārdu skaitam:Concise≈ 50 vārdi,Normal≈ 100,Detailed≈ 200role.websiteAddress- neobligāts; ja nav tukšs, tiek pievienots kā "for the users of the website {url}"role.companyDescription- neobligāts; ja nav tukšs, tiek pievienots kā papildu rindkopa pirms lomas norādījumiem
Šis ir ieteicamais zars lielākajai daļai botu - jūs automātiski iegūstat lomai pielāgotu uzvedību un drošības barjeras.
Zars B - role.role ir CUSTOM (izsaucēja nodrošināts prompt)
Aizmugursistēma izmanto role.rawPrompt kā lomas prompt un beigās pievieno platformas fiksētos norādījumus par atbildes garumu. Tas darbojas neatkarīgi no role.responseLength: izvēles iestatījums Concise/Normal/Detailed netiek pievienots CUSTOM lomai. Tāpat language, websiteAddress un companyDescription tiek saglabāti, bet netiek iekļauti šajā lomas uzvednē. Vēlamo valodu, mērķa atbildes garumu vai uzņēmuma kontekstu iekļaujiet pašā rawPrompt. Papildus var tikt nodrošinātas arī izpildlaika instrukcijas un iegūtais konteksts, tāpēc rawPrompt neveido visu modeļa ievadi. Iepriekš definētās lomas toņa instrukcijas netiek pievienotas, taču CUSTOM izvēle nenoņem visas platformas instrukcijas.
Izmantojiet CUSTOM tikai tad, ja uz veidnēm balstītais prompt neatbilst jūsu lietojumam (piemēram, nepieciešama ļoti specifiskai nozarei pielāgota personība, savi drošības ierobežojumi vai nestandarta izvades formāts).
Uzskaitījuma (enum) / ierobežotas vērtību kopas lauki
Uzskaitījumu un ierobežoto vērtību lauki noraida nederīgas vērtības ar kļūdu 400 invalid_parameter. Citi lauki ir vienkāršas virknes, pat ja lietotāja saskarne piedāvā fiksētu sarakstu. Izmantojiet dokumentēto pareizrakstību un pārbaudiet savus datus, nevis pieņemiet, ka katra neatbalstītā virkne tiks noraidīta.
role.role-CUSTOMER_SUPPORT,SALES,LEAD_COLLECTION_AGENT,CUSTOMrole.responseLength-Concise,Normal,Detailedrole.language- pilns valodas nosaukums angļu valodā no administratora nolaižamā saraksta, piem.,Auto Detect,English,Polish,Spanish,German,French,Italian,Portuguese,Dutch,Russian,Chinese (Simplified),Japanese,Arabic,Hindiun vēl ~80 citas. Vērtība tiek saglabāta burtiski un ievietota prompt veidnē, tāpēc divburtu ISO kodi (en,pl) un citas sarakstā neesošas vērtības netiek noraidītas API līmenī, bet rada kļūdainu instrukciju, piemēram, "Output in en, unless...". Ja izveides brīdī šis lauks tiek izlaists, noklusējuma vērtība irAuto Detect.advanced.model- skatiet sadaļu "AI teksta modeļi" zemāk. Šī ir virkne, nevis pārbaudīts uzskaitījums pieprasījuma shēmā; izmantojiet atbalstītu vērtību, nevis patvaļīgu modeļa nosaukumu.advanced.chatContextSize- izmantojiet8000,16000vai32000, kas atbilst lietotāja saskarnei. Vērtības, kas pārsniedz konta maksimumu, tiek klusi ierobežotas; DTO nepiespiež šo trīs vērtību kopu.chatMemory.clientSummaryPromptType-DEFAULT,CUSTOMchatMemory.conversationSummaryPromptType-DEFAULT,CUSTOMappearance.chatAlignment-left,rightappearance.minimizedDisplayMode-icon,minified,pillappearance.chatMessageLinkTarget-_blank,_selfleadCollection.requireBeforeNewConversation- Būla pārslēgpoga.trueliek lietotājam aizpildīt lead veidlapu pirms sarunas sākšanas;falseļauj AI izlemt, kad parādīt veidlapu (noklusējums).
Strukturētie lauki un diapazoni
Lauki, kas izskatās kā vienkāršas virknes vai skaitļi, bet kuriem faktiski ir specifiska struktūra, diapazoni vai administratora saskarnes īpatnības, par kurām vērts zināt.
-
advanced.temperature- pieņemamais diapazons ir no0.0līdz1.0, kas atbilst slīdnim administratora saskarnē. Vērtības ārpus šī diapazona tiek noraidītas ar kļūdu400 invalid_parameter. -
chatMemory.summariesToKnowledgeRatio- vesels skaitlis procentos, no10līdz90; lietotāja saskarnē tiek izmantots solis10, bet API pieņem jebkuru veselu skaitli šajā diapazonā. Noklusējums ir50. Ja atmiņa ir iespējota un konteksts ir lielāks par 8k, tas sadala zināšanu un atmiņas budžetu pēc tam, kad atskaitīta vieta prompt un nesenajai sarunai, nevis visu modeļa kontekstu. Pie 8k šis iestatījums kopsavilkumu budžetu nepiešķir. -
liveChat.schedule- JSON, kas iekodēts kā virkne, nevis ligzdots JSON objekts tīklā. Serveris saglabā neapstrādāto virkni burtiski; administratora lietotne to parsē klienta pusē, renderējot darba laika redaktoru. Pēc parsēšanas virknes struktūra sastāv no viena ieraksta katrai nedēļas dienai plustimezoneatslēgas:- katra nedēļas dienas atslēga (
monday-sunday) atbilst{enabled: boolean, from: "H:MM", to: "H:MM"}24 stundu formātā timezoneir IANA laika joslas nosaukums (piem.,"Europe/Warsaw","America/New_York")
Vērtības piemērs (ievērojiet ārējās pēdiņas un ekranētās iekšējās pēdiņas - tas ir viens virknes lauks, nevis ligzdots objekts):
"{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}"Ārpus norādītajām stundām apmeklētājam tiek rādīts
liveChat.outOfHoursMessageun pārsūtīšana uz Live Chat tiek bloķēta. Iekšējās struktūras pārbaude tiek veikta tikai klienta pusē administratora lietotnē - kļūdainu JSON vai neatpazītas atslēgas API pieņem kā parastu virkni, un tās izpaudīsies kā renderēšanas kļūda vēlāk, kad cilvēks atvērs botu administratora panelī. Pirms sūtīšanas pārbaudiet struktūru savā pusē. - katra nedēļas dienas atslēga (
-
conversation.positiveRatingTooltip/conversation.negativeRatingTooltip- īsi paskaidrojumi, kas tiek rādīti pie sarunas novērtēšanas pogām 👍 / 👎, ja ir iestatītsconversation.conversationRatingEnabled=true. Noklusējuma teksts ir "I like the response" / "I don't like the response". Redzams gala lietotājiem. -
whiteLabel.hideRoboAssistLogo- white-label iespēja atbilstoši jūsu konta ierobežojumiem. Paslēpj kājenes rindiņu "Powered by ChatLab". Ja jūsu konts neietver White Label iespējas, vērtība tiek saglabāta, bet ignorēta, un kājene vienmēr tiek renderēta. -
whiteLabel.whitelabelLogoLink- white-label iespēja atbilstoši jūsu konta ierobežojumiem. Klikšķa mērķa URL pielāgotajam logotipam, ja ir iestatītshideRoboAssistLogo=trueun pielāgotā logotipa fails ir augšupielādēts, izmantojot multipart daļuwhitelabel_logo. -
appearance.simulateHumanTypingDelay- sekundes (nevis milisekundes), vesels skaitlis no0līdz200. Pauze starp secīgiem bota ziņojumiem, ja ir ieslēgtssimulateHumanTyping=true. Noklusējums ir5. -
appearance.autoOpenChatDelaySeconds- sekundes, vesels skaitlis. Aizkave pirms logrīka automātiskās atvēršanās, ja ir ieslēgtsautoOpenChat=trueunautoOpenChatDelay=true. -
advanced.internalLocale- IETF lokāles un reģiona kods formāll_CC(ar pasvītrojumu, NEVISll-CCar defisi). Pieņemtās vērtības nāk no fiksēta ~95 lokāļu saraksta:en_US,pl_PL,de_DE,fr_FR,es_ES,it_IT,pt_PT,nl_NL,ru_RU,zh_CN,zh_TW,ja_JP,ko_KR,ar_SA,hi_IN,tr_TR,cs_CZ,da_DK,fi_FI,sv_SE,no_NO,el_GR,he_ILun daudzas citas. Tikai divburtu koda ("en") vai BCP-47 ("en-US") nosūtīšana nav atļauto vērtību sarakstā. Noklusējums iren_US. Šī ir lokāle, ko izmanto datumu/skaitļu formatēšanai logrīka saskarnē, un tā atšķiras norole.language(bota sarunas izvades valodas). -
security.talkMessagesRateLimit/security.talkMessagesRateLimitDurationSeconds- veseli skaitļi (sūtīt kā JSON skaitļus, piem.,30, nevis"30"). Iestatiet ziņojumu limitu uz0, lai atspējotu šo sesijas ierobežojumu. To iespējojot, norādiet pozitīvu ilgumu. Aizmugursistēma uzspiež N ziņojumus vienā sesijā norādītajā sekunžu ilgumā, pirms apmeklētājam tiek parādītssecurity.talkMessagesRateLimitHitMessage. -
advanced.botMessagesLimit- vesels skaitlis (JSON skaitlis, piem.,1000).0nozīmē, ka nav papildu ierobežojuma katram botam, un joprojām tiek piemērots konta kredītu budžets; pretējā gadījumā tam jābūt skaitļa 1000 daudzkārtnim (1000,2000,10000, ...). Tādas vērtības kā100vai1500tiek noraidītas ar kļūdu400 invalid_parameter. Šis ir ikmēneša bota kredītu limits, nevis vienas sarunas ziņojumu skaits. Kartētājs neierobežo šo vērtību atbilstoši konta budžetam; konta budžets joprojām ierobežo faktisko patēriņu.
AI teksta modeļi (advanced.model)
Izmantojiet precīzu modeļa identifikatoru, kas tiek atgriezts laukā advanced.model, nolasot botu, kas konfigurēts ar jūsu izvēlēto modeli sadaļā Settings > Model & Advanced (Iestatījumi > Modelis un papildu iestatījumi). Pašreizējais noklusējums izveides brīdī ir 5.6-LUNA. Identifikatori ir reģistrjutīgi un atšķiras no rādītajiem nosaukumiem; piemēram, 5.6-LUNA tiek attēlots kā GPT 5.6-luna.
Modeļu katalogs laika gaitā mainās. Nepieņemiet, ka patvaļīga virkne vai pakalpojumu sniedzēja publiskais modeļa ID tiek atbalstīts tikai tāpēc, ka pieprasījuma shēma pieņem teksta virkni. Nolasiet saglabāto konfigurāciju un pārbaudiet izveidoto tērzēšanas botu pirms tā ieviešanas.
Lauku uzziņa (pilna pieprasījuma shēma)
Atbalstītās sadaļas un lauki ar to tipiem un svarīgākajiem ierobežojumiem. PATCH semantika: jebkurš izlaists (vai kā null nosūtīts) lauks atstāj saglabāto vērtību nemainītu. Tāda pati struktūra tiek izmantota atbildei (atskaitot multipart bināro saturu; plus tikai lasāmais bloks meta katrā atbildē un apiKey tikai izveides atbildē).
Augstākais līmenis
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
name |
string | maks. 150, obligāts izveides brīdī | Bota redzamais nosaukums |
role |
object | Skatīt § role | |
conversation |
object | Skatīt § conversation | |
chatMemory |
object | Skatīt § chatMemory | |
appearance |
object | Skatīt § appearance | |
humanSupport |
object | Skatīt § humanSupport | |
leadCollection |
object | Skatīt § leadCollection | |
liveChat |
object | Skatīt § liveChat | |
consent |
object | Skatīt § consent | |
whiteLabel |
object | Skatīt § whiteLabel | |
security |
object | Skatīt § security | |
advanced |
object | Skatīt § advanced |
Tikai atbildē iekļautie papildinājumi:
meta: { id, createdAt, updatedAt }- tikai lasāms.apiKey- string, atrodas tikaiPOST /v1/management/botsatbildē - tikko ģenerētā Bot Talk atslēga jaunajam botam, kas tiek atgriezta tieši vienu reizi.
§ role
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
role |
string (enum) | CUSTOMER_SUPPORT, SALES, LEAD_COLLECTION_AGENT, CUSTOM |
Personas sākotnējais iestatījums; izvēlas uzvednes veidni (skatīt "Loma un uzvednes veidošana") |
language |
string | pilns valodas nosaukums angliski (English, Polish, ...) vai Auto Detect |
Galvenā valoda, kas tiek ievadīta uzvednes veidnē |
responseLength |
string | ∈ {Concise, Normal, Detailed} |
Vēlamais AI atbildes detalizācijas līmenis |
websiteAddress |
string | Vietne, kas tiek izmantota uzvednes kontekstam | |
companyDescription |
string | Uzņēmuma apraksts, kas tiek izmantots uzvednes kontekstam | |
rawPrompt |
string | Pielāgota sistēmas uzvedne - tiek izmantota burtiski tikai tad, ja role=CUSTOM |
§ conversation
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
welcomeMessage |
string | Pirmā ziņa, kas tiek parādīta apmeklētājam pēc atvēršanas | |
queryRefinementEnabled |
boolean | Ja patiess, pirms RAG izgūšanas precizē apmeklētāja jautājumu | |
conversationContinuityEnabled |
boolean | Ja patiess, atgriezušies apmeklētāji turpina savu pēdējo sarunu | |
conversationRatingEnabled |
boolean | Ja patiess, rāda īkšķa augšup/lejup sarunas novērtēšanas vadīklas | |
positiveRatingTooltip |
string | Rīka padoms uz pozitīvā vērtējuma pogas | |
negativeRatingTooltip |
string | Rīka padoms uz negatīvā vērtējuma pogas | |
suggestedQuestions |
string | Ar rindiņas pārtraukumu atdalīti ieteiktie jautājumi / sarunas aizsācēji | |
dynamicSuggestedFollowups |
boolean | Ja patiess, AI pēc katras atbildes piedāvā papildu jautājumu ieteikumus | |
positiveRatingMessage |
string | Ziņa, kas tiek parādīta pēc pozitīvas atsauksmes | |
negativeRatingMessage |
string | Ziņa, kas tiek parādīta pēc negatīvas atsauksmes | |
hideSuggestedQuestionsAfterFirstUse |
boolean | Paslēpt statiskos ieteikumus pēc izmantošanas | |
dynamicFollowupsAutoIcons |
boolean | Ja patiess, AI automātiski izvēlas emocijzīmju ikonas dinamiskajiem papildu ieteikumiem |
§ chatMemory
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Čata atmiņas funkcijas galvenais slēdzis | |
summaryConversationsEnabled |
boolean | Saglabāt kopsavilkumus par katru sarunu | |
conversationSummaryPrompt |
string | Pielāgota uzvedne, ko izmanto katras sarunas apkopošanai | |
conversationSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Vai izmantot noklusējuma vai pielāgoto kopsavilkuma uzvedni |
clientSummaryPrompt |
string | Pielāgota uzvedne, ko izmanto klienta profila apkopošanai starp sarunām | |
clientSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Noklusējuma pret pielāgotu klienta profila uzvedni |
summariesToKnowledgeRatio |
int | 10-90 (UI solis 10) |
Pieejamā zināšanu/atmiņas budžeta % daļa, kas atvēlēta kopsavilkumiem kontekstos virs 8k |
§ appearance
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
launcherLabelLine1 |
string | maks. 60 | Palaidēja teksta pirmā rinda |
launcherLabelLine2 |
string | maks. 60 | Palaidēja teksta otrā rinda |
launcherTextColor |
string | Palaidēja teksta krāsa | |
launcherDismissEnabled |
boolean | Atļaut aizvērt palaidēju | |
widgetFontFamily |
string | inter, system, nunito, lato, montserrat, poppins, source-serif, jetbrains-mono |
Logrīka fontu saime |
chatDrawerEnabled |
boolean | Iespējot atvilktnes tipa attēlojumu | |
launcherColor |
string (hex) | Palaidēja (čata ikonas) fona krāsa | |
headerColor |
string (hex) | Čata galvenes fona krāsa | |
titleColor |
string (hex) | Čata galvenes virsraksta krāsa | |
subtitleColor |
string (hex) | Čata galvenes apakšvirsraksta krāsa | |
clientMessageBubbleColor |
string (hex) | Apmeklētāja ziņas burbuļa krāsa | |
clientMessageTextColor |
string (hex) | Apmeklētāja ziņas teksta krāsa | |
responseMessageBubbleColor |
string (hex) | Bota atbildes burbuļa krāsa | |
responseMessageTextColor |
string (hex) | Bota atbildes teksta krāsa | |
chatSubheader |
string | Saucis, kas tiek parādīts zem čata virsraksta | |
senderPlaceholder |
string | Viettura teksts ziņas ievades laukā | |
resetConversationTooltip |
string | Rīka padoms uz pogas "atiestatīt sarunu" | |
chatAlignment |
string (enum) | ∈ {left, right} |
Pie kuras ekrāna malas čats tiek piesaistīts |
launcherBottomMargin |
int | 0-500 |
Palaidēja attālums no apakšējās malas (px) |
launcherSideMargin |
int | 0-500 |
Palaidēja attālums no sānu malas (px) |
displayShadow |
boolean | Krītošā ēna zem logrīka | |
customCss |
string | Neapstrādāts CSS, kas tiek ievadīts logrīka iframe | |
chatMessageLinkTarget |
string (enum) | ∈ {_blank, _self} |
Kā tiek atvērtas saites bota ziņās |
minimizedDisplayMode |
string (enum) | ∈ {icon, minified, pill} |
Minimizētais stāvoklis: palaidēja ikona, kompakta sūtītāja josla vai kapsula |
chatDesktopWidthPx |
int | Logrīka platums datora ekrānā | |
chatDesktopHeightPx |
int | Logrīka augstums datora ekrānā | |
chatMobileSizePercent |
int | Mobilā logrīka izmērs kā % no skatloga | |
messageFontSize |
int | Ziņas teksta fonta lielums (px) | |
showChatbotBubblesDesktop |
boolean | Rādīt peldošos uzrunas burbuļus datora ekrānā | |
showChatbotBubblesMobile |
boolean | Rādīt peldošos uzrunas burbuļus mobilajās ierīcēs | |
chatbotBubblesDelaySeconds |
int | Aizkave pirms uzrunas burbuļu parādīšanās (sekundēs) | |
launcherIconFullSize |
boolean | Rādīt pielāgoto palaidēja ikonu no malas līdz malai, nevis ar atkāpi | |
welcomeScreenEnabled |
boolean | Rādīt Welcome Screen (sveiciena ekrānu), nevis uzreiz atvērt čatu | |
welcomeScreenQuestionsLabel |
string | Etiķete virs ieteiktajiem jautājumiem sveiciena ekrānā | |
welcomeScreenHideHumanContactForm |
boolean | Paslēpt cilvēka saziņas formas darbību galvenē, kamēr tiek rādīts Welcome Screen. Tā atkal parādās pēc apmeklētāja pirmās ziņas. Botiem, kas izveidoti pirms 2026-09-02, noklusējums ir true |
|
welcomeScreenHideLiveChat |
boolean | Paslēpt tiešsaistes čata darbību galvenē, kamēr tiek rādīts Welcome Screen. Tā atkal parādās pēc apmeklētāja pirmās ziņas. Botiem, kas izveidoti pirms 2026-09-02, noklusējums ir true |
|
headerActionsLayout |
string | ICONS vai DROPDOWN |
Kā Live Chat un cilvēka saziņas forma tiek piedāvāti čata galvenē: ICONS (atsevišķa ikona katram) vai DROPDOWN (sagrupēti galvenes izvēlnē). Botiem, kas izveidoti pirms 2026-09-02, noklusējums ir ICONS |
stackSuggestedQuestions |
boolean | Sakārtot ieteiktos jautājumus vertikāli (nevis blakus) | |
suggestedQuestionsFontSize |
int | Ieteikto jautājumu elementu fonta lielums (px) | |
suggestedQuestionsTextColor |
string (hex) | Ieteikto jautājumu elementu teksta krāsa | |
suggestedQuestionsBackgroundColor |
string (hex) | Ieteikto jautājumu elementu fona krāsa | |
autoOpenChat |
boolean | Automātiski atvērt čatu datora ekrānā | |
autoOpenChatOnMobiles |
boolean | Automātiski atvērt čatu mobilajās ierīcēs | |
autoOpenChatDelay |
boolean | Izmantot aizkavi pirms automātiskās atvēršanas | |
autoOpenChatDelaySeconds |
int | Automātiskās atvēršanas aizkave (sekundēs) | |
simulateHumanTyping |
boolean | Sadalīt bota atbildi burbuļos ar rakstīšanas animāciju | |
simulateHumanTypingDelay |
int | 0-200 |
Aizkave starp burbuļu ziņām (sekundēs) |
footerMarkdown |
string | maks. 255 | Pielāgots kājenes markdown, kas tiek rādīts zem čata |
avatarUrl |
string | tikai lasāms | Pilns publiskais avatara URL; lai to mainītu, augšupielādējiet, izmantojot multipart daļu avatar |
Multipart POST/PATCH pieprasījumos: avatar (faila daļa). GET / atbilžu pamattekstos faila saturs tiek izlaists - tiek pārsūtīts tikai URL.
§ humanSupport
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Human Support (klientu atbalsta) plūsmas slēdzis | |
email |
string | obligāts (stingra pārbaude izveidē), ja enabled=true |
Adrese, kas saņem klientu atbalsta e-pastus |
dialogMessage |
string | Iedrošinājuma ziņa, kas tiek parādīta virs formas | |
thankYouMessage |
string | Apstiprinājums, kas tiek parādīts pēc iesniegšanas | |
emailMessageSubjectTemplate |
string | Temata veidne aģentam nosūtītajam e-pastam | |
emailMessageContentTemplate |
string | Pamatteksta veidne aģentam nosūtītajam e-pastam | |
emailPlaceholder |
string | Vietturis e-pasta ievades laukā | |
messagePlaceholder |
string | Vietturis ziņas teksta laukumā | |
emailWithConversationContent |
boolean | Ja patiess, iekļaut sarunas atšifrējumu e-pasta pamattekstā | |
customFormId |
long | esošas pielāgotas formas id | Aizstāt iebūvēto saziņas formu ar pielāgotu formu. Izveidojot, lauka izlaišana izmanto iebūvēto formu; PATCH gadījumā null atstāj pašreizējo izvēli nemainītu |
customFormMapping |
string | JSON kodēta virkne | Pasaista pielāgotās formas laukus ar klientu atbalsta e-pasta laukiem |
requirePolicyAccept atrodas sadaļā consent.humanSupportRequirePolicyAccept, nevis šeit.
§ leadCollection
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Potenciālo klientu formas slēdzis | |
nameEnabled |
boolean | Ievākt vārdu | |
nameLabel |
string | Etiķete uz vārda ievades lauka | |
emailEnabled |
boolean | Ievākt e-pastu | |
emailLabel |
string | obligāts (stingra pārbaude izveidē), ja enabled=true UN emailEnabled=true |
Etiķete uz e-pasta ievades lauka |
phoneEnabled |
boolean | Ievākt tālruņa numuru | |
phoneLabel |
string | obligāts (stingra pārbaude izveidē), ja enabled=true UN phoneEnabled=true |
Etiķete uz tālruņa ievades lauka |
leaveDetailsMessage |
string | obligāts (stingra pārbaude izveidē), ja enabled=true |
Ziņa, kas aicina apmeklētāju atstāt savu kontaktinformāciju |
thankYouMessage |
string | obligāts (stingra pārbaude izveidē), ja enabled=true |
Apstiprinājums, kas tiek parādīts pēc iesniegšanas |
requireBeforeNewConversation |
boolean | Ja true, forma ir jāiesniedz pirms sarunas sākšanas; ja false, AI izlemj, kad parādīt formu |
|
emailNotificationEnabled |
boolean | Nosūtīt e-pastu īpašniekam katru reizi, kad tiek ievākts potenciālais klients | |
emailNotificationAddress |
string | Paziņojumu saņēmējs (noklusējumā konta e-pasts) | |
emailWithConversationContent |
boolean | Ja patiess, iekļaut sarunas atšifrējumu paziņojumā |
| customFormId | long | esošas pielāgotas formas id | Aizstāt iebūvēto potenciālo klientu formu ar pielāgotu formu. Izveidojot, lauka izlaišana izmanto iebūvēto formu; PATCH gadījumā null atstāj pašreizējo izvēli nemainītu |
| customFormMapping | string | JSON kodēta virkne | Pasaista pielāgotās formas laukus ar vārdu / e-pastu / tālruni |
Savstarpējo lauku stingrais noteikums izveidē: enabled=true prasa vismaz vienu no emailEnabled vai phoneEnabled. requirePolicyAccept atrodas sadaļā consent.leadCollectionRequirePolicyAccept, nevis šeit.
§ liveChat
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Live Chat funkcijas slēdzis | |
infoMessage |
string | Paskaidrojošā ziņa pirms nodošanas operatoram | |
startMessage |
string | Ziņa, kas tiek parādīta, sākoties tiešsaistes sesijai | |
endMessage |
string | Ziņa, kas tiek parādīta, beidzoties tiešsaistes sesijai | |
nameLabel |
string | Etiķete uz vārda ievades lauka tiešsaistes čata sākotnējā formā | |
emailLabel |
string | Etiķete uz e-pasta ievades lauka tiešsaistes čata sākotnējā formā | |
schedule |
string | JSON kodēta virkne (nedēļas dienu slēdži + from/to + timezone) |
Tiešsaistes čata darba grafiks - precīzu struktūru skatīt sadaļā "Strukturēti lauki un diapazoni" |
outOfHoursMessage |
string | Ziņa, kas tiek parādīta ārpus darba laika | |
closeModalMessage |
string | Modālā loga "vai aizvērt tiešsaistes čatu?" virsraksts | |
closeModalConfirmLabel |
string | Apstiprināšanas pogas etiķete aizvēršanas modālajā logā | |
closeModalCancelLabel |
string | Atcelšanas pogas etiķete aizvēršanas modālajā logā | |
closeModalTooltipText |
string | Rīka padoms uz čata aizvēršanas elementa | |
operatorHasJoinedLabel |
string | Etiķete, kas tiek parādīta, kad operators pievienojas | |
operatorDidNotJoinInTimeLabel |
string | Etiķete, kas tiek parādīta, ja neviens operators nepievienojas noildzes laikā | |
waitingForOperatorToJoinLabel |
string | Etiķete, kas tiek parādīta, gaidot operatoru | |
waitingForOperatorSeconds |
int | Laiks, kurā operatoram jāpieņem saruna (sekundēs) | |
redirectToHumanSupportForm |
boolean | Ja patiess, novirzīt uz Human Support formu, ja neviens operators nepieņem sarunu | |
requireAdminOnline |
boolean | Pieprasīt pieejamu operatoru saskaņā ar klātbūtnes iestatījumiem | |
presenceMode |
string | Klātbūtnes režīms; izmantojiet vērtību no bota, kas konfigurēts saskarnē | |
hideHumanSupportWhenLiveChatAvailable |
boolean | Paslēpt saziņas formu, kad tiešsaistes čats ir pieejams | |
missedEmailEnabled |
boolean | noklusējums true |
Nosūtīt e-pastu bota īpašniekam, ja tiešsaistes čata pieprasījums palika neatbildēts. Vecākiem botiem nav iestatīts, kas tiek interpretēts kā iespējots |
requirePolicyAccept atrodas sadaļā consent.liveChatRequirePolicyAccept, nevis šeit.
§ consent
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
newConversationRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms jaunas sarunas sākšanas | |
humanSupportRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms klientu atbalsta formas iesniegšanas | |
leadCollectionRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms potenciālo klientu formas iesniegšanas | |
liveChatRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms tiešsaistes čata sesijas sākšanas | |
newConversationConsentDescription |
string | Ievada teksts piekrišanas ekrānam sarunas sākumā | |
privacyPolicyConsentCheckboxLabel |
string | Etiķete blakus piekrišanas izvēles rūtiņai (parasti satur saiti uz privātuma politiku) |
§ whiteLabel
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
hideRoboAssistLogo |
boolean | White Label iespēja; attiecas konta ierobežojumi | Paslēpt noklusējuma ChatLab logotipu kājenē |
whitelabelLogoLink |
string | White Label iespēja; attiecas konta ierobežojumi | URL, uz kuru ved pielāgotais kājenes logotips |
assignToCustomDomain |
boolean | pieejams ar CUSTOM_DOMAIN funkciju |
Uzturēt čatu konfigurētajā pielāgotajā domēnā |
whitelabelLogoUrl |
string | tikai lasāms | Pilns publiskais White Label logotipa URL; lai to mainītu, augšupielādējiet, izmantojot multipart daļu whitelabel_logo |
Multipart POST/PATCH pieprasījumos: whitelabel_logo (faila daļa). GET / atbilžu pamattekstos faila saturs tiek izlaists - tiek pārsūtīts tikai URL.
§ security
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
allowedDomains |
string | Ar komatu atdalīts to domēnu saraksts, kuriem atļauts iegult logrīku (tukšs = nav atļauto saraksta) | |
spamFilterEnabled |
boolean | Iespējot katra bota surogātpasta filtru ienākošajām ziņām | |
countryFilterMode |
string | BLACKLIST vai WHITELIST |
Kā tiek interpretēti valstu saraksti. Paši saraksti paliek pieejami tikai administratoram |
talkMessagesRateLimit |
int | >= 0; 0 atspējo |
Maksimālais lietotāja ziņu skaits, kas atļauts ātruma ierobežojuma logā |
talkMessagesRateLimitDurationSeconds |
int | >= 0 |
Ātruma ierobežojuma loga ilgums (sekundēs) |
talkMessagesRateLimitHitMessage |
string | Ziņa, kas tiek parādīta apmeklētājam, kad tiek sasniegts ātruma ierobežojums |
§ voice
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
inputEnabled |
boolean | Atļaut apmeklētājam diktēt ziņas (runa uz tekstu) | |
conversationEnabled |
boolean | plānā nepieciešama balss funkcija | Iespējot pilnvērtīgas balss sarunas |
voiceId |
string | pakalpojumu sniedzēja balss id (piem., alloy) |
Kura sintētiskā balss runā |
model |
string | piem., GPT-REALTIME-MINI, GEMINI-LIVE, ELEVENLABS-* |
Balss modelis. Rēķins par minūti, tarifi atšķiras atkarībā no modeļa |
turnDetection |
string | atkarīgs no pakalpojumu sniedzēja | Runas kārtas noteikšanas režīms |
audioPrompt |
string | Papildu sistēmas uzvedne, ko izmanto tikai balss sarunās | |
welcomeMessage |
string | Izrunātais ievada teksts | |
language |
string | valodas kods | Primārā balss valoda |
additionalLanguages |
string | ar komatu atdalīti valodu kodi | Papildu valodas, kuras balss aģents pieņem |
maxDurationSeconds |
int | Stingrs maksimālais vienas balss sarunas ilgums | |
maxDurationMessage |
string | Ziņa, kas tiek parādīta, kad ir sasniegts maksimālais ilgums |
§ multilingual
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Daudzvalodu režīma slēdzis | |
mode |
string | AUTODETECT vai FIXED_LIST |
Kā bots izvēlas atbildes valodu |
baseLanguage |
string | valodas kods | Valoda, kurā sarakstīti bota paša teksti |
languages |
string | ar komatu atdalīti valodu kodi | Valodas, kas tiek piedāvātas apmeklētājam |
knowledgeLanguageMode |
string | NONE, MAIN vai DYNAMIC |
Kā tiek apstrādātas zināšanas citās valodās |
knowledgeLanguageFallback |
string | valodas kods | Valoda, ko izmanto, ja atbilstība netiek atrasta |
§ advanced
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
model |
string | pakļauts konta ierobežojumiem; skatīt sadaļu "AI teksta modeļi" augstāk | LLM identifikators (piem., 5.6-LUNA) |
temperature |
decimal | 0.0-1.0 |
Izlases temperatūra (atbilst saskarnes slīdnim) |
chatContextSize |
int | ∈ {8000, 16000, 32000}; klusi pielāgots Jūsu konta limitam |
Konfigurētais konteksta budžets, tostarp instrukcijas, vēsture un zināšanas |
botMessagesLimit |
long | 0 vai skaitlis, kas dalās ar 1000 (piem., 1000, 2000, 10000) |
Ikmēneša bota ziņu kredītu limits (0 = nav papildu bota limita; joprojām spēkā ir konta budžets) |
internalLocale |
string | lokāles kods formātā ll_CC |
Logrīka saskarnes tekstu lokāle (atšķiras no role.language) |
productsViewEnabled |
boolean | Ja patiess, čatā parādīt e-komercijas Offer Cards | |
includeProductsInKnowledgeBase |
boolean | Ja patiess, indeksēt produktu katalogu kā daļu no zināšanu bāzes |
Ārpus API tvēruma
Administratora saskarnē ir redzamas dažas sadaļas, kuras šajā Management API versijā ar nolūku nav pieejamas:
- Apmācība un dzēšana - šie galapunkti neļauj skatīt visu botu sarakstu, pārvaldīt apmācības datu kopas vai dzēst botus. Šīm darbplūsmām izmantojiet lietotni.
- Cilne Flow (plūsma) - vizuālais sarunas plūsmas redaktors (posmi un pārejas). Nav pieejams caur Management API.
- Cilne Actions (darbības) - pārvaldītās e-komercijas / rezervāciju integrācijas, AI Search un pielāgotās API funkcijas. Rīku izsaukšana (tool calling) nekad nav bijusi Management API daļa.
- Pats pielāgoto formu veidotājs - pielāgoto formu izveide un rediģēšana nav pieejama. Tomēr Jūs varat piesaistīt esošu formu botam, izmantojot
leadCollection.customFormIdunhumanSupport.customFormId. - Pielāgotas čata atvēršanas / aizvēršanas ikonas -
customLauncherIconVisible,openChatIcon,closeChatIcon. API atklāj tikai galvenāsavatarunwhitelabel_logomultipart daļas. - IP un valstu saraksti - paši ieraksti ir pieejami tikai administratoram. Tiek atklāts tikai interpretācijas režīms ar
security.countryFilterMode.
Galapunkti
POST /v1/management/bots
Izveidojiet jaunu botu. Tiek pieņemti divi līdzvērtīgi Content-Type veidi; izvēlieties to, kurš ir ērtāks.
Režīms A - vienkāršs JSON (ieteicams, ja tajā pašā pieprasījumā nav nepieciešams augšupielādēt avataru / logotipu):
Content-Type: application/json- Pieprasījuma pamatteksts ir bota konfigurācijas JSON (bez
dataietvara) - Failus (avataru / logotipu) var augšupielādēt vēlāk, veicot otru
PATCHpieprasījumu un izmantojot režīmu B
Režīms B - multipart/form-data (izmantojiet, augšupielādējot failus tajā pašā pieprasījumā):
Content-Type: multipart/form-data; boundary=...dataJSON daļa (obligāta,Content-Type: application/json) - bota konfigurācija iepriekš aprakstītajā ligzdotajā formātāavatarfaila daļa (neobligāta) - bota avatara attēlswhitelabel_logofaila daļa (neobligāta) - White Label logotips (tiek piemērots tikai tad, ja jūsu konts ietver zīmola noņemšanas iespēju)
JSON daļā obligāts ir tikai lauks name; visiem pārējiem laukiem tiek izmantotas tās pašas noklusējuma vērtības, kuras iestatītu administratora saskarnes vednis.
Pieprasījuma pamatteksta piemērs
Šis ir maksimālais data JSON - ar aizpildītām visām sadaļām. Sūtiet tikai tās sadaļas, kas jums ir nepieciešamas; viss pārējais pieņem noklusējuma vērtības.
{
"name": "Helpdesk Bot",
"role": {
"rawPrompt": "You are a friendly support assistant for Acme Inc.",
"role": "CUSTOMER_SUPPORT",
"language": "English",
"responseLength": "Normal",
"websiteAddress": "https://acme.com",
"companyDescription": "Acme sells industrial widgets."
},
"conversation": {
"welcomeMessage": "Hi! How can I help today?",
"queryRefinementEnabled": true,
"conversationContinuityEnabled": true,
"conversationRatingEnabled": true,
"positiveRatingTooltip": "Helpful",
"negativeRatingTooltip": "Not helpful",
"suggestedQuestions": "What are your hours?\nHow do I cancel?\nWhere is my order?",
"dynamicSuggestedFollowups": true,
"dynamicFollowupsAutoIcons": true
},
"chatMemory": {
"enabled": true,
"summaryConversationsEnabled": true,
"conversationSummaryPrompt": "Summarize this conversation in 3 sentences.",
"clientSummaryPrompt": "Summarize what we know about this customer.",
"clientSummaryPromptType": "DEFAULT",
"conversationSummaryPromptType": "DEFAULT",
"summariesToKnowledgeRatio": 50
},
"appearance": {
"launcherColor": "#1A73E8",
"headerColor": "#1A73E8",
"titleColor": "#FFFFFF",
"subtitleColor": "#FFFFFF",
"clientMessageBubbleColor": "#000000",
"clientMessageTextColor": "#FFFFFF",
"responseMessageBubbleColor": "#F4F4F4",
"responseMessageTextColor": "#000000",
"chatSubheader": "AI support assistant",
"senderPlaceholder": "Type a message...",
"resetConversationTooltip": "Restart conversation",
"chatAlignment": "right",
"launcherBottomMargin": 20,
"launcherSideMargin": 20,
"displayShadow": true,
"customCss": ".rcw-conversation-container { border-radius: 16px; }",
"chatMessageLinkTarget": "_blank",
"minimizedDisplayMode": "icon",
"chatDesktopWidthPx": 400,
"chatDesktopHeightPx": 600,
"chatMobileSizePercent": 100,
"messageFontSize": 14,
"showChatbotBubblesDesktop": true,
"showChatbotBubblesMobile": false,
"chatbotBubblesDelaySeconds": 5,
"welcomeScreenEnabled": false,
"welcomeScreenQuestionsLabel": "Quick start",
"welcomeScreenHideHumanContactForm": false,
"welcomeScreenHideLiveChat": false,
"headerActionsLayout": "DROPDOWN",
"stackSuggestedQuestions": false,
"suggestedQuestionsFontSize": 14,
"suggestedQuestionsTextColor": "#000000",
"suggestedQuestionsBackgroundColor": "#F4F4F4",
"autoOpenChat": false,
"autoOpenChatOnMobiles": false,
"autoOpenChatDelay": false,
"autoOpenChatDelaySeconds": 5,
"simulateHumanTyping": true,
"simulateHumanTypingDelay": 5,
"footerMarkdown": "Powered by Acme"
},
"humanSupport": {
"enabled": true,
"email": "support@acme.com",
"dialogMessage": "Leave us a message and we will get back to you.",
"thankYouMessage": "Thanks - we received your message.",
"emailMessageSubjectTemplate": "[Acme support] New message from {customerName}",
"emailMessageContentTemplate": "{message}\n\n - \n{conversationTranscript}",
"emailPlaceholder": "your@email.com",
"messagePlaceholder": "How can we help?",
"emailWithConversationContent": true
},
"leadCollection": {
"enabled": true,
"nameEnabled": true,
"nameLabel": "Your name",
"emailEnabled": true,
"emailLabel": "Email",
"phoneEnabled": false,
"phoneLabel": "Phone",
"leaveDetailsMessage": "Please leave your details and we will get in touch.",
"thankYouMessage": "Thanks - we will be in touch shortly.",
"requireBeforeNewConversation": false,
"emailNotificationEnabled": true,
"emailNotificationAddress": "leads@acme.com",
"emailWithConversationContent": true
},
"liveChat": {
"enabled": false,
"infoMessage": "Connecting you with a human agent...",
"startMessage": "You are now chatting with our team.",
"endMessage": "Live chat has ended.",
"nameLabel": "Your name",
"emailLabel": "Email",
"schedule": "{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}",
"outOfHoursMessage": "We are currently offline.",
"closeModalMessage": "End the live chat session?",
"closeModalConfirmLabel": "Yes, end",
"closeModalCancelLabel": "Cancel",
"closeModalTooltipText": "End live chat",
"operatorHasJoinedLabel": "An agent has joined.",
"operatorDidNotJoinInTimeLabel": "No agent available right now.",
"waitingForOperatorToJoinLabel": "Waiting for an agent...",
"waitingForOperatorSeconds": 60,
"redirectToHumanSupportForm": true
},
"consent": {
"newConversationRequirePolicyAccept": false,
"humanSupportRequirePolicyAccept": false,
"leadCollectionRequirePolicyAccept": true,
"liveChatRequirePolicyAccept": false,
"newConversationConsentDescription": "By starting a conversation you agree to our terms.",
"privacyPolicyConsentCheckboxLabel": "I have read and accepted the privacy policy."
},
"whiteLabel": {
"hideRoboAssistLogo": false,
"whitelabelLogoLink": "https://acme.com",
"assignToCustomDomain": false
},
"security": {
"allowedDomains": "acme.com,support.acme.com",
"spamFilterEnabled": true,
"talkMessagesRateLimit": 30,
"talkMessagesRateLimitDurationSeconds": 60,
"talkMessagesRateLimitHitMessage": "Please slow down."
},
"advanced": {
"model": "5.6-LUNA",
"temperature": 0.4,
"chatContextSize": 16000,
"botMessagesLimit": 1000,
"internalLocale": "en_US",
"productsViewEnabled": false
}
}
Validācijas noteikumi ar atsevišķiem kļūdu paziņojumiem:
name- obligāts, ne vairāk kā 150 rakstzīmesadvanced.temperature- no0.0līdz1.0chatMemory.summariesToKnowledgeRatio- vesels skaitlis no10līdz90(procenti, solis10)appearance.launcherBottomMargin,appearance.launcherSideMargin- no0līdz500appearance.footerMarkdown- ne vairāk kā 255 rakstzīmeshumanSupport.enabled=trueprasa, lai būtu iestatītshumanSupport.emailleadCollection.enabled=trueprasa, lai vismaz viens no laukiemleadCollection.emailEnabledvaileadCollection.phoneEnabledbūtu patiess (true); tam kanālam, kurš ir ieslēgts, obligāti nepieciešama arī atbilstošā etiķete, kā arīleaveDetailsMessageunthankYouMessageadvanced.chatContextSizetiek ierobežots līdz konta maksimālajam atbalstītajam konteksta izmēram. Neuzskatiet, ka citi skaitliskie lauki tiek ierobežoti automātiski.
Lauki, kuru vērtība serverī ir null, no JSON pamatteksta tiek izlaisti - pārraides tīklā nonāk tikai tie lauki, kuriem vērtība nav null.
Atbildes pamatteksta piemērs (201)
Tāda pati struktūra kā pieprasījumam, papildus iekļaujot tikai lasāmo meta bloku un vienreizējo apiKey augšējā līmenī. Tikai lasāmos failu URL (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl) serveris aizpilda tad, kad tika augšupielādētas atbilstošās multipart daļas.
{
"name": "Helpdesk Bot",
"role": {
"rawPrompt": "You are a friendly support assistant for Acme Inc.",
"role": "CUSTOMER_SUPPORT",
"language": "English",
"responseLength": "Normal",
"websiteAddress": "https://acme.com",
"companyDescription": "Acme sells industrial widgets."
},
"conversation": {
"welcomeMessage": "Hi! How can I help today?",
"queryRefinementEnabled": true,
"conversationContinuityEnabled": true,
"conversationRatingEnabled": true,
"positiveRatingTooltip": "Helpful",
"negativeRatingTooltip": "Not helpful",
"suggestedQuestions": "What are your hours?\nHow do I cancel?\nWhere is my order?",
"dynamicSuggestedFollowups": true,
"dynamicFollowupsAutoIcons": true
},
"chatMemory": {
"enabled": true,
"summaryConversationsEnabled": true,
"conversationSummaryPrompt": "Summarize this conversation in 3 sentences.",
"clientSummaryPrompt": "Summarize what we know about this customer.",
"clientSummaryPromptType": "DEFAULT",
"conversationSummaryPromptType": "DEFAULT",
"summariesToKnowledgeRatio": 50
},
"appearance": {
"launcherColor": "#1A73E8",
"headerColor": "#1A73E8",
"titleColor": "#FFFFFF",
"subtitleColor": "#FFFFFF",
"clientMessageBubbleColor": "#000000",
"clientMessageTextColor": "#FFFFFF",
"responseMessageBubbleColor": "#F4F4F4",
"responseMessageTextColor": "#000000",
"chatSubheader": "AI support assistant",
"senderPlaceholder": "Type a message...",
"resetConversationTooltip": "Restart conversation",
"chatAlignment": "right",
"launcherBottomMargin": 20,
"launcherSideMargin": 20,
"displayShadow": true,
"customCss": ".rcw-conversation-container { border-radius: 16px; }",
"chatMessageLinkTarget": "_blank",
"minimizedDisplayMode": "icon",
"chatDesktopWidthPx": 400,
"chatDesktopHeightPx": 600,
"chatMobileSizePercent": 100,
"messageFontSize": 14,
"showChatbotBubblesDesktop": true,
"showChatbotBubblesMobile": false,
"chatbotBubblesDelaySeconds": 5,
"welcomeScreenEnabled": false,
"welcomeScreenQuestionsLabel": "Quick start",
"welcomeScreenHideHumanContactForm": false,
"welcomeScreenHideLiveChat": false,
"headerActionsLayout": "DROPDOWN",
"stackSuggestedQuestions": false,
"suggestedQuestionsFontSize": 14,
"suggestedQuestionsTextColor": "#000000",
"suggestedQuestionsBackgroundColor": "#F4F4F4",
"autoOpenChat": false,
"autoOpenChatOnMobiles": false,
"autoOpenChatDelay": false,
"autoOpenChatDelaySeconds": 5,
"simulateHumanTyping": true,
"simulateHumanTypingDelay": 5,
"footerMarkdown": "Powered by Acme",
"avatarUrl": "https://api.chatlab.com/aichat/content/avatar_a8f3b2c1_2026060110.png"
},
"humanSupport": {
"enabled": true,
"email": "support@acme.com",
"dialogMessage": "Leave us a message and we will get back to you.",
"thankYouMessage": "Thanks - we received your message.",
"emailMessageSubjectTemplate": "[Acme support] New message from {customerName}",
"emailMessageContentTemplate": "{message}\n\n - \n{conversationTranscript}",
"emailPlaceholder": "your@email.com",
"messagePlaceholder": "How can we help?",
"emailWithConversationContent": true
},
"leadCollection": {
"enabled": true,
"nameEnabled": true,
"nameLabel": "Your name",
"emailEnabled": true,
"emailLabel": "Email",
"phoneEnabled": false,
"phoneLabel": "Phone",
"leaveDetailsMessage": "Please leave your details and we will get in touch.",
"thankYouMessage": "Thanks - we will be in touch shortly.",
"requireBeforeNewConversation": false,
"emailNotificationEnabled": true,
"emailNotificationAddress": "leads@acme.com",
"emailWithConversationContent": true
},
"liveChat": {
"enabled": false,
"infoMessage": "Connecting you with a human agent...",
"startMessage": "You are now chatting with our team.",
"endMessage": "Live chat has ended.",
"nameLabel": "Your name",
"emailLabel": "Email",
"schedule": "{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}",
"outOfHoursMessage": "We are currently offline.",
"closeModalMessage": "End the live chat session?",
"closeModalConfirmLabel": "Yes, end",
"closeModalCancelLabel": "Cancel",
"closeModalTooltipText": "End live chat",
"operatorHasJoinedLabel": "An agent has joined.",
"operatorDidNotJoinInTimeLabel": "No agent available right now.",
"waitingForOperatorToJoinLabel": "Waiting for an agent...",
"waitingForOperatorSeconds": 60,
"redirectToHumanSupportForm": true
},
"consent": {
"newConversationRequirePolicyAccept": false,
"humanSupportRequirePolicyAccept": false,
"leadCollectionRequirePolicyAccept": true,
"liveChatRequirePolicyAccept": false,
"newConversationConsentDescription": "By starting a conversation you agree to our terms.",
"privacyPolicyConsentCheckboxLabel": "I have read and accepted the privacy policy."
},
"whiteLabel": {
"hideRoboAssistLogo": false,
"whitelabelLogoLink": "https://acme.com",
"assignToCustomDomain": false,
"whitelabelLogoUrl": "https://api.chatlab.com/aichat/content/custom_logo_4287_2026060110.png"
},
"security": {
"allowedDomains": "acme.com,support.acme.com",
"spamFilterEnabled": true,
"talkMessagesRateLimit": 30,
"talkMessagesRateLimitDurationSeconds": 60,
"talkMessagesRateLimitHitMessage": "Please slow down."
},
"advanced": {
"model": "5.6-LUNA",
"temperature": 0.4,
"chatContextSize": 16000,
"botMessagesLimit": 1000,
"internalLocale": "en_US",
"productsViewEnabled": false
},
"meta": {
"id": 4287,
"createdAt": "2026-06-01T10:11:02Z",
"updatedAt": "2026-06-01T10:11:02Z"
},
"apiKey": "ck_freshly_minted_bot_talk_key_here"
}
Lauks apiKey parādās tikai izveides brīdī - tā ir tikko ģenerētā Bot Talk atslēga, kas piesaistīta jaunajam botam. Vienkārša teksta formātā tā tiek parādīta tikai vienu reizi un vēlāk no API vairs nav iegūstama; saglabājiet to savā pusē nekavējoties.
Atbildes galvene Location satur jaunā bota URL (/v1/management/bots/{id}).
Curl piemēri
Režīms A - vienkāršs JSON (vienkāršākais):
curl -X POST https://api.chatlab.com/aichat/v1/management/bots \
-H "Authorization: Bearer mk_..." \
-H "Content-Type: application/json" \
-d '{"name":"Helpdesk Bot","conversation":{"welcomeMessage":"Hi!"}}'
Režīms B - multipart ar avataru:
curl -X POST https://api.chatlab.com/aichat/v1/management/bots \
-H "Authorization: Bearer mk_..." \
-F 'data={"name":"Helpdesk Bot","conversation":{"welcomeMessage":"Hi!"}};type=application/json' \
-F 'avatar=@./avatar.png'
GET /v1/management/bots/{bot_id}
Atgriež jums piederoša bota pašreizējo konfigurāciju.
Curl piemērs
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..."
Atbildes pamatteksta piemērs (200)
Tāda pati struktūra kā POST atbildei, izņemot vienreizējo apiKey. Tiek iekļauts meta bloks. Ja bots nepastāv vai nepieder jūsu kontam, tiek atgriezta kļūda 404 not_found_error.
Pašreizējais avatars un White Label logotips tiek uzrādīti kā pilnībā kvalificēti, tikai lasāmi URL (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl), kuru sakne ir tā pati shēma + resursdators + konteksta ceļš, kas apstrādāja šo pieprasījumu. Iegūstiet baitu datus, veicot tiešu GET pieprasījumu uz šiem URL; lai aizstātu kādu no failiem, augšupielādējiet jaunu, izmantojot multipart avatar / whitelabel_logo daļu PATCH pieprasījumā. Ja šie URL lauki tiek nosūtīti pieprasījuma pamattekstā, tie tiek ignorēti.
{
"name": "Helpdesk Bot",
"role": {
"rawPrompt": "You are a friendly support assistant for Acme Inc.",
"role": "CUSTOMER_SUPPORT",
"language": "English",
"responseLength": "Normal",
"websiteAddress": "https://acme.com",
"companyDescription": "Acme sells industrial widgets."
},
"conversation": {
"welcomeMessage": "Hi! How can I help today?",
"queryRefinementEnabled": true,
"conversationContinuityEnabled": true,
"conversationRatingEnabled": true,
"positiveRatingTooltip": "Helpful",
"negativeRatingTooltip": "Not helpful",
"suggestedQuestions": "What are your hours?\nHow do I cancel?\nWhere is my order?",
"dynamicSuggestedFollowups": true,
"dynamicFollowupsAutoIcons": true
},
"chatMemory": {
"enabled": true,
"summaryConversationsEnabled": true,
"conversationSummaryPrompt": "Summarize this conversation in 3 sentences.",
"clientSummaryPrompt": "Summarize what we know about this customer.",
"clientSummaryPromptType": "DEFAULT",
"conversationSummaryPromptType": "DEFAULT",
"summariesToKnowledgeRatio": 50
},
"appearance": {
"launcherColor": "#1A73E8",
"headerColor": "#1A73E8",
"titleColor": "#FFFFFF",
"subtitleColor": "#FFFFFF",
"clientMessageBubbleColor": "#000000",
"clientMessageTextColor": "#FFFFFF",
"responseMessageBubbleColor": "#F4F4F4",
"responseMessageTextColor": "#000000",
"chatSubheader": "AI support assistant",
"senderPlaceholder": "Type a message...",
"resetConversationTooltip": "Restart conversation",
"chatAlignment": "right",
"launcherBottomMargin": 20,
"launcherSideMargin": 20,
"displayShadow": true,
"customCss": ".rcw-conversation-container { border-radius: 16px; }",
"chatMessageLinkTarget": "_blank",
"minimizedDisplayMode": "icon",
"chatDesktopWidthPx": 400,
"chatDesktopHeightPx": 600,
"chatMobileSizePercent": 100,
"messageFontSize": 14,
"showChatbotBubblesDesktop": true,
"showChatbotBubblesMobile": false,
"chatbotBubblesDelaySeconds": 5,
"welcomeScreenEnabled": false,
"welcomeScreenQuestionsLabel": "Quick start",
"welcomeScreenHideHumanContactForm": false,
"welcomeScreenHideLiveChat": false,
"headerActionsLayout": "DROPDOWN",
"stackSuggestedQuestions": false,
"suggestedQuestionsFontSize": 14,
"suggestedQuestionsTextColor": "#000000",
"suggestedQuestionsBackgroundColor": "#F4F4F4",
"autoOpenChat": false,
"autoOpenChatOnMobiles": false,
"autoOpenChatDelay": false,
"autoOpenChatDelaySeconds": 5,
"simulateHumanTyping": true,
"simulateHumanTypingDelay": 5,
"footerMarkdown": "Powered by Acme",
"avatarUrl": "https://api.chatlab.com/aichat/content/avatar_a8f3b2c1_2026060110.png"
},
"humanSupport": {
"enabled": true,
"email": "support@acme.com",
"dialogMessage": "Leave us a message and we will get back to you.",
"thankYouMessage": "Thanks - we received your message.",
"emailMessageSubjectTemplate": "[Acme support] New message from {customerName}",
"emailMessageContentTemplate": "{message}\n\n - \n{conversationTranscript}",
"emailPlaceholder": "your@email.com",
"messagePlaceholder": "How can we help?",
"emailWithConversationContent": true
},
"leadCollection": {
"enabled": true,
"nameEnabled": true,
"nameLabel": "Your name",
"emailEnabled": true,
"emailLabel": "Email",
"phoneEnabled": false,
"phoneLabel": "Phone",
"leaveDetailsMessage": "Please leave your details and we will get in touch.",
"thankYouMessage": "Thanks - we will be in touch shortly.",
"requireBeforeNewConversation": false,
"emailNotificationEnabled": true,
"emailNotificationAddress": "leads@acme.com",
"emailWithConversationContent": true
},
"liveChat": {
"enabled": false,
"infoMessage": "Connecting you with a human agent...",
"startMessage": "You are now chatting with our team.",
"endMessage": "Live chat has ended.",
"nameLabel": "Your name",
"emailLabel": "Email",
"schedule": "{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}",
"outOfHoursMessage": "We are currently offline.",
"closeModalMessage": "End the live chat session?",
"closeModalConfirmLabel": "Yes, end",
"closeModalCancelLabel": "Cancel",
"closeModalTooltipText": "End live chat",
"operatorHasJoinedLabel": "An agent has joined.",
"operatorDidNotJoinInTimeLabel": "No agent available right now.",
"waitingForOperatorToJoinLabel": "Waiting for an agent...",
"waitingForOperatorSeconds": 60,
"redirectToHumanSupportForm": true
},
"consent": {
"newConversationRequirePolicyAccept": false,
"humanSupportRequirePolicyAccept": false,
"leadCollectionRequirePolicyAccept": true,
"liveChatRequirePolicyAccept": false,
"newConversationConsentDescription": "By starting a conversation you agree to our terms.",
"privacyPolicyConsentCheckboxLabel": "I have read and accepted the privacy policy."
},
"whiteLabel": {
"hideRoboAssistLogo": false,
"whitelabelLogoLink": "https://acme.com",
"assignToCustomDomain": false,
"whitelabelLogoUrl": "https://api.chatlab.com/aichat/content/custom_logo_4287_2026060110.png"
},
"security": {
"allowedDomains": "acme.com,support.acme.com",
"spamFilterEnabled": true,
"talkMessagesRateLimit": 30,
"talkMessagesRateLimitDurationSeconds": 60,
"talkMessagesRateLimitHitMessage": "Please slow down."
},
"advanced": {
"model": "5.6-LUNA",
"temperature": 0.4,
"chatContextSize": 16000,
"botMessagesLimit": 1000,
"internalLocale": "en_US",
"productsViewEnabled": false
},
"meta": {
"id": 4287,
"createdAt": "2026-06-01T10:11:02Z",
"updatedAt": "2026-06-01T11:02:19Z"
}
}
Bota klonēšana
Pieprasījuma pamattekstam POST /v1/management/bots un atbildes pamattekstam GET /v1/management/bots/{bot_id} ir vienāda struktūra, tādēļ klonēšana ir trīs soļu process: iegūstiet avotu ar GET, noņemiet servera pārvaldītos identifikācijas laukus un nosūtiet rezultātu ar POST.
1. Iegūstiet avota botu ar GET.
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-o source-bot.json
2. Noņemiet augstākā līmeņa bloku meta. Objekts meta (id, createdAt, updatedAt) tiek pārvaldīts servera pusē un ir tikai lasāms - tā atstāšana POST pamattekstā nekādu kaitējumu nenodara (serveris to ignorē), taču tā dzēšana skaidri norāda nolūku un saglabā datu saturu tīru. Pēc izvēles varat rediģēt lauku name, lai klons būtu atšķirams no avota.
jq 'del(.meta) | .name = "Helpdesk Bot (clone)"' source-bot.json > clone-body.json
3. Nosūtiet attīrīto pamattekstu ar POST, lai izveidotu klonu. Pilnu pamatteksta struktūru un validācijas nosacījumus skatiet iepriekš minētajā POST /v1/management/bots aprakstā.
curl -X POST https://api.chatlab.com/aichat/v1/management/bots \
-H "Authorization: Bearer mk_..." \
-H "Content-Type: application/json" \
-d @clone-body.json
Atbilde satur jaunā bota meta.id, kā arī tikko ģenerētu apiKey (klona Bot Talk atslēgu). Lauka apiKey vienkāršā teksta vērtība tiek atgriezta tikai šajā izveidošanas atbildē - iekopējiet to pirms atbildes pamatteksta aizvēršanas; vēlāk to vairs nevarēs iegūt.
Tādējādi tiek nokopēti atbalstītie iestatījumi, nevis pilnībā apmācīts robots. Apmācības saturs, sarunu vēsture, integrācijas/darbības, Flow un veidlapu definīcijas ar šiem galapunktiem netiek klonētas. Konfigurējiet tos atsevišķi lietotnē.
Papildu brīdinājumi:
- Faili netiek klonēti. Lauki
appearance.avatarUrlunwhiteLabel.whitelabelLogoUrlir tikai lasāmi un norāda uz avota bota failiem. Ja klonam nepieciešams tas pats avatars vai White Label logotips, lejupielādējiet baitu datus no avota URL un augšupielādējiet tos kā daļasavatar/whitelabel_logopieprasījumā multipart - vai nu izveidošanas POST pieprasījumā (B režīms), vai nākamajā PATCH pieprasījumā. - Bot Talk atslēgas netiek klonētas. Katram botam ir savs Bot Talk atslēgu pūls. Viena
apiKey, kas tiek atgriezta izveidošanas POST pieprasījumā, ir vienīgā, kas tiek ģenerēta automātiski; papildu atslēgas pēc nepieciešamības izveidojiet bota cilnē API.
PATCH /v1/management/bots/{bot_id}
Atjauniniet vienu vai vairākus laukus sev piederošam botam. Tiek modificētas tikai tās sadaļas / lauki, kas norādīti JSON; viss izlaistais (vai nosūtītais kā null) paliek nemainīts. Katram laukam nosūtītajā sadaļā tiek piemērota daļējas atjaunināšanas semantika.
Tiek pieņemti divi līdzvērtīgi Content-Types (tāpat kā POST gadījumā):
A režīms - vienkāršs JSON (ieteicams, ja tiek atjaunināti tikai iestatījumi):
Content-Type: application/json- Pieprasījuma pamatteksts ir modifikācijas JSON (bez ietvara
data)
B režīms - multipart/form-data (izmantojiet failu augšupielādei):
dataJSON daļa (pēc izvēles) - modifikācija. Sūtiet tikai tad, ja vēlaties mainīt laukus. Pilnībā izlaidiet, ja vēlaties tikai augšupielādēt avataru vai logotipu.avatarfaila daļa (pēc izvēles) - aizstājiet avataruwhitelabel_logofaila daļa (pēc izvēles) - aizstājiet White Label logotipu (attiecas tikai tad, ja Jūsu kontā ir iekļauts White Label)
PATCH pieprasījumā visas trīs daļas ir pēc izvēles, taču, lai izsaukumam būtu jēga, jābūt norādītai vismaz vienai.
Pieprasījuma pamatteksta piemērs (vairākas sadaļas)
Šeit var nosūtīt jebkuru lauku, ko pieņem POST /v1/management/bots. Tālāk sniegtajā piemērā ir parādītas vairākas sadaļas, nevis visi atbalstītie lauki; praksē Jūs sūtāt tikai tās atslēgas, kuras vēlaties mainīt (skatiet sadaļu "Minimāls daļējs atjauninājums" tālāk tekstā) - katra izlaistā atslēga (vai nosūtītā kā null) atstāj saglabāto vērtību neskartu.
{
"name": "Helpdesk Bot",
"role": {
"rawPrompt": "You are a friendly support assistant for Acme Inc. Be concise.",
"role": "CUSTOMER_SUPPORT",
"language": "English",
"responseLength": "Concise",
"websiteAddress": "https://acme.com",
"companyDescription": "Acme sells industrial widgets."
},
"conversation": {
"welcomeMessage": "Hello there!",
"queryRefinementEnabled": true,
"conversationContinuityEnabled": true,
"conversationRatingEnabled": true,
"positiveRatingTooltip": "Helpful",
"negativeRatingTooltip": "Not helpful",
"suggestedQuestions": "Pricing\nShipping times\nReturns policy",
"dynamicSuggestedFollowups": true,
"dynamicFollowupsAutoIcons": true
},
"chatMemory": {
"enabled": true,
"summaryConversationsEnabled": true,
"conversationSummaryPrompt": "Summarize the conversation in 3 sentences.",
"clientSummaryPrompt": "Summarize what we know about the customer.",
"clientSummaryPromptType": "DEFAULT",
"conversationSummaryPromptType": "DEFAULT",
"summariesToKnowledgeRatio": 50
},
"appearance": {
"launcherColor": "#abcdef",
"headerColor": "#abcdef",
"titleColor": "#FFFFFF",
"subtitleColor": "#FFFFFF",
"clientMessageBubbleColor": "#000000",
"clientMessageTextColor": "#FFFFFF",
"responseMessageBubbleColor": "#F4F4F4",
"responseMessageTextColor": "#000000",
"chatSubheader": "AI assistant",
"senderPlaceholder": "Type a message",
"resetConversationTooltip": "Restart conversation",
"chatAlignment": "right",
"launcherBottomMargin": 20,
"launcherSideMargin": 20,
"displayShadow": true,
"customCss": ".rcw-conversation-container { border-radius: 16px; }",
"chatMessageLinkTarget": "_blank",
"minimizedDisplayMode": "icon",
"chatDesktopWidthPx": 400,
"chatDesktopHeightPx": 600,
"chatMobileSizePercent": 100,
"messageFontSize": 14,
"showChatbotBubblesDesktop": true,
"showChatbotBubblesMobile": false,
"chatbotBubblesDelaySeconds": 5,
"welcomeScreenEnabled": false,
"welcomeScreenQuestionsLabel": "Quick start",
"welcomeScreenHideHumanContactForm": false,
"welcomeScreenHideLiveChat": false,
"headerActionsLayout": "DROPDOWN",
"stackSuggestedQuestions": false,
"suggestedQuestionsFontSize": 14,
"suggestedQuestionsTextColor": "#000000",
"suggestedQuestionsBackgroundColor": "#F4F4F4",
"autoOpenChat": false,
"autoOpenChatOnMobiles": false,
"autoOpenChatDelay": false,
"autoOpenChatDelaySeconds": 5,
"simulateHumanTyping": true,
"simulateHumanTypingDelay": 5,
"footerMarkdown": "Powered by Acme"
},
"humanSupport": {
"enabled": true,
"email": "support@acme.com",
"dialogMessage": "Leave us a message and we'll get back to you.",
"thankYouMessage": "Thanks!",
"emailMessageSubjectTemplate": "[Acme support] New message from {customerName}",
"emailMessageContentTemplate": "{message}\n\n - \n{conversationTranscript}",
"emailPlaceholder": "your@email.com",
"messagePlaceholder": "How can we help?",
"emailWithConversationContent": true
},
"leadCollection": {
"enabled": true,
"nameEnabled": true,
"nameLabel": "Your name",
"emailEnabled": true,
"emailLabel": "Email",
"phoneEnabled": false,
"phoneLabel": "Phone",
"leaveDetailsMessage": "Please leave your details.",
"thankYouMessage": "Thanks!",
"requireBeforeNewConversation": true,
"emailNotificationEnabled": true,
"emailNotificationAddress": "leads@acme.com",
"emailWithConversationContent": true
},
"liveChat": {
"enabled": false,
"infoMessage": "Connecting you with a human agent...",
"startMessage": "You are now chatting with our team.",
"endMessage": "Live chat has ended.",
"nameLabel": "Your name",
"emailLabel": "Email",
"schedule": "{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}",
"outOfHoursMessage": "We are currently offline.",
"closeModalMessage": "End the live chat session?",
"closeModalConfirmLabel": "Yes, end",
"closeModalCancelLabel": "Cancel",
"closeModalTooltipText": "End live chat",
"operatorHasJoinedLabel": "An agent has joined.",
"operatorDidNotJoinInTimeLabel": "No agent available right now.",
"waitingForOperatorToJoinLabel": "Waiting for an agent...",
"waitingForOperatorSeconds": 60,
"redirectToHumanSupportForm": true
},
"consent": {
"newConversationRequirePolicyAccept": false,
"humanSupportRequirePolicyAccept": false,
"leadCollectionRequirePolicyAccept": true,
"liveChatRequirePolicyAccept": false,
"newConversationConsentDescription": "By starting a conversation you agree to our terms.",
"privacyPolicyConsentCheckboxLabel": "I have read and accepted the privacy policy."
},
"whiteLabel": {
"hideRoboAssistLogo": false,
"whitelabelLogoLink": "https://acme.com",
"assignToCustomDomain": false
},
"security": {
"allowedDomains": "acme.com,support.acme.com",
"spamFilterEnabled": true,
"talkMessagesRateLimit": 30,
"talkMessagesRateLimitDurationSeconds": 60,
"talkMessagesRateLimitHitMessage": "Please slow down."
},
"advanced": {
"model": "5",
"temperature": 0.2,
"chatContextSize": 32000,
"botMessagesLimit": 2000,
"internalLocale": "en_US",
"productsViewEnabled": false
}
}
Minimāls daļējs atjauninājums
Atjauniniet atsevišķu lauku ar PATCH, nosūtot tieši tās atslēgas, kuras vēlaties mainīt - viss pārējais tiek saglabāts.
{
"appearance": {
"launcherColor": "#abcdef"
}
}
Curl piemēri
A režīms - vienkāršs JSON (vienkāršākais):
curl -X PATCH https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-H "Content-Type: application/json" \
-d '{"appearance":{"launcherColor":"#abcdef"}}'
B režīms - multipart (aizstājot avataru / logotipu):
curl -X PATCH https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-F 'data={"appearance":{"launcherColor":"#abcdef"}};type=application/json' \
-F 'avatar=@./new-avatar.png'
B režīms - aizstājiet tikai avataru (bez lauku izmaiņām):
curl -X PATCH https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-F 'avatar=@./new-avatar.png'
Atbildes pamatteksts (200)
Tāda pati struktūra kā GET /v1/management/bots/{bot_id} - bota pilnā konfigurācija pēc modifikācijas piemērošanas, ieskaitot bloku meta. Lauka apiKey nav. Atgriež 404 not_found_error, ja bots nepastāv vai nepieder Jūsu kontam.
Tālāk sniegtajā piemērā parādīta atbilde pēc iepriekš minētā Pilna pieprasījuma pamatteksta (vairākas sadaļas) ielāpa piemērošanas botam no GET piemēra - mainītajos laukos redzamas jaunās vērtības, neskartie lauki ir saglabāti un meta.updatedAt tiek atjaunināts.
{
"name": "Helpdesk Bot",
"role": {
"rawPrompt": "You are a friendly support assistant for Acme Inc. Be concise.",
"role": "CUSTOMER_SUPPORT",
"language": "English",
"responseLength": "Concise",
"websiteAddress": "https://acme.com",
"companyDescription": "Acme sells industrial widgets."
},
"conversation": {
"welcomeMessage": "Hello there!",
"queryRefinementEnabled": true,
"conversationContinuityEnabled": true,
"conversationRatingEnabled": true,
"positiveRatingTooltip": "Helpful",
"negativeRatingTooltip": "Not helpful",
"suggestedQuestions": "Pricing\nShipping times\nReturns policy",
"dynamicSuggestedFollowups": true,
"dynamicFollowupsAutoIcons": true
},
"chatMemory": {
"enabled": true,
"summaryConversationsEnabled": true,
"conversationSummaryPrompt": "Summarize the conversation in 3 sentences.",
"clientSummaryPrompt": "Summarize what we know about the customer.",
"clientSummaryPromptType": "DEFAULT",
"conversationSummaryPromptType": "DEFAULT",
"summariesToKnowledgeRatio": 50
},
"appearance": {
"launcherColor": "#abcdef",
"headerColor": "#abcdef",
"titleColor": "#FFFFFF",
"subtitleColor": "#FFFFFF",
"clientMessageBubbleColor": "#000000",
"clientMessageTextColor": "#FFFFFF",
"responseMessageBubbleColor": "#F4F4F4",
"responseMessageTextColor": "#000000",
"chatSubheader": "AI assistant",
"senderPlaceholder": "Type a message",
"resetConversationTooltip": "Restart conversation",
"chatAlignment": "right",
"launcherBottomMargin": 20,
"launcherSideMargin": 20,
"displayShadow": true,
"customCss": ".rcw-conversation-container { border-radius: 16px; }",
"chatMessageLinkTarget": "_blank",
"minimizedDisplayMode": "icon",
"chatDesktopWidthPx": 400,
"chatDesktopHeightPx": 600,
"chatMobileSizePercent": 100,
"messageFontSize": 14,
"showChatbotBubblesDesktop": true,
"showChatbotBubblesMobile": false,
"chatbotBubblesDelaySeconds": 5,
"welcomeScreenEnabled": false,
"welcomeScreenQuestionsLabel": "Quick start",
"welcomeScreenHideHumanContactForm": false,
"welcomeScreenHideLiveChat": false,
"headerActionsLayout": "DROPDOWN",
"stackSuggestedQuestions": false,
"suggestedQuestionsFontSize": 14,
"suggestedQuestionsTextColor": "#000000",
"suggestedQuestionsBackgroundColor": "#F4F4F4",
"autoOpenChat": false,
"autoOpenChatOnMobiles": false,
"autoOpenChatDelay": false,
"autoOpenChatDelaySeconds": 5,
"simulateHumanTyping": true,
"simulateHumanTypingDelay": 5,
"footerMarkdown": "Powered by Acme",
"avatarUrl": "https://api.chatlab.com/aichat/content/avatar_a8f3b2c1_2026060110.png"
},
"humanSupport": {
"enabled": true,
"email": "support@acme.com",
"dialogMessage": "Leave us a message and we'll get back to you.",
"thankYouMessage": "Thanks!",
"emailMessageSubjectTemplate": "[Acme support] New message from {customerName}",
"emailMessageContentTemplate": "{message}\n\n - \n{conversationTranscript}",
"emailPlaceholder": "your@email.com",
"messagePlaceholder": "How can we help?",
"emailWithConversationContent": true
},
"leadCollection": {
"enabled": true,
"nameEnabled": true,
"nameLabel": "Your name",
"emailEnabled": true,
"emailLabel": "Email",
"phoneEnabled": false,
"phoneLabel": "Phone",
"leaveDetailsMessage": "Please leave your details.",
"thankYouMessage": "Thanks!",
"requireBeforeNewConversation": true,
"emailNotificationEnabled": true,
"emailNotificationAddress": "leads@acme.com",
"emailWithConversationContent": true
},
"liveChat": {
"enabled": false,
"infoMessage": "Connecting you with a human agent...",
"startMessage": "You are now chatting with our team.",
"endMessage": "Live chat has ended.",
"nameLabel": "Your name",
"emailLabel": "Email",
"schedule": "{\"monday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"tuesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"wednesday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"thursday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"friday\":{\"enabled\":true,\"from\":\"9:00\",\"to\":\"17:00\"},\"saturday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"sunday\":{\"enabled\":false,\"from\":\"9:00\",\"to\":\"17:00\"},\"timezone\":\"Europe/Warsaw\"}",
"outOfHoursMessage": "We are currently offline.",
"closeModalMessage": "End the live chat session?",
"closeModalConfirmLabel": "Yes, end",
"closeModalCancelLabel": "Cancel",
"closeModalTooltipText": "End live chat",
"operatorHasJoinedLabel": "An agent has joined.",
"operatorDidNotJoinInTimeLabel": "No agent available right now.",
"waitingForOperatorToJoinLabel": "Waiting for an agent...",
"waitingForOperatorSeconds": 60,
"redirectToHumanSupportForm": true
},
"consent": {
"newConversationRequirePolicyAccept": false,
"humanSupportRequirePolicyAccept": false,
"leadCollectionRequirePolicyAccept": true,
"liveChatRequirePolicyAccept": false,
"newConversationConsentDescription": "By starting a conversation you agree to our terms.",
"privacyPolicyConsentCheckboxLabel": "I have read and accepted the privacy policy."
},
"whiteLabel": {
"hideRoboAssistLogo": false,
"whitelabelLogoLink": "https://acme.com",
"assignToCustomDomain": false,
"whitelabelLogoUrl": "https://api.chatlab.com/aichat/content/custom_logo_4287_2026060110.png"
},
"security": {
"allowedDomains": "acme.com,support.acme.com",
"spamFilterEnabled": true,
"talkMessagesRateLimit": 30,
"talkMessagesRateLimitDurationSeconds": 60,
"talkMessagesRateLimitHitMessage": "Please slow down."
},
"advanced": {
"model": "5",
"temperature": 0.2,
"chatContextSize": 32000,
"botMessagesLimit": 2000,
"internalLocale": "en_US",
"productsViewEnabled": false
},
"meta": {
"id": 4287,
"createdAt": "2026-06-01T10:11:02Z",
"updatedAt": "2026-06-01T12:45:08Z"
}
}
GET /v1/usage
Nolasiet pašreizējo abonementa lietojumu kontam, kuram pieder Management atslēga.
Atbildes pamatteksts (200)
{
"subscriptionType": "your-plan-id",
"messages": {"used": 4123, "limit": 11000, "remaining": 6877},
"bots": {"used": 3, "limit": 5, "remaining": 2}
}
subscriptionTypeir konta pašreizējā plāna identifikators ar mazajiem burtiem (your-plan-idir ilustratīvs vietturis). Plāni tiek ņemti no dinamiska kataloga, tādēļ precīzs identifikatoru kopums laika gaitā var mainīties, plānus pārdēvējot vai pievienojot jaunus - uztveriet to kā necaurspīdīgu virkni, nevis fiksētu uzskaitījumu.messages.used/limit/remainingir pašreizējā kalendārā mēneša ziņojumu kredīti, kas tiek atiestatīti mēneša pirmajā dienā, nevis abonementa atjaunošanas dienā. Tie tiek aprēķināti pēc kredītu svara, nevis kā vienkāršs atbilžu skaits.bots.used/limit/remaininguzskaita piederošos botus, tostarp apturētos botus, attiecībā pret Jūsu konta kopējo botu limitu.
Ātruma ierobežojumu galvenes
Atbildēs, kas sasniedz ātruma ierobežošanas posmu (t.i., autentifikācija un IP baltais saraksts ir veiksmīgi izieti), ir iekļauts:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 7
X-RateLimit-Reset: 1715430000
X-RateLimit-Limit- šim izsaukumam faktiski piemērotais ierobežojums vienai atslēgai (pēc noklusējuma 10 vai jūsu konfigurētaisrateLimitPerMinute, ja tas ir mazāks).X-RateLimit-Remaining- žetoni, kas palikuši grozā uzreiz pēc šī izsaukuma.X-RateLimit-Reset- Unix laikspiedols sekundēs, kad kļūst pieejams nākamais žetons (tā nav pilnīga groza atiestatīšana; grozs tiek papildināts nepārtraukti). Kad grozs ir pilns, šis ir pašreizējais laiks.
Atbildēs 429 rate_limit_exceeded tiek iestatīta arī galvene Retry-After, kas izteikta veselās sekundēs, līdz atbrīvojas vismaz viens žetons.
Kļūdas pirms autentifikācijas (401 missing_api_key, 401 invalid_api_key, 403 ip_blocked) un 403 ip_not_whitelisted nesatur X-RateLimit-* galvenes - ierobežotājs tiek pārbaudīts tikai pēc tam, kad autentifikācijas un IP pārbaudes ir veiksmīgas.
Kļūdu formāts
Tāda pati struktūra kā Bot Talk API:
{
"error": {
"type": "permission_error",
"code": "key_type_not_allowed",
"message": "This endpoint requires a MANAGEMENT API key.",
"param": null
}
}
Validācijas kļūdās tiek izmantots code: "invalid_parameter" un ziņojuma sākumā tiek pievienots kļūdainā lauka ceļš, lai problemātisko vietu būtu viegli pamanīt:
{
"error": {
"type": "invalid_request_error",
"code": "invalid_parameter",
"message": "humanSupport.email Human support email is required when humanSupport.enabled=true"
}
}
Nederīgas vērtības uzskaitījuma / slēgtās kopas laukiem (piemēram, chatMemory.clientSummaryPromptType = "BOGUS") ietver lauka ceļu, noraidīto vērtību un atļauto vērtību sarakstu:
{
"error": {
"type": "invalid_request_error",
"code": "invalid_parameter",
"message": "chatMemory.clientSummaryPromptType 'BOGUS' is not a valid value. Allowed: CUSTOM, DEFAULT"
}
}
Saistītie raksti
Informāciju par sarunu galapunktiem un SSE straumēšanu skatiet sadaļā Bot Talk API.