API 제품 번들 관리

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

다음 섹션에 설명된 대로 하나 이상의 API 제품을 API 제품 번들이라고 하는 수익 창출 컨테이너 하나에 번들로 묶습니다.

API 제품 번들이란 무엇인가요?

API 제품 번들은 개발자에게 그룹으로 제공되는 API 제품의 모음으로, 일반적으로 수익 창출을 위한 하나 이상의 요금제와 연결됩니다. API 제품 번들을 여러 개 만들고 각 번들에 하나 이상의 API 제품을 포함할 수 있습니다. 동일한 API 제품을 여러 번들에 넣어 다른 (또는 동일한) 요금제와 연결할 수 있습니다.

개발자는 현재 적용 중인 요금제 중 하나를 구매해야만 API 제품 번들을 사용하도록 앱을 등록할 수 있습니다. API 제품 번들은 제품 번들의 요금제를 추가하고 (공개 상태로) 게시하기 전까지는 개발자에게 표시되지 않습니다. (요금제 관리에 설명된 대로 현재 날짜 또는 미래 날짜로) 요금제를 추가하고 게시하면 개발자 포털에 로그인하는 개발자가 API 제품 번들을 선택할 수 있습니다. 요금제를 선택합니다 또는 관리 API를 사용하여 개발자의 요금제를 수락할 수 있습니다. 자세한 내용은 API를 사용하여 게시된 요금제 구매를 참고하세요.

API 제품을 API 제품 번들에 추가한 후 API 제품입니다 이 작업은 다음 조건에 모두 해당하는 경우에만 수행해야 합니다.

  • API 제품에 대한 수익 공유 요금제를 설정합니다.
  • 개발자는 API 제품의 리소스 사용에 대해 서드 파티에 비용을 청구합니다.
  • 개발자가 청구할 수 있는 금액에는 최소 또는 최대 한도가 있습니다. 개발자에게 제한에 관해 알리세요.

최저 및 최고 가격은 API 제품 번들의 세부정보에 표시됩니다.

제품 번들 페이지 살펴보기

아래 설명에 따라 제품 번들 페이지에 액세스합니다.

에지

Edge UI를 사용하여 API 제품 번들 페이지에 액세스하려면 게시 > 수익 창출 > 제품 번들을 클릭합니다.

이전 그림에 강조 표시된 것처럼 '제품 번들' 페이지에서 할 수 있는 작업은 다음과 같습니다.

  • 번들 이름 및 번들에 포함된 API 제품 목록을 포함한 모든 제품 번들의 요약 정보 보기
  • 제품 번들 추가
  • 제품 번들 수정
  • 표시되는 모든 입력란에서 제품 번들 목록을 검색합니다.

API만 사용하여 제품 번들에서 API 제품을 관리하거나 제품 번들을 삭제 (요금제가 정의되지 않은 경우)할 수 있습니다.

Classic Edge (Private Cloud)

기본 Edge UI를 사용하여 API 패키지 페이지에 액세스하려면 게시 > 패키지를 클릭합니다.

API 패키지 페이지에서는 다음 작업을 할 수 있습니다.

  • 포함된 API 제품 및 관련 요금제를 포함하여 모든 API 패키지의 요약 정보를 확인하세요.
  • API 패키지 추가
  • API 패키지 수정
  • 요금제 추가 및 관리
  • 요금제 액세스 설정 전환 (공개/비공개)
  • 패키지 목록 필터링

API만 사용하여 API 패키지에서 API 제품을 관리하거나 요금제가 정의되지 않은 경우 API 패키지를 삭제할 수 있습니다.

제품 번들 추가 중

API 제품 번들을 추가하는 방법은 다음과 같습니다.

  1. 제품 번들 페이지에서 + API 제품 번들을 클릭합니다.
  2. API 제품 번들의 이름을 입력합니다.
  3. 제품 추가 필드에 API 제품의 이름을 입력합니다.

    API 제품의 이름을 입력하면 이 문자열이 포함된 API 제품의 목록이 드롭다운에 표시됩니다. API 제품의 이름을 클릭하여 번들에 추가합니다. 다른 API 제품을 추가하려면 이를 반복합니다.

  4. API 제품 이름을 더 추가하려면 3단계를 반복합니다.
  5. 추가하는 각 API 제품에 대해 거래 기록 정책을 구성합니다.
  6. 제품 번들 저장을 클릭합니다.

제품 번들 수정

