테이블 데이터 조회 API
목적
이 API는 테이블에 저장된 데이터 목록을 등록일 기준 최신순으로 조회합니다.
조회 개수를 전달하지 않으면 해당 테이블의 전체 데이터를 조회합니다.
page와 limit을 함께 사용하면 데이터를 페이지 단위로 조회할 수 있습니다.URL
HTTP 메서드
GET
헤더
| 헤더 | 값 | 설명 |
|---|---|---|
| Authorization | Bearer <api_key> | Sidetalk 대시보드의 설치하기 메뉴에서 발급한 API KEY를 사용하세요. |
파라미터 (Query String)
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| tableId | String | 예 | 조회할 테이블의 ID입니다. 테이블 설정에서 복사할 수 있습니다. |
| limit | Number | 아니요 | 한 페이지에서 조회할 데이터 개수입니다. 생략하면 전체 데이터를 조회합니다. |
| page | Number | 아니요 | 조회할 페이지 번호입니다. limit으로 지정한 개수를 한 페이지 단위로 사용합니다. 예를 들어 limit=10이면 최신 데이터부터 10개씩 나뉘며, page=1은 1~10번째, page=2는 11~20번째 데이터를 조회합니다. 생략하면 기본값은 1입니다. |
테이블 ID 확인 위치
테이블 ID는 다음 경로에서 확인할 수 있습니다.
- 사이드톡 대시보드에서 테이블 관리 메뉴로 이동합니다.
- ID를 확인할 테이블의 데이터 관리로 들어갑니다.
- 데이터 관리 화면 오른쪽 상단의 톱니바퀴 아이콘을 클릭합니다.
- 테이블 설정의 테이블 데이터 API 연동 영역에서 테이블 ID를 확인합니다.
- 테이블 ID 입력란을 클릭하면 클립보드에 복사됩니다.
요청 예시
최신 데이터 10개 조회
page를 생략하면 첫 번째 페이지가 조회됩니다.Shell
curl -X GET \
"https://api.sidetalk.ai/v1/data-sheets?tableId=${TABLE_ID}&limit=10" \
-H "Authorization: Bearer ${API_KEY}"두 번째 페이지 조회
최신 데이터 다음의 10개를 조회합니다.
Shell
curl -X GET \
"https://api.sidetalk.ai/v1/data-sheets?tableId=${TABLE_ID}&limit=10&page=2" \
-H "Authorization: Bearer ${API_KEY}"전체 데이터 조회
Shell
curl -X GET \
"https://api.sidetalk.ai/v1/data-sheets?tableId=${TABLE_ID}" \
-H "Authorization: Bearer ${API_KEY}"응답 형식
응답은 JSON 형식으로 제공되며, 데이터는
created_at 기준 최신순으로 반환됩니다.응답 본문
JSON
{
"success": true,
"table_id": "12345678-1234-1234-1234-123456789abc",
"table_name": "고객 문의",
"page": 1,
"total_count": 25,
"rows": [
{
"entry_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"created_at": "20260728143000",
"updated_at": "20260728143000",
"columns": {
"고객명": "홍길동",
"전화번호": "010-1234-5678"
}
}
]
}응답 필드 설명
1. 조회 결과
| 필드 | 타입 | 설명 |
|---|---|---|
| success | Boolean | 요청 성공 여부입니다. |
| table_id | String | 조회한 테이블의 고유 ID입니다. |
| table_name | String | 조회한 테이블의 이름입니다. |
| page | Number | 현재 조회한 페이지 번호입니다. |
| total_count | Number | 테이블에 저장된 전체 데이터 개수입니다. |
| rows | Array | 등록일 기준 최신순으로 조회된 데이터 목록입니다. |
2. 데이터 목록 (
rows)| 필드 | 타입 | 설명 |
|---|---|---|
| entry_id | String | 데이터 행의 고유 식별자입니다. |
| created_at | String | 데이터가 등록된 일시입니다. |
| updated_at | String | 데이터가 마지막으로 수정된 일시입니다. |
| columns | Object | 컬럼 이름을 key로 사용하는 실제 데이터입니다. |
예시 코드 (JavaScript)
테이블 데이터 조회
JavaScript
async function getTableData(tableId, limit = null, page = 1) {
const baseUrl = "https://api.sidetalk.ai/v1/data-sheets";
const params = new URLSearchParams({
tableId: tableId
});
if (limit !== null) {
params.append("limit", limit);
}
if (page > 1) {
params.append("page", page);
}
try {
const response = await fetch(`${baseUrl}?${params.toString()}`, {
method: "GET",
headers: {
"Authorization": "Bearer [API_KEY]"
}
});
const result = await response.json();
if (!response.ok || !result.success) {
console.error(
"Server Error:",
result.error || "Unknown error"
);
return;
}
console.log(`현재 페이지: ${result.page}`);
console.log(`전체 데이터 개수: ${result.total_count}`);
result.rows.forEach(row => {
console.log(`[${row.created_at}]`, row.columns);
});
return result;
} catch (error) {
console.error("Error fetching table data:", error);
}
}최신 데이터 10개 조회:
JavaScript
getTableData("TABLE_ID", 10);두 번째 페이지 조회:
JavaScript
getTableData("TABLE_ID", 10, 2);전체 데이터 조회:
JavaScript
getTableData("TABLE_ID");오류 응답
요청 처리 중 오류가 발생하면 다음과 같은 응답이 반환됩니다.
응답 본문
JavaScript
{
"success": false,
"error": "Data sheet not found."
}오류 응답 필드 설명
| 필드 | 타입 | 설명 |
|---|---|---|
| success | Boolean | 요청 성공 여부입니다. 오류 발생 시 false입니다. |
| error | String | 발생한 오류에 대한 상세 정보입니다. |
주의사항
- 테이블 ID는 테이블 관리 → 데이터 관리 → 오른쪽 상단 톱니바퀴 → 테이블 데이터 API 연동에서 확인할 수 있습니다.
- 데이터는
created_at기준 최신순으로 반환됩니다. page를 생략하면 첫 번째 페이지가 조회됩니다.page=2이상을 요청하려면limit을 함께 전달해야 합니다.limit을 생략하면 전체 데이터를 조회합니다. 데이터가 많은 경우limit과page를 사용한 분할 조회를 권장합니다.- 각 행의 실제 데이터는
rows배열의columns객체에서 확인할 수 있습니다. columns는 컬럼 이름을 key로 사용하므로 컬럼 이름을 변경하면 응답의 key도 변경됩니다.- 테이블 ID만으로는 조회할 수 없으며 해당 테이블을 소유한 사이트의 API KEY가 필요합니다.
- API KEY 보호를 위해 실제 서비스에서는 브라우저보다 서버에서 API를 호출하는 것을 권장합니다.
