Apigee Edge 문서입니다.
Go to the
Apigee X 문서로 이동합니다. info
다음 섹션에 설명된 대로 하나 이상의 API 제품을 API 제품 번들이라고 하는 단일 수익 창출 컨테이너에 번들로 제공합니다.
API 제품 번들이란 무엇인가요?
API 제품 번들 은 개발자에게 그룹으로 제공되고 일반적으로 수익 창출을 위한 하나 이상의 요금제와 연결되는 API 제품의 모음입니다. 여러 API 제품 번들을 만들고 각 번들에 하나 이상의 API 제품을 포함할 수 있습니다. 동일한 API 제품을 여러 번들에 넣고 서로 다른 요금제 또는 동일한 요금제와 연결할 수 있습니다.
개발자는 현재 적용 중인 요금제 중 하나를 구매해야만 앱을 등록하여 API 제품 번들을 사용할 수 있습니다. 요금제 관리에 설명된 대로 제품 번들의 요금제를 추가하고 게시 (공개)할 때까지(시작일이 현재 날짜 또는 향후 날짜인 경우) API 제품 번들은 개발자에게 표시되지 않습니다. 요금제를 추가하고 게시하면 개발자 포털에 로그인하는 개발자가 API 제품 번들을 선택하고 요금제를 선택할 수 있습니다. 또는 관리 API를 사용하여 개발자의 요금제를 수락할 수 있습니다. 자세한 내용은 API를 사용하여 게시된 요금제 구매를 참조하세요.
API 제품 번들에 API 제품을 추가한 후 API 제품의 가격대를 설정해야 할 수 있습니다. 다음이 모두 참인 경우에만 이 작업을 실행해야 합니다.
- API 제품의 수익 공유 요금제를 설정합니다.
- 개발자는 API 제품의 리소스 사용에 대해 서드 파티에 요금을 청구합니다.
- 개발자가 청구할 수 있는 금액에 최소 또는 최대 제한이 있으며 개발자에게 제한을 알리려고 합니다.
최소 가격과 최대 가격은 API 제품 번들의 세부정보에 표시됩니다.
제품 번들 페이지 살펴보기
아래 설명에 따라 제품 번들 페이지에 액세스합니다.
에지
Edge UI를 사용하여 API 제품 번들 페이지에 액세스하려면 왼쪽 탐색 메뉴에서 게시 > 수익 창출 > 제품 번들 을 선택합니다.

