목록 응답 필터링

디스플레이 및 디스플레이 네트워크에서 제공되는 대부분의 서비스는 Video 360 API는 다음 항목의 일괄 검색을 위한 LIST 메서드를 제공합니다. 리소스를 배포합니다 이러한 LIST 메서드는 일반적으로 filter 쿼리 매개변수 이 매개변수를 사용하면 필요한 데이터를 검색할 수 있습니다.

이 가이드에서는 filter 매개변수를 효과적으로 사용하는 방법을 보여줍니다.

필터 구조

filter 매개변수 값은 하나 이상의 제한사항으로 구성된 문자열입니다. AND 또는 OR 연산자와 결합하고 다음을 사용하여 그룹화할 수 있습니다. 있습니다.

제한사항은 {field} {operator} {value} 형식입니다. 예를 들면 다음과 같습니다.

entityStatus="ENTITY_STATUS_ACTIVE"

필터 문자열 길이는 500자(영문 기준) 이하여야 합니다. 필터 문자열이 500자를 초과하면 다음 중 하나를 실행하세요.

  • 로직을 여러 필터 문자열로 분할하고 별도의 LIST 요청을 사용해야 합니다
  • 필터 문자열에서 일부 로직을 삭제하고 이를 사용하여 가져올 수 있습니다

로직이 올바르게 적용되도록 제한 값을 따옴표로 묶습니다.

호출 없이 직접 LIST를 호출하는 경우 필터 문자열을 URL 인코딩 클라이언트 라이브러리 사용

형식 지정에 대한 자세한 내용은 제한 간 로직을 참고하세요. 할 수 있습니다.

필터링 가능한 필드

LIST 메서드의 필터링 가능한 필드는 메서드의 filter에 나열됩니다. 매개변수 설명 대부분의 경우 리소스 집합의 하위 집합을 필터링할 수 있습니다. 표준 필드로 대체되었습니다. 드물기는 하지만 사용할 수 있는 추가 필드가 있습니다. 필터링에만 사용할 수 있습니다.

매개변수 설명의 각 필드는 다음 중 하나 이상을 지원합니다. 비교 연산자:

비슷한 연산자
EQUALS (=) 리소스 필드 값이 지정된 값과 같습니다.

예: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=) 리소스 필드 값이 지정된 값보다 작거나 같습니다. 자주 사용됨 날짜 또는 날짜/시간을 비교할 때 사용됩니다.

예: updateTime<="2023-04-01T12:00:00Z"

GREATER THAN OR EQUAL TO (>=) 리소스 필드 값이 지정된 값보다 크거나 같습니다. 자주 사용됨 날짜 또는 날짜/시간을 비교할 때 사용됩니다.

예: updateTime>="2023-03-01T12:00:00Z"

HAS (:) 리소스 필드 값에 지정된 값이 포함됩니다. 리소스 필드가 지정된 값이 기존 하위 문자열인지 확인합니다. 만약 resource 필드가 배열인 경우 배열에 지정된 값으로 사용됩니다.

예: lineItemIds:"1234"

매개변수 설명의 필드에 지정된 연산자가 없는 경우 EQUALS (=) 연산자만 사용할 수 있습니다. 일부 필드는 여러 연산자를 지원합니다.

날짜 및 시간과 같은 일부 필터링 가능한 필드에는 비교 가능한 값을 사용합니다. 형식은 filter 매개변수 설명의 필드입니다.

제한사항 간 로직

다양한 제한사항을 조합하여 응답의 범위를 좁히거나 넓힐 수 있습니다. LIST 요청

일반적으로 ANDOR와 여러 가지 제한사항을 결합할 수 있습니다. 논리 연산자입니다. 각 LIST 메서드는 지원하는 연산자를 지정합니다. 일부 메서드는 filter 매개변수에서 단일 제한 사용만 지원합니다.

AND로 필터 문자열을 빌드할 때 다음 제한사항을 고려하세요. 또는 OR 논리 연산자:

  • AND는 다음 제한 또는 제한 그룹 사이에 사용되어야 합니다. 동일한 필드를 다르게 필터링할 수 있습니다. 다음과 같습니다. 몇 가지 예: <ph type="x-smartling-placeholder">
      </ph>
    • updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE"
    • updateTime>="2023-03-01T12:00:00Z" AND updateTime<="2023-04-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")
  • OR는 동일하게 필터링하는 개별 제한 사이에 사용해야 합니다. 필드를 확인합니다. 예를 들면 다음과 같습니다. <ph type="x-smartling-placeholder">
      </ph>
    • (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
  • OR를 사용하여 두 그룹의 제한을 결합할 수 없습니다. 여러 항목 사용 대신 필터 값이 다른 LIST 요청을 사용하세요. 예를 들어 다음 개별 LIST 요청:

    • (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
    • (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

    OR 연산자를 사용하여 결합하지 마세요.

    (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

  • 괄호는 filter 문자열입니다. 예를 들어 다음 필터 문자열이 있습니다.

    updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"

    위 표현식의 해석 결과는 다음과 같습니다.

    updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")