Management API ülevaade
Management API on mõeldud taustasüsteemi toiminguteks, mis ei hõlma vestlussõnumite saatmist:
- boti programmiliseks loomiseks päringuga
POST /v1/management/bots - teile kuuluva konkreetse boti andmete lugemiseks päringuga
GET /v1/management/bots/{bot_id} - konkreetse boti uuendamiseks päringuga
PATCH /v1/management/bots/{bot_id} - tellimuse kasutusmahu lugemiseks päringuga
GET /v1/usage
Management-võtmed on seotud teie kontoga, mitte ühegi konkreetse botiga. Neid hoitakse teadlikult lahus Bot Talk võtmetest, et kompromiteeritud vestlusvõtme kaudu ei saaks muuta teie机器人id ega lugeda teie 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 Management-võti), pange sellele nimi, soovi korral määrake lubatud IP-aadresside loend ja päringulimiit ning kinnitage.
- Kopeerige täielik võti õnnestumise modaalaknast. Lihttekstina kuvatakse seda ainult üks kord.
Võti näeb välja selline: mk_abcdefghijklmnopqrstuvwxyz012345. Eesliide mk_ eristab seda Bot Talk võtmetest (ck_).
Autentimine
Authorization: Bearer mk_abcdefghijklmnopqrstuvwxyz012345
Võtme mk_ saatmisel lõpp-punkti /v1/chat (või mis tahes muusse Bot Talk lõpp-punkti) tagastatakse kood 403 key_type_not_allowed. Võtme ck_ saatmisel lõpp-punkti /v1/management/* tagastatakse sama viga.
Limiidid
- Maksimaalselt 5 aktiivset Management API võtit kasutaja kohta
- Maksimaalselt 10 päringut minutis võtme kohta (token bucket, maht 10, sujuv täitmine kiirusega ~1 token iga 6 sekundi järel). Loomisel allapoole konfigureeritav - määrake madalam väärtus
rateLimitPerMinutening ülempiir langeb ja täitmiskiirus kohandub proportsionaalselt.
Õigused
Iga Management-võti sisaldab mis tahes alamhulka alljärgnevast kolmest õigusest. Loomisel tuleb valida vähemalt üks; vastasel juhul lükatakse päring tagasi veaga 400 invalid_request_error. Lõpp-punkti kutsumine võtmega, millel puudub nõutav õigus, tagastab vea 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 kasutajaliidese vahekaarte peegeldavad pesastatud sektsioonid
POST ja PATCH võtavad vastu JSON-keha, mis on jaotatud 13 sektsiooni. Iga sektsioon vastab administraatorirakenduse boti seadete külgriba alamvahekaardile, 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 oleku muutumist administraatorirakenduse vahekaardil Consent & Privacy (Nõusolek ja privaatsus).
role- boti persoon, algne prompt, vastuse pikkus, keel, veebisaidi / ettevõtte kontekst (vahekaart Role & Behavior (Roll ja käitumine))conversation- tervitussõnum, päringu täpsustamine, vestluse järjepidevus, hindamise lüliti + kohtspikrid, soovitatud küsimuste sisu + dünaamilised jätkuküsimused (vahekaart Chat Conversation (Vestlus))chatMemory- vestlusmälu lüliti, kokkuvõtte promptid, konteksti jaotus (vahekaart Summaries & Memory (Kokkuvõtted ja mälu))appearance- värvid, tekstid, mõõtmed, kohandatud CSS, tervituskuva, soovitatud küsimuste stiil, automaatse avanemise käitumine, inimese tippimise simuleerimine, jaluse markdown (vahekaart Appearance (Välimus))humanSupport- inimesega kontakteerumise vorm (vahekaart Human Contact Form (Inimkontaktivorm))leadCollection- müügivihjete kogumise vorm (vahekaart Lead Collection (Müügivihjete kogumine))liveChat- vestluse üleandmine inimesele (vahekaart Live Chat (Reaalajas vestlus))consent- kõik neli privaatsuspoliitika nõusolekulülitit koos nõusolekukuva tekstiga (vahekaart Consent & Privacy (Nõusolek ja privaatsus))whiteLabel- logo peitmine, kohandatud logo link, majutamine kohandatud domeenil (vahekaart Whitelabel)security- lubatud domeenid, rämpspostifilter, vestluse päringulimiidid (vahekaart Security (Turvalisus))voice- häälsisend ja häälvestlused: mudel, hääl, keeled, prompt, kestuse ülempiir (vahekaart Voice Conversation (Häälvestlus))multilingual- mitmekeelne režiim, põhikeel, pakutavad keeled, teadmusbaasi keele käsitlemine (vahekaart Languages (Keeled))advanced- LLM-mudel, temperatuur, konteksti suurus, boti sõnumite limiit, sisemine lokaat, Offer Cards (vahekaart Model & Advanced (Mudel ja täpsemad seaded))
Ainult name asub juurtasemel, kuna see tuvastab boti tervikuna, mitte ei kuulu ühelegi konkreetsele vahekaardile.
Boti seadete külgribal on praegu 15 alamvahekaarti, millest 13 vastavad ülaltoodud sektsioonidele. Kaks alamvahekaarti, millel puudub vastav sektsioon, on Flow (Voog) ja Actions (Toimingud) - mõlemat 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 kehal ja vastuse kehal on sama struktuur. Vastus lisab kaks täiendavat välja:
meta- kirjutuskaitstud: boti id ja ajatemplid. Eemaldage see, et muuta GET-vastus kehtivaks POST-päringu kehaks.apiKey- olemas ainult loomisel - äsja genereeritud Bot Talk API võti uue boti jaoks.
Kaks välja ühises struktuuris on kirjutuskaitstud - need tagastatakse vastuses ja neid ignoreeritakse, kui proovite neid saata meetoditega POST/PATCH:
appearance.avatarUrl- boti avatari pildi täielik avalik URL (nthttps://api.chatlab.com/aichat/content/avatar_xyz.png). Baitide allalaadimiseks tehke sellele otse GET-päring. Selle muutmiseks laadige üles uus fail mitmeosalise päringu osaavatarkaudu (vt PATCH).whiteLabel.whitelabelLogoUrl- White Label päise logo täielik avalik URL. Sama loogika nagu väljalavatarUrl. Selle muutmiseks laadige üles uus fail mitmeosalise päringu osawhitelabel_logokaudu (vt PATCH).
Mõlemad URL-id kasutavad praeguse päringu skeemi + hosti + kontekstiteed, seega White Label kohandatud domeenil tagastatakse need selle domeeni juurega (nt https://api.acme.com/aichat/content/...).
PATCH-päringul saatke sektsiooni vahelejätmiseks väärtus null; sektsioonisisese üksiku välja vahelejätmiseks saatke selle välja väärtuseks null. Välja tasemel saadetud null ei kustuta kunagi salvestatud väärtust - see tähendab ainult "ära muuda".
Rolli ja prompti koostamine
Süsteemiprompt, mille LLM tegelikult saab, koostatakse ühel kahest viisist sõltuvalt väärtusest role.role. Teadmine, kummale harule teie bot satub, määrab, millised väljad on olulised ja millised salvestatakse, kuid jäetakse tähelepanuta.
Haru A - role.role on CUSTOMER_SUPPORT, SALES või LEAD_COLLECTION_AGENT (mallipõhine)
Taustasüsteem paneb prompti kokku sisseehitatud mallist ja ignoreerib välja role.rawPrompt täielikult (väärtus salvestatakse endiselt boti juurde, kuid seda ei kasutata). Mall sisaldab järgmist:
role.role- rolli silt (nt "Customer Support") ja automaatselt lisatavad rollipõhised juhisedname- boti nimi, mis lisatakse avalausesserole.language-"Auto Detect"lülitab boti kasutaja keelt järgima; mis tahes muu väärtus (nt"English","Polish") teisendatakse kujule "Output in {language}, unless user uses another language"role.responseLength- vastendatakse sihtkordsõnade arvule:Concise≈ 50 sõna,Normal≈ 100,Detailed≈ 200role.websiteAddress- valikuline; kui see pole tühi, lisatakse kujul "for the users of the website {url}"role.companyDescription- valikuline; kui see pole tühi, lisatakse lisalõiguna enne rollijuhiseid
See on soovitatav haru enamiku bottide jaoks - saate automaatselt rollile kohandatud käitumise ja turvapiirded.
Haru B - role.role on CUSTOM (kasutaja määratud prompt)
Taustasüsteem kasutab välja role.rawPrompt muutmata kujul terve süsteemipromptina. Väljad responseLength, language, websiteAddress, companyDescription salvestatakse, kuid neid ei lisata prompti - kui soovite, et mõni neist peegelduks boti käitumises, peate need ise oma rawPrompt teksti lisama. Rollipõhiseid turvapiirdeid ja tooni puudutavaid juhiseid samuti ei lisata; kogu prompt on teie hallata.
Kasutage varianti CUSTOM ainult siis, kui mallipõhine prompt ei sobi teie kasutusjuhuga (nt vajate väga valdkonnapõhist persooni, omaenda turvapiiranguid, mittestandardset väljundvormingut).
Loendiväljad (enum / suletud komplektid)
Mitmed väljad aktsepteerivad ainult fikseeritud sõneväärtuste komplekti. Mis tahes loendivälise väärtuse saatmine lükatakse tagasi veaga 400 validation_failed ja välja teekond märgitakse parameetris error.param. Väärtused on tõstutundlikud.
role.role-CUSTOMER_SUPPORT,SALES,LEAD_COLLECTION_AGENT,CUSTOMrole.responseLength-Concise,Normal,Detailedrole.language- täielik ingliskeelne keelenimi administraatori rippmenüüst, ntAuto Detect,English,Polish,Spanish,German,French,Italian,Portuguese,Dutch,Russian,Chinese (Simplified),Japanese,Arabic,Hindija ~80 muud. Väärtus salvestatakse muutmata kujul ja asendatakse prompti malli, seega kahetähelisi ISO-koode (en,pl) ja muid nimekirjaväliseid väärtusi API tagasi ei lükka, kuid need tekitavad vigase juhise, nagu "Output in en, unless...". Kui see jäetakse loomisel määramata, on vaikeväärtuseksAuto Detect.advanced.model- vt allpool "Tehisintellekti tekstimudelid"; valitav komplekt sõltub teie konto limiitidest ja mis tahes mudel, mida teie konto ei saa kasutada, tagastab vea400 invalid_parameteradvanced.chatContextSize-8000,16000,32000. Sõltub teie konto limiitidest; suuremad väärtused piiratakse vaikselt madalamakschatMemory.clientSummaryPromptType-DEFAULT,CUSTOMchatMemory.conversationSummaryPromptType-DEFAULT,CUSTOMappearance.chatAlignment-left,rightappearance.minimizedDisplayMode-icon,minifiedappearance.chatMessageLinkTarget-_blank,_selfleadCollection.requireBeforeNewConversation- tõeväärtuslüliti.truesunnib kasutajat enne vestluse alustamist täitma müügivihje vormi;falselaseb tehisintellektil otsustada, millal vormi kuvada (vaikeseade).
Struktureeritud väljad ja vahemikud
Väljad, mis näevad välja nagu lihtsad sõned või numbrid, kuid omavad tegelikult spetsiifilist kuju, vahemikku või administraatoriliidese eripärasid, millest tasub teadlik olla.
-
advanced.temperature- lubatud vahemik on0.0kuni1.0, vastates administraatori kasutajaliidese liugurile. Väljaspool seda vahemikku olevad väärtused lükatakse tagasi veaga400 validation_failed. -
chatMemory.summariesToKnowledgeRatio- täisarvuline protsent,10-90sammuga10. Määrab, kui palju vestluse kontekstist eraldatakse kliendi ajaloolistele kokkuvõtetele võrreldes ülejäänud osaga (teadmusbaas, praegune vestlus, juhised). Vaikeväärtus on50. Väärtused väljaspool vahemikku10-90lükatakse tagasi veaga400 validation_failed. Rakendub ainult siis, kuichatMemory.enabled=trueNINGchatMemory.summaryConversationsEnabled=true. -
liveChat.schedule- JSON, mis on kodeeritud sõnena, mitte pesastatud JSON-objektina võrgupäringus. Server salvestab toore sõne muutmata kujul; administraatori kasutajaliides parsib seda kliendipoolselt ajakava redaktori kuvamisel. Pärast parsimist on sõne struktureeritud nii, et see sisaldab ühte kirjet iga nädalapäeva kohta pluss võtittimezone:- iga nädalapäeva võti (
monday-sunday) vastab objektile{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 vestluse üleandmine reaalajas vestlusele blokeeritakse. Sisemise struktuuri valideerimine toimub ainult kliendipoolselt administraatori kasutajaliideses - vigane JSON või tundmatud võtmed võetakse API poolt vastu tavalise sõnena ja need tekitavad renderdamisvea alles siis, kui inimene avab hiljem boti administraatorirakenduses. Valideerige struktuur enne saatmist oma poolel. - iga nädalapäeva võti (
-
conversation.positiveRatingTooltip/conversation.negativeRatingTooltip- lühikesed tekstid, mida kuvatakse nuppudel 👍 / 👎 iga tehisintellekti vastuse kõrval, kuiconversation.conversationRatingEnabled=true. Vaiketekst on "I like the response" / "I don't like the response". Nähtav lõppkasutajatele. -
whiteLabel.hideRoboAssistLogo- White Label funktsioon, sõltub teie konto limiitidest. Peidab jaluse rea "Powered by ChatLab". Kui teie konto ei sisalda White Label võimalust, väärtus salvestatakse, kuid seda ignoreeritakse ja jalus kuvatakse alati. -
whiteLabel.whitelabelLogoLink- White Label funktsioon, sõltub teie konto limiitidest. Klõpsatav siht-URL kohandatud logo jaoks, kuihideRoboAssistLogo=trueja kohandatud logofail on üles laaditud mitmeosalise päringu osawhitelabel_logokaudu. -
appearance.simulateHumanTypingDelay- sekundid (mitte millisekundid), täisarv0-200. Paus boti 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 ja piirkonna kood kujulll_CC(alakriips, MITTE sidekriipsugall-CC). Lubatud väärtused pärinevad fikseeritud nimekirjast, mis sisaldab ~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 koodi ("en-US") saatmine ei ole lubatud loendis. Vaikeväärtus onen_US. Seda lokaati kasutatakse kuupäeva/numbri vormindamiseks vidina raamistikus ning see erineb parameetristrole.language(mis määrab boti vestlusväljundi keele). -
security.talkMessagesRateLimit/security.talkMessagesRateLimitDurationSeconds- täisarvud (saatke JSON-numbritena, nt30, mitte"30"). Väärtus0keelab IP-põhise päringulimiidi. Kui väärtus ei ole null, rakendab vidin piirangut N sõnumit määratud sekundite jooksul, enne kui külastajale kuvatakse teadesecurity.talkMessagesRateLimitHitMessage. -
advanced.botMessagesLimit- täisarv (JSON-number, nt1000). Väärtus0tähendab "limiit puudub"; muul juhul peab see olema 1000 kordne (1000,2000,10000, ...). Sellised väärtused nagu100või1500lükatakse tagasi veaga400 validation_failed. Lisaks piiratakse see vajadusel vaikselt teie konto limiidiga.
Tehisintellekti tekstimudelid (advanced.model)
Saatke täpne API väärtus (vasakpoolne kaldkriipsudega tähistatud veerg). Kuvamisnimi administraatori kasutajaliideses on toodud sulgudes. Teie konto limiidid määravad, milline alamhulk on valitav; sellise mudeli saatmine, mida teie konto ei saa kasutada, tagastab vea 400 invalid_parameter. Uute bottide vaikeväärtus on 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)
Väljade teatmik (täielik päringuskeem)
Kõik võrgupäringu väljad koos tüübi, piirangu ja üherealise kirjeldusega. 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 (v.a mitmeosalise päringu binaarne sisu; lisaks kirjutuskaitstud plokk meta igas vastuses ning apiKey ainult loomise vastuses).
Tipptase
| 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 vastusesPOST /v1/management/bots- vastloodud Bot Talki 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 |
Persooni 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-päringut | |
conversationContinuityEnabled |
boolean | Kui tõene, jätkavad naasvad külastajad oma viimast vestlust | |
conversationRatingEnabled |
boolean | Kui tõene, kuvatakse boti sõnumitel pöial püsti/alla hindamist | |
positiveRatingTooltip |
string | Positiivse hindamise nupu kohtspikker | |
negativeRatingTooltip |
string | Negatiivse hindamise nupu 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 | |
dynamicFollowupsAutoIcons |
boolean | Kui tõene, valib tehisintellekt dünaamilistele jätkuküsimustele automaatselt emojid |
§ 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, samm 10 |
% vestluse kontekstiaknast, mis on eraldatud kokkuvõtetele vs RAG-teadmusbaasile |
§ appearance
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
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 tekstivärv | |
responseMessageBubbleColor |
string (hex) | Boti vastusemulli värv | |
responseMessageTextColor |
string (hex) | Boti vastuse tekstivärv | |
chatSubheader |
string | Vestluse pealkirja all kuvatav tunnuslause | |
senderPlaceholder |
string | Kohahoidja tekst sõnumi sisestusväljal | |
resetConversationTooltip |
string | Nupu "reset conversation" (lähtesta vestlus) kohtspikker | |
chatAlignment |
string (enum) | ∈ {left, right} |
Kumbale poole ekraani vestlusankur kinnitub |
launcherBottomMargin |
int | 0-500 |
Käivitusnupu kaugus allservast (px) |
launcherSideMargin |
int | 0-500 |
Käivitusnupu kaugus külgservast (px) |
displayShadow |
boolean | Vidina all kuvatav vari | |
customCss |
string | Vidinasse iframe'i kaudu süstitav kohandatud CSS | |
chatMessageLinkTarget |
string (enum) | ∈ {_blank, _self} |
Kuidas avanevad lingid boti sõnumites |
minimizedDisplayMode |
string (enum) | ∈ {icon, minified} |
Minimeeritud olek: käivitusikoon või kompaktne sisestusriba |
chatDesktopWidthPx |
int | Vidina laius töölaual | |
chatDesktopHeightPx |
int | Vidina kõrgus töölaual | |
chatMobileSizePercent |
int | Mobiilividina suurus protsendina vaateavast | |
messageFontSize |
int | Sõnumiteksti kirjasuurus (px) | |
showChatbotBubblesDesktop |
boolean | Kuva hõljuvaid eelvaatemulle töölaual | |
showChatbotBubblesMobile |
boolean | Kuva hõljuvaid eelvaatemulle mobiilis | |
chatbotBubblesDelaySeconds |
int | Viivitus enne eelvaatemullide ilmumist (sekundites) | |
launcherIconFullSize |
boolean | Kujunda kohandatud käivitusikoon servast servani, mitte ääristusega | |
welcomeScreenEnabled |
boolean | Kuva tervituskuva (Welcome Screen) otse vestlusesse minemise asemel | |
welcomeScreenQuestionsLabel |
string | Soovitatud küsimuste kohal olev silt tervituskuval | |
welcomeScreenHideHumanContactForm |
boolean | Peida päises inimkontaktvormi toiming sel ajal, kui kuvatakse tervituskuva. See ilmub uuesti pärast külastaja esimest sõnumit. Enne 2026-09-02 loodud bottidel on vaikeväärtuseks true |
|
welcomeScreenHideLiveChat |
boolean | Peida päises vestluse toiming sel ajal, kui kuvatakse tervituskuva. See ilmub uuesti pärast külastaja esimest sõnumit. Enne 2026-09-02 loodud bottidel on vaikeväärtuseks true |
|
headerActionsLayout |
string | DROPDOWN |
Kuidas vestlust ja inimkontaktvormi vestluse päises pakutakse: ICONS (kumbki eraldi ikoonina) või DROPDOWN (rühmitatuna päise menüüsse). Enne 2026-09-02 loodud bottidel on vaikeväärtuseks ICONS |
stackSuggestedQuestions |
boolean | Paiguta soovitatud küsimused vertikaalselt (mitte kõrvuti) | |
suggestedQuestionsFontSize |
int | Soovitatud küsimuste siltide kirjasuurus (px) | |
suggestedQuestionsTextColor |
string (hex) | Soovitatud küsimuste siltide tekstivärv | |
suggestedQuestionsBackgroundColor |
string (hex) | Soovitatud küsimuste siltide 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 mullideks koos tippimise animatsiooniga | |
simulateHumanTypingDelay |
int | 0-200 |
Viivitus sõnumimullide vahel (sekundites) |
footerMarkdown |
string | max 255 | Kohandatud jaluse markdown, mida kuvatakse vestluse all |
avatarUrl |
string | kirjutuskaitstud | Avatari täielik avalik URL; selle muutmiseks laadige fail üles mitmeosalise päringu osaga avatar |
Mitmeosaline sisu POST-/PATCH-päringul: avatar (failiosa). GET-päringute ja vastuste keha jätab failisisu välja - võrgupäringus liigub ainult URL.
§ humanSupport
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Human Supporti (inimetoe) voo lüliti | |
email |
string | kohustuslik (range loomine), kui enabled=true |
Aadress, mis võtab vastu inimetoe e-kirju |
dialogMessage |
string | Vormi kohal kuvatav julgustav sõnum | |
thankYouMessage |
string | Pärast saatmist kuvatav kinnitussõnum | |
emailMessageSubjectTemplate |
string | Agendile saadetava e-kirja teemamall | |
emailMessageContentTemplate |
string | Agendile saadetava e-kirja sisumall | |
emailPlaceholder |
string | E-posti sisestusvälja kohahoidja | |
messagePlaceholder |
string | Sõnumi tekstiala kohahoidja | |
emailWithConversationContent |
boolean | Kui tõene, lisatakse e-kirja sisusse vestluse transkriptsioon | |
customFormId |
long | olemasoleva kohandatud vormi id | Asendage sisseehitatud kontaktvorm kohandatud vormiga. null säilitab sisseehitatud vormi |
customFormMapping |
string | JSON-kodeeringus string | Vastendab kohandatud vormi väljad inimetoe e-kirja väljadega |
requirePolicyAccept asub väljal consent.humanSupportRequirePolicyAccept, mitte siin.
§ leadCollection
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Müügivihjevormi lüliti | |
nameEnabled |
boolean | Kogu nime | |
nameLabel |
string | Nime sisestusvälja silt | |
emailEnabled |
boolean | Kogu e-posti aadressi | |
emailLabel |
string | kohustuslik (range loomine), kui enabled=true NING emailEnabled=true |
E-posti sisestusvälja silt |
phoneEnabled |
boolean | Kogu telefoninumbrit | |
phoneLabel |
string | kohustuslik (range loomine), kui enabled=true NING phoneEnabled=true |
Telefoni sisestusvälja silt |
leaveDetailsMessage |
string | kohustuslik (range loomine), kui enabled=true |
Sõnum, mis julgustab külastajat oma andmeid jätma |
thankYouMessage |
string | kohustuslik (range loomine), kui enabled=true |
Pärast saatmist kuvatav kinnitussõnum |
requireBeforeNewConversation |
boolean | Kui true, tuleb vorm esitada enne vestluse algust; kui false, otsustab tehisintellekt, millal vormi kuvada |
|
emailNotificationEnabled |
boolean | Saada omanikule e-kiri iga kord, kui uus müügivihje laekub | |
emailNotificationAddress |
string | Teavituse saaja (vaikimisi konto e-posti aadress) | |
emailWithConversationContent |
boolean | Kui tõene, lisatakse teavitusele vestluse transkriptsioon |
Väljadeülene range loomise reegel: enabled=true nõuab, et vähemalt üks väljadest emailEnabled või phoneEnabled oleks lubatud. requirePolicyAccept asub väljal consent.leadCollectionRequirePolicyAccept, mitte siin.
| customFormId | long | olemasoleva kohandatud vormi id | Asendage sisseehitatud müügivihjevorm kohandatud vormiga. null säilitab sisseehitatud vormi |
| customFormMapping | string | JSON-kodeeringus string | Vastendab kohandatud vormi väljad väljadega nimi / e-post / telefon |
§ liveChat
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
enabled |
boolean | Funktsiooni Live Chat lüliti | |
infoMessage |
string | Selgitav sõnum enne üleandmist | |
startMessage |
string | Sõnum, mida kuvatakse reaalajas seansi alguses | |
endMessage |
string | Sõnum, mida kuvatakse reaalajas seansi lõpus | |
nameLabel |
string | Nime sisestusvälja silt Live Chati eelvormis | |
emailLabel |
string | E-posti sisestusvälja silt Live Chati eelvormis | |
schedule |
string | JSON-kodeeringus string (nädalapäevade lülitid + from/to + timezone) |
Live Chati töögraafik - täpse kuju leiate jaotisest "Structured fields and ranges" |
outOfHoursMessage |
string | Sõnum, mida kuvatakse väljaspool tööaega | |
closeModalMessage |
string | Modaalakna "close live chat?" (sulge reaalajas vestlus?) pealkiri | |
closeModalConfirmLabel |
string | Kinnitusnupu silt sulgemise modaalaknas | |
closeModalCancelLabel |
string | Tühistamisnupu 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 liitu määratud aja jooksul | |
waitingForOperatorToJoinLabel |
string | Silt, mida kuvatakse operaatori ootamise ajal | |
waitingForOperatorSeconds |
int | Ooteaeg operaatori vastamiseni (sekundites) | |
redirectToHumanSupportForm |
boolean | Kui tõene, suunatakse vestlus edasi inimetoe (Human Support) vormile, kui ükski operaator ei vasta | |
missedEmailEnabled |
boolean | vaikimisi true |
Saada boti omanikule e-kiri, kui reaalajas vestluse päring jäi vastuseta. Vanematel boti versioonidel määramata, mis loetakse lubatuks |
requirePolicyAccept asub väljal 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 inimetoe vormi esitamist | |
leadCollectionRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne müügivihje vormi esitamist | |
liveChatRequirePolicyAccept |
boolean | Nõua privaatsuspoliitikaga nõustumist enne Live Chati seansi alustamist | |
newConversationConsentDescription |
string | Nõusoleku kuva sissejuhatav tekst vestluse alguses | |
privacyPolicyConsentCheckboxLabel |
string | Silt nõusoleku märkeruudu kõrval (sisaldab tavaliselt linki privaatsuspoliitikale) |
§ whiteLabel
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
hideRoboAssistLogo |
boolean | White Labeli võimalus; sõltub konto piirangutest | Peida jaluses olev ChatLabi vaikelogo |
whitelabelLogoLink |
string | White Labeli võimalus; sõltub konto piirangutest | URL, kuhu kohandatud jaluselogo lingib |
assignToCustomDomain |
boolean | piiratud funktsiooniga CUSTOM_DOMAIN |
Majuta vestlust konfigureeritud kohandatud domeenil |
whitelabelLogoUrl |
string | kirjutuskaitstud | White Labeli logo täielik avalik URL; selle muutmiseks laadige fail üles mitmeosalise päringu osaga whitelabel_logo |
Mitmeosaline sisu POST-/PATCH-päringul: whitelabel_logo (failiosa). GET-päringute ja vastuste keha jätab failisisu välja - võrgupäringus liigub ainult URL.
§ security
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
allowedDomains |
string | Komadega eraldatud nimekiri domeenidest, millel on lubatud vidinat manustada (tühi = valget nimekirja pole) | |
spamFilterEnabled |
boolean | Luba sissetulevatele sõnumitele botipõhine rämpspostifilter | |
countryFilterMode |
string | BLACKLIST või WHITELIST |
Kuidas riikide nimekirju tõlgendatakse. Nimekirjad ise jäävad ainult administraatorile nähtavaks |
talkMessagesRateLimit |
int | >= 0; 0 keelab |
Maksimaalne kasutaja sõnumite arv päringupiirangu 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õnest tekstiks) | |
conversationEnabled |
boolean | nõuab paketis häälefunktsiooni | Luba täielikud häälvestlused |
voiceId |
string | teenusepakkujapõhine hääle id (nt alloy) |
Milline sünteetiline hääl räägib |
model |
string | nt GPT-REALTIME-MINI, GEMINI-LIVE, ELEVENLABS-* |
Häälemudel. Arveldatakse minuti alusel, hinnad erinevad mudelite lõikes |
turnDetection |
string | teenusepakkujapõhine | Rääkimisjärje tuvastamise režiim |
audioPrompt |
string | Täiendav süsteemiviip, mida kasutatakse ainult häälsuhtluse käikudes | |
welcomeMessage |
string | Räägitav avasõnum | |
language |
string | keelekood | Peamine hääle keel |
additionalLanguages |
string | komadega eraldatud keelekoodid | Lisakeeled, mida häälagent aktsepteerib |
maxDurationSeconds |
int | Ühe häälvestluse range ülempiir | |
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 fikseeritud loendi režiim |
Kuidas bot vastuse keele valib |
baseLanguage |
string | keelekood | Keel, milles boti enda tekstid on koostatud |
languages |
string | komadega eraldatud keelekoodid | Külastajale pakutavad keeled |
knowledgeLanguageMode |
string | Kuidas koheldakse teistes keeltes olevat teadmusbaasi | |
knowledgeLanguageFallback |
string | keelekood | Keel, mida kasutatakse vaste puudumisel |
§ advanced
| Väli | Tüüp | Piirang | Kirjeldus |
|---|---|---|---|
model |
string | sõltub konto piirangutest; vaadake eespool jaotist "AI text models" | Suure keelemudeli (LLM) identifikaator (nt 5-MINI) |
temperature |
decimal | 0.0-1.0 |
Diskreetimistemperatuur (vastab kasutajaliidese liugurile) |
chatContextSize |
int | ∈ {8000, 16000, 32000}; kohandatakse vaikselt teie konto limiidiga |
Vestluse ajaloo märgiseaken (token window) |
botMessagesLimit |
long | 0 või arvu 1000 kordne (nt 1000, 2000, 10000) |
Boti vastuste maksimaalne arv vestluse kohta (0 = piiranguta) |
internalLocale |
string | lokaadikood kujul ll_CC |
Vidina raami siltide lokaat (erineb parameetrist role.language) |
productsViewEnabled |
boolean | Kui tõene, kuvatakse e-kaubanduse funktsiooni Offer Cards vestluses | |
includeProductsInKnowledgeBase |
boolean | Kui tõene, indekseeritakse tootekataloog osana teadmusbaasist |
Väljaspool API ulatust
Administraatori kasutajaliides sisaldab mõningaid alasid, mis on Management API selles versioonis teadlikult avaldamata:
- Vahekaart Flow (Töövoog) - visuaalne vestlusvoo redaktor Flow Editor (etapid ja üleminekud). Pole Management API kaudu kättesaadav.
- Vahekaart Actions (Toimingud) - hallatavad e-kaubanduse / broneerimise integratsioonid, AI Search ja kohandatud API funktsioonid. Tööriistade väljakutsumine (tool calling) pole kunagi olnud Management API osa.
- Kohandatud vormide koostaja ise - kohandatud vormide loomine ja muutmine pole avaldatud. Samas saate olemasoleva vormi botiga siduda parameetrite
leadCollection.customFormIdjahumanSupport.customFormIdkaudu. - Kohandatud vestluse avamise/sulgemise ikoonid -
customLauncherIconVisible,openChatIcon,closeChatIcon. API teeb kättesaadavaks ainult peamised mitmeosalise sisu osadavatarjawhitelabel_logo. - IP- ja riikide nimekirjad - kirjed ise on kättesaadavad ainult administraatorile. Avaldatud on vaid tõlgendusrežiim välja
security.countryFilterModekaudu.
Lõpp-punktid
POST /v1/management/bots
Looge uus robot. Aktsepteeritakse kahte samaväärset Content-Type päist; valige see, mis on mugavam.
Režiim A - tavaline JSON (soovitatav, kui teil pole vaja sama päringuga avatari / logo üles laadida):
Content-Type: application/json- Päringu keha (request body) on roboti konfiguratsiooni JSON (ilma
datamähiseta) - Faile (avatar / logo) saab laadida üles hiljem teise
PATCHpäringuga, kasutades režiimi B
Režiim B - multipart/form-data (kasutage failide üleslaadimiseks samas päringus):
Content-Type: multipart/form-data; boundary=...dataJSON-osa (kohustuslik,Content-Type: application/json) - roboti konfiguratsioon eelpool kirjeldatud pesastatud struktuurisavatarfailiosa (valikuline) - roboti avataripiltwhitelabel_logofailiosa (valikuline) - White Label logo (kehtib ainult juhul, kui teie konto sisaldab White Label funktsiooni)
Ainult name on JSON-is kohustuslik; kõigi teiste väljade vaikeväärtuseks määratakse sama vaikeväärtus, mille seadistaks administraatori kasutajaliidese viisard.
Täielik päringu keha
See on maksimaalne data JSON - kõik jaotised 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-MINI",
"temperature": 0.4,
"chatContextSize": 16000,
"botMessagesLimit": 1000,
"internalLocale": "en_US",
"productsViewEnabled": false
}
}
Valideerimisreeglid koos vastavate veateadetega:
name- kohustuslik, kuni 150 tähemärkiadvanced.temperature- vahemikus0.0kuni1.0chatMemory.summariesToKnowledgeRatio- täisarv vahemikus10kuni90(protsent, sammuga10)appearance.launcherBottomMargin,appearance.launcherSideMargin- vahemikus0kuni500appearance.footerMarkdown- kuni 255 tähemärkihumanSupport.enabled=truenõuab väljahumanSupport.emailmääramistleadCollection.enabled=truenõuab, et vähemalt üks väljadestleadCollection.emailEnabledvõileadCollection.phoneEnabledoleks true; mis tahes kanal on sisse lülitatud, nõuab ka vastavat silti ning väljuleaveDetailsMessagejathankYouMessage- Piiranguga väljad (
advanced.chatContextSize,advanced.botMessagesLimitjne) viiakse vaikselt vastavusse teie konto limiitidega
Väljad, mille väärtus serveris on null, jäetakse JSON-i kehast välja - võrgu kaudu edastatakse ainult väljad, millel on mitte-null väärtus.
Täielik vastuse 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äidetakse serveri poolt, kui vastavad multipart-osad laaditi üles.
{
"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"
}
Väli apiKey kuvatakse ainult loomisel - see on värskelt loodud Bot Talk võti, mis on seotud uue robotiga. Lihtteksti kuvatakse üks kord ja seda ei saa hiljem API kaudu uuesti hankida; salvestage see kohe enda poolel.
Vastuse päis Location sisaldab uue roboti URL-i (/v1/management/bots/{id}).
Curl-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 roboti praeguse konfiguratsiooni.
Curl-näide
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..."
Täielik vastuse keha (200)
Sama struktuur nagu POST vastusel, välja arvatud ühekordne apiKey. Plokk meta on kaasatud. Tagastab 404 not_found_error, kui robotit pole olemas 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 seda päringut teenindas. Hankige baidid otse nendele URL-idele GET-päringut tehes; kummagi faili asendamiseks laadige PATCH-päringus ü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-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"
}
}
Roboti kloonimine
Päringu POST /v1/management/bots keha ja vastuse GET /v1/management/bots/{bot_id} keha on sama kujuga, mistõttu kloonimine on kolmesammuline protsess: tehke allikale GET, eemaldage serveri hallatavad identiteediväljad ning tehke tulemusele POST.
1. Tehke allikrobotile GET.
curl https://api.chatlab.com/aichat/v1/management/bots/4287 \
-H "Authorization: Bearer mk_..." \
-o source-bot.json
2. Eemaldage tipptaseme plokk meta. Objekt meta (id, createdAt, updatedAt) on serveri hallatav ja kirjutuskaitstud - selle jätmine POST-päringu kehasse ei tee halba (server ignoreerib seda), kuid selle eemaldamine väljendab selget kavatsust ja hoiab andmevoo puhtana. Soovi korral muutke välja name, et kloon oleks allikast eristatav.
jq 'del(.meta) | .name = "Helpdesk Bot (clone)"' source-bot.json > clone-body.json
3. Klooni loomiseks tehke eemaldatud plokkidega kehale POST. Päringu keha täieliku kuju ja valideerimisreeglid leiate ülaltoodud viitest 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 roboti väärtust meta.id ja värskelt loodud võtit apiKey (klooni Bot Talk võti). Välja apiKey lihttekst tagastatakse ainult selles loomisvastuses - kopeerige see enne vastuse keha sulgemist; hiljem pole seda võimalik enam kätte saada.
Kaks hoiatust:
- Faile ei kloonita. Väljad
appearance.avatarUrljawhiteLabel.whitelabelLogoUrlon kirjutuskaitstud ning viitavad allikroboti failidele. Kui vajate kloonil sama avatari või White Label logo, laadige baidid allika URL-idelt alla ning laadige need üles mitmeosaliste (multipart) osadenaavatar/whitelabel_logo- kas loomise POST-päringuga (režiim B) või hilisema PATCH-päringuga. - Bot Talk võtmeid ei kloonita. Igal robotil on oma Bot Talk võtmete kogum. Loomise POST-päringu tagastatud üksik
apiKeyon ainus automaatselt loodav võti; vajadusel looge lisavõtmeid roboti API vahekaardilt (API tab).
PATCH /v1/management/bots/{bot_id}
Uuendage ühte või mitut välja teile kuuluval robotil. Muudetakse ainult JSON-is olevaid jaotisi/välju; kõik välja jäetud (või väärtusena null saadetud) andmed jäetakse puutumata. Saadetud jaotise sees kehtib osalise uuendamise semantika välja kohta.
Aktsepteeritakse kahte samaväärset sisutüüpi (Content-Type) (sama mis POST puhul):
Režiim A - tavaline JSON (soovitatav, kui uuendatakse ainult seadeid):
Content-Type: application/json- Päringu keha on patch JSON (ilma
datamähiseta)
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) - asendage avatarwhitelabel_logofailiosa (valikuline) - asendage White Label logo (kehtib ainult juhul, kui teie konto sisaldab White Label funktsiooni)
Kõik kolm osa on PATCH-päringu puhul valikulised, kuid päringu mõttekuse tagamiseks peab vähemalt üks neist olemas olema.
Täielik päringu keha (maksimaalne maht)
Siin võib saata mis tahes välja, mida aktsepteerib POST /v1/management/bots. Allpool toodud näide on täielik maht; praktikas saadate ainult need võtmed, mida soovite muuta (vt allpool "Minimaalne osaline uuendus") - iga välja jäetud (või väärtusena 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 uuendus
Tehke PATCH ühele väljale, saates täpselt need võtmed, mida soovite muuta - kõik muu säilitatakse.
{
"appearance": {
"launcherColor": "#abcdef"
}
}
Curl 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 - multipart (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 ei muudeta):
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 kuju nagu GET /v1/management/bots/{bot_id} puhul - roboti täielik konfiguratsioon pärast patch-uuenduse rakendamist, sealhulgas plokk meta. Välja apiKey ei ole. Tagastab 404 not_found_error, kui robotit ei eksisteeri või see ei kuulu teie kontole.
Alltoodud näide kuvab vastust pärast ülaltoodud Täieliku päringu keha (maksimaalne maht) patch-uuenduse rakendamist GET-näite robotile - muudetud väljad kajastavad uusi väärtusi, puutumata väljad säilitatakse ning 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": "standard",
"messages": {"used": 4123, "limit": 11000, "remaining": 6877},
"bots": {"used": 3, "limit": 5, "remaining": 2}
}
subscriptionTypeon konto praeguse paketi väiketähtedega identifikaator (nt näitesstandard). Paketid pärinevad dünaamilisest kataloogist, mistõttu identifikaatorite täpne hulk võib aja jooksul pakettide ümbernimetamisel või lisamisel muutuda - käsitlege seda läbipaistmatu stringina, mitte fikseeritud loendina (enum).messages.used/limit/remainingon praeguse arveldusperioodi sõnumikrediidid.bots.used/limit/remainingloendavad aktiivseid roboteid teie konto robotite limiidi suhtes.
Päringulimiidi päised
Vastused, mis jõuavad päringulimiidi kontrolli etapini (st autentimine ja IP-lubatud nimekiri on läbitud), sisaldavad järgmisi päiseid:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 7
X-RateLimit-Reset: 1715430000
X-RateLimit-Limit- sellele päringule tegelikult rakendatud võtmepõhine ülempiir (vaikimisi 10 või teie seadistatudrateLimitPerMinute, kui see on madalam).X-RateLimit-Remaining- salves vahetult pärast seda päringut järele jäänud märkide arv.X-RateLimit-Reset- Unixi ajatempli sekundid, millal järgmine märk muutub kättesaadavaks (see ei ole kogu salve lähtestamine; salve täidetakse pidevalt uuesti). Kui salv on täis, on see praegune kellaaeg.
Vastuste 429 rate_limit_exceeded korral määratakse ka päis Retry-After, mis väljendab täissekundeid seni, kuni vabaneb vähemalt üks märk.
Autentimiseelsed vead (401 missing_api_key, 401 invalid_api_key, 403 ip_blocked) ja 403 ip_not_whitelisted ei sisalda päiseid X-RateLimit-* - limiidihaldurit kontrollitakse alles pärast autentimise ja IP kontrolli edukat läbimist.
Vigade vorming
Sama ümbrik nagu funktsioonil Bot Talk API:
{
"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 vea tekitanud 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äärtustega väljade valed 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
Vestluse lõpp-punktide ja SSE-voogedastuse kohta lugege juhendist Bot Talk API.