제품 번들을 수정하려면 다음 단계를 따르세요.

  1. 제품 번들 페이지에서 수정하려는 제품 번들의 행 안을 클릭합니다.

    제품 번들 패널이 표시됩니다.

  2. 필요에 따라 제품 번들 필드를 수정합니다.

    자세한 내용은 트랜잭션 기록 정책 구성을 참고하세요.

  3. 제품 번들 업데이트를 클릭합니다.

API를 사용하여 API 제품 번들 관리

다음 섹션에서는 API를 사용하여 API 제품 번들을 관리하는 방법을 설명합니다.

API를 사용하여 API 제품 번들 만들기

API 제품 번들을 만들려면 POST 요청을 발행하세요. /organizations/{org_name}/monetization-packages 요청을 보낼 때 다음을 충족해야 합니다.

  • API 제품 번들에 포함할 API 제품을 식별합니다.
  • API 제품 번들의 이름과 설명을 지정합니다.
  • API 제품 번들의 상태 표시기를 설정합니다. 상태 표시기에는 다음 중 하나가 표시될 수 있습니다. CREATED, ACTIVE, INACTIVE 값입니다. 현재 지정하는 상태 표시기 값은 API 제품 번들에서 유지 관리되지만 어떤 목적으로도 사용되지 않습니다.

원하는 경우 조직을 지정할 수 있습니다.

표시되는 옵션 목록은 API 제품 번들 구성 속성을 참고하세요. 생성합니다.

예를 들면 다음과 같습니다.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

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

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

응답에는 API 제품에 대한 추가 정보와 속성을 지정해야 합니다. 맞춤 속성은 있습니다.) API 제품의 맞춤 속성은 다양한 요금제에 반영될 수 있습니다. 대상 예를 들어 각 거래에 대해 개발자에게 청구하는 요율표 요금제를 설정하는 경우 전송된 바이트 수와 같은 커스텀 속성을 기반으로 요금제 요율을 설정할 수 있습니다. 발생하게 됩니다

API를 사용하여 API 제품 번들의 API 제품 관리

다음 페이지에 설명된 대로 API를 사용하여 API 제품 번들에서 API 제품을 추가하거나 삭제할 수 있습니다. 참조하세요

API 제품 번들에 API 제품 추가

API 제품을 API 제품 번들에 추가하려면 POST 요청을 발행하세요. organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, 여기서 {org_name}는 조직의 이름({package_id})을 지정합니다. 는 API 제품 번들 이름을 지정하며 {product_id}는 API의 ID를 지정합니다. 있습니다.

예를 들면 다음과 같습니다.

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API를 사용하여 API 제품 번들에 API 제품 추가 제품별 요금제

하나 이상의 API 제품별 요금제가 있는 API 제품 번들에 API 제품을 추가하는 방법 정의 (요율표 또는 수익 공유)인 경우 POST 요청을 발행하여 organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, 여기서 {org_name}는 조직의 이름({package_id})을 지정합니다. 는 API 제품 번들 이름을 지정하며 {product_id}는 API의 ID를 지정합니다. 있습니다.

요청 본문에 새 API 제품의 요금제 세부정보를 전달해야 합니다. 예외: ratePlanRates 배열의 경우 요금제 값이 모든 항목에 지정된 값과 일치해야 합니다. 사용할 수 있습니다 정의할 수 있는 요금제 속성에 대한 자세한 내용은 다음을 참조하세요. 구성 속성 자세히 알아보기

<ph type="x-smartling-placeholder">

예를 들면 다음과 같습니다.

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API 제품 번들에서 API 제품 삭제

API 제품 번들에서 API 제품을 삭제하려면 DELETE 요청을 organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, 여기서 {org_name}는 조직의 이름({package_id})을 지정합니다. 는 API 제품 번들 이름을 지정하며 {product_id}는 API의 ID를 지정합니다. 있습니다.

예를 들면 다음과 같습니다.

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

API를 사용하여 API 제품 번들 보기

조직의 특정 API 제품 번들 또는 모든 API 제품 번들을 검색할 수 있습니다. 그 외에 지정된 기간 동안 거래가 있는 API 제품 번들(즉, 지정된 시작 및 종료 시간 내에 해당 패키지의 API에 액세스하는 앱을 호출하는 사용자 있습니다.

특정 API 제품 번들 보기: 특정 API 제품 번들을 검색하려면 GET 요청을 실행합니다. 목적지: /organizations/{org_name}/monetization-packages/{package_id}, 각 항목의 의미는 다음과 같습니다. {package_id}는 API 제품 번들의 ID입니다. ID는 응답). 예를 들면 다음과 같습니다.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

