Management API ülevaade
Management API on mõeldud haldustoiminguteks, mis ei hõlma vestlussõnumite saatmist:
- roboti programmiline loomine päringuga
POST /v1/management/bots - teile kuuluva konkreetse roboti andmete lugemine päringuga
GET /v1/management/bots/{bot_id} - konkreetse roboti uuendamine päringuga
PATCH /v1/management/bots/{bot_id} - tellimuse kasutusmahtude lugemine päringuga
GET /v1/usage
Haldusvõtmed (Management keys) on seotud teie kontoga, mitte ühegi konkreetse robotiga. Need hoitakse teadlikult lahus Bot Talki võtmetest, et kompromiteeritud vestlusvõti ei saaks muuta teie roboteid ega lugeda arveldusandmeid.
Baas-URL
https://api.chatlab.com/aichat
Kõik selles artiklis toodud lõpp-punktid on selle baas-URL-i suhtes relatiivsed.
Alustamine
- Avage administraatorirakendus ja liikuge jaotisse Account Settings > Management API (Konto seaded > Management API).
- Klõpsake nupul Create Management Key (Loo haldusvõti), sisestage sellele nimi, soovi korral määrake lubatud IP-aadresside loend (IP whitelist) ja päringulimiit ning kinnitage.
- Valige ainult need õigused, mida teie integratsioon vajab, ja kopeerige täielik võti õnnestumise modaalavast. Lihttekstina kuvatakse seda ainult üks kord.
- Salvestage see oma serverisse, mitte brauserikoodi ega avalikku repositooriumi. Juurdepääsu kontrollimiseks tehke kirjutuskaitstud päring, näiteks
GET /v1/usagekoosusageõigusega. - Tühistage kasutamata või kompromiteeritud võtmed Management API lehel.
Võti näeb välja selline: mk_abcdefghijklmnopqrstuvwxyz012345. Eesliide mk_ eristab seda Bot Talki võtmetest (ck_).
Autentimine
Authorization: Bearer mk_abcdefghijklmnopqrstuvwxyz012345
Päringu saatmisel võtmega mk_ lõpp-punkti /v1/chat (või mis tahes muusse Bot Talki lõpp-punkti) tagastatakse kood 403 key_type_not_allowed. Võtme ck_ saatmisel teele /v1/management/* tagastatakse sama tõrge.
Piirangud
- Maksimaalselt 5 aktiivset Management API võtit kasutaja kohta
- Maksimaalselt 10 päringut minutis võtme kohta (token bucket, maht 10, sujuv täitmine umbes 1 luba iga 6 sekundi järel). Loomise ajal allapoole konfigureeritav - määrake väiksem
rateLimitPerMinute, misjärel ülempiir langeb ja täitmismäär kohandub sellega proportsionaalselt.
Õigused
Iga haldusvõti sisaldab mis tahes alamhulka kolmest allpool toodud õigusest. Loomisel tuleb valida vähemalt üks; vastasel juhul lükatakse päring tagasi veaga 400 invalid_request_error. Lõpp-punkti kutsumisel võtmega, millel puudub nõutav õigus, tagastatakse kood 403 insufficient_permissions.
bot_read- nõutav päringuGET /v1/management/bots/{bot_id}jaoksbot_management- nõutav päringutePOST /v1/management/botsjaPATCH /v1/management/bots/{bot_id}jaoksusage- nõutav päringuGET /v1/usagejaoks
Päringu keha kuju: administraatori liidese vahekaarte peegeldavad pesastatud jaotised
POST ja PATCH võtavad vastu JSON-keha, mis on jaotatud 13 sektsiooni. Iga sektsioon vastab alamvahekaardile administraatorirakenduse külgribal Bot Settings, seega on JSON-i võtmed ja nähtavad vahekaardid omavahel kooskõlas: kui muudate API kaudu väärtust consent.humanSupportRequirePolicyAccept, näete sama lüliti olekumuutust administraatorirakenduse vahekaardil Consent & Privacy (Nõusolek ja privaatsus).
role- roboti profiil (persona), algne viip (raw prompt), vastuse pikkus, keel, veebisaidi / ettevõtte kontekst (vahekaart Role & Behavior)conversation- tervitussõnum, päringu täpsustamine, vestluse jätkuvus, hindamise lüliti + kohtspikrid, soovitatud küsimuste sisu + dünaamilised jätkuküsimused (vahekaart Chat Conversation)chatMemory- vestlusmälu lüliti, kokkuvõtete viibad, konteksti jaotus (vahekaart Summaries & Memory)appearance- värvid, tekstid, mõõtmed, kohandatud CSS, tervituskuva, soovitatud küsimuste kujundus, automaatse avanemise käitumine, inimese trükkimise simulatsioon, jaluse markdown (vahekaart Appearance)humanSupport- inimesega kontakteerumise vorm (vahekaart Human Contact Form)leadCollection- müügivihjete kogumise vorm (vahekaart Lead Collection)liveChat- üleandmine reaalajas vestlusele (vahekaart Live Chat)consent- kõik neli privaatsuspoliitika nõusolekulülitit koos nõusolekukuva tekstiga (vahekaart Consent & Privacy)whiteLabel- logo peitmine, kohandatud logo link, kohandatud domeenil majutamine (vahekaart Whitelabel)security- lubatud domeenid, rämpspostifilter, vestluse päringulimiidid (vahekaart Security)voice- häälsisend ja häälvestlused: mudel, hääl, keeled, viip, kestuse ülempiir (vahekaart Voice Conversation)multilingual- mitmekeelne režiim, põhikeel, pakutavad keeled, teadmusbaasi keelekäsitsus (vahekaart Languages)advanced- LLM-mudel, temperatuur, konteksti suurus, roboti sõnumite limiit, sisemine lokaat, Offer Cards (vahekaart Model & Advanced)
Kirjutatavatest seadetest asub tipptasemel ainult name, kuna see tuvastab roboti, mitte ei kuulu ühele konkreetsele vahekaardile.
Külgribal Bot Settings on praegu 16 alamvahekaarti, millest 13 vastavad ülaltoodud jaotistele. Kolm alamvahekaarti, millel puudub vastav sektsioon, on Flow, Actions ja Forms - kõiki kolme käsitletakse allpool jaotises "API ulatusest väljas". Need 13, mis vastavad, on Appearance, Chat Conversation, Role & Behavior, Human Contact Form, Lead Collection, Live Chat, Whitelabel, Consent & Privacy, Security, Model & Advanced, Summaries & Memory, Voice Conversation ja Languages.
Päringu keha ja vastuse keha on sama kujuga. Vastus lisab kaks täiendust:
meta- kirjutuskaitstud: roboti ID ja ajatemplid. Eemaldage see, et muuta GET-vastus kehtivaks POST-kehaks.apiKey- olemas ainult loomisel - äsja loodud uue roboti Bot Talk API võti.
Kaks välja ühises struktuuris on kirjutuskaitstud - need tagastatakse vastuses, kuid neid ignoreeritakse, kui proovite neid saata päringutega POST/PATCH:
appearance.avatarUrl- roboti avatari pildi täielik avalik URL (nthttps://api.chatlab.com/aichat/content/avatar_xyz.png). Baitide allalaadimiseks tehke otse GET-päring. Selle muutmiseks laadige üles uus fail mitmeosalise vormingu osanaavatar(vt PATCH).whiteLabel.whitelabelLogoUrl- White Labeli päise logo täielik avalik URL. Sama loogika nagu väljaavatarUrlpuhul. Selle muutmiseks laadige üles uus fail mitmeosalise vormingu osanawhitelabel_logo(vt PATCH).
Mõlemad URL-id kasutavad praeguse päringu skeemi + hosti + kontekstiteed, seega White Labeli kohandatud domeenil tagastatakse need selle domeeniga seotuna (nt https://api.acme.com/aichat/content/...).
PATCH-päringul terve sektsiooni vahelejätmiseks saatke väärtuseks null; sektsioonisisese üksiku välja vahelejätmiseks saatke selle väärtuseks null. Välja tasemel saadetud null ei tühjenda kunagi salvestatud väärtust - see tähendab ainult "ära muuda".
Rolli ja viiba koostamine
Süsteemiviip, mille LLM tegelikult saab, ehitatakse üles ühel kahest viisist, olenevalt väärtusest role.role. Teadmine, kummale harule te paigutute, näitab, millised väljad on olulised ja milliseid küll salvestatakse, kuid ignoreeritakse.
Haru A - role.role väärtus on CUSTOMER_SUPPORT, SALES või LEAD_COLLECTION_AGENT (mallipõhine)
Taustaprogramm paneb viiba kokku sisseehitatud mallist ja ignoreerib välja role.rawPrompt täielikult (väärtus jääb robotisse salvestatuks, kuid seda ei kasutata). Mall hõlmab järgmist:
role.role- rolli silt (nt "Customer Support") ja automaatselt lisatavad rollispetsiifilised juhisedname- roboti nimi, mis lisatakse ava己lausesserole.language-"Auto Detect"lülitab roboti kasutaja keelt järgima; mis tahes muu väärtus (nt"English","Polish") teisendatakse kujule "Output in {language}, unless user uses another language"role.responseLength- seotud sihtotsese sõnade arvuga:Concise≈ 50 sõna,Normal≈ 100,Detailed≈ 200role.websiteAddress- valikuline; kui see pole tühi, lisatakse lõppu "for the users of the website {url}"role.companyDescription- valikuline; kui see pole tühi, lisatakse enne rollijuhiseid täiendava lõiguna
See on enamiku robotite puhul soovitatav haru - saate tasuta rollile kohandatud käitumise ja turvapiirded.
Haru B - role.role väärtus on CUSTOM (kutsuja määratud viip)
Taustaprogramm kasutab rolliviibana välja role.rawPrompt ja lisab platvormi fikseeritud juhised vastuse pikkuse kohta. See on eraldi väljast role.responseLength: valikulist seadistust Concise/Normal/Detailed rolli CUSTOM puhul ei lisata. Samuti salvestatakse väljad language, websiteAddress ja companyDescription, kuid neid ei lisata sellesse rolliviipa. Lisage soovitud keel, vastuse pikkuse eesmärk või ettevõtte kontekst ise otse välja rawPrompt. Samuti saab edastada täiendavaid käitusaegseid juhiseid ja hangitud konteksti, seega ei moodusta rawPrompt kogu mudeli sisendit. Eelseadistatud rolli tooni juhiseid ei lisata, kuid valiku CUSTOM tegemine ei eemalda kõiki platvormi juhiseid.
Kasutage valikut CUSTOM ainult siis, kui mallipõhine viip teie kasutusjuhuga ei sobi (nt vajate väga valdkonnaspetsiifilist persooni, omaenda turvapiiranguid või ebastandardset väljundvormingut).
Enum- ja piiratud väärtustega väljad
Enum-väljad ja piiratud väärtustega väljad lükkavad vigased väärtused tagasi koodiga 400 invalid_parameter. Muud väljad on lihtsõned, isegi kui kasutajaliides pakub fikseeritud loendit. Kasutage dokumenteeritud kirjaviisi ja valideerige oma andmed, selle asemel et eeldada, et iga toetamata sõne lükatakse tagasi.
role.role-CUSTOMER_SUPPORT,SALES,LEAD_COLLECTION_AGENT,CUSTOMrole.responseLength-Concise,Normal,Detailedrole.language- täielik ingliskeelne keelenimetus administraatori rippmenüüst, ntAuto Detect,English,Polish,Spanish,German,French,Italian,Portuguese,Dutch,Russian,Chinese (Simplified),Japanese,Arabic,Hindija ligikaudu 80 muud. Väärtus salvestatakse muutmata kujul ja asendatakse viibamallis, mistõttu kahetähelisi ISO-koode (en,pl) ja muid loendiväliseid väärtusi API tagasi ei lükka, kuid need tekitavad vigase juhise nagu "Output in en, unless...". Loomisel määramata jätmise korral on vaikeväärtusAuto Detect.advanced.model- vaadake allpool jaotist "Tehisintellekti tekstimudelid". See on sõne, mitte päringuskeemis valideeritud enum; kasutage toetatud väärtust, mitte suvalist mudelinime.advanced.chatContextSize- kasutage väärtusi8000,16000või32000, mis vastavad kasutajaliidesele. Konto maksimumist suuremad väärtused piiratakse vaikimisi; DTO seda kolme väärtusega komplekti rangelt ei jõusta.chatMemory.clientSummaryPromptType-DEFAULT,CUSTOMchatMemory.conversationSummaryPromptType-DEFAULT,CUSTOMappearance.chatAlignment-left,rightappearance.minimizedDisplayMode-icon,minified,pillappearance.chatMessageLinkTarget-_blank,_selfleadCollection.requireBeforeNewConversation- tõeväärtuse lüliti.truesunnib kasutajat enne vestluse alustamist müügivihje vormi täitma;falselaseb tehisintellektil otsustada, millal vormi kuvada (vaikimisi).
Struktureeritud väljad ja vahemikud
Väljad, mis näevad välja nagu lihtsad sõned või numbrid, kuid millel on tegelikult spetsiifilised kujud, vahemikud või administraatoriliidese eripärad, mida tasub teada.
-
advanced.temperature- lubatud vahemik on0.0kuni1.0, vastates administraatoriliidese liugurile. Väljaspool seda vahemikku olevad väärtused lükatakse tagasi veaga400 invalid_parameter. -
chatMemory.summariesToKnowledgeRatio- täisarvuline protsent vahemikus10-90; kasutajaliides kasutab samme10, kuid API aktsepteerib kõiki vahemikku jäävaid täisarve. Vaikeväärtus on50. Kui mälu on lubatud ja kontekst on suurem kui 8k, jagab see teadmiste ja mälu eelarve pärast viiba/hiljutise vestluse reserveerimist, mitte kogu mudeli konteksti. 8k juures selle seadistusega kokkuvõtte eelarvet ei eraldata. -
liveChat.schedule- sõnena kodeeritud JSON, mitte võrgus edastatav pesastatud JSON-objekt. Server salvestab toorsõne muutmata kujul; administraatoriliides parsib seda graafiku redaktori kuvamisel kliendipoolselt. Pärast parsimist on sõne struktureeritud nii, et selles on üks kirje iga nädalapäeva kohta pluss võtitimezone:- iga nädalapäeva võti (
monday-sunday) vastab väärtusele{enabled: boolean, from: "H:MM", to: "H:MM"}24-tunnises ajavormingus timezoneon IANA ajavööndi nimi (nt"Europe/Warsaw","America/New_York")
Näidisväärtus (pange tähele välimisi jutumärke ja varjestatud sisemisi jutumärke - see on üks sõneväli, mitte pesastatud objekt):
"{\"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\"}"Väljaspool märgitud aegu kuvatakse külastajale teade
liveChat.outOfHoursMessageja reaalajas vestlusele üleandmine blokeeritakse. Sisemise struktuuri valideerimine toimub ainult kliendipoolselt administraatori liideses - valesti vormindatud JSON või tundmatud võtmed võetakse API poolt vastu tavalise sõnena ning need ilmnevad renderdusveana alles siis, kui inimene roboti hiljem administraatoripaneelis avab. Valideerige struktuur enne saatmist oma poolel. - iga nädalapäeva võti (
-
conversation.positiveRatingTooltip/conversation.negativeRatingTooltip- lühikesed sildid, mida kuvatakse vestluse hindamise nuppudel 👍 / 👎, kuiconversation.conversationRatingEnabled=true. Vaiketekstid on "I like the response" / "I don't like the response". Nähtavad lõppkasutajatele. -
whiteLabel.hideRoboAssistLogo- White Labeli funktsioon, mis allub teie konto piirangutele. Peidab jaluserea "Powered by ChatLab". Kui teie konto ei sisalda White Labeli tuge, salvestatakse väärtus küll ära, kuid seda ignoreeritakse ja jalust kuvatakse alati. -
whiteLabel.whitelabelLogoLink- White Labeli funktsioon, mis allub teie konto piirangutele. Kohandatud logo sihtkoha URL klõpsamisel, kuihideRoboAssistLogo=trueja mitmeosalise vormingu osawhitelabel_logokaudu on üles laaditud kohandatud logofail. -
appearance.simulateHumanTypingDelay- sekundid (mitte millisekundid), täisarv vahemikus0-200. Paus roboti järjestikuste sõnumimullide vahel, kuisimulateHumanTyping=true. Vaikeväärtus on5. -
appearance.autoOpenChatDelaySeconds- sekundid, täisarv. Viivitus enne vidina automaatset avanemist, kuiautoOpenChat=truejaautoOpenChatDelay=true. -
advanced.internalLocale- IETF-i lokaadi-regiooni kood kujulll_CC(alakriipsuga, MITTE sidekriipsugall-CC). Lubatud väärtused pärinevad fikseeritud loendist, milles on umbes 95 lokaati: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_ILja paljud teised. Ainult kahetähelise koodi ("en") või BCP-47 ("en-US") saatmine ei ole lubatud loendis. Vaikeväärtus onen_US. Seda lokaati kasutatakse vidina raamistikus kuupäeva/numbri vormindamiseks ja see erineb parameetristrole.language(roboti vestlusliku väljundi keel). -
security.talkMessagesRateLimit/security.talkMessagesRateLimitDurationSeconds- täisarvud (saatke JSON-i numbritena, nt30, mitte"30"). Seansipõhise piirangu keelamiseks määrake sõnumilimiidiks0. Selle lubamisel sisestage positiivne kestus. Taustasüsteem jõustab N sõnumit seansi kohta määratud kestuse jooksul (sekundites), enne kui külastajale kuvatakse teadesecurity.talkMessagesRateLimitHitMessage. -
advanced.botMessagesLimit- täisarv (JSON-i number, nt1000).0tähendab, et robotipõhist lisapiirangut pole ja kehtib konto üldine krediidieelarve; muul juhul peab see olema 1000 kordne (1000,2000,10000, ...). Väärtused nagu100või1500lükatakse tagasi veaga400 invalid_parameter. See on igakuine roboti krediidilimiit, mitte vestlusepõhine sõnumite arv. Mudelivastendaja ei piira seda väärtust konto eelarve järgi; tegelikku kasutust piirab endiselt konto üldine eelarve.
Tehisintellekti tekstimudelid (advanced.model)
Kasutage täpset mudeli identifikaatorit, mis tagastatakse väljal advanced.model, kui loete jaotises Settings > Model & Advanced (Seaded > Mudel ja täpsemad seaded) teie soovitud mudeliga konfigureeritud robotit. Praegune vaikeväärtus loomisel on 5.6-LUNA. Identifikaatorid on tõstutundlikud ja erinevad kuvatavatest nimedest; näiteks 5.6-LUNA kuvatakse nimena GPT 5.6-luna.
Mudelite valik muutub aja jooksul. Ärge järeldage, et suvaline sõne või teenusepakkuja avalik mudeli ID on toetatud pelgalt seetõttu, et päringuskeem aktsepteerib sõnet. Lugege salvestatud konfiguratsioon tagasi ja testige saadud chatbotit enne selle avalikustamist.
Väljade teatmik (täielik päringu skeem)
Toetatud jaotised ja väljad koos nende tüüpide ning oluliste piirangutega. PATCH-semantika: iga väli, mis jäetakse välja (või saadetakse väärtusena null), jätab salvestatud väärtuse muutmata. Sama struktuuri kasutatakse ka vastuses (miinus mitmeosaline binaarsisestu; pluss kirjutuskaitstud plokk meta igas vastuses ning apiKey ainult loomise vastuses).
Kõrgeim tase
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
name |
string | max 150, loomisel kohustuslik | Boti kuvatav nimi |
role |
object | Vaadake § role | |
conversation |
object | Vaadake § conversation | |
chatMemory |
object | Vaadake § chatMemory | |
appearance |
object | Vaadake § appearance | |
humanSupport |
object | Vaadake § humanSupport | |
leadCollection |
object | Vaadake § leadCollection | |
liveChat |
object | Vaadake § liveChat | |
consent |
object | Vaadake § consent | |
whiteLabel |
object | Vaadake § whiteLabel | |
security |
object | Vaadake § security | |
advanced |
object | Vaadake § advanced |
Ainult vastuses esinevad täiendused:
meta: { id, createdAt, updatedAt }- kirjutuskaitstud.apiKey- string, olemas ainult päringuPOST /v1/management/botsvastuses - vastloodud Bot Talk võti uue boti jaoks, tagastatakse täpselt üks kord.
§ role
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
role |
string (enum) | CUSTOMER_SUPPORT, SALES, LEAD_COLLECTION_AGENT, CUSTOM |
Persoona eelseadistus; valib viiba malli (vaadake "Role and prompt construction") |
language |
string | täielik ingliskeelne keelenimi (English, Polish, ...) või Auto Detect |
Põhikeel, mis suunatakse viiba malli |
responseLength |
string | ∈ {Concise, Normal, Detailed} |
Tehisintellekti vastuse soovitud detailsus |
websiteAddress |
string | Veebisait, mida kasutatakse viiba kontekstina | |
companyDescription |
string | Ettevõtte kirjeldus, mida kasutatakse viiba kontekstina | |
rawPrompt |
string | Kohandatud süsteemiviip - kasutatakse muutmata kujul ainult siis, kui role=CUSTOM |
§ conversation
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
welcomeMessage |
string | Esimene sõnum, mida külastajale avamisel kuvatakse | |
queryRefinementEnabled |
boolean | Kui tõene, täpsustatakse külastaja küsimust enne RAG-otsingut | |
conversationContinuityEnabled |
boolean | Kui tõene, jätkavad naasvad külastajad oma viimast vestlust | |
conversationRatingEnabled |
boolean | Kui tõene, kuvatakse pöial üles / pöial alla vestluse hindamise nupud | |
positiveRatingTooltip |
string | Positiivse hindamisnupu kohtspikker | |
negativeRatingTooltip |
string | Negatiivse hindamisnupu kohtspikker | |
suggestedQuestions |
string | Reavahetusega eraldatud soovitatud küsimused / vestluse alustajad | |
dynamicSuggestedFollowups |
boolean | Kui tõene, pakub tehisintellekt pärast iga vastust dünaamilisi jätkuküsimusi | |
positiveRatingMessage |
string | Sõnum, mida kuvatakse pärast positiivset tagasisidet | |
negativeRatingMessage |
string | Sõnum, mida kuvatakse pärast negatiivset tagasisidet | |
hideSuggestedQuestionsAfterFirstUse |
boolean | Peida staatilised soovitused pärast kasutamist | |
dynamicFollowupsAutoIcons |
boolean | Kui tõene, valib tehisintellekt dünaamilistele jätkuküsimustele automaatselt emotikonid |
§ chatMemory
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Vestlusmälu funktsiooni pealüliti | |
summaryConversationsEnabled |
boolean | Salvesta vestlusepõhised kokkuvõtted | |
conversationSummaryPrompt |
string | Kohandatud viip, mida kasutatakse iga vestluse kokkuvõtmiseks | |
conversationSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Kas kasutada vaikimisi või kohandatud kokkuvõtteviipa |
clientSummaryPrompt |
string | Kohandatud viip, mida kasutatakse kliendi kokkuvõtmiseks läbi vestluste | |
clientSummaryPromptType |
string (enum) | ∈ {DEFAULT, CUSTOM} |
Vaikimisi vs kohandatud kliendiprofiili viip |
summariesToKnowledgeRatio |
int | 10-90 (kasutajaliidese samm 10) |
% saadaolevast teadmiste/mälu mahust, mis eraldatakse kokkuvõtetele üle 8k kontekstide puhul |
§ appearance
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
launcherLabelLine1 |
string | max 60 | Käivitusnupu teksti esimene rida |
launcherLabelLine2 |
string | max 60 | Käivitusnupu teksti teine rida |
launcherTextColor |
string | Käivitusnupu teksti värv | |
launcherDismissEnabled |
boolean | Luba käivitusnupu sulgemine | |
widgetFontFamily |
string | inter, system, nunito, lato, montserrat, poppins, source-serif, jetbrains-mono |
Vidina kirjatüübi perekond |
chatDrawerEnabled |
boolean | Luba külgsahtli (drawer) esitusviis | |
launcherColor |
string (hex) | Käivitusnupu (vestluse ikooni) taustavärv | |
headerColor |
string (hex) | Vestluse päise taustavärv | |
titleColor |
string (hex) | Vestluse päise pealkirja värv | |
subtitleColor |
string (hex) | Vestluse päise alapealkirja värv | |
clientMessageBubbleColor |
string (hex) | Külastaja sõnumimulli värv | |
clientMessageTextColor |
string (hex) | Külastaja sõnumi teksti värv | |
responseMessageBubbleColor |
string (hex) | Boti vastusemulli värv | |
responseMessageTextColor |
string (hex) | Boti vastuse teksti värv | |
chatSubheader |
string | Vestluse pealkirja all kuvatav tunnuslause | |
senderPlaceholder |
string | Kohatäitetekst sõnumi sisendväljal | |
resetConversationTooltip |
string | Nupu "reset conversation" (lähtesta vestlus) kohtspikker | |
chatAlignment |
string (enum) | ∈ {left, right} |
Kummale ekraani poolele vestlus ankurdatakse |
launcherBottomMargin |
int | 0-500 |
Käivitusnupu kaugus allservast (px) |
launcherSideMargin |
int | 0-500 |
Käivitusnupu kaugus külgservast (px) |
displayShadow |
boolean | Rippvari vidina all | |
customCss |
string | Puhas CSS, mis süstitakse vidina iframe'i | |
chatMessageLinkTarget |
string (enum) | ∈ {_blank, _self} |
Kuidas boti sõnumites olevad lingid avanevad |
minimizedDisplayMode |
string (enum) | ∈ {icon, minified, pill} |
Minimeeritud olek: käivitusikoon, kompaktne sisestusriba või kapsel (pill) |
chatDesktopWidthPx |
int | Töölauavidina laius | |
chatDesktopHeightPx |
int | Töölauavidina kõrgus | |
chatMobileSizePercent |
int | Mobiilividina suurus protsendina vaateavast | |
messageFontSize |
int | Sõnumiteksti fondi suurus (px) | |
showChatbotBubblesDesktop |
boolean | Kuva hõljuvaid kutsumulle töölaual | |
showChatbotBubblesMobile |
boolean | Kuva hõljuvaid kutsumulle mobiilis | |
chatbotBubblesDelaySeconds |
int | Viivitus enne kutsumullide ilmumist (sekundites) | |
launcherIconFullSize |
boolean | Kujunda kohandatud käivitusikoon servast servani, mitte süvistatult | |
welcomeScreenEnabled |
boolean | Kuva Welcome Screen (avakuva) otse vestlusesse minemise asemel | |
welcomeScreenQuestionsLabel |
string | Silt soovitatud küsimuste kohal avakuval | |
welcomeScreenHideHumanContactForm |
boolean | Peida päises inimkontaktvormi toiming sel ajal, kui kuvatakse Welcome Screen. See ilmub uuesti pärast külastaja esimest sõnumit. Enne 2026-09-02 loodud bottidel on vaikeväärtus true |
|
welcomeScreenHideLiveChat |
boolean | Peida päises reaalajas vestluse toiming sel ajal, kui kuvatakse Welcome Screen. See ilmub uuesti pärast külastaja esimest sõnumit. Enne 2026-09-02 loodud bottidel on vaikeväärtus true |
|
headerActionsLayout |
string | ICONS või DROPDOWN |
Kuidas reaalajas vestlust ja inimkontaktvormi vestluse päises pakutakse: ICONS (kumbki eraldi ikoonina) või DROPDOWN (rühmitatuna päisemenüüsse). Enne 2026-09-02 loodud bottidel on vaikeväärtus ICONS |
stackSuggestedQuestions |
boolean | Paiguta soovitatud küsimused vertikaalselt üksteise alla (mitte kõrvuti) | |
suggestedQuestionsFontSize |
int | Soovitatud küsimuste elementide fondi suurus (px) | |
suggestedQuestionsTextColor |
string (hex) | Soovitatud küsimuste elemendi teksti värv | |
suggestedQuestionsBackgroundColor |
string (hex) | Soovitatud küsimuste elemendi taustavärv | |
autoOpenChat |
boolean | Ava vestlus töölaual automaatselt | |
autoOpenChatOnMobiles |
boolean | Ava vestlus mobiilis automaatselt | |
autoOpenChatDelay |
boolean | Kasuta enne automaatset avamist viivitust | |
autoOpenChatDelaySeconds |
int | Automaatse avamise viivitus (sekundites) | |
simulateHumanTyping |
boolean | Jaga boti vastus tippimisanimatsiooniga mullideks | |
simulateHumanTypingDelay |
int | 0-200 |
Viivitus sõnumimullide vahel (sekundites) |
footerMarkdown |
string | max 255 | Kohandatud jaluse markdown, mida kuvatakse vestluse all |
avatarUrl |
string | read-only | Avatari täielik avalik URL; selle muutmiseks laadige fail üles mitmeosalise avatar osa kaudu |
Mitmeosaline päringutes POST/PATCH: avatar (failiosa). GET / vastuste kehad jätavad faili sisu välja - võrgus edastatakse ainult URL.
§ humanSupport
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Inimtoe (Human Support) voo lüliti | |
email |
string | nõutav (range loomiskontroll), kui enabled=true |
Aadress, mis võtab vastu klienditoe e-kirju |
dialogMessage |
string | Vormi kohal kuvatav julgustav sõnum | |
thankYouMessage |
string | Pärast saatmist kuvatav kinnitus | |
emailMessageSubjectTemplate |
string | Klienditoe töötajale saadetava e-kirja teemarea mall | |
emailMessageContentTemplate |
string | Klienditoe töötajale saadetava e-kirja sisumall | |
emailPlaceholder |
string | E-posti sisendvälja kohatäide | |
messagePlaceholder |
string | Sõnumi tekstiala kohatäide | |
emailWithConversationContent |
boolean | Kui tõene, lisatakse e-kirja sisusse vestluse transkriptsioon | |
customFormId |
long | olemasoleva kohandatud vormi id | Asendage sisseehitatud kontaktvorm kohandatud vormiga. Loomisel kasutab väljajätmine sisseehitatud vormi; PATCH-päringu puhul jätab null praeguse valiku muutmata |
customFormMapping |
string | JSON-kodeeringus string | Seob kohandatud vormi väljad inimtoe e-kirja väljadega |
requirePolicyAccept asub jaotises consent.humanSupportRequirePolicyAccept, mitte siin.
§ leadCollection
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Müügivihjete vormi lüliti | |
nameEnabled |
boolean | Kogu nime | |
nameLabel |
string | Nime sisendvälja silt | |
emailEnabled |
boolean | Kogu e-posti aadressi | |
emailLabel |
string | nõutav (range loomiskontroll), kui enabled=true JA emailEnabled=true |
E-posti sisendvälja silt |
phoneEnabled |
boolean | Kogu telefoninumbrit | |
phoneLabel |
string | nõutav (range loomiskontroll), kui enabled=true JA phoneEnabled=true |
Telefoni sisendvälja silt |
leaveDetailsMessage |
string | nõutav (range loomiskontroll), kui enabled=true |
Sõnum, mis julgustab külastajat oma andmeid jätma |
thankYouMessage |
string | nõutav (range loomiskontroll), kui enabled=true |
Pärast saatmist kuvatav kinnitus |
requireBeforeNewConversation |
boolean | Kui true, tuleb vorm enne vestluse algust esitada; kui false, otsustab tehisintellekt, millal vormi kuvada |
|
emailNotificationEnabled |
boolean | Saada omanikule e-kiri iga kord, kui müügivihje on kogutud | |
emailNotificationAddress |
string | Teavituse saaja (vaikimisi konto e-posti aadress) | |
emailWithConversationContent |
boolean | Kui tõene, lisatakse teavitusse vestluse transkriptsioon |
| customFormId | long | olemasoleva kohandatud vormi id | Asendage sisseehitatud vihjevorm kohandatud vormiga. Loomisel kasutab väljajätmine sisseehitatud vormi; PATCH-päringu puhul jätab null praeguse valiku muutmata |
| customFormMapping | string | JSON-kodeeringus string | Seob kohandatud vormi väljad nime / e-posti / telefoniga |
Väljadeülene range loomisreegel: enabled=true nõuab vähemalt ühe välja emailEnabled või phoneEnabled lubamist. requirePolicyAccept asub jaotises consent.leadCollectionRequirePolicyAccept, mitte siin.
§ liveChat
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Funktsiooni Live Chat (reaalajas vestlus) lüliti | |
infoMessage |
string | Üleandmiseelne selgitav sõnum | |
startMessage |
string | Sõnum, mida kuvatakse reaalajas seansi alguses | |
endMessage |
string | Sõnum, mida kuvatakse reaalajas seansi lõpus | |
nameLabel |
string | Nime sisendvälja silt reaalajas vestluse eelvormis | |
emailLabel |
string | E-posti sisendvälja silt reaalajas vestluse eelvormis | |
schedule |
string | JSON-kodeeringus string (nädalapäevade lülitid + from/to + timezone) |
Reaalajas vestluse töögraafik - täpse struktuuri leiate jaotisest "Structured fields and ranges" |
outOfHoursMessage |
string | Sõnum, mida kuvatakse väljaspool tööaega | |
closeModalMessage |
string | Modaalakna "sulge reaalajas vestlus?" pealkiri | |
closeModalConfirmLabel |
string | Kinnitusnupu silt sulgemise modaalaknas | |
closeModalCancelLabel |
string | Loobumisnupu silt sulgemise modaalaknas | |
closeModalTooltipText |
string | Vestluse sulgemise nupu kohtspikker | |
operatorHasJoinedLabel |
string | Silt, mida kuvatakse operaatori liitumisel | |
operatorDidNotJoinInTimeLabel |
string | Silt, mida kuvatakse juhul, kui operaator ei liitunud ajalimiidi jooksul | |
waitingForOperatorToJoinLabel |
string | Silt, mida kuvatakse operaatori ootamise ajal | |
waitingForOperatorSeconds |
int | Operaatori reageerimise ooteaeg (sekundites) | |
redirectToHumanSupportForm |
boolean | Kui tõene, suunatakse vestlus edasi inimtoe vormile, kui ükski operaator ei liitu | |
requireAdminOnline |
boolean | Nõua vaba operaatori olemasolu vastavalt kohalolekuseadetele | |
presenceMode |
string | Kohalolekurežiim; kasutage kasutajaliideses konfigureeritud boti väärtust | |
hideHumanSupportWhenLiveChatAvailable |
boolean | Peida kontaktvorm, kui reaalajas vestlus on saadaval | |
missedEmailEnabled |
boolean | vaikimisi true |
Saada boti omanikule e-kiri, kui reaalajas vestluse päringule ei vastatud. Vanematel bottidel määramata, mida tõlgendatakse lubatuna |
requirePolicyAccept asub jaotises consent.liveChatRequirePolicyAccept, mitte siin.
§ consent
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
newConversationRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne uue vestluse alustamist | |
humanSupportRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne inimtoe vormi esitamist | |
leadCollectionRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne müügivihjete vormi esitamist | |
liveChatRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne reaalajas vestluse seansi alustamist | |
newConversationConsentDescription |
string | Vestluse alguses kuvatava nõusolekuekraani sissejuhatav tekst | |
privacyPolicyConsentCheckboxLabel |
string | Nõusoleku märkeruudu kõrval olev tekst (sisaldab tavaliselt linki privaatsuspoliitikale) |
§ whiteLabel
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
hideRoboAssistLogo |
boolean | funktsioon White Label; sõltub konto limiitidest | Peida jalusest ChatLabi vaikelogo |
whitelabelLogoLink |
string | funktsioon White Label; sõltub konto limiitidest | URL, kuhu kohandatud jaluselogo viitab |
assignToCustomDomain |
boolean | piiratud funktsiooniga CUSTOM_DOMAIN |
Majuta vestlust konfigureeritud kohandatud domeenil |
whitelabelLogoUrl |
string | read-only | White Label logo täielik avalik URL; selle muutmiseks laadige fail üles mitmeosalise whitelabel_logo osa kaudu |
Mitmeosaline päringutes POST/PATCH: whitelabel_logo (failiosa). GET / vastuste kehad jätavad faili sisu välja - võrgus edastatakse ainult URL.
§ security
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
allowedDomains |
string | Komadega eraldatud domeenide loend, millel on lubatud vidinat manustada (tühi = valge nimekiri puudub) | |
spamFilterEnabled |
boolean | Luba botipõhine rämpspostifilter sissetulevatele sõnumitele | |
countryFilterMode |
string | BLACKLIST või WHITELIST |
Kuidas riikide nimekirju tõlgendatakse. Nimekirjad ise jäävad ainult administraatorile |
talkMessagesRateLimit |
int | >= 0; 0 keelab |
Maksimaalne kasutaja sõnumite arv piirangu aknas |
talkMessagesRateLimitDurationSeconds |
int | >= 0 |
Päringupiirangu akna pikkus (sekundites) |
talkMessagesRateLimitHitMessage |
string | Sõnum, mida kuvatakse külastajale päringupiirangu ületamisel |
§ voice
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
inputEnabled |
boolean | Luba külastajal sõnumeid dikteerida (kõne tekstiks) | |
conversationEnabled |
boolean | nõuab paketis häälefunktsiooni olemasolu | Luba täielikud häälvestlused |
voiceId |
string | teenusepakkujapõhine hääle id (nt alloy) |
Milline sünteetiline hääl kõneleb |
model |
string | nt GPT-REALTIME-MINI, GEMINI-LIVE, ELEVENLABS-* |
Häälemudel. Arveldatakse minutipõhiselt, tariifid erinevad mudeliti |
turnDetection |
string | teenusepakkujapõhine | Rääkimiskorra tuvastamise režiim |
audioPrompt |
string | Täiendav süsteemiviip, mida kasutatakse ainult häälekordade puhul | |
welcomeMessage |
string | Suuline avafraas | |
language |
string | keelekood | Peamine hääle keel |
additionalLanguages |
string | komadega eraldatud keelekoodid | Lisakeeled, mida hääleagent aktsepteerib |
maxDurationSeconds |
int | Ühe häälvestluse range ajapiirang | |
maxDurationMessage |
string | Sõnum, mida kuvatakse limiidi täitumisel |
§ multilingual
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Mitmekeelse režiimi lüliti | |
mode |
string | AUTODETECT või FIXED_LIST |
Kuidas bot valib vastuse keele |
baseLanguage |
string | keelekood | Keel, milles boti enda tekstid on koostatud |
languages |
string | komadega eraldatud keelekoodid | Külastajale pakutavad keeled |
knowledgeLanguageMode |
string | NONE, MAIN või DYNAMIC |
Kuidas käsitletakse teistes keeltes olevaid teadmisi |
knowledgeLanguageFallback |
string | keelekood | Keel, mida kasutatakse vaste puudumisel |
§ advanced
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
model |
string | sõltub konto limiitidest; vaadake ülalpool "AI text models" | Suure keelemudeli (LLM) identifikaator (nt 5.6-LUNA) |
temperature |
decimal | 0.0-1.0 |
Diskreetimistemperatuur (vastab kasutajaliidese liugurile) |
chatContextSize |
int | ∈ {8000, 16000, 32000}; kohandatakse vaikselt teie konto limiidile |
Konfigureeritud kontekstimaht, sealhulgas juhised, ajalugu ja teadmised |
botMessagesLimit |
long | 0 või arvu 1000 kordne (nt 1000, 2000, 10000) |
Boti igakuine sõnumikrediitide limiit (0 = täiendav botilimiit puudub; konto limiit kehtib endiselt) |
internalLocale |
string | lokaadikood kujul ll_CC |
Lokaat vidina raami siltide jaoks (erineb parameetrist role.language) |
productsViewEnabled |
boolean | Kui tõene, kuvatakse e-kaubanduse tootekirjed Offer Cards vestluse sees | |
includeProductsInKnowledgeBase |
boolean | Kui tõene, indekseeritakse tootekataloog teadmusbaasi osana |
API ulatusest väljas
Administraatori kasutajaliideses on mõned valdkonnad, mis ei ole selles Management API versioonis tahtlikult kättesaadavad:
- Treenimine ja kustutamine - need lõpp-punktid ei väljasta kõigi bottide nimekirja, ei halda treeningandmestikke ega kustuta botte. Kasutage nende töövoogude jaoks rakendust.
- Vahekaart Flow - visuaalne vestlusvoo redaktor Flow Editor (astmed ja üleminekud). Ei ole Management API kaudu kättesaadav.
- Vahekaart Actions - hallatud e-kaubanduse ja broneerimise integratsioonid, AI Search ning kohandatud API-funktsioonid. Tööriistade väljakutsumine (tool calling) ei ole kunagi olnud Management API osa.
- Kohandatud vormide koostaja ise - kohandatud vormide loomine ja muutmine ei ole API kaudu toetatud. Saate aga siduda olemasoleva vormi botiga väljade
leadCollection.customFormIdjahumanSupport.customFormIdkaudu. - Kohandatud vestluse avamise ja sulgemise ikoonid -
customLauncherIconVisible,openChatIcon,closeChatIcon. API teeb kättesaadavaks ainult peamised mitmeosalised failiosadavatarjawhitelabel_logo. - IP- ja riiginimekirjad - kirjed ise on kättesaadavad ainult administraatorile. Kättesaadav on ainult tõlgendusrežiim välja
security.countryFilterModekaudu.
Lõpp-punktid
POST /v1/management/bots
Looge uus bot. Toetatud on kaks samaväärset Content-Type tüüpi; valige neist sobivam.
Režiim A - tavaline JSON (soovitatav, kui te ei pea samas päringus üles laadima avatari / logo):
Content-Type: application/json- Päringu keha on boti konfiguratsiooni JSON (ilma ümbriseta
data) - Faile (avatar / logo) saab laadida üles hiljem teise
PATCH-päringuga, kasutades režiimi B
Režiim B - multipart/form-data (kasutage failide üleslaadimisel samas päringus):
Content-Type: multipart/form-data; boundary=...- JSON-osa
data(nõutav,Content-Type: application/json) - boti konfiguratsioon ülaltoodud pesastatud kujul - failiosa
avatar(valikuline) - boti avataripilt - failiosa
whitelabel_logo(valikuline) - White Label logo (kehtib ainult juhul, kui teie konto sisaldab funktsiooni White Label)
JSON-is on nõutav ainult name; iga teise välja väärtuseks saab vaikimisi sama väärtus, mille määraks administreerimisliidese viisard.
Näidispäringu keha
See on maksimaalne data JSON - iga jaotis on täidetud. Saatke ainult need jaotised, mida vajate; kõik ülejäänu võtab vaikeväärtused.
{
"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
}
}
Valideerimisreeglid koos vastavate veateadetega:
name- nõutav, kuni 150 märkiadvanced.temperature- vahemikus0.0kuni1.0chatMemory.summariesToKnowledgeRatio- täisarv vahemikus10kuni90(protsent, sammuga10)appearance.launcherBottomMargin,appearance.launcherSideMargin- vahemikus0kuni500appearance.footerMarkdown- kuni 255 märkihumanSupport.enabled=truenõuab väljahumanSupport.emailmääramistleadCollection.enabled=truenõuab, et vähemalt üks väljadestleadCollection.emailEnabledvõileadCollection.phoneEnabledoleks seatud väärtusele true; sisselülitatud kanali puhul on nõutav ka selle silt ning väljadleaveDetailsMessagejathankYouMessageadvanced.chatContextSizepiiratakse automaatselt konto maksimaalse toetatud kontekstisuurusega. Ärge eeldage, et teisi numbrilisi välju automaatselt piiratakse.
Väljad, mille väärtus serveris on null, jäetakse JSON-i kehast välja - võrgu kaudu edastatakse ainult mitte-null väärtustega väljad.
Näidisvastuse keha (201)
Sama struktuur nagu päringul, millele lisanduvad kirjutuskaitstud plokk meta ja ühekordne apiKey tipptasemel. Kirjutuskaitstud failide URL-id (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl) täidab server siis, kui vastavad multipart-osad üles laaditi.
{
"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"
}
Väli apiKey kuvatakse ainult loomisel - see on vastloodud Bot Talki võti, mis on seotud uue botiga. Lihtteksti näidatakse vaid korra ja seda ei saa hiljem API kaudu enam pärida; salvestage see kohe oma poolel.
Vastuse päis Location sisaldab uue boti URL-i (/v1/management/bots/{id}).
Curli näited
Režiim A - tavaline JSON (kõige lihtsam):
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žiim B - multipart koos avatariga:
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}
Tagastab teile kuuluva boti praeguse konfiguratsiooni.
Curli näide
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..."
Näidisvastuse keha (200)
Sama struktuur nagu POST-vastusel, välja arvatud ühekordne apiKey. Kaasas on plokk meta. Tagastab veakoodi 404 not_found_error, kui boti ei eksisteeri või see ei kuulu teie kontole.
Praegune avatar ja White Label logo esitatakse täielike kirjutuskaitstud URL-idena (appearance.avatarUrl, whiteLabel.whitelabelLogoUrl) - samal skeemil, hostil ja kontekstiteel, mis teenindas seda päringut. Saate baidid kätte, tehes otse GET-päringu neile URL-idele; kummagi faili asendamiseks laadige PATCH-päringuga üles uus fail multipart-osade avatar / whitelabel_logo kaudu. Neid URL-i välju eiratakse, kui need saadetakse päringu kehas.
{
"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"
}
}
Boti kloonimine
Päringu POST /v1/management/bots keha ja päringu GET /v1/management/bots/{bot_id} vastuse keha on sama struktuuriga, seega koosneb kloonimine kolmest etapist: tehke lähtebotile GET-päring, eemaldage serveri hallatavad identifitseerimisväljad ja tehke tulemusega POST-päring.
1. Tehke lähtebotile GET-päring.
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-o source-bot.json
2. Eemaldage ülataseme meta-plokk. Objekt meta (id, createdAt, updatedAt) on serveri hallatav ja kirjutuskaitstud - selle jätmine POST-päringu kehasse ei tekita probleeme (server ignoreerib seda), kuid selle eemaldamine muudab kavatsuse selgeks ja hoiab andmemahu puhtana. Soovi korral muutke välja name, et kloon oleks lähtebotist eristatav.
jq 'del(.meta) | .name = "Helpdesk Bot (clone)"' source-bot.json > clone-body.json
3. Tehke klooni loomiseks puhastatud kehaga POST-päring. Päringu keha täieliku struktuuri ja valideerimisreeglite kohta vaadake ülaltoodud kirjeldust 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
Vastus sisaldab uue boti välja meta.id ning vastloodud võtit apiKey (klooni Bot Talk võti). Võtme apiKey lihttekst tagastatakse ainult selles loomisvastuses - kopeerige see enne vastuse keha sulgemist; hiljem pole seda võimalik enam vaadata.
See kopeerib toetatud seaded, mitte täielikult treenitud chatboti. Treenimissisu, vestlusajalugu, integratsioone/toiminguid, Flow'd ja vormimääratlusi need lõpp-punktid ei klooni. Konfigureerige need rakenduses eraldi.
Täiendavad hoiatused:
- Faile ei kloonita.
appearance.avatarUrljawhiteLabel.whitelabelLogoUrlon kirjutuskaitstud ning viitavad lähteboti failidele. Kui vajate kloonil sama avatari või White Labeli logo, laadige failid lähteaadressidelt alla ja laadige need üles mitmeosalisteavatar/whitelabel_logoosadena - kas loomise POST-päringuga (režiim B) või järgneva PATCH-päringuga. - Bot Talk võtmeid ei kloonita. Igal botil on oma Bot Talk võtmete kogum. Loomise POST-päringu tagastatud üksik
apiKeyon ainus automaatselt loodud võti; vajadusel looge lisavõtmeid boti vahekaardilt API.
PATCH /v1/management/bots/{bot_id}
Uuendage ühte või mitut välja teile kuuluva boti puhul. Muudetakse ainult JSON-is olevaid jaotisi / välju; kõik väljajätmised (või väärtusena null saadetud väljad) jäetakse puutumata. Saadetud jaotise piires kehtib iga välja puhul osalise uuendamise loogika.
Aktsepteeritakse kahte samaväärset Content-Type päist (samamoodi nagu POST puhul):
Režiim A - tavaline JSON (soovitatav ainult seadete uuendamisel):
Content-Type: application/json- Päringu keha on muudatuste JSON (ilma
dataümbriseta)
Režiim B - multipart/form-data (kasutage failide üleslaadimisel):
dataJSON-osa (valikuline) - muudatused. Saatke ainult siis, kui soovite välju muuta. Jätke täielikult välja, kui soovite üles laadida ainult avatari või logo.avatarfailiosa (valikuline) - asendab avatariwhitelabel_logofailiosa (valikuline) - asendab White Labeli logo (kehtib ainult siis, kui teie konto sisaldab White Label funktsiooni)
Kõik kolm osa on PATCH-päringus valikulised, kuid päringu toimimiseks peab vähemalt üks neist olema määratud.
Näidispäringu keha (mitu jaotist)
Siin võib saata mis tahes välja, mida aktsepteerib POST /v1/management/bots. Allolev näide demonstreerib mitut jaotist, mitte igat toetatud välja; praktikas saadate ainult need võtmed, mida soovite muuta (vt allpool "Minimaalne osaline uuendamine") - iga väljajäetud (või väärtusega null saadetud) võti jätab salvestatud väärtuse muutmata.
{
"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
}
}
Minimaalne osaline uuendamine
Tehke üksikule väljale PATCH-päring, saates täpselt need võtmed, mida soovite muuta - kõik muu säilitatakse.
{
"appearance": {
"launcherColor": "#abcdef"
}
}
C选题 näited
Režiim A - tavaline JSON (kõige lihtsam):
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"}}'
Režiim B - mitmeosaline vorm (avatari / logo asendamisel):
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'
Režiim B - asendage ainult avatar (välju muutmata):
curl -X PATCH https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-F 'avatar=@./new-avatar.png'
Vastuse keha (200)
Sama struktuur nagu päringul GET /v1/management/bots/{bot_id} - boti täielik konfiguratsioon pärast muudatuste rakendamist, sealhulgas plokk meta. Välja apiKey ei ole. Tagastab veakoodi 404 not_found_error, kui boti pole olemas või see ei kuulu teie kontole.
Allolev näide näitab vastust pärast ülaltoodud Täieliku päringukeha (mitu jaotist) muudatuste rakendamist GET-näite botile - muudetud väljad kajastavad uusi väärtusi, puutumata väljad säilitatakse ja meta.updatedAt uueneb.
{
"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
Lugege Management võtit omava konto praegust tellimuse kasutust.
Vastuse keha (200)
{
"subscriptionType": "your-plan-id",
"messages": {"used": 4123, "limit": 11000, "remaining": 6877},
"bots": {"used": 3, "limit": 5, "remaining": 2}
}
subscriptionTypeon konto praeguse paketi väiketähtedega identifikaator (your-plan-idon näitlik kohatäide). Paketid pärinevad dünaamilisest kataloogist, seega võib täpne identifikaatorite kogum aja jooksul pakettide ümbernimetamisel või lisamisel muutuda - käsitlege seda läbipaistmatu stringina, mitte fikseeritud enumina.messages.used/limit/remainingtähistavad jooksva kalendrikuu sõnumikrediite, mis lähtestuvad kuu esimesel päeval, mitte tellimuse uuendamise päeval. Need on kaalutud krediitide, mitte toorete vastuste arvu järgi.bots.used/limit/remainingarvestavad teile kuuluvaid bote (sealhulgas peatatud bote) teie konto botide kogulimiidi suhtes.
Päringupiirangu päised
Vastused, mis jõuavad päringupiirangu etapini (st autentimine ja IP-lubatud nimekiri on läbitud), sisaldavad järgmist:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 7
X-RateLimit-Reset: 1715430000
X-RateLimit-Limit- võtmepõhine limiit, mida sellele päringule tegelikult rakendati (vaikimisi 10 või teie konfigureeritudrateLimitPerMinute, kui see on väiksem).X-RateLimit-Remaining- kohe pärast seda päringut saldosse jäänud märgid (tokens).X-RateLimit-Reset- Unixi ajatempli sekundid, millal järgmine märk muutub kättesaadavaks (mitte kogu saldo täielik lähtestamine; saldot täidetakse pidevalt). Kui saldo on täis, on see praegune aeg.
Vastuste 429 rate_limit_exceeded korral määratakse ka Retry-After, mida väljendatakse täissekundites kuni vähemalt ühe märgi vabanemiseni.
Autentimiseelsed vead (401 missing_api_key, 401 invalid_api_key, 403 ip_blocked) ja 403 ip_not_whitelisted ei sisalda X-RateLimit-* päiseid - piirangut kontrollitakse alles pärast autentimise ja IP-kontrollide edukat läbimist.
Vigade vorming
Sama ümbris nagu Bot Talk API puhul:
{
"error": {
"type": "permission_error",
"code": "key_type_not_allowed",
"message": "This endpoint requires a MANAGEMENT API key.",
"param": null
}
}
Valideerimisvead kasutavad väärtust code: "invalid_parameter" ja lisavad ebaõnnestunud välja teekonna sõnumi algusesse, et vigast jaotist oleks lihtne märgata:
{
"error": {
"type": "invalid_request_error",
"code": "invalid_parameter",
"message": "humanSupport.email Human support email is required when humanSupport.enabled=true"
}
}
Loetelu / piiratud väärtuste hulga väljade vigased väärtused (nt chatMemory.clientSummaryPromptType = "BOGUS") sisaldavad välja teekonda, tagasilükatud väärtust ja lubatud väärtuste loendit:
{
"error": {
"type": "invalid_request_error",
"code": "invalid_parameter",
"message": "chatMemory.clientSummaryPromptType 'BOGUS' is not a valid value. Allowed: CUSTOM, DEFAULT"
}
}
Seotud teemad
Vestluste lõpp-punktide ja SSE voogedastuse kohta vaadake jaotist Bot Talk API.