Apigee Edge 문서입니다.
Apigee X 문서로 이동하세요. 정보
소개
경우에 따라 거래 카운터가 변수 또는 맞춤 값을 기반으로 해야 할 수 있습니다. 예를 들어 다음과 같은 작업을 해야 할 수 있습니다.
- API 호출 메시지에 제공된 값에 따라 개발자에게 가변 금액을 청구합니다. 예를 들어 API 요청에서 전송된 바이트 수에 따라 앱 개발자에게 요금을 부과할 수 있습니다.
- 여러 API 호출을 단일 트랜잭션으로 번들로 묶습니다.
맞춤 속성이 있는 요금제를 사용하면 API 호출 메시지에서 카운터 역할을 하고 거래 수와 청구 금액을 계산하는 데 사용되는 값을 식별할 수 있습니다.
맞춤 속성이 있는 다음 요금제가 지원됩니다.
- 맞춤 속성이 있는 요율표
- 커스텀 속성으로 조정 가능한 알림
요금제당 최대 10개의 맞춤 속성을 설정할 수 있습니다.
맞춤 속성 계산 이해
맞춤 속성 값이 요금제 거래 수 및 요금에 반영되는 방식은 다음 표에 요약된 대로 청구 모델에 따라 다릅니다.
충전 모델 | 맞춤 속성 계산 |
---|---|
정액제 및 볼륨 대역 |
고정 요금의 경우 맞춤 속성 번호는 요금에 곱해지는 거래 수가 됩니다. 볼륨 대역의 경우 대역 내 트랜잭션 수는 맞춤 속성 번호만큼 증가하며 개발자에게는 해당 트랜잭션 수에 대한 요금이 청구됩니다. 예를 들어 메시지의 맞춤 속성 값이 10이면 개발자에게 10건의 거래가 청구되고 10건의 거래가 현재 밴드 수에 추가됩니다. 개발자의 현재 대역에 남은 트랜잭션이 6개뿐이면 6에 해당 대역의 요금을 곱합니다. 나머지 4는 다음 밴드로 이동하여 해당 밴드의 요율을 곱합니다. 볼륨 밴드 요금제에서 마지막 볼륨 대역에 한도가 있고('무제한'이 아님) 거래가 이 한도를 초과하면 다음 두 가지 결과가 발생합니다.
|
번들 |
번들은 거래가 아닌 그룹별로 청구되므로 다음과 같이 계산됩니다.
예를 들어 메시지의 맞춤 속성 번호가 10이면 번들에서 사용된 거래 횟수에 10이 추가됩니다. 개발자의 현재 번들에 남은 거래가 6개뿐이라면 해당 번들이 채워지고 다음 번들 수가 4씩 증가합니다. 다음 번들의 요금이 청구됩니다(있는 경우). 마지막 번들에 한도가 있고('무제한'이 아님) 거래가 해당 한도를 초과하면 두 가지 결과가 발생합니다.
|
조정 가능한 알림 |
조정 가능한 알림의 경우 다음과 같이 계산됩니다.
예를 들어 메시지의 맞춤 속성 번호가 10이면 총 거래 수에 10이 추가됩니다. |
요금제에서 맞춤 속성 값을 가져오는 위치
API 제품 번들의 트랜잭션 레코딩 정책은 수익 창출에 메시지에서 맞춤 속성 값을 찾을 위치를 알려줍니다. API 제품 번들의 트랜잭션 기록 정책의 커스텀 속성 섹션에서 커스텀 속성을 정의합니다.
그런 다음 커스텀 속성이 정의된 거래 기록 정책이 포함된 API 제품 번들을 만든 후 요금제에서 해당 커스텀 속성을 선택할 수 있습니다.
대략적인 흐름은 다음과 같습니다.
- API 제품을 추가할 때 맞춤 속성을 정의합니다.
- 제품이 포함된 API 제품 번들을 만듭니다.
API 제품 번들의 거래 기록 정책에 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. - API 제품 번들의 요율표 유형 또는 조정 가능한 알림의 요금제를 생성하고 맞춤 평점 매개변수를 지정합니다.
다음 그림은 거래 기록 정책에 정의된 맞춤 속성과 요금표 계획 구성 간의 관계를 보여줍니다. 맞춤 속성 요금제 관계가 있는 조정 가능한 알림도 비슷하지만 볼륨 구간 값은 적용되지 않습니다.
메시지에서 맞춤 속성 값을 생성하는 방법
거래 기록 정책은 응답 헤더, 응답 본문 또는 응답의 사전 정의된 흐름 변수와 같은 여러 위치에서 맞춤 속성 값을 찾을 수 있습니다. (성공 응답을 받을 때까지는 거래가 공식이 아니기 때문에 이 요청은 사용할 수 없습니다.) 다음은 메시지에 숫자 값이 있는 응답 헤더를 추가하는 방법을 보여주는 예입니다. 두 경우 모두 변수와 함께 메시지 할당 정책을 사용합니다.
응답 헤더에 요청 페이로드 크기 추가
각 메시지 요청에는 요청 페이로드의 바이트 수를 포함하는 client.received.content.length
변수가 있습니다. 메시지 할당 정책을 프록시 엔드포인트 응답에 연결하면 길이 값이 포함된 messageSize
라는 응답 헤더를 생성할 수 있습니다.
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="messageSize">{client.received.content.length}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
헤더에 앱 맞춤 속성 값 추가
이와 비슷한 방식으로 앱에서 맞춤 속성의 값으로 헤더를 생성할 수 있습니다. 예를 들어 다음과 같이 각 개발자 앱에 apprating
라는 맞춤 속성을 포함하는 경우
수익 창출에 필요한 API 키 검증 정책을 사용하는 경우 이 값은 verifyapikey.{policy_name}.apprating
라는 변수에 저장됩니다. 프록시 엔드포인트 응답에 연결된 AssignMessage 정책을 사용하여 앱의 apprating
값이 포함된 apprating
라는 헤더를 생성할 수 있습니다.
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1"> <DisplayName>Assign Message 1</DisplayName> <Set> <Headers> <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
요금제 설정
위에서 설명한 맞춤 속성 설정 외에도 요금제는 일반적으로 (맞춤 속성이 없는 요금제의 경우)와 동일한 방식으로 설정되지만 다음 요구사항을 준수해야 합니다.
UI를 사용하여 맞춤 속성으로 요금표 요금제 구성
다음 섹션에 설명된 대로 Edge UI 또는 기본 Edge UI를 사용하여 맞춤 속성이 있는 요율표 요금제를 구성합니다.
Edge
Edge UI를 사용하여 맞춤 속성으로 요금 카드 요금제를 구성하려면 다음 단계를 따르세요.
- API 제품을 추가할 때 커스텀 속성을 정의합니다.
- 제품이 포함된 API 제품 번들을 만듭니다. API 제품 번들 만들기를 참고하세요.
API 제품 번들의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개 및 거래 기록 정책 만들기를 참고하세요. - API 제품 번들의 요금제를 만들고 맞춤 평점 매개변수를 지정합니다.
자세한 내용은 UI를 사용하여 요금표 요금제 세부정보 구성을 참고하세요.
Classic Edge (Private Cloud)
기본 Edge UI를 사용하여 커스텀 속성 요금제로 요율표를 만들려면 다음 단계를 따르세요.
- API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개 및 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함하려는 각 API 제품에 대해 이 작업을 수행합니다.
- API 제품 및 거래 기록 정책이 원하는 대로 정확하게 구성되면 제품이 포함된 API 패키지를 만듭니다. API 패키지 만들기를 참조하세요.
- 맞춤 속성이 있는 요율표의 요금제 유형을 선택하여 API 패키지의 요금제를 만듭니다.
-
요율표 링크를 클릭합니다. 그러면 요율표 창이 열립니다.
- 맞춤 속성 드롭다운 메뉴에서 맞춤 속성을 선택합니다. 이 메뉴에는 트랜잭션 레코딩 정책에서 제품에 대해 생성된 맞춤 속성이 표시됩니다. 개발자에게는 각 거래 내에서 선택한 맞춤 속성의 값에 따라 비용이 청구됩니다.
(속성 값 * 요율 = 개발자에게 청구되는 금액) - 원하는 경우 요금제 세부정보 지정에 설명된 대로 무료 체험판 요금제를 설정합니다.
- 요금제 카드 요금제 세부정보 지정에 설명된 대로 요금 모델을 설정합니다. 단, 맞춤 속성 요금제 유형이 있는 요금표의 경우 청구 모델은 선택한 맞춤 속성을 기반으로 합니다. 예를 들어 정액제를 청구 모델로 선택하면 각 거래에서 전송되는 바이트 수와 같은 맞춤 속성에 따라 개발자에게 고정 요금이 부과됩니다 (각 거래의 고정 요금이 아님). 자세한 내용은 계산을 참고하세요.
-
초안 저장을 클릭합니다.
최종 버전임을 확신할 때만 계획을 게시합니다. 게시 날짜를 설정하고 요금제를 게시하는 방법에 대한 자세한 내용은 요금제 게시를 참고하세요.
자세한 내용은 UI를 사용하여 요금제 세부정보 지정을 참고하세요.
UI를 사용하여 맞춤 속성으로 조정 가능한 알림 계획 구성
아래에 설명된 대로 맞춤 속성을 사용하여 조정 가능한 알림 계획을 구성합니다.에지
Edge UI를 사용하여 맞춤 속성으로 요율표 요금제를 구성하려면 다음 단계를 따르세요.
- API 제품을 추가할 때 커스텀 속성을 정의합니다.
- 제품이 포함된 API 제품 번들을 만듭니다. API 제품 번들 만들기를 참고하세요.
API 제품 번들의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개 및 거래 기록 정책 만들기를 참고하세요. - API 제품 번들의 요금제를 만들고 맞춤 평점 매개변수를 지정합니다.
자세한 내용은 UI를 사용하여 조정 가능한 알림 계획 구성을 참고하세요.
기존 Edge (프라이빗 클라우드)
기존 Edge UI를 사용하여 맞춤 속성으로 요금카드 요금제를 구성하려면 다음 단계를 따르세요.
- API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 커스텀 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함하려는 각 API 제품에 대해 이 작업을 수행합니다.
- API 제품 및 트랜잭션 기록 정책이 원하는 대로 정확히 구성되면 제품이 포함된 API 패키지를 만듭니다. API 패키지 만들기를 참고하세요.
- API 패키지의 요금제를 만들고 맞춤 속성이 포함된 조정 가능한 알림의 요금제 유형을 선택합니다.
-
세부정보 링크를 클릭합니다. 그러면 조정 가능한 알림 창이 열립니다.
- 맞춤 속성 드롭다운 메뉴에서 맞춤 속성을 선택합니다. 이 메뉴에는 트랜잭션 레코딩 정책에서 제품에 대해 생성된 맞춤 속성이 표시됩니다. 개발자의 총 거래 수는 각 거래 내에서 선택한 맞춤 속성 값에 따라 계산됩니다.
- 집계 기준을 거래량이 집계되는 기간으로 설정합니다. 1~24개월 사이의 숫자를 선택합니다. 이 값의 기본값은 1개월입니다.
- 적용 및 닫기를 클릭합니다.
-
초안 저장을 클릭합니다.
최종 버전임을 확신할 때만 계획을 게시합니다. 게시 날짜를 설정하고 요금제를 게시하는 방법에 대한 자세한 내용은 요금제 게시를 참고하세요.
자세한 내용은 UI를 사용하여 조정 가능한 알림 계획 세부정보 지정을 참고하세요.
API를 사용하여 맞춤 속성이 있는 요금제의 세부정보 지정
다음 기본 단계를 실행합니다.
- API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 커스텀 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함할 각 API 제품에 대해 이 작업을 실행합니다.
- API 제품 및 트랜잭션 기록 정책이 원하는 대로 정확히 구성되면 제품이 포함된 API 패키지를 만듭니다. API 패키지 만들기를 참고하세요.
그런 다음 API를 사용하여 요금제를 만듭니다.
요금제를 만들 때 맞춤 속성을 사용하여 요금제의 세부정보를 지정합니다. /organizations/{org_name}/monetization-packages/{package_id}/rate-plans
호출의 요청 본문 내 ratePlanDetails
속성에서 세부정보를 지정합니다. 세부정보에서 커스텀 속성의 이름을 식별하는 평가 매개변수 값을 지정합니다. 지정된 시간 간격 동안 맞춤 속성을 집계하는 평가 매개변수 값을 지정할 수도 있습니다.
요금제 세부정보 옵션의 전체 목록은 요금제 세부정보 구성 설정을 참고하세요.
예를 들어 다음은 messageSize
라는 맞춤 속성을 기반으로 맞춤 속성 요금제와 함께 요금 카드를 만듭니다 (굵은 글꼴로 표시된 항목 참고).
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "Custom attribute-based rate card plan", "developer":null, "developerCategory":null, "currency": { "id" : "usd" }, "description": "Custom attribute-based rate card plan", "displayName" : "Custom attribute-based rate card plan", "frequencyDuration": "1", "frequencyDurationType": "MONTH", "earlyTerminationFee": "10", "monetizationPackage": { "id": "location" }, "organization": { "id": "{org_name}" }, "paymentDueDays": "30", "prorate": "false", "published": "false", "ratePlanDetails":[ { "currency":{ "id":"usd" }, "duration":1, "durationType":"MONTH", "meteringType":"VOLUME", "paymentDueDays":"30", "ratingParameter":"messageSize", "ratingParameterUnit":"MB", "organization":{ "id":"{org_name}" }, "ratePlanRates":[ { "rate":0.15, "startUnit":0, "type":"RATECARD", "endUnit":1000 }, { "rate":0.1, "startUnit":1000, "type":"RATECARD", "endUnit":null } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "type":"RATECARD", "customPaymentTerm":false } ], "freemiumUnit":0, "freemiumDuration":0, "freemiumDurationType":"MONTH", "contractDuration":"1", "contractDurationType":"YEAR", "recurringStartUnit": 1, "recurringType": "CALENDAR", "recurringFee": "10", "setUpFee": "10", "startDate": "2013-09-15 00:00:00", "type": "STANDARD" }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \ -u email:password
다음은 messageSize
라는 맞춤 속성을 기반으로 맞춤 속성 요금제와 함께 조정 가능한 알림을 만듭니다 (굵은 글꼴로 표시된 항목 참고).
$ curl -H "Content-Type:application/json" -X POST -d \ '{ "name": "AdjustableNotification", "displayName": "Custom attribute-based adjustable notification plan", "description": "Custom attribute-based adjustable notification plan", "published": "true", "organization": { "id": "myorg" }, "startDate": "2016-04-15 00:00:00", "type": "STANDARD", "monetizationPackage": { "id": "p1", "name": "test" }, "currency": { "id" : "usd", "name" : "USD" }, "ratePlanDetails": [ { "type": "USAGE_TARGET", "meteringType": "DEV_SPECIFIC", "duration": 1, "durationType": "MONTH", "ratingParameter": "messageSize", "ratingParameterUnit": "MB", "organization": { "id": "myorg" }, "currency": { "id": "usd", "name": "USD" } } ] }' \ "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans" \ -u email:password