메인 콘텐츠로 건너뛰기

개요

Twenty는 프로그램 방식의 데이터 가져오기를 위해 GraphQLREST API를 모두 제공합니다. 데이터 규모상 CSV 가져오기가 실용적이지 않거나 자동화된 반복 가져오기가 필요한 경우 API를 사용하세요.

API 가져오기 사용 시기

시나리오권장 방법
10,000개 미만의 레코드CSV 가져오기
10,000 - 50,000개 레코드CSV 가져오기(파일로 분할)
50,000개 이상의 레코드API 가져오기
1회성 마이그레이션둘 다 가능(규모에 따라)
반복 가져오기API 가져오기
실시간 동기화API 가져오기
다른 시스템과의 통합API 가져오기
수십만 건 규모의 데이터셋의 경우, API가 여러 번의 CSV 가져오기보다 훨씬 빠르고 더 신뢰할 수 있습니다.

API 속도 제한

시스템 안정성을 보장하기 위해 Twenty는 속도 제한을 적용합니다:
제한
분당 요청 수100
배치 호출당 레코드 수60
최대 처리량~6,000 레코드/분
이 한도를 기준으로 가져오기 계획을 수립하세요.최대 처리량 기준으로 100,000개 레코드를 가져오는 데 약 17분이 소요됩니다. 오류 처리와 재시도를 위한 여유 시간을 추가하세요.

시작하기

1단계: API 키 받기

  1. 설정 → 개발자로 이동하세요.
  2. + API 키 생성을 클릭하세요.
  3. 키에 설명적인 이름을 지정하세요.
  4. API 키를 즉시 복사하세요(다시 표시되지 않습니다).
  5. 안전하게 보관하세요.
API 키를 비공개로 유지하세요.API 키를 가진 누구나 워크스페이스 데이터에 접근하고 수정할 수 있습니다. 코드 저장소에 커밋하거나 공개적으로 공유하지 마세요.

2단계: 사용할 API 선택

Twenty는 두 가지 유형의 API를 지원합니다:
API적합한 용도문서
GraphQL유연한 쿼리, 연관 데이터 조회, 복잡한 작업에 적합API 문서
REST단순한 CRUD 작업, 익숙한 REST 패턴API 문서
두 API 모두 다음을 지원합니다:
  • 레코드 생성, 조회, 업데이트 및 삭제
  • 배치 작업 — 호출당 최대 60개 레코드를 생성하거나 업데이트
가져오기에서는 배치 작업을 사용하여 한도 내에서 처리량을 극대화하세요.

3단계: 가져오기 순서 계획

CSV 가져오기와 마찬가지로, 관계형 데이터에서는 순서가 중요합니다:
  1. 회사 먼저(종속성 없음)
  2. 그다음 사람(회사에 연결 가능)
  3. 세 번째로 기회(회사 및 사람에 연결 가능)
  4. 작업/노트(위 항목 중 어느 것에도 연결 가능)
  5. 사용자 지정 객체(종속성을 따름)

모범 사례

요청 일괄 처리

  • 레코드를 한 번에 하나씩 보내지 마세요
  • API 호출당 최대 60개 레코드로 묶으세요
  • 이렇게 하면 한도 내에서 처리량을 극대화할 수 있습니다

속도 제한 처리

  • 요청 사이에 지연을 구현하세요(지속적인 가져오기의 경우 최소 600ms)
  • 한도에 도달하면 지수 백오프를 사용하세요
  • 429(Too Many Requests) 응답을 모니터링하세요

먼저 데이터 검증

  • 가져오기 전에 데이터를 정리하고 검증하세요
  • 필수 필드가 채워졌는지 확인하세요
  • 형식이 Twenty의 요구 사항과 일치하는지 확인하세요(필드 매핑 참조)

모든 항목 로깅

  • 가져온 모든 레코드를 로깅하세요(ID 포함)
  • 전체 컨텍스트와 함께 오류를 로깅하세요
  • 이는 문제를 디버깅하고 완료 여부를 확인하는 데 도움이 됩니다

먼저 테스트

  • 소량 배치(10-20개 레코드)로 테스트하세요
  • 데이터가 Twenty에 올바르게 표시되는지 확인하세요
  • 그런 다음 전체 가져오기를 실행하세요

중복 방지를 위한 업서트

GraphQL API는 배치 업서트를 지원합니다 — 레코드가 있으면 업데이트하고, 없으면 생성합니다. 이렇게 하면 가져오기를 다시 실행할 때 중복을 방지할 수 있습니다.

객체 및 필드 이름 찾기

사용 가능한 객체와 필드를 확인하려면:
  1. 설정 → API 및 웹훅으로 이동하세요
  2. Metadata API를 살펴보세요
  3. 모든 표준 및 사용자 지정 객체와 해당 필드를 확인하세요
문서에는 모든 표준 및 사용자 지정 객체, 해당 필드, 예상 데이터 유형이 표시됩니다.

전문 서비스

복잡한 API 마이그레이션의 경우, 파트너가 도와드립니다:
서비스포함 내용
데이터 모델 설계최적의 데이터 구조를 설계
마이그레이션 스크립트가져오기 스크립트를 작성하고 실행
데이터 변환복잡한 매핑과 정리를 수행
검증 및 QA마이그레이션이 완료되었는지 확인
적합한 용도:
  • 100,000개 이상의 레코드 마이그레이션
  • 복잡한 데이터 변환
  • 빠듯한 일정
  • 개발 리소스가 없는 팀
contact@twenty.com으로 문의하시거나 당사의 구현 서비스를 확인하세요.

FAQ

GraphQL은 단일 쿼리로 필요한 데이터만 정확히 요청할 수 있으며, 복잡한 작업에 더 적합합니다. REST는 표준 HTTP 메서드(GET, POST, PUT, DELETE)를 사용하며, 기존 API로 작업해 본 경험이 있다면 더 익숙할 수 있습니다.
예! 레코드의 id와 함께 업데이트 뮤테이션(GraphQL) 또는 PUT/PATCH 요청(REST)을 사용하세요.
고유 식별자(이메일, 도메인)를 사용해 먼저 기존 레코드를 조회하세요. 존재하면 업데이트하고, 없으면 생성하세요.
예, 삭제 뮤테이션(GraphQL) 또는 DELETE 요청(REST)을 사용하세요.
현재는 없습니다. 하지만 두 API는 어떤 언어의 HTTP 클라이언트와도 작동합니다.

API 문서

전체 구현 세부정보, 코드 예제, 스키마 참조는 다음을 확인하세요: