쿼리 매개변수 설정 방법
  • 22 Oct 2024
  • 4 읽을 분
  • 기여자

쿼리 매개변수 설정 방법


기사 요약

API 문서에 따라 HTTP 커넥터 함수에서 쿼리 매개변수로 작업하는 기본 사항을 알아보세요.

{{스니펫.API 문서 링크}}

쿼리 매개변수를 사용하면 커넥터 함수의 결과를 구체화하고 맞춤 설정할 수 있습니다. 매개변수를 사용하여 정렬, 필터링, 제한 설정, 인덱스 오프셋 등을 할 수 있습니다. 이 문서에서는 튤립 테이블 API 매개변수를 사용하지만, 다른 API에는 다른 매개변수 요구 사항이 있을 수 있습니다. 설명서를 확인하여 올바른 구문과 사양을 사용하고 있는지 확인하세요.

필터로 쿼리하기

필터는 관심 있는 데이터만 추출하는 데 매우 유용할 수 있습니다. 이러한 필터는 때때로 구문이 약간 까다로울 수 있습니다. 다음은 레코드에 대한 GET 요청의 예에서 각 필터가 어떻게 형성되는지 간략하게 설명한 후 전체 예제를 보여드리겠습니다.

사용자 정의 필드의필드 이름 앞에는 항상 5자리 문자열 식별자가 붙습니다. 이러한 필드 이름은 GET all 요청 후 필드의 실제 이름을 확인하면 가장 쉽게 찾을 수 있습니다.

  • 예. "field"="maytq_scrap_count"

인자 값은 종종 간단합니다. 텍스트 값인 경우 반드시 따옴표 안에 넣어야 합니다.

  • 예. "arg":15

사용하려는 함수 유형을 일치시킵니다.

  • 예. "functionType":"greaterThan"

이에 대한 전체 요청은 다음과 같이 보일 수 있습니다:

https://brian.tulip.co/api/v3/tables/W2HPvyCZrjMMHTiip/records?limit=100&sortBy=\_sequenceNumber&sortDir=asc&filters=[{"field":"maytq\_scrap\_count","arg":15,"functionType":"greaterThan"}]&filterAggregator=any

문서에서 쿼리 매개변수를 찾는 방법

요청에 사용 가능한 쿼리 파라미터를 찾으려면 API 문서로 이동하세요. 튤립 테이블 API를 사용하는 경우 다음 문서에서 설명서를 찾을 수 있습니다: your-instance.tulip.co/apiDocs.사용하려는 요청을 선택한 다음 아래로 스크롤하여 파라미터 탭으로 이동합니다.

Parameters in API Docs.png

각 개별 메서드에는 고유한 파라미터가 설정되어 있지만 모든 요청에 관련 파라미터가 있는 것은 아닙니다. 문서에서 사용 가능한 매개변수를 미리 확인하시기 바랍니다.

쿼리 매개변수 구문

쿼리 매개변수 구문은 쿼리 문자열 형식을 사용합니다. 이 형식은 쿼리 문자열 자체가 URL의 일부가 되어 지정된 매개변수에 값을 할당합니다.

커넥터 함수 편집기에서 매개변수 추가를 클릭하여 새 쿼리 매개변수를 만듭니다.

Query Parameters - Add Parameter.png

쿼리 매개변수에는 키와 값의 두 가지 부분이 있습니다. 키는 매개변수의 이름이고 값은 결과에 대한 매개변수를 설정하는 정보입니다.

쿼리 매개변수 구문은 정확한 매개변수 유형을 지정하는 Dot Notation을 사용합니다. 작성 사례가 다른 시스템의 API 표준과 일치하는지 확인하세요.

커넥터 함수에 공통 매개변수 적용

커넥터 함수에 파라미터를 설정하려면 먼저 API 설명서에서 사용하려는 파라미터를 확인합니다. 매개변수에는 각각 다양한 요구 사항이 있으므로 매개변수가 어떻게 생겼는지 살펴봅시다.

:::(Info) (참고) 연속성을 위해 아래 각 예제에서 동일한 API Call 요청을 사용하겠습니다. 이것은 튤립 테이블 API를 통해 튤립 테이블의 레코드 목록을 검색하는 GET 요청입니다. 사용하는 다른 API는 매개변수에 대한 사양이 다르므로 API 문서 요구 사항을 참조하세요:

제한

제한은 반환되는 결과에 대해 지정된 한도를 설정합니다. 일부 제한에는 기본 설정이 있으므로 API 설명서를 확인하여 초기 값을 파악하세요.

커넥터 기능이 실행될 때 70개 이하의 레코드를 얻고 싶습니다. 다행히도 이 요청의 제한 기본값은 10이고 최고값은 100입니다. 쿼리 매개변수의 구문은 다음과 같아야 합니다:

Query Parameters - Limits.png

필터

필터는 매개변수의 주어진 정보에 따라 결과를 분리하고 구체화합니다.

필터는 세 부분으로 구성되며, 각 매개변수에 입력해야 합니다:

  • 필드 - 테이블의 열 이름입니다.
  • 함수 유형 - 비교 함수 유형
  • 인수 - 결과를 비교할 값입니다.

각 필터는 3개의 부분으로 구성되며 완전한 필터는 각각 객체입니다. 점 표기법을 사용하여 각 키를 작성할 때 매개변수 유형('filter'), 필터 번호(0~n) 및 필터의 일부('field', 'functionType' 또는 'arg')를 지정합니다. 필터의 세 부분 모두에 대한 매개변수가 있어야 합니다.

커넥터 함수의 결과에 함수의 지정된 입력 값(소모품)과 동일한 특정 필드(eubmc_value)의 값만 표시되도록 하고 싶습니다. 이 필터는 함수 매개변수의 첫 번째 필터이므로 필터 번호는 0입니다. 즉, 이 필터의 모든 키는 'filter.0'으로 시작됩니다. 이 필터의 구문은 다음과 같아야 합니다:

Query Parameters - Filters.png

정렬

정렬 결과는 매개변수의 정보에 따라 보기의 우선 순위를 지정합니다. 정렬된 결과에 따라 집계에 포함되는 항목이 결정됩니다. 여러 정렬 함수를 사용할 수 있지만 옵션 순서에 따라 정렬 우선 순위가 결정됩니다.

정렬 함수는 두 부분으로 구성됩니다:

  • sortBy - 결과를 정렬할 필드
  • sortDir - 정렬 방향(오름차순(asc) 또는 내림차순(desc))

각 정렬 함수는 세 부분으로 구성됩니다. 점 표기법을 사용하여 각 키를 작성할 때 매개변수 유형('sortOptions'), 정렬 번호(0~n), 정렬 인수('sortBy' 또는 'sortDir')를 지정합니다. 정렬 함수가 작동하려면 이 세 가지 부분에 대한 매개변수가 모두 있어야 합니다.

커넥터 함수의 결과가 가장 최근에 업데이트된 필드를 오름차순으로 정렬하기를 원합니다. 첫 번째 정렬 함수이므로 정렬 번호는 0입니다. 즉, 이 정렬의 두 키는 모두 'sortOptions.0'으로 시작됩니다. sortBy 키의 경우, 값은 업데이트된 필드를 정렬하기 위해 API 문서에서 파생된 특수 값('_updatedAt')입니다. 이러한 매개변수의 구문은 다음과 같아야 합니다:

Query Parameters - Sorting.png

오프셋

오프셋은 반환된 결과가 시작할 인덱스를 결정합니다. 이 매개변수는 정렬 매개변수에 의해 결정되는 레코드 순서가 아닌 페이지 매김에 사용됩니다. 매개변수 값은 0보다 크거나 같은 정수여야 합니다.

예5위이후의 레코드만 보려고 하므로 상위 5개 결과는 표시되지 않습니다. 쿼리 매개변수의 구문은 다음과 같아야 합니다:

Query Parameters - Offset.png

필터 애그리게이터

필터 집계자는 매개변수의 필터가 결합되는 방식을 결정합니다. 선택할 수 있는 두 가지 값은 'any'와 'all'입니다. 'all' 값은 모든 필터에 레코드가 있어야 레코드가 결과에 포함된다는 의미입니다. 'any' 값은 필터 중 하나 이상의 필터가 레코드와 일치해야 결과에 레코드가 포함된다는 의미입니다. 기본값은 매개변수 설정 여부에 관계없이 '모두'입니다.

쿼리 매개변수에 일련의 필터가 있지만 레코드가 요청과 일치하려면 필터 중 하나만 참이어야 합니다. 쿼리 매개변수의 구문은 다음과 같아야 합니다:

Query Parameter - Filter Aggregators.png

다중 필터

경우에 따라 테이블에서 확인할 필터가 여러 개일 수 있습니다. 이 경우 필터 객체에 여러 개의 필터를 추가할 수 있습니다. 다음과 같이 보일 수 있습니다:

filters=[{"field":"maytq\_scrap\_count","arg":15,"functionType":"greaterThan"},{"field":"maytq\_scrap\_reason","arg":"scratch","functionType":"equal"}]

추가 읽기


이 문서가 도움이 되었습니까?