"use strict";(self.webpackChunknewoaks_help=self.webpackChunknewoaks_help||[]).push([[5209],{7256:(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/chatbot/knowledge/source/googlesheet/get-googlesheet-data","title":"Get Google Sheet Data","description":"The API enables the retrieval of google sheet source data for a specified chatbot by sending a GET request to the /chat/Chatbot/GetGoogleGoolgeSheetData endpoint.","source":"@site/developer/api/002.chatbot/002.knowledge/002.source/002.googlesheet/101.get-googlesheet-data.md","sourceDirName":"api/002.chatbot/002.knowledge/002.source/002.googlesheet","slug":"/api/chatbot/knowledge/source/googlesheet/get-googlesheet-data","permalink":"/guides/developer/api/chatbot/knowledge/source/googlesheet/get-googlesheet-data","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":10,"frontMatter":{"sidebar_position":10},"sidebar":"sidebar","previous":{"title":"Google Sheet","permalink":"/guides/developer/category/google-sheet"},"next":{"title":"Create Google Sheet Data","permalink":"/guides/developer/api/chatbot/knowledge/source/googlesheet/create-googlesheet-data"}}');var o=s(4848),r=s(8453),a=s(767),i=s(8175);const d={sidebar_position:10},h="Get Google Sheet Data",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={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"get-google-sheet-data",children:"Get Google Sheet Data"})}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(i.A,{})," API enables the retrieval of google sheet source data for a specified chatbot by sending a ",(0,o.jsx)(t.code,{children:"GET"})," request to the ",(0,o.jsx)(t.code,{children:"/chat/Chatbot/GetGoogleGoolgeSheetData"})," endpoint."]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.strong,{children:"\u26a0\ufe0f Attention: This API is only compatible with regular chatbots and is not yet compatible with template-based chatbots."})}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"endpoint",children:"Endpoint"}),"\n",(0,o.jsx)(a.TM,{path:"/chat/Chatbot/GetGoogleGoolgeSheetData",method:"GET"}),"\n",(0,o.jsx)(t.h2,{id:"request-headers",children:"Request Headers"}),"\n",(0,o.jsx)(a.iW,{}),"\n",(0,o.jsx)(t.h2,{id:"request-body",children:"Request Body"}),"\n",(0,o.jsx)(a.VQ,{requestBody:{serialNumber:"3254a9d0424c4806b9ea3d0763xxxxxx",ids:[1,2],pageSize:10,pageNumber:1,isASC:!0},requestBodyParams:{serialNumber:"string, required - The unique identifier (ID) of the chatbot",ids:"array of integers, optional - List of data IDs to retrieve",pageSize:"integer, optional - The maximum number of items to return per page, default is 10",pageNumber:"integer, optional - The page number to retrieve, default is 1",isASC:"boolean, optional - Indicates whether the results should be sorted in ascending order, default is true"}}),"\n",(0,o.jsx)(t.h2,{id:"example-request",children:"Example Request"}),"\n",(0,o.jsx)(a.r3,{method:"GET",path:"/chat/Chatbot/GetSource",requestBody:{serialNumber:"3254a9d0424c4806b9ea3d0763xxxxxx"}}),"\n",(0,o.jsx)(t.h2,{id:"response",children:"Response"}),"\n",(0,o.jsx)(a.zV,{responseExample:{Data:{List:[{ID:1,url:"XXXXX",name:"xiaomi",productname:"xiaomi 16",price:999},{ID:2,url:"XXXXX",name:"apple",productname:"iphone 16 pro max",price:999}],VirtualCount:2}},responseComments:{Data:"object - Represents the paginated query results.\n //In each list item, the ID field serves as the unique identifier for every data row.\n //It's important to note that fields like url, name, productname, and price are dynamic custom fields.\n //Their definitions and values are determined by the user, and can be adjusted according to specific requirements.","Data.List":"array of objects - Contains the specific data items for the current page.","Data.VirtualCount":"integer - Indicates the total number of records in the query results."}}),"\n",(0,o.jsx)(t.h2,{id:"error-handling",children:"Error Handling"}),"\n",(0,o.jsx)(a.NH,{})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},767:(e,t,s)=>{s.d(t,{Ay:()=>g,NH:()=>p,TM:()=>d,VQ:()=>l,iW:()=>h,r3:()=>c,zV:()=>u});s(6540);var n=s(3532),o=s(8069),r=s(9303),a=s(4848);const i=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 o=e.match(/^\s*/)?.[0]||"";n.push(`${o}// ${t[s[1]]}`)}n.push(e)})),n.join("\n")},d=e=>{let{path:t,method:s="POST"}=e;const o=(0,n.r)()(t)||`https://usapi.hottask.com${t}`;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:[(0,a.jsx)("strong",{children:"Request URL:"})," ",o]}),(0,a.jsxs)("p",{children:[(0,a.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,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"The API request must include the following headers:"}),(0,a.jsx)("ul",{children:Object.entries(t).map((e=>{let[t,n]=e;return(0,a.jsxs)("li",{children:[(0,a.jsxs)("code",{children:[t,": ",n]})," - ",s[t]]},t)}))})]})},l=e=>{let{requestBody:t,requestBodyParams:s,addCommentsToJson:n=i}=e;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"The request body should contain the following parameters:"}),(0,a.jsx)(o.A,{language:"json",children:n(t,s)}),(0,a.jsx)("ul",{children:Object.entries(s).map((e=>{let[t,s]=e;return(0,a.jsxs)("li",{children:[(0,a.jsx)("code",{children:t})," - ",s]},t)}))})]})},c=e=>{let{method:t="POST",path:s,requestBody:i,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(i,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(i,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(i)}'`,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(i,null,2)}`};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.A,{as:"h3",children:"JavaScript (Fetch API)"}),(0,a.jsx)(o.A,{language:"javascript",children:c.javascript}),(0,a.jsx)(r.A,{as:"h3",children:"Python (Requests Library)"}),(0,a.jsx)(o.A,{language:"python",children:c.python}),(0,a.jsx)(r.A,{as:"h3",children:"cURL"}),(0,a.jsx)(o.A,{language:"bash",children:c.bash}),(0,a.jsx)(r.A,{as:"h3",children:"HTTP Request"}),(0,a.jsx)(o.A,{language:"http",children:c.http})]})},u=e=>{let{responseExample:t,responseComments:s,addCommentsToJson:n=i}=e;const r={...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,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"The API response will be a JSON object with the following structure:"}),(0,a.jsx)(o.A,{language:"json",children:n(r,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,a.jsx)("div",{style:{whiteSpace:"pre-line"},children:t})};function g(e){let{title:t,path:s,method:o="POST",description:r="",requestBody:g={timeZone:"Asia/Shanghai",type:0},requestBodyDescription:m={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:x={timeZone:"string, required",type:"integer, required"},responseExample:f={Data:"3254a9d0424c4806b9ea3d0763xxxxxx",Version:"1.0.0",Success:!0,Code:200,Message:""},responseComments:j={Data:"chatbot id"},headers:y={Authorization:"<Your-Secret-Key>","Content-Type":"application/json"},headersDescription:b={Authorization:"The secret key for authenticating the API request.","Content-Type":"The content type of the request payload."},errorHandling:w="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 q=(0,n.r)()(s),T="undefined"==typeof window?"usapi.hottask.com":new URL(q||`https://usapi.hottask.com${s}`).host;JSON.stringify(y,null,2),i(g,x),JSON.stringify(y,null,4),i(g,x),o.toLowerCase(),Object.entries(y).map((e=>{let[t,s]=e;return` -H '${t}: ${s}' \\`})).join("\n"),JSON.stringify(g),Object.entries(y).map((e=>{let[t,s]=e;return`${t}: ${s}`})).join("\n"),i(g,x);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(d,{path:s,method:o}),(0,a.jsx)(h,{headers:y,headersDescription:b}),(0,a.jsx)(l,{requestBody:g,requestBodyParams:m,addCommentsToJson:i}),(0,a.jsx)(c,{method:o,path:s,requestBody:g,headers:y}),(0,a.jsx)(u,{responseExample:f,responseComments:j,addCommentsToJson:i}),(0,a.jsx)(p,{errorHandling:w})]})}},8175:(e,t,s)=>{s.d(t,{A:()=>r});s(6540);var n=s(5872),o=s(4848);function r(){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,o.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})}}]);