모든 API 제품 번들 보기: 조직의 모든 API 제품 번들을 검색하려면 GET을 실행합니다. /organizations/{org_name}/monetization-packages에 요청을 보냅니다. 예를 들면 다음과 같습니다.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

다음 쿼리 매개변수를 전달하여 결과를 필터링할 수 있습니다.

쿼리 매개변수 설명
all 모든 API 제품 번들의 반환 여부를 지정하는 플래그입니다. false로 설정된 경우 페이지당 반환되는 API 제품 번들의 수는 다음과 같습니다. size 쿼리 매개변수로 정의됩니다. 기본값은 false입니다.
size 페이지당 반환된 API 제품 번들의 수입니다. 기본값은 20입니다. all 쿼리가 매개변수가 true로 설정되면 이 매개변수는 무시됩니다.
page 반환할 페이지의 번호입니다 (콘텐츠에 페이지가 매겨진 경우). 만약 all 쿼리 매개변수가 true로 설정되어 있으면 매개변수는 무시됩니다.

조직의 모든 API 제품 번들을 보는 경우 다음과 같은 응답이 표시됩니다 (일부 )의 응답이 표시됩니다.

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

거래가 있는 API 제품 번들 보기: 거래 항목에서 거래가 있는 API 제품 번들을 가져오려면 GET 요청을 발행하여 /organizations/{org_name}/packages-with-transactions입니다. 요청을 보낼 때 기간의 시작일과 종료일을 쿼리 매개변수로 지정해야 합니다. 대상 예를 들어 다음 요청은 2013년 8월.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

응답은 다음과 같아야 합니다(응답의 일부만 표시됨).

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

API를 사용하여 개발자 또는 회사가 수락한 API 제품 번들 보기

GET을 발행하여 특정 개발자 또는 회사가 승인한 API 제품 번들을 확인합니다. 각각 다음 API에 요청할 수 있습니다.

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, 각 항목의 의미는 다음과 같습니다. {developer_id}는 개발자의 ID (이메일 주소)입니다.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, 각 항목의 의미는 다음과 같습니다. {company_id}는 회사 ID입니다.

요청을 실행할 때 선택적으로 다음 쿼리 매개변수를 지정할 수 있습니다.

쿼리 매개변수 설명 기본값
current 활성 API 제품 번들 (current=true)만 검색할지 아니면 모두 가져올지 지정하는 플래그 패키지 (current=false) 활성 패키지의 모든 요금제는 있습니다. current=false
allAvailable 사용 가능한 모든 API 제품 번들 (allAvailable=true)을 가져올지 아니면 가져올지 지정하는 플래그 개발자 또는 회사 (allAvailable=false)용으로 특별히 제공되는 API 제품 번들만 '모두 사용 가능'은 특정 개발자 또는 회사에 제공되는 API 제품 번들 외에 다른 개발자나 회사가 있습니다. 회사 또는 개발자에게 특별히 제공되는 API 제품 번들에는 요금제만 포함됩니다. 해당 회사나 개발자만 사용할 수 있습니다. allAvailable=true

예를 들어 다음 요청은 특정 API 호출에서 허용하는 모든 API 제품 번들을 개발자:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

다음 요청은 특정 회사에서 수락한 활성 API 패키지만 검색합니다.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

API를 사용한 API 제품 번들 삭제

정의된 요금제가 없는 경우에만 API 제품 번들을 삭제할 수 있습니다.

<ph type="x-smartling-placeholder">

정의된 요금제가 없는 API 제품 번들을 삭제하려면 DELETE 요청을 실행하세요. 받는 사람: organizations/{org_name}/monetization-packages/{package_id} 여기서 {org_name}는 조직의 이름을 지정합니다. {package_id}는 API 제품 번들 이름을 지정합니다.

예를 들면 다음과 같습니다.

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

API의 API 제품 번들 구성 속성

다음 API 제품 번들 구성 옵션이 API에 노출됩니다.

이름 설명 기본값 필수 여부
description

API 제품 번들에 대한 설명입니다.

해당 사항 없음
displayName

API 제품 번들에 표시할 이름입니다 (예: API 카탈로그 패키지).

해당 사항 없음
name

API 제품 번들의 이름입니다.

해당 사항 없음
organization

API 제품 번들이 포함된 조직입니다.

해당 사항 없음 아니요
product

API 제품 번들에 있는 하나 이상의 제품의 배열입니다.

해당 사항 없음 아니요
status

API 제품 번들의 상태 표시기입니다. 상태 표시기에는 다음 중 하나가 표시될 수 있습니다. CREATED, ACTIVE, INACTIVE 값입니다.

해당 사항 없음