API를 사용하여 API 제품 구독 구매 및 관리

Apigee X 문서입니다.
Apigee Edge 문서 보기

고유한 커스텀 포털을 빌드하거나 구매 프로세스를 직접 관리하려면 API를 사용하여 API 제품 구독을 구매하고 관리하는 방법을 설명하는 다음 섹션을 확인하세요. Drupal 기반 개발자 포털에서 Apigee 수익 창출 통합도 참조하세요.

API를 사용하여 API 제품 구독 구매

API 제품 구독을 구매하려면 다음 API에 POST 요청을 수행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

리소스: Subscriptions에 설명된 대로 요청 본문에 필수 필드를 전달하여 API 제품 구독 요청을 구성합니다.

예를 들어 다음 API 호출은 지정된 개발자에 대해 HelloworldProduct API 제품 구독을 구매합니다.

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-type: application/json" \
  -d '{"apiproduct":"HelloworldProduct"}'

$TOKENOAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl 옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.

다음은 응답 출력의 예시입니다. startTime은 현재 시간으로 설정되어 있습니다.

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

자세한 내용은 Purchase API 제품 구독 API를 참조하세요.

API 제품 구독 즉시 만료

API 제품 구독을 즉시 만료하려면 다음 API에 POST 요청을 수행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION:expire

예를 들어 다음 API 호출은 지정된 개발자에 대해 이름이 69f8bb42-a8e4-4a2c-b932-d82b51d37b72인 API 제품 구독을 만료시킵니다.

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72:expire" \
  -X POST \
  -H "Authorization: Bearer $TOKEN"

$TOKENOAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl 옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.

다음은 응답 출력의 예시입니다. endTime은 현재 시간으로 설정되어 있습니다.

{
  "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
  "apiproduct": "WeatherReport",
  "startTime": "1613494852000",
  "endTime" : "1617894954000",
  "createdAt": "1613494852000",
  "lastModifiedAt": "1613494852000"
}

개발자의 모든 API 제품 구독 나열

개발자의 모든 API 제품 구독을 나열하려면 다음 API에 GET 요청을 수행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions

선택적으로 다음 필드를 전달하여 페이지 나누기를 지원할 수 있습니다.

  • startKey: 구독 목록 표시를 시작할 API 제품 구독의 이름을 지정합니다. 생략하면 첫 번째 항목에서 목록이 시작됩니다. count와 함께 사용하여 보다 정확하게 타겟팅된 필터링을 제공하세요. 예를 들어 51~150번째의 API 제품 구독을 보려면 startKey 값을 51번째 구독 이름으로 설정하고 count 값을 100으로 설정합니다.
  • count: API 호출에서 반환할 요금제의 수를 지정합니다. startKey와 함께 사용하여 보다 정확하게 타겟팅된 필터링을 제공하세요. 최대 한도는 1,000입니다. 기본값은 100입니다.

예를 들어 다음 API 호출은 지정된 개발자의 모든 API 제품 구독을 나열합니다.

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKENOAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl 옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.

다음은 응답 출력의 예시입니다.

{
  "developerSubscriptions": [
    {
      "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
      "apiproduct": "HelloworldProduct",
      "startTime": "1615987132000",
      "createdAt": "1615903252000",
      "lastModifiedAt": "1615903252000"
    },
    {
      "name": "33f8dd42-c7x5-3s3f-b098-d=c93h22m36b47",
      "apiproduct": "WeatherReport",
      "startTime": "1614124552000",
      "createdAt": "1613494852000",
      "lastModifiedAt": "1613494852000"
    }
  ]
}

자세한 내용은 API 제품 구독 나열 API를 참조하세요.

API 제품 구독 세부정보 보기

개발자의 API 제품 구독에 대한 세부정보를 보려면 다음 API에 GET 요청을 수행합니다. https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/$SUBSCRIPTION

예를 들어 다음 API 호출은 지정된 개발자의 모든 API 제품 구독을 나열합니다.

curl "https://apigee.googleapis.com/v1/organizations/$ORG/developers/$DEVELOPER_EMAIL/subscriptions/69f8bb42-a8e4-4a2c-b932-d82b51d37b72" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

$TOKENOAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정합니다. 이 예시에서 사용된 curl 옵션에 대한 자세한 내용은 curl 사용을 참조하세요. 사용된 환경 변수에 대한 설명은 Apigee API 요청에 대한 환경 변수 설정을 참조하세요.

다음은 응답 출력의 예시입니다.

{
   "name": "69f8bb42-a8e4-4a2c-b932-d82b51d37b72",
   "apiproduct": "HelloworldProduct",
   "startTime": "1615987132000",
   "createdAt": "1615903252000",
   "lastModifiedAt": "1615903252000"
}

자세한 내용은 API 제품 구독 가져오기 API를 참조하세요.