맞춤 속성으로 요금제 구성

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

소개

경우에 따라 거래 카운터가 변수 또는 맞춤 값에 기반해야 할 수도 있습니다. 예를 들어 다음과 같은 작업이 필요할 수 있습니다.

  • API 호출 메시지에 제공된 값을 기준으로 개발자에게 변동 금액을 청구합니다. 예를 들어 API 요청에서 전송된 바이트 수를 기준으로 앱 개발자에게 요금을 부과할 수 있습니다.
  • 여러 API 호출을 단일 트랜잭션으로 묶습니다.

커스텀 속성이 있는 요금제를 사용하면 API 호출 메시지에서 카운터 역할을 하며 거래 수와 요금을 계산하는 데 사용되는 값을 식별할 수 있습니다.

커스텀 속성이 있는 다음과 같은 요금제가 지원됩니다.

  • 맞춤 속성이 포함된 요율표
  • 맞춤 속성이 있는 조정 가능한 알림

요금제당 최대 10개의 맞춤 속성을 설정할 수 있습니다.

맞춤 속성 계산 이해

커스텀 속성 값이 요금제 거래 수와 요금에 반영되는 방식은 다음 표에 요약된 것처럼 청구 모델에 따라 다릅니다.

충전 모델 맞춤 속성 계산
고정 요금 및 통화량

custom attribute number * rate = charge to developer

고정 요금의 경우 맞춤 속성 숫자는 거래 수가 이 요율에 곱해집니다. Volume Banded의 경우 대역 내의 트랜잭션 수가 커스텀 속성 번호만큼 증가하며 개발자에게 해당 트랜잭션 수에 대한 요금이 청구됩니다. 예를 들어 메시지의 커스텀 속성 값이 10이면 개발자에게 10개의 트랜잭션에 대한 요금이 청구되고 10개의 트랜잭션이 현재 대역 수에 추가됩니다. 개발자의 현재 대역에 남아 있는 트랜잭션이 6개뿐인 경우 6에 해당 대역의 비율을 곱합니다. 나머지 4개는 다음 대역으로 가서 해당 대역의 속도를 곱합니다.

볼륨 밴드 요금제에서 마지막 볼륨 대역에 한도가 있고('무제한'이 아님) 거래가 이 한도를 초과하면 다음 두 가지 작업이 발생합니다.

Bundles

번들 요금은 트랜잭션이 아닌 그룹에서 청구하므로 다음과 같이 계산됩니다.

custom attribute number = amount added to bundle count

예를 들어 메시지의 맞춤 속성 번호가 10이면 번들에 사용되는 거래 수에 10이 추가됩니다. 개발자의 현재 번들에 남은 트랜잭션이 6개뿐인 경우 해당 번들이 채워지고 다음 번들 수가 4씩 증가합니다. 다음 번들에 대한 요율(있는 경우)이 청구됩니다.

마지막 번들에 한도('무제한'이 아님)가 있고 트랜잭션이 이 한도를 초과하면 다음 두 가지 상황이 발생합니다.

조정 가능한 알림

조정 가능한 알림의 경우 다음과 같이 계산됩니다.

custom attribute number = amount added to transaction count

예를 들어 메시지의 커스텀 속성 번호가 10이면 총 거래 수에 10이 추가됩니다.

요금제에서 맞춤 속성 값을 가져오는 위치

API 제품 번들의 거래 기록 정책은 메시지에서 맞춤 속성 값을 확인할 위치를 수익 창출 도구에 알려줍니다. API 제품 번들에 대한 거래 기록 정책의 맞춤 속성 섹션에서 맞춤 속성을 정의합니다.

그런 다음 커스텀 속성이 정의된 거래 기록 정책이 포함된 API 제품 번들을 만든 후 요금제에서 해당 커스텀 속성을 선택할 수 있습니다.

대략적인 흐름은 다음과 같습니다.

  1. API 제품을 추가할 때 맞춤 속성을 정의합니다.
  2. 제품이 포함된 API 제품 번들을 만듭니다.
    API 제품 번들의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다.
  3. 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라는 변수에 저장됩니다. 프록시 엔드포인트 응답에 연결된 메시지 할당 정책을 사용하면 앱의 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 UI를 사용하여 맞춤 속성으로 요율표 요금제를 구성하려면 다음 안내를 따르세요.

  1. API 제품을 추가할 때 맞춤 속성을 정의합니다.
  2. 제품이 포함된 API 제품 번들을 만듭니다. API 제품 번들 만들기를 참조하세요.
    API 제품 번들의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요.
  3. API 제품 번들에 대한 요금제를 만들고 맞춤 평점 매개변수를 지정합니다.

자세한 내용은 UI를 사용하여 요율표 요금제 세부정보 구성을 참조하세요.

Classic Edge (Private Cloud)

