Management API pārskats
Management API ir paredzēts biroja iekšējiem procesiem (back-office), kuros netiek sūtītas tērzēšanas ziņas:
- izveidojiet botu programmatiski, izmantojot
POST /v1/management/bots - iegūstiet informāciju par konkrētu Jums piederošu botu, izmantojot
GET /v1/management/bots/{bot_id} - atjauniniet konkrētu botu, izmantojot
PATCH /v1/management/bots/{bot_id} - skatiet abonementa lietojumu, 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 mainīt Jūsu botus vai lasī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), piešķiriet tai nosaukumu, pēc izvēles iestatiet IP balto sarakstu un pieprasījumu skaita ierobežojumu, un pēc tam apstipriniet.
- Nokopējiet pilno atslēgu no veiksmīga rezultāta modālā loga. Parastā teksta formā tā tiek parādīta tikai vienreiz.
Atslēga izskatās šādi: mk_abcdefghijklmnopqrstuvwxyz012345. Priedēklis 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, ietilpība 10, vienmērīga papildināšana ar ātrumu ~1 žetons ik pēc 6 sekundēm). Izveides brīdī konfigurējams uz leju - iestatiet mazāku
rateLimitPerMinute, un maksimālā robeža samazināsies, līdz ar to proporcionāli mainoties papildināšanas ātrumam.
Atļaujas
Katrai Management atslēgai ir piešķirta jebkura no tālāk norādīto trīs atļauju apakškopām. Izveides laikā ir jāatlasa vismaz viena atļauja; 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
Pamatteksta struktūra: iegultas 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 sakrīt ar redzamajām cilnēm: ja mainīsiet consent.humanSupportRequirePolicyAccept, izmantojot API, redzēsiet, ka administratora lietotnes cilnē Consent & Privacy (Piekrišana un privātums) pārslēdzas tas pats slēdzis.
role- bota personība, neapstrādāts prompt, atbildes garums, valoda, vietnes / uzņēmuma konteksts (Role & Behavior cilne)conversation- sagaidīšanas ziņa, vaicājuma precizēšana, sarunas nepārtrauktība, vērtēšanas slēdzis + rīka padomi, ieteikto jautājumu saturs + dinamiskie sekojošie jautājumi (Chat Conversation cilne)chatMemory- tērzēšanas atmiņas slēdzis, kopsavilkumu prompti, konteksta sadalījums (Summaries & Memory cilne)appearance- krāsas, teksti, izmēri, pielāgots CSS, sagaidīšanas ekrāns, ieteikto jautājumu stils, automātiskas atvēršanas uzvedība, cilvēka rakstīšanas simulācija, kājenes markdown (Appearance cilne)humanSupport- cilvēku saziņas veidlapa (Human Contact Form cilne)leadCollection- lead iegūšanas veidlapa (Lead Collection cilne)liveChat- nodošana uz Live Chat (Live Chat cilne)consent- visi četri privātuma politikas piekrišanas slēdži, kā arī piekrišanas ekrāna teksts (Consent & Privacy cilne)whiteLabel- logotipa paslēpšana, pielāgota logotipa saite, mitināšana uz pielāgota domēna (Whitelabel cilne)security- atļautie domēni, surogātpasta filtrs, sarunu skaita ierobežojumi (Security cilne)voice- balss ievade un balss sarunas: modelis, balss, valodas, prompt, ilguma ierobežojums (Voice Conversation cilne)multilingual- daudzvalodu režīms, bāzes valoda, piedāvātās valodas, zināšanu bāzes valodas apstrāde (Languages cilne)advanced- LLM modelis, temperatūra, konteksta izmērs, bota ziņu limits, iekšējā lokāle, Offer Cards (Model & Advanced cilne)
Tikai name atrodas augstākajā līmenī, jo tas identificē botu, nevis pieder kādai konkrētai cilnei.
Sānjoslā Bot Settings pašlaik ir 15 apakšcilnes, un 13 no tām atbilst iepriekš minētajām sadaļām. Divas apakšcilnes, kurām nav atbilstošas sadaļas, ir Flow un Actions - abas ir aprakstītas tālāk sadaļā "Ārpus API tvēruma". Tā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. Atbilde ietver divus papildu elementus:
meta- tikai lasāms: bota ID un laika zīmogi. Noņemiet to, lai pārvērstu GET atbildi derīgā POST pamattekstā.apiKey- klātesošs tikai izveides brīdī - tikko izveidotā 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 ar POST/PATCH:
appearance.avatarUrl- pilnībā kvalificēts bota avatara attēla publiskais URL (piemēram,https://api.chatlab.com/aichat/content/avatar_xyz.png). Izpildiet tiešu GET pieprasījumu, lai lejupielādētu failu. Lai to mainītu, augšupielādējiet jaunu failu, izmantojot multipart daļuavatar(skatiet PATCH).whiteLabel.whitelabelLogoUrl- pilnībā kvalificēts White Label galvenes logotipa publiskais URL. Tas 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 White Label pielāgotajā domēnā tie tiek atgriezti ar šī domēna sakni (piemēram, https://api.acme.com/aichat/content/...).
Nosūtiet null sadaļai, lai to izlaistu PATCH pieprasījumā; nosūtiet null laukam sadaļas iekšienē, lai izlaistu šo konkrēto lauku. Lauka līmeņa null nekad neizdzēš saglabāto vērtību - tas nozīmē tikai "neaiztikt".
Loma un prompt izveide
Sistēmas prompt, ko LLM faktiski saņem, tiek izveidots vienā no diviem veidiem atkarībā no role.role. Zinot, kuru zaru izmantojat, sapratīsiet, kuri lauki ir svarīgi un kuri tiek saglabāti, bet ignorēti.
A zars - role.role ir CUSTOMER_SUPPORT, SALES vai LEAD_COLLECTION_AGENT (veidņu vadīts)
Aizmugursistēma saliek prompt no iebūvētas veidnes un pilnībā ignorē role.rawPrompt (vērtība joprojām tiek saglabāta botā, bet vienkārši netiek izmantota). Veidne ietver:
role.role- lomas nosaukums (piemēram, "Customer Support") un automātiski pievienoti lomai specifiski norādījuminame- bota nosaukums, kas tiek ievietots ievadteikumārole.language-"Auto Detect"liek botam pielāgoties lietotāja valodai; jebkura cita vērtība (piemēram,"English","Polish") kļūst par "Output in {language}, unless user uses another language"role.responseLength- tiek 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 bez papildu pūlēm iegūstat lomai pielāgotu uzvedību un drošības barjeras.
B zars - role.role ir CUSTOM (izsaucēja norādīts prompt)
Aizmugursistēma izmanto role.rawPrompt burtiski kā visu sistēmas prompt. Parametri responseLength, language, websiteAddress, companyDescription tiek saglabāti, bet netiek ievietoti prompt tekstā - ja vēlaties, lai kāds no tiem atspoguļotos bota uzvedībā, Jums tie pašam ir jāiekļauj savā rawPrompt tekstā. Lomai specifiskas drošības barjeras un toņa norādījumi arī netiek pievienoti; Jūs pilnībā pārvaldāt visu prompt.
Izmantojiet CUSTOM tikai tad, ja veidnes vadītais prompt neatbilst Jūsu lietošanas gadījumam (piemēram, Jums ir nepieciešama ļoti specifiskas nozares personība, savi drošības ierobežojumi, nestandarta izvades formāts).
Enum / fiksēto vērtību kopu lauki
Vairāki lauki pieņem tikai fiksētu virknes vērtību kopu. Jebkuras citas vērtības nosūtīšana tiek noraidīta ar kļūdu 400 validation_failed un lauka ceļu parametrā error.param. Vērtībās tiek ņemti vērā lielie un mazie burti.
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ēram,Auto Detect,English,Polish,Spanish,German,French,Italian,Portuguese,Dutch,Russian,Chinese (Simplified),Japanese,Arabic,Hindiun vēl aptuveni 80 citi. Vērtība tiek saglabāta burtiski un ievietota prompt veidnē, tāpēc divu burtu ISO kodi (en,pl) un citas ārpus saraksta esošas vērtības netiek noraidītas no API puses, taču rada kļūdainu norādījumu, piemēram, "Output in en, unless...". Pēc noklusējuma tiek izmantotsAuto Detect, ja, veidojot botu, lauks ir izlaists.advanced.model- skatiet tālāk sadaļu "AI teksta modeļi"; atlasāmo modeļu kopa ir atkarīga no Jūsu konta ierobežojumiem, un jebkura vērtība, ko Jūsu konts nevar izmantot, atgriež kļūdu400 invalid_parameteradvanced.chatContextSize-8000,16000,32000. Pakļauts Jūsu konta ierobežojumiem; lielākas vērtības tiek automātiski samazinātas līdz atļautajai robežaichatMemory.clientSummaryPromptType-DEFAULT,CUSTOMchatMemory.conversationSummaryPromptType-DEFAULT,CUSTOMappearance.chatAlignment-left,rightappearance.minimizedDisplayMode-icon,minifiedappearance.chatMessageLinkTarget-_blank,_selfleadCollection.requireBeforeNewConversation- Būla slēdzis.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ā parastas virknes vai skaitļi, bet patiesībā tiem ir specifiska struktūra, diapazoni vai administratora saskarnes nianses, par kurām vērts zināt.
-
advanced.temperature- atļautais diapazons ir no0.0līdz1.0, kas atbilst slīdnim administratora saskarnē. Vērtības ārpus šī diapazona tiek noraidītas ar kļūdu400 validation_failed. -
chatMemory.summariesToKnowledgeRatio- vesels skaitlis procentos,10-90ar soli10. Nosaka, cik liela daļa tērzēšanas konteksta tiek atvēlēta klienta vēsturiskajiem kopsavilkumiem salīdzinājumā ar pārējo saturu (zināšanu bāze, pašreizējā saruna, norādījumi). Noklusējums ir50. Vērtības ārpus10-90tiek noraidītas ar kļūdu400 validation_failed. Tiek piemērots tikai tad, jachatMemory.enabled=trueUNchatMemory.summaryConversationsEnabled=true. -
liveChat.schedule- JSON kodēts kā virkne, nevis iegults JSON objekts pieprasījumā. Serveris saglabā neapstrādāto virkni burtiski; administratora saskarne parsē to klienta pusē, renderējot grafika redaktoru. Pēc parsēšanas virknes struktūru veido viens ieraksts katrai nedēļas dienai plus atslēgatimezone:- 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ēram,"Europe/Warsaw","America/New_York")
Vērtības piemērs (ņemiet vērā ārējās pēdiņas un ekranētās iekšējās pēdiņas - tas ir viens virknes lauks, nevis iegults 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 nodošana uz Live Chat tiek bloķēta. Iekšējās struktūras validācija darbojas tikai klienta pusē administratora saskarnē - nekorekti noformētu JSON vai neatpazītas atslēgas API pieņem vienkārši kā virkni, un tas parādīsies kā renderēšanas kļūda, kad administrators vēlāk atvērs botu vadības panelī. Pirms nosūtīšanas pārbaudiet struktūras pareizību savā pusē. - katra nedēļas dienas atslēga (
-
conversation.positiveRatingTooltip/conversation.negativeRatingTooltip- īsi paskaidrojumi, kas tiek parādīti uz 👍 / 👎 pogām blakus katrai AI atbildei, jaconversation.conversationRatingEnabled=true. Noklusējuma teksts ir "I like the response" / "I don't like the response". Redzams gala lietotājiem. -
whiteLabel.hideRoboAssistLogo- White Label funkcija, pakļauta 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 funkcija, pakļauta Jūsu konta ierobežojumiem. Pielāgotā logotipa klikšķa mērķa URL, jahideRoboAssistLogo=trueun pielāgotais logotipa fails ir augšupielādēts, izmantojot multipart daļuwhitelabel_logo. -
appearance.simulateHumanTypingDelay- sekundes (nevis milisekundes), vesels skaitlis0-200. Pauze starp secīgiem bota ziņu burbuļiem, jasimulateHumanTyping=true. Noklusējums ir5. -
appearance.autoOpenChatDelaySeconds- sekundes, vesels skaitlis. Aizkave pirms logrīka automātiskas atvēršanās, jaautoOpenChat=trueunautoOpenChatDelay=true. -
advanced.internalLocale- IETF lokāles-reģiona kods formāll_CC(ar pasvītrojumu, NEVISll-CCar defisi). Atļautās vērtības nāk no fiksēta saraksta ar ~95 lokālēm: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 daudzām citām. Tikai divu burtu koda ("en") vai BCP-47 koda ("en-US") nosūtīšana nav iekļauta atļautajā sarakstā. Noklusējums iren_US. Šī ir lokāle, ko izmanto datuma/skaitļu formatēšanai logrīka rāmī, un tā atšķiras norole.language(bota sarunvalodas izvadē). -
security.talkMessagesRateLimit/security.talkMessagesRateLimitDurationSeconds- veseli skaitļi (jāsūta kā JSON skaitļi, piemēram,30, nevis"30").0atspējo viena IP ierobežojumu. Ja vērtība nav nulle, logrīks piemēro ierobežojumu N ziņojumi norādītajā sekunžu skaitā, pirms apmeklētājam tiek parādītssecurity.talkMessagesRateLimitHitMessage. -
advanced.botMessagesLimit- vesels skaitlis (JSON skaitlis, piemēram,1000).0nozīmē "bez ierobežojuma"; pretējā gadījumā tam ir jābūt 1000 daudzkārtnim (1000,2000,10000, ...). Vērtības, piemēram,100vai1500, tiek noraidītas ar kļūdu400 validation_failed. Pēc tam vērtība tiek automātiski samazināta līdz Jūsu konta limitam, ja tā to pārsniedz.
AI teksta modeļi (advanced.model)
Nosūtiet precīzu API vērtību (kreisā kolonna ar atpakaļvērstajām pēdiņām). Attēlojamais nosaukums administratora saskarnē ir norādīts iekavās. Jūsu konta ierobežojumi nosaka, kura apakškopa ir pieejama; nosūtot modeli, ko Jūsu konts nevar izmantot, tiek atgriezta kļūda 400 invalid_parameter. Jauniem botiem noklusējuma vērtība ir 5-MINI.
4-O-MINI(GPT 4-o mini)4-O(GPT 4-o)4.1-MINI(GPT 4.1-mini)4.1(GPT 4.1)5-MINI(GPT 5-mini)5(GPT 5)5.1(GPT 5.1)5.4-MINI(GPT 5.4-mini)5.4(GPT 5.4)5.5(GPT 5.5)GEMINI 2.5 PRO(Gemini 2.5 Pro)GEMINI 3 Flash(Gemini 3 Flash)GEMINI 3.5 Flash(Gemini 3.5 Flash)GEMINI 3.7 Flash(Gemini 3.7 Flash)GEMINI 3.8 Flash(Gemini 3.8 Flash)GEMINI 3.1 Flash-Lite(Gemini 3.1 Flash-Lite)GEMINI 3 PRO(Gemini 3 Pro)
Lauku rādītājs (pilna pieprasījuma shēma)
Katrs tīklā nosūtītais lauks kopā ar tā tipu, ierobežojumiem un vienas rindas aprakstu. PATCH semantika: jebkurš izlaistais lauks (vai nosūtīts kā null) atstāj saglabāto vērtību nemainītu. Tāda pati struktūra tiek izmantota arī atbildei (atskaitot daļveida bināro saturu; plus tikai lasāmais meta bloks katrā atbildē un apiKey tikai izveides atbildē).
Augstākais līmenis
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
name |
string | maks. 150, obligāts izveidojot | 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 |
Papildinājumi tikai atbildē:
meta: { id, createdAt, updatedAt }- tikai lasāms.apiKey- string, pieejama 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; atlasa prompt veidni (skatīt "Role and prompt construction") |
language |
string | pilns valodas nosaukums angļu valodā (English, Polish, ...) vai Auto Detect |
Primārā valoda, kas tiek nodota prompt veidnei |
responseLength |
string | ∈ {Concise, Normal, Detailed} |
Vēlamais AI atbildes detalizācijas līmenis |
websiteAddress |
string | Tīmekļa vietne, ko izmanto prompt kontekstam | |
companyDescription |
string | Uzņēmuma apraksts, ko izmanto prompt kontekstam | |
rawPrompt |
string | Pielāgots sistēmas prompt - tiek izmantots 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 atverot | |
queryRefinementEnabled |
boolean | Ja true, precizēt apmeklētāja jautājumu pirms RAG izgūšanas | |
conversationContinuityEnabled |
boolean | Ja true, atgriezušies apmeklētāji turpina savu pēdējo sarunu | |
conversationRatingEnabled |
boolean | Ja true, rādīt īkšķi uz augšu/leju vērtējumu bota ziņām | |
positiveRatingTooltip |
string | Rīka padoms pozitīvā vērtējuma pogai | |
negativeRatingTooltip |
string | Rīka padoms negatīvā vērtējuma pogai | |
suggestedQuestions |
string | Ar jaunu rindu atdalīti ieteiktie jautājumi / sarunas iesācēji | |
dynamicSuggestedFollowups |
boolean | Ja true, AI piedāvā papildu jautājumu ieteikumus pēc katras atbildes | |
dynamicFollowupsAutoIcons |
boolean | Ja true, AI automātiski atlasa emocijzīmju ikonas dinamiskajiem papildu jautājumiem |
§ chatMemory
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Tērzēšanas atmiņas funkcijas galvenais slēdzis | |
summaryConversationsEnabled |
boolean | Saglabāt kopsavilkumus par katru sarunu | |
conversationSummaryPrompt |
string | Pielāgots prompt, ko izmanto katras sarunas apkopošanai | |
conversationSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Vai izmantot noklusējuma vai pielāgoto kopsavilkuma prompt |
clientSummaryPrompt |
string | Pielāgots prompt, ko izmanto klienta kopsavilkuma veidošanai vairākās sarunās | |
clientSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Noklusējuma pret pielāgoto klienta profila prompt |
summariesToKnowledgeRatio |
int | 10-90, solis 10 |
% no tērzēšanas konteksta loga, kas piešķirts kopsavilkumiem salīdzinājumā ar RAG zināšanām |
§ appearance
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
launcherColor |
string (hex) | Palaidēja (tērzēšanas ikonas) fona krāsa | |
headerColor |
string (hex) | Tērzēšanas galvenes fona krāsa | |
titleColor |
string (hex) | Tērzēšanas galvenes virsraksta krāsa | |
subtitleColor |
string (hex) | Tērzēšanas 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 rādīts zem tērzēšanas virsraksta | |
senderPlaceholder |
string | Viettura teksts ziņas ievades laukā | |
resetConversationTooltip |
string | Rīka padoms pogai "atiestatīt sarunu" | |
chatAlignment |
string (enum) | ∈ {left, right} |
Pie kuras ekrāna puses tērzēšana tiek piesaistīta |
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 | Ēna zem logrīka | |
customCss |
string | Neapstrādāts CSS, kas tiek ievadīts logrīka iframe | |
chatMessageLinkTarget |
string (enum) | ∈ {_blank, _self} |
Kā atveras saites bota ziņās |
minimizedDisplayMode |
string (enum) | ∈ {icon, minified} |
Minimizētais stāvoklis: palaidēja ikona vai kompakta sūtītāja josla |
chatDesktopWidthPx |
int | Logrīka platums datorā | |
chatDesktopHeightPx |
int | Logrīka augstums datorā | |
chatMobileSizePercent |
int | Mobilā logrīka izmērs kā % no skatvietas | |
messageFontSize |
int | Ziņas teksta fonta lielums (px) | |
showChatbotBubblesDesktop |
boolean | Rādīt peldošos piesaistes burbuļus datorā | |
showChatbotBubblesMobile |
boolean | Rādīt peldošos piesaistes burbuļus mobilajās ierīcēs | |
chatbotBubblesDelaySeconds |
int | Aizkave pirms piesaistes burbuļu parādīšanās (sekundēs) | |
launcherIconFullSize |
boolean | Renderēt pielāgoto palaidēja ikonu no malas līdz malai, nevis iegultu | |
welcomeScreenEnabled |
boolean | Rādīt Welcome Screen (sagaidīšanas ekrānu), nevis uzreiz pāriet uz tērzēšanu | |
welcomeScreenQuestionsLabel |
string | Etiķete virs ieteiktajiem jautājumiem sagaidīšanas ekrānā | |
welcomeScreenHideHumanContactForm |
boolean | Paslēpt cilvēka saziņas veidlapas 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 Live Chat 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 | DROPDOWN |
Kā tērzēšanas galvenē tiek piedāvāts Live Chat un cilvēka saziņas veidlapa: ICONS (katram atsevišķa ikona) vai DROPDOWN (sagrupēti galvenes izvēlnē). Botiem, kas izveidoti pirms 2026-09-02, noklusējums ir ICONS |
stackSuggestedQuestions |
boolean | Kā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 tērzēšanu datorā | |
autoOpenChatOnMobiles |
boolean | Automātiski atvērt tērzēšanu 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 tērzēšanas |
avatarUrl |
string | tikai lasāms | Pilns publiskais iemiesojuma URL; lai to mainītu, augšupielādējiet, izmantojot daļveida avatar daļu |
Multipart pieprasījumos POST/PATCH: avatar (faila daļa). GET / atbildes pamattekstos faila saturs tiek izlaists - tīklā tiek nosūtīts tikai URL.
§ humanSupport
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Human Support (cilvēka atbalsta) plūsmas slēdzis | |
email |
string | obligāts (stingrā izveide), ja enabled=true |
Adrese, kas saņem cilvēka atbalsta e-pasta ziņojumus |
dialogMessage |
string | Iedrošinājuma ziņa, kas tiek rādīta virs veidlapas | |
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 apgabalā | |
emailWithConversationContent |
boolean | Ja true, iekļaut sarunas atšifrējumu e-pasta pamattekstā | |
customFormId |
long | esošas pielāgotas veidlapas id | Aizstāt iebūvēto saziņas veidlapu ar pielāgotu veidlapu. null saglabā iebūvēto veidlapu |
customFormMapping |
string | JSON kodēta virkne | Kartē pielāgotās veidlapas laukus uz cilvēka atbalsta e-pasta laukiem |
requirePolicyAccept atrodas pie consent.humanSupportRequirePolicyAccept, nevis šeit.
§ leadCollection
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Potenciālo pircēju veidlapas slēdzis | |
nameEnabled |
boolean | Vākt vārdu | |
nameLabel |
string | Etiķete vārda ievades laukam | |
emailEnabled |
boolean | Vākt e-pastu | |
emailLabel |
string | obligāts (stingrā izveide), ja enabled=true UN emailEnabled=true |
Etiķete e-pasta ievades laukam |
phoneEnabled |
boolean | Vākt tālruni | |
phoneLabel |
string | obligāts (stingrā izveide), ja enabled=true UN phoneEnabled=true |
Etiķete tālruņa ievades laukam |
leaveDetailsMessage |
string | obligāts (stingrā izveide), ja enabled=true |
Ziņa, kas mudina apmeklētāju atstāt savu kontaktinformāciju |
thankYouMessage |
string | obligāts (stingrā izveide), ja enabled=true |
Apstiprinājums, kas tiek parādīts pēc iesniegšanas |
requireBeforeNewConversation |
boolean | Ja true, veidlapa jāiesniedz pirms tērzēšanas sākuma; ja false, AI izlemj, kad parādīt veidlapu |
|
emailNotificationEnabled |
boolean | Nosūtīt e-pastu īpašniekam katru reizi, kad tiek iegūts lead | |
emailNotificationAddress |
string | Paziņojuma saņēmējs (pēc noklusējuma konta e-pasts) | |
emailWithConversationContent |
boolean | Ja true, iekļaut sarunas atšifrējumu paziņojumā |
Starplauku stingrās izveides noteikums: enabled=true pieprasa vismaz vienu no emailEnabled vai phoneEnabled. requirePolicyAccept atrodas pie consent.leadCollectionRequirePolicyAccept, nevis šeit.
| customFormId | long | esošas pielāgotas veidlapas id | Aizstāt iebūvēto potenciālo pircēju veidlapu ar pielāgotu veidlapu. null saglabā iebūvēto veidlapu |
| customFormMapping | string | JSON kodēta virkne | Kartē pielāgotās veidlapas laukus uz vārdu / e-pastu / tālruni |
§ liveChat
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Live Chat funkcijas slēdzis | |
infoMessage |
string | Paskaidrojoša ziņa pirms nodošanas | |
startMessage |
string | Ziņa, kas tiek rādīta, kad sākas tiešraides sesija | |
endMessage |
string | Ziņa, kas tiek rādīta, kad tiešraides sesija beidzas | |
nameLabel |
string | Etiķete vārda ievades laukam Live Chat iepriekšējā veidlapā | |
emailLabel |
string | Etiķete e-pasta ievades laukam Live Chat iepriekšējā veidlapā | |
schedule |
string | JSON kodēta virkne (nedēļas dienu slēdži + from/to + timezone) |
Live Chat darba grafiks - precīzu struktūru skatīt sadaļā "Structured fields and ranges" |
outOfHoursMessage |
string | Ziņa, kas tiek rādīta, ja saskaņā ar grafiku ir ārpusdarba laiks | |
closeModalMessage |
string | Modālā loga "aizvērt Live Chat?" 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 tērzēšanas aizvēršanas elementam | |
operatorHasJoinedLabel |
string | Etiķete, kas tiek rādīta, kad operators pievienojas | |
operatorDidNotJoinInTimeLabel |
string | Etiķete, kas tiek rādīta, ja operators nepievienojas noteiktajā noildzes laikā | |
waitingForOperatorToJoinLabel |
string | Etiķete, kas tiek rādīta, gaidot operatoru | |
waitingForOperatorSeconds |
int | Noildze operatora atbildei (sekundēs) | |
redirectToHumanSupportForm |
boolean | Ja true, pāradresēt uz Human Support veidlapu, ja neviens operators neatbild | |
missedEmailEnabled |
boolean | noklusējums true |
Nosūtīt e-pastu bota īpašniekam, ja Live Chat pieprasījums palika neatbildēts. Mantotajiem botiem nav iestatīts, kas tiek interpretēts kā iespējots |
requirePolicyAccept atrodas pie 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 cilvēka atbalsta veidlapas iesniegšanas | |
leadCollectionRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms potenciālo pircēju veidlapas iesniegšanas | |
liveChatRequirePolicyAccept |
boolean | Pieprasīt piekrišanu privātuma politikai pirms Live Chat 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; atkarīga no konta ierobežojumiem | Paslēpt noklusējuma ChatLab logotipu kājenē |
whitelabelLogoLink |
string | White Label iespēja; atkarīga no konta ierobežojumiem | URL, uz kuru ved pielāgotais kājenes logotips |
assignToCustomDomain |
boolean | pieejams ar CUSTOM_DOMAIN funkciju |
Izvietot tērzēšanu 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 daļveida whitelabel_logo daļu |
Multipart pieprasījumos POST/PATCH: whitelabel_logo (faila daļa). GET / atbildes pamattekstos faila saturs tiek izlaists - tīklā tiek nosūtīts tikai URL.
§ security
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
allowedDomains |
string | Ar komatu atdalīts saraksts ar domēniem, 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 pilnas balss sarunas |
voiceId |
string | pakalpojumu sniedzēja konkrētais balss id (piem., alloy) |
Kura sintētiskā balss runā |
model |
string | piem., GPT-REALTIME-MINI, GEMINI-LIVE, ELEVENLABS-* |
Balss modelis. Norēķini 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 prompt, ko izmanto tikai balss kārtām | |
welcomeMessage |
string | Ieskaņotā ievadfrāze | |
language |
string | valodas kods | Primārā balss valoda |
additionalLanguages |
string | ar komatu atdalīti valodu kodi | Papildu valodas, kuras pieņem balss aģents |
maxDurationSeconds |
int | Stingrs ierobežojums vienai balss sarunai | |
maxDurationMessage |
string | Ziņa, kas tiek rādīta, kad tiek sasniegts ierobežojums |
§ multilingual
| Lauks | Tips | Ierobežojums | Apraksts |
|---|---|---|---|
enabled |
boolean | Daudzvalodu režīma slēdzis | |
mode |
string | AUTODETECT vai fiksēta saraksta režīms |
Kā bots izvēlas atbildes valodu |
baseLanguage |
string | valodas kods | Valoda, kurā ir 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 | 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 | atkarīgs no konta ierobežojumiem; skatīt "AI text models" iepriekš | LLM identifikators (piem., 5-MINI) |
temperature |
decimal | 0.0-1.0 |
Paraugošanas temperatūra (atbilst saskarnes slīdnim) |
chatContextSize |
int | ∈ {8000, 16000, 32000}; klusi ierobežots līdz Jūsu konta limitam |
Tokenu logs tērzēšanas vēsturei |
botMessagesLimit |
long | 0 vai skaitlis, kas dalās ar 1000 (piem., 1000, 2000, 10000) |
Maks. bota atbilžu skaits vienā sarunā (0 = bez ierobežojuma) |
internalLocale |
string | lokāles kods formātā ll_CC |
Lokāle logrīka rāmja etiķetēm (atšķiras no role.language) |
productsViewEnabled |
boolean | Ja true, parādīt e-komercijas Offer Cards tērzēšanā | |
includeProductsInKnowledgeBase |
boolean | Ja true, indeksēt produktu katalogu kā daļu no zināšanu bāzes |
Ārpus API tvēruma
Administratora saskarnē ir redzamas dažas sadaļas, kas šajā Management API versijā ar nolūku netiek piedāvātas:
- Cilne Flow - vizuālais Conversation Flow redaktors (posmi un pārejas). Netiek piedāvāts, izmantojot Management API.
- Cilne Actions - pārvaldītās e-komercijas / rezervēšanas integrācijas, AI Search un pielāgotās API funkcijas. Rīku izsaukšana nekad nav bijusi Management API sastāvdaļa.
- Pats pielāgoto veidlapu veidotājs - pielāgotu veidlapu izveide un rediģēšana netiek piedāvāta. Tomēr Jūs varat piesaistīt esošu veidlapu botam, izmantojot
leadCollection.customFormIdunhumanSupport.customFormId. - Pielāgotas tērzēšanas atvēršanas / aizvēršanas ikonas -
customLauncherIconVisible,openChatIcon,closeChatIcon. API atklāj tikai galvenāsavatarunwhitelabel_logodaļveida daļas. - IP un valstu saraksti - paši ieraksti ir pieejami tikai administratoram. Tiek atklāts tikai interpretācijas režīms, izmantojot
security.countryFilterMode.
Endpoints
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 ar otru
PATCHpieprasījumu, 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ā struktūrā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 aizstāšanu)
JSON objektā 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.
Pilns pieprasījuma pamatteksts
Š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 saņ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-MINI",
"temperature": 0.4,
"chatContextSize": 16000,
"botMessagesLimit": 1000,
"internalLocale": "en_US",
"productsViewEnabled": false
}
}
Validācijas noteikumi ar atsevišķiem kļūdu ziņojumiem:
name- obligāts, maks. 150 rakstzīmesadvanced.temperature- no0.0līdz1.0chatMemory.summariesToKnowledgeRatio- vesels skaitlis no10līdz90(procenti, solis10)appearance.launcherBottomMargin,appearance.launcherSideMargin- no0līdz500appearance.footerMarkdown- maks. 255 rakstzīmeshumanSupport.enabled=trueprasa norādīthumanSupport.emailleadCollection.enabled=trueprasa, lai vismaz viens noleadCollection.emailEnabledvaileadCollection.phoneEnabledbūtu true; attiecīgajam ieslēgtajam kanālam obligāti nepieciešama arī tā etiķete, kā arīleaveDetailsMessageunthankYouMessage- Ierobežotie lauki (
advanced.chatContextSize,advanced.botMessagesLimitutt.) tiek klusi noapaļoti līdz jūsu konta limitiem
Lauki, kuru vērtība serverī ir null, no JSON pamatteksta tiek izlaisti - pa tīklu tiek nosūtīti tikai lauki ar vērtībām, kas nav null.
Pilns atbildes pamatteksts (201)
Tāda pati struktūra kā pieprasījumā, papildus iekļaujot tikai lasāmu bloku meta un vienreizējo apiKey augstākajā līmenī. Tikai lasāmos failu URL (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl) serveris aizpilda tad, kad tika augšupielādētas attiecīgā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-MINI",
"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šā teksta vērtība tiek parādīta vienu reizi un vēlāk no API nav iegūstama; nekavējoties saglabājiet to savā pusē.
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_..."
Pilns atbildes pamatteksts (200)
Tāda pati struktūra kā POST atbildei, izņemot vienreizējo apiKey. Bloks meta ir iekļauts. Atgriež 404 not_found_error, ja bots nepastāv vai nepieder jūsu kontam.
Pašreizējais avatars un White Label logotips tiek nodrošināti kā pilnībā kvalificēti tikai lasāmi URL (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl) - to pamatā ir tā pati shēma + resursdators + konteksta ceļš, kas apkalpoja šo pieprasījumu. Iegūstiet baitus, veicot GET pieprasījumu tieši uz šiem URL; lai aizstātu kādu no failiem, augšupielādējiet jaunu, izmantojot multipart daļu avatar / whitelabel_logo pieprasījumā PATCH. Šie URL lauki tiek ignorēti, ja tie tiek nosūtīti pieprasījuma pamattekstā.
{
"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-MINI",
"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"
}
}
Klonēt botu
Pieprasījuma pamattekstam metodē POST /v1/management/bots un atbildes pamattekstam metodē GET /v1/management/bots/{bot_id} ir vienāda struktūra, tāpēc klonēšana ir trīs soļu process: iegūt (GET) avota datus, noņemt servera pārvaldītos identifikācijas laukus un nosūtīt (POST) rezultātu.
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 augšējā līmeņa bloku meta. Objekts meta (id, createdAt, updatedAt) ir servera pārvaldīts un pieejams tikai lasīšanai - tā atstāšana POST pamattekstā nekādu kaitējumu nerada (serveris to ignorē), taču tā noņemšana skaidri parāda nolūku un saglabā datu saturu tīru. Pēc izvēles varat rediģēt lauku name, lai klons atšķirtos no avota.
jq 'del(.meta) | .name = "Helpdesk Bot (clone)"' source-bot.json > clone-body.json
3. Nosūtiet notīrīto pamattekstu ar POST, lai izveidotu klonu. Pilnu pamatteksta struktūru un validācijas nosacījumus skatiet iepriekš sadaļā par POST /v1/management/bots.
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 izveidotu apiKey (klona Bot Talk atslēgu). Lauka apiKey vienkāršā teksta vērtība tiek atgriezta tikai šajā izveides atbildē - iekopējiet to pirms atbildes pamatteksta aizvēršanas; vēlāk to vairs nevarēs iegūt.
Divas svarīgas piezīmes:
- Faili netiek klonēti.
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 baitus no avota URL un augšupielādējiet tos kā daudzdaļu (multipart)avatar/whitelabel_logokomponentus - vai nu izveides pieprasījumā POST (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. Vienīgā automātiski izveidotā atslēga ir tā, kas ietverta izveides POST atbildes laukā
apiKey; ja nepieciešams, papildu atslēgas varat izveidot bota cilnē API (API).
PATCH /v1/management/bots/{bot_id}
Atjauniniet vienu vai vairākus sava bota laukus. Tiek modificētas tikai tās sadaļas un lauki, kas norādīti JSON; viss izlaistais (vai nosūtītais kā null) paliek nemainīts. Daļējas atjaunināšanas nosacījumi attiecas uz katru atsevišķu lauku nosūtītajā sadaļā.
Tiek pieņemti divi līdzvērtīgi Content-Type veidi (tāpat kā POST):
A režīms - parasts JSON (ieteicams, ja tiek atjaunināti tikai iestatījumi):
Content-Type: application/json- Pieprasījuma pamatteksts ir labojuma (patch) JSON (bez ietvara
data)
B režīms - multipart/form-data (izmantojiet, augšupielādējot failus):
- JSON daļa
data(neobligāta) - labojums. Sūtiet tikai tad, ja vēlaties mainīt laukus. Izlaidiet pilnībā, ja vēlaties augšupielādēt tikai avataru vai logotipu. - faila daļa
avatar(neobligāta) - aizstājiet avataru - faila daļa
whitelabel_logo(neobligāta) - aizstājiet White Label logotipu (attiecas tikai uz gadījumiem, kad Jūsu konts iekļauj zīmola pielāgošanu)
PATCH pieprasījumā visas trīs daļas nav obligātas, taču vismaz vienai ir jābūt klāt, lai izsaukumam būtu jēga.
Pilns pieprasījuma pamatteksts (maksimālais lauku skaits)
Šeit var nosūtīt jebkuru lauku, ko atbalsta POST /v1/management/bots. Tālāk redzamais piemērs atspoguļo pilnu lauku klāstu; praksē Jūs sūtāt tikai tās atslēgas, kuras vēlaties mainīt (skatiet zemāk "Minimāls daļējs atjauninājums") - katra izlaistā (vai kā null nosūtītā) atslēga saglabā iepriekšējo 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āt tikai avataru (nemainot laukus):
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 forma kā GET /v1/management/bots/{bot_id} - bota pilna konfigurācija pēc labojuma piemērošanas, tostarp bloks meta. Bez lauka apiKey. Atgriež 404 not_found_error, ja bots nepastāv vai nepieder Jūsu kontam.
Zemāk redzamajā piemērā parādīta atbilde pēc iepriekš minētā labojuma Pilns pieprasījuma pamatteksts (maksimālais lauku skaits) 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 laiks ir 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
Skatiet pašreizējo abonementa lietojumu kontam, kuram pieder Management atslēga.
Atbildes pamatteksts (200)
{
"subscriptionType": "standard",
"messages": {"used": 4123, "limit": 11000, "remaining": 6877},
"bots": {"used": 3, "limit": 5, "remaining": 2}
}
subscriptionTypeir ar mazajiem burtiem rakstīts konta pašreizējā plāna identifikators (piemēram, piemērā redzamaisstandard). Plāni nāk no dinamiska kataloga, tāpēc konkrētais 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 (enum).messages.used/limit/remainingir pašreizējā norēķinu perioda ziņojumu kredīti.bots.used/limit/remaininguzskaita aktīvos botus attiecībā pret Jūsu konta botu ierobežojumu.
Ātruma ierobežojumu galvenes
Atbildes, kas sasniedz ātruma ierobežojuma pārbaudes posmu (t.i., autentifikācija un IP baltais saraksts ir veiksmīgi izieti), ietver:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 7
X-RateLimit-Reset: 1715430000
X-RateLimit-Limit- konkrētajai atslēgai faktiski piemērotais limits šim izsaukumam (pēc noklusējuma 10 vai Jūsu iestatītārateLimitPerMinutevērtība, ja tā ir mazāka).X-RateLimit-Remaining- grozā atlikušie žetoni uzreiz pēc šī izsaukuma veikšanas.X-RateLimit-Reset- Unix laikspiedols sekundēs, kad kļūs pieejams nākamais žetons (tā nav pilna groza atiestatīšana; grozs tiek papildināts nepārtraukti). Kad grozs ir pilns, tas rāda pašreizējo laiku.
Atbildēs ar statusa kodu 429 rate_limit_exceeded tiek iestatīta arī galvene Retry-After, norādot pilnas sekundes, līdz atbrīvosies 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 - ātruma ierobežotājs tiek izmantots tikai pēc tam, kad autentifikācijas un IP pārbaudes ir veiksmīgas.
Kļūdu formāts
Tā 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 enum / slēgto kopu 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ītā informācija
Informāciju par sarunu galapunktiem un SSE straumēšanu skatiet sadaļā Bot Talk API.