"use strict";(self.webpackChunknewoaks_help=self.webpackChunknewoaks_help||[]).push([[7865],{1164:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>h,default:()=>p,frontMatter:()=>d,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"api/get-message-history","title":"Get Messages History","description":"The  API enables you to query chatbot historical messages by sending a POST request to the /chat/Chatbot/ChatContentHistory endpoint.","source":"@site/developer/api/112.get-message-history.md","sourceDirName":"api","slug":"/api/get-message-history","permalink":"/guides/developer/api/get-message-history","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":112,"frontMatter":{"sidebar_position":112},"sidebar":"sidebar","previous":{"title":"Get Message Credits Usage","permalink":"/guides/developer/api/get-message-credits-usage"},"next":{"title":"Get Chatbot Messages Count","permalink":"/guides/developer/api/get-chatbot-messages-count"}}');var r=s(4848),i=s(8453),o=s(767),a=s(8175);const d={sidebar_position:112},h="Get Messages History",l={},c=[{value:"Endpoint",id:"endpoint",level:2},{value:"Request Headers",id:"request-headers",level:2},{value:"Request Body",id:"request-body",level:2},{value:"Example Request",id:"example-request",level:2},{value:"Response",id:"response",level:2},{value:"Error Handling",id:"error-handling",level:2}];function u(e){const t={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"get-messages-history",children:"Get Messages History"})}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(a.A,{})," API enables you to query chatbot historical messages by sending a ",(0,r.jsx)(t.code,{children:"POST"})," request to the ",(0,r.jsx)(t.code,{children:"/chat/Chatbot/ChatContentHistory"})," endpoint."]}),"\n",(0,r.jsx)(t.h2,{id:"endpoint",children:"Endpoint"}),"\n",(0,r.jsx)(o.TM,{path:"/chat/Chatbot/ChatContentHistory",method:"POST"}),"\n",(0,r.jsx)(t.h2,{id:"request-headers",children:"Request Headers"}),"\n",(0,r.jsx)(o.iW,{headers:{Authorization:"<Your-Secret-Key>"}}),"\n",(0,r.jsx)(t.h2,{id:"request-body",children:"Request Body"}),"\n",(0,r.jsx)(o.VQ,{requestBody:{SerialNumber:"36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35",StartTime:"2025-01-01",EndTime:"2025-03-07"},requestBodyParams:{serialNumber:"string, required - The unique identifier (ID) of the chatbot",startTime:"string, optional - Start date for filtering (format: YYYY-MM-DD) - The time zone is UTC.",endTime:"string, optional - End date for filtering (format: YYYY-MM-DD) - The time zone is UTC."}}),"\n",(0,r.jsx)(t.h2,{id:"example-request",children:"Example Request"}),"\n",(0,r.jsx)(o.r3,{method:"POST",path:"/chat/Chatbot/ChatContentHistory",headers:{Authorization:"<Your-Session-Key>"},requestBody:{SerialNumber:"36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35",StartTime:"2025-01-01",EndTime:"2025-03-07"}}),"\n",(0,r.jsx)(t.h2,{id:"response",children:"Response"}),"\n",(0,r.jsx)(o.zV,{responseExample:{Data:[{SessionID:31302,CreateTime:"2023-11-21T16:22:42.264484Z",URI:"xxx",Messages:[{Type:"AI",Content:"Hi What can I help you with?"},{Type:"User",Content:"make an appointment"},{Type:"AI",Content:"Please select the date and time..."}]}]},responseComments:{Data:"object - Messages within the chatbot time period","Data.Total":"integer - Total number of message credits allocated (-1 indicates unlimited credits)","Data.Used":"integer - Number of message credits that have been used","Data.Remain":"integer - Number of message credits remaining (-1 indicates unlimited remaining credits)"}}),"\n",(0,r.jsx)(t.h2,{id:"error-handling",children:"Error Handling"}),"\n",(0,r.jsx)(o.NH,{})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}},767:(e,t,s)=>{s.d(t,{Ay:()=>m,NH:()=>p,TM:()=>d,VQ:()=>l,iW:()=>h,r3:()=>c,zV:()=>u});s(6540);var n=s(3532),r=s(8069),i=s(9303),o=s(4848);const a=function(e,t){void 0===t&&(t={});const s=JSON.stringify(e,null,2).split("\n"),n=[];return s.forEach((e=>{const s=e.match(/"([^"]+)":/);if(s&&t[s[1]]){const r=e.match(/^\s*/)?.[0]||"";n.push(`${r}// ${t[s[1]]}`)}n.push(e)})),n.join("\n")},d=e=>{let{path:t,method:s="POST"}=e;const r=(0,n.r)()(t)||`https://usapi.hottask.com${t}`;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("p",{children:[(0,o.jsx)("strong",{children:"Request URL:"})," ",r]}),(0,o.jsxs)("p",{children:[(0,o.jsx)("strong",{children:"Method:"})," ",s]})]})},h=e=>{let{headers:t={Authorization:"<Your-Secret-Key>","Content-Type":"application/json"},headersDescription:s={Authorization:"string, required - The secret key for authenticating the API request","Content-Type":"string, required - The content type of the request payload (must be application/json)"}}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{children:"The API request must include the following headers:"}),(0,o.jsx)("ul",{children:Object.entries(t).map((e=>{let[t,n]=e;return(0,o.jsxs)("li",{children:[(0,o.jsxs)("code",{children:[t,": ",n]})," - ",s[t]]},t)}))})]})},l=e=>{let{requestBody:t,requestBodyParams:s,addCommentsToJson:n=a}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{children:"The request body should contain the following parameters:"}),(0,o.jsx)(r.A,{language:"json",children:n(t,s)}),(0,o.jsx)("ul",{children:Object.entries(s).map((e=>{let[t,s]=e;return(0,o.jsxs)("li",{children:[(0,o.jsx)("code",{children:t})," - ",s]},t)}))})]})},c=e=>{let{method:t="POST",path:s,requestBody:a,headers:d={Authorization:"<Your-Secret-Key>","Content-Type":"application/json"}}=e;const h=(0,n.r)()(s),l="undefined"==typeof window?"usapi.hottask.com":new URL(h||`https://usapi.hottask.com${s}`).host,c={javascript:`const res = await fetch('${h||`https://usapi.hottask.com${s}`}', {\n  method: '${t}',\n  headers: ${JSON.stringify(d,null,2)},\n  body: JSON.stringify(${JSON.stringify(a,null,2)})\n});\n\nconst data = await res.json();\nconsole.log(data);`,python:`import requests\nimport json\n\nurl = '${h||`https://usapi.hottask.com${s}`}'\nheaders = ${JSON.stringify(d,null,4)}\ndata = ${JSON.stringify(a,null,2)}\n\nresponse = requests.${t.toLowerCase()}(url, headers=headers, json=data)\ndata = response.json()\nprint(data)`,bash:`curl '${h||`https://usapi.hottask.com${s}`}' \\\n  -X ${t} \\\n${Object.entries(d).map((e=>{let[t,s]=e;return`  -H '${t}: ${s}' \\`})).join("\n")}\n  -d '${JSON.stringify(a)}'`,http:`${t} ${s} HTTP/1.1\nHost: ${l}\n${Object.entries(d).map((e=>{let[t,s]=e;return`${t}: ${s}`})).join("\n")}\n\n${JSON.stringify(a,null,2)}`};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.A,{as:"h3",children:"JavaScript (Fetch API)"}),(0,o.jsx)(r.A,{language:"javascript",children:c.javascript}),(0,o.jsx)(i.A,{as:"h3",children:"Python (Requests Library)"}),(0,o.jsx)(r.A,{language:"python",children:c.python}),(0,o.jsx)(i.A,{as:"h3",children:"cURL"}),(0,o.jsx)(r.A,{language:"bash",children:c.bash}),(0,o.jsx)(i.A,{as:"h3",children:"HTTP Request"}),(0,o.jsx)(r.A,{language:"http",children:c.http})]})},u=e=>{let{responseExample:t,responseComments:s,addCommentsToJson:n=a}=e;const i={...t,Version:"1.0.0",Success:!0,Code:200,Message:""},d={...s,Version:"string - API version",Success:"boolean - Operation success status",Code:"integer - HTTP status code",Message:"string - Error message if any"};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{children:"The API response will be a JSON object with the following structure:"}),(0,o.jsx)(r.A,{language:"json",children:n(i,d)})]})},p=e=>{let{errorHandling:t="If the request fails, you should:\n1. Check the HTTP status code for network-level errors\n2. Examine the `Code` and `Message` fields in the response for business-level errors\n3. The `Message` field will contain detailed error information"}=e;return(0,o.jsx)("div",{style:{whiteSpace:"pre-line"},children:t})};function m(e){let{title:t,path:s,method:r="POST",description:i="",requestBody:m={timeZone:"Asia/Shanghai",type:0},requestBodyDescription:g={timeZone:"The time zone of the chatbot. The standard time zone format: e.g., Asia/Shanghai or America/New_York.",type:"Create a generic chatbot with a fixed value of 0"},requestBodyComments:y={timeZone:"string, required",type:"integer, required"},responseExample:j={Data:"3254a9d0424c4806b9ea3d0763xxxxxx",Version:"1.0.0",Success:!0,Code:200,Message:""},responseComments:x={Data:"chatbot id"},headers:f={Authorization:"<Your-Secret-Key>","Content-Type":"application/json"},headersDescription:T={Authorization:"The secret key for authenticating the API request.","Content-Type":"The content type of the request payload."},errorHandling:b="If it's an HTTP network error, you should check the `HTTP status code`. If it's a business exception, you need to examine the `Code` and `Message` fields, which will provide the error details."}=e;const w=(0,n.r)()(s),q="undefined"==typeof window?"usapi.hottask.com":new URL(w||`https://usapi.hottask.com${s}`).host;JSON.stringify(f,null,2),a(m,y),JSON.stringify(f,null,4),a(m,y),r.toLowerCase(),Object.entries(f).map((e=>{let[t,s]=e;return`  -H '${t}: ${s}' \\`})).join("\n"),JSON.stringify(m),Object.entries(f).map((e=>{let[t,s]=e;return`${t}: ${s}`})).join("\n"),a(m,y);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(d,{path:s,method:r}),(0,o.jsx)(h,{headers:f,headersDescription:T}),(0,o.jsx)(l,{requestBody:m,requestBodyParams:g,addCommentsToJson:a}),(0,o.jsx)(c,{method:r,path:s,requestBody:m,headers:f}),(0,o.jsx)(u,{responseExample:j,responseComments:x,addCommentsToJson:a}),(0,o.jsx)(p,{errorHandling:b})]})}},8175:(e,t,s)=>{s.d(t,{A:()=>i});s(6540);var n=s(5872),r=s(4848);function i(){let e=(0,n.K)()();return["newoaks.ai","www.newoaks.ai","eu.newoaks.ai"].includes(e)&&(e="NewOaks AI"),"appointify.ai"===e&&(e="Appointify AI"),(0,r.jsx)("code",{children:e})}},3532:(e,t,s)=>{function n(){return function(e){if("undefined"==typeof window)return"";const t=window.location.hostname;let s="";return s="www.newoaks.ai"==t||"newoaks.ai"==t?"https://usapi.hottask.com":"eu.newoaks.ai"==t?"https://euapi.hottask.com":`https://${t}`,e?`${s}${e.startsWith("/")?e:`/${e}`}`:s}}s.d(t,{r:()=>n})},5872:(e,t,s)=>{function n(){return function(){return"undefined"==typeof window?"":window.location.hostname}}s.d(t,{K:()=>n})}}]);