기본 Edge UI를 사용하여 맞춤 속성 계획으로 요율표를 만들려면 다음 단계를 따르세요.

  1. API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함하려는 각 API 제품에 대해 이 작업을 수행합니다.
  2. API 제품 및 거래 기록 정책이 원하는 방식으로 정확하게 구성되면 제품을 포함하는 API 패키지를 만듭니다. API 패키지 만들기를 참조하세요.
  3. 맞춤 속성이 있는 요율표의 요금제 유형을 선택하여 API 패키지의 요금제를 만듭니다.
  4. 요율표 링크를 클릭합니다. 그러면 요율표 창이 열립니다.

  5. 맞춤 속성 드롭다운 메뉴에서 맞춤 속성을 선택합니다. 메뉴에는 거래 기록 정책의 제품에 대해 생성된 커스텀 속성이 나열됩니다. 개발자에게는 각 거래 내에서 선택한 맞춤 속성 값에 따라 요금이 청구됩니다.
    (속성 값 * 세율 = 개발자에게 부과되는 요금)
  6. 원하는 경우 요율표 요금제 세부정보 지정에 설명된 대로 부분 유료 모델 요금제를 설정합니다.
  7. 요율표 요금제 세부정보 지정에 설명된 대로 청구 모델을 설정합니다. 하지만 맞춤 속성 요금제 유형이 포함된 요율표의 경우 청구 모델은 선택한 맞춤 속성을 기반으로 합니다. 예를 들어 청구 모델로 정액제를 선택하면 각 트랜잭션의 고정 요금이 아닌 각 트랜잭션에서 전송되는 바이트 수와 같은 커스텀 속성에 따라 고정 요금이 개발자에게 청구됩니다. 자세한 내용은 계산을 참고하세요.
  8. 초안 저장을 클릭합니다.
    확신이 있는 경우에만 계획을 게시하세요. 게시 날짜 설정 및 요금제 게시에 대한 자세한 내용은 요금제 게시를 참고하세요.

자세한 내용은 UI를 사용하여 요율표 요금제 세부정보 지정하기를 참고하세요.

UI를 사용하여 맞춤 속성으로 조정 가능한 알림 계획 구성

아래에 설명된 대로 맞춤 속성으로 조정 가능한 알림 계획을 구성합니다.

에지

Edge UI를 사용하여 맞춤 속성으로 요율표 요금제를 구성하려면 다음 안내를 따르세요.

  1. API 제품을 추가할 때 맞춤 속성을 정의합니다.
  2. 제품이 포함된 API 제품 번들을 만듭니다. API 제품 번들 만들기를 참조하세요.
    API 제품 번들의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요.
  3. API 제품 번들에 대한 요금제를 만들고 맞춤 평점 매개변수를 지정합니다.

자세한 내용은 UI를 사용하여 조정 가능한 알림 계획 구성을 참고하세요.

Classic Edge (Private Cloud)

기본 Edge UI를 사용하여 맞춤 속성으로 요율표 요금제를 구성하려면 다음 단계를 따르세요.

  1. API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함하려는 각 API 제품에 대해 이 작업을 수행합니다.
  2. API 제품 및 거래 기록 정책이 원하는 방식으로 정확하게 구성되면 제품을 포함하는 API 패키지를 만듭니다. API 패키지 만들기를 참조하세요.
  3. 맞춤 속성을 사용한 조정 가능한 알림의 요금제 유형을 선택하여 API 패키지의 요금제를 만듭니다.
  4. 세부정보 링크를 클릭합니다. 이렇게 하면 조정 가능한 알림 창이 열립니다.

  5. 맞춤 속성 드롭다운 메뉴에서 맞춤 속성을 선택합니다. 메뉴에는 거래 기록 정책의 제품에 대해 생성된 맞춤 속성이 나열됩니다. 개발자의 총 거래 수는 각 거래 내에서 선택한 맞춤 속성 값을 기준으로 계산됩니다.
  6. 집계 기준을 거래량이 집계되는 기간으로 설정합니다. 1~24개월 사이의 숫자를 선택하세요. 이 값의 기본값은 1개월입니다.
  7. 적용 및 닫기를 클릭합니다.
  8. 초안 저장을 클릭합니다.
    확신이 있는 경우에만 계획을 게시하세요. 게시 날짜 설정 및 요금제 게시에 대한 자세한 내용은 요금제 게시를 참고하세요.

자세한 내용은 UI를 사용하여 조정 가능한 알림 요금제 세부정보 지정을 참고하세요.

API를 사용하여 맞춤 속성이 있는 요금제의 세부정보 지정

다음 기본 요건 단계를 수행합니다.

  1. API 제품의 거래 기록 정책에서 요금제를 정의하는 데 사용할 맞춤 속성을 추가합니다. 자세한 내용은 이 주제의 소개와 거래 기록 정책 만들기를 참고하세요. API 패키지에 포함하려는 각 API 제품에 대해 이 작업을 수행합니다.
  2. 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