앞의 그림에 강조표시된 것처럼 제품 번들 페이지에서 다음을 수행할 수 있습니다.
API를 사용해서만 제품 번들의 API 제품을 관리하거나 제품 번들을 삭제할 수 있습니다 (요금제가 정의되지 않은 경우).
기존 Edge (Private Cloud)
기존 Edge UI를 사용하여 API 패키지 페이지에 액세스하려면 상단 탐색 메뉴에서 게시 > 패키지 를 선택합니다.
API 패키지 페이지에서 다음을 수행할 수 있습니다.
- 포함된 API 제품 및 연결된 요금제를 비롯한 모든 API 패키지의 요약 정보 보기
- API 패키지 추가
- API 패키지 수정
- 요금제 추가 및 관리
- 요금제 액세스 설정 전환 (공개/비공개)
- 패키지 목록 필터링
API를 사용해서만 API 패키지의 API 제품을 관리하거나 API 패키지를 삭제할 수 있습니다 (요금제가 정의되지 않은 경우).
제품 번들 추가
API 제품 번들을 추가하려면 다음 단계를 따르세요.
- 제품 번들 페이지에서 + API 제품 번들을 클릭합니다.
- API 제품 번들의 이름을 입력합니다.
제품 추가 필드에 API 제품의 이름을 입력합니다.
API 제품의 이름을 입력하면 문자열이 포함된 API 제품 목록이 드롭다운에 표시됩니다. API 제품의 이름을 클릭하여 번들에 추가합니다. 추가 API 제품을 추가하려면 이 단계를 반복합니다.
- 3단계를 반복하여 추가 API 제품 이름을 추가합니다.
- 추가하는 각 API 제품에 대해 트랜잭션 기록 정책을 구성합니다.
- 제품 번들 저장 을 클릭합니다.
제품 번들 수정
제품 번들을 수정하려면 다음 단계를 따르세요.
제품 번들 페이지에서 수정하려는 제품 번들의 행을 클릭합니다.
제품 번들 패널이 표시됩니다.
필요에 따라 제품 번들 필드를 수정합니다.
자세한 내용은 트랜잭션 기록 정책 구성을 참조하세요.
- 제품 번들 업데이트 를 클릭합니다.
API를 사용하여 API 제품 번들 관리
다음 섹션에서는 API를 사용하여 API 제품 번들을 관리하는 방법을 설명합니다.
API를 사용하여 API 제품 번들 만들기
API 제품 번들을 만들려면
/organizations/{org_name}/monetization-packages에 POST 요청을 실행합니다. 요청을 실행할 때는 다음을 수행해야 합니다
.
- API 제품 번들에 포함할 API 제품을 식별합니다.
- API 제품 번들의 이름과 설명을 지정합니다.
- API 제품 번들의 상태 표시기를 설정합니다. 상태 표시기는 다음 값 중 하나를 가질 수 있습니다. CREATED, ACTIVE, INACTIVE. 현재 지정한 상태 표시기 값은 API 제품 번들에 유지되지만 어떤 목적으로도 사용되지 않습니다.
선택적으로 조직을 지정할 수 있습니다.
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 제품 추가
API 제품 번들에 API 제품을 추가하려면
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}에 POST 요청을 실행합니다. 여기서 {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 배열을 제외하고 요금제 값은 다른 모든 API 제품에 지정된 값과 일치해야 합니다. 정의할 수 있는 요금제 속성에 대한 자세한 내용은
요금제의 구성 속성
을 참조하세요.
예를 들면 다음과 같습니다.
$ 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 제품을 삭제하려면
organizations/{org_name}/monetization-packages/{package_id}/products/{product_id},
에 DELETE 요청을 실행합니다. 여기서 {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 제품 번들을 검색하려면 /organizations/{org_name}/monetization-packages/{package_id}에 GET 요청
을 실행합니다. 여기서
{package_id}는 API 제품 번들의 식별자입니다 (API 제품 번들을 만들 때
응답에 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 제품 번들을 검색하려면 /organizations/{org_name}/monetization-packages에 GET
요청을 실행합니다. 예를 들면 다음과 같습니다.
$ 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 제품 번들을 검색하려면 /organizations/{org_name}/packages-with-transactions에 GET 요청을 실행합니다. 요청을 실행할 때는
기간의 시작일과 종료일을 쿼리 매개변수로 지정해야 합니다. 예를 들어 다음 요청은
2013년 8월 한 달 동안 트랜잭션이 있는 API 제품 번들을 검색합니다.
$ 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 제품 번들 보기
다음 API에 각각 GET 요청을 실행하여 특정 개발자 또는 회사에서 수락한 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)을 검색할지 아니면
개발자 또는 회사에만 사용할 수 있는 API 제품 번들 (allAvailable=false)만 검색할지 지정하는 플래그입니다.
사용 가능한 모든 API 제품 번들은 다른 개발자 또는 회사 외에 지정된 개발자 또는 회사에서 사용할 수 있는 API 제품 번들을 의미합니다. 회사 또는 개발자에게만 사용할 수 있는 API 제품 번들에는 해당 회사 또는 개발자에게만 사용할 수 있는 요금제
가 포함되어 있습니다. |
allAvailable=true |
예를 들어 다음 요청은 특정 개발자가 수락한 모든 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 제품 번들은 정의된 요금제가 없는 경우에만 삭제할 수 있습니다.
정의된 요금제가 없는 API 제품 번들을 삭제하려면 organizations/{org_name}/monetization-packages/{package_id}에 DELETE 요청을 실행합니다. 여기서 {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. |
해당 사항 없음 | 예 |