Sidetalk사용자 가이드
사이드톡 홈페이지 ↗대시보드 열기

테이블 데이터 조회 API

목적

이 API는 테이블에 저장된 데이터 목록을 등록일 기준 최신순으로 조회합니다.
조회 개수를 전달하지 않으면 해당 테이블의 전체 데이터를 조회합니다. page와 limit을 함께 사용하면 데이터를 페이지 단위로 조회할 수 있습니다.

URL


HTTP 메서드

GET

헤더

헤더값설명
AuthorizationBearer <api_key>Sidetalk 대시보드의 설치하기 메뉴에서 발급한 API KEY를 사용하세요.

파라미터 (Query String)

파라미터타입필수설명
tableIdString예조회할 테이블의 ID입니다. 테이블 설정에서 복사할 수 있습니다.
limitNumber아니요한 페이지에서 조회할 데이터 개수입니다. 생략하면 전체 데이터를 조회합니다.
pageNumber아니요조회할 페이지 번호입니다. limit으로 지정한 개수를 한 페이지 단위로 사용합니다. 예를 들어 limit=10이면 최신 데이터부터 10개씩 나뉘며, page=1은 1~10번째, page=2는 11~20번째 데이터를 조회합니다. 생략하면 기본값은 1입니다.

테이블 ID 확인 위치

테이블 ID는 다음 경로에서 확인할 수 있습니다.
  1. 사이드톡 대시보드에서 테이블 관리 메뉴로 이동합니다.
  2. ID를 확인할 테이블의 데이터 관리로 들어갑니다.
  3. 데이터 관리 화면 오른쪽 상단의 톱니바퀴 아이콘을 클릭합니다.
  4. 테이블 설정의 테이블 데이터 API 연동 영역에서 테이블 ID를 확인합니다.
  5. 테이블 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. 조회 결과
필드타입설명
successBoolean요청 성공 여부입니다.
table_idString조회한 테이블의 고유 ID입니다.
table_nameString조회한 테이블의 이름입니다.
pageNumber현재 조회한 페이지 번호입니다.
total_countNumber테이블에 저장된 전체 데이터 개수입니다.
rowsArray등록일 기준 최신순으로 조회된 데이터 목록입니다.
2. 데이터 목록 (rows)
필드타입설명
entry_idString데이터 행의 고유 식별자입니다.
created_atString데이터가 등록된 일시입니다.
updated_atString데이터가 마지막으로 수정된 일시입니다.
columnsObject컬럼 이름을 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."
}

오류 응답 필드 설명

필드타입설명
successBoolean요청 성공 여부입니다. 오류 발생 시 false입니다.
errorString발생한 오류에 대한 상세 정보입니다.

주의사항

  • 테이블 ID는 테이블 관리 → 데이터 관리 → 오른쪽 상단 톱니바퀴 → 테이블 데이터 API 연동에서 확인할 수 있습니다.
  • 데이터는 created_at 기준 최신순으로 반환됩니다.
  • page를 생략하면 첫 번째 페이지가 조회됩니다.
  • page=2 이상을 요청하려면 limit을 함께 전달해야 합니다.
  • limit을 생략하면 전체 데이터를 조회합니다. 데이터가 많은 경우 limit과 page를 사용한 분할 조회를 권장합니다.
  • 각 행의 실제 데이터는 rows 배열의 columns 객체에서 확인할 수 있습니다.
  • columns는 컬럼 이름을 key로 사용하므로 컬럼 이름을 변경하면 응답의 key도 변경됩니다.
  • 테이블 ID만으로는 조회할 수 없으며 해당 테이블을 소유한 사이트의 API KEY가 필요합니다.
  • API KEY 보호를 위해 실제 서비스에서는 브라우저보다 서버에서 API를 호출하는 것을 권장합니다.