API를 사용한 구매 요금제

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

이 섹션에서는 게시된 요금제를 구매하고 원하는 경우 API를 사용하여 구매한 요금제를 만료 또는 취소하는 방법을 설명합니다.

API를 사용하여 게시된 요금제 구매

요금제가 게시된 후 개발자 또는 회사는 /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans에 POST 요청을 실행하여 요금제를 구매 (또는 '수락')할 수 있습니다. 여기서 {org_name}는 조직 이름이고 {developer_or_company_id}는 개발자 또는 회사의 ID입니다.

요금제를 구매할 때 설정 수수료를 면제하려면 waivefees 쿼리 매개변수를 true로 설정하세요. 이 플래그는 수익 창출로 개발자 이전에 설명된 대로 개발자를 수익 창출로 이전할 때 유용합니다.

다음 표에는 요청 본문에 지정할 수 있는 구성 속성, 기본값 및 필수 여부가 요약되어 있습니다.

이름 설명 기본 계정 필수 여부
startDate

요금제가 시작되는 날짜입니다. 예: 2017-03-24

N/A
endDate

요금제가 종료되는 날짜입니다. 예: 2017-09-24

요금제는 지정된 날짜의 하루가 끝날 때까지 적용됩니다. 예를 들어 2017년 12월 1일에 요금제를 만료하려면 endDate 값을 2017-11-30으로 설정해야 합니다. 이 경우 요금제가 2017년 11월 30일에 만료되며 2017년 12월 1일에 발생한 모든 요청이 차단됩니다.

N/A No
developer

id 속성이며 요금제를 구매하는 개발자 또는 회사의 ID를 정의합니다.

N/A
quotaTarget

앱 개발자에게 허용되는 목표 거래 수입니다. 대상 수의 도달 비율(예: 90%, 100%, 150%)을 기준으로 알림 전송 여부와 시기를 구성할 수 있습니다. 목표 수치에 도달한 후에는 추가 트랜잭션이 차단되지 않습니다.

이 값을 양의 정수 값으로 설정하거나 0으로 설정하여 앱 개발자의 알림을 사용 중지합니다.

0 No
ratePlan

id 속성입니다.

요금제 ID가 표시 이름과 다릅니다. ID를 포함한 요금제 세부정보를 보려면 요금제 페이지 살펴보기를 참조하세요.

N/A
suppressWarning

개발자가 구매한 다른 요금제와 겹치는 요금제를 구매하려고 할 경우 오류를 억제할지 지정하는 플래그입니다. 이 값은 다음 중 하나일 수 있습니다.

  • true - 수익 창출에서는 개발자가 충돌하는 API 제품이 포함된 API 패키지를 구매해야 하는 모든 구매 요금제를 해지합니다. 그런 다음 개발자를 위해 새 API 패키지를 구매합니다.
  • false - 요금제가 겹치는 경우 오류가 발생합니다.
N/A No
waveTerminationCharge

새 요금제를 활성화하는 과정에서 활성 요금제가 종료될 때 해지 수수료가 면제되는지 여부를 지정하는 플래그입니다. 이 값은 다음 중 하나일 수 있습니다.

  • true - 새 요금제 활성화의 일환으로 활성 요금제가 해지되는 경우 해지 수수료가 면제됩니다.
  • false - 새 요금제 활성화의 일환으로 활성 요금제가 해지되는 경우 해지 수수료를 면제하지 않습니다.
N/A No

예를 들어 다음 요청에서는 지정된 개발자의 location_&_messaging 요금제를 구매합니다.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

이 예에서는 suppressWarning 속성이 false로 설정되어 있습니다. 이 경우 충돌이 발생하면 오류가 발생합니다. 예를 들어 개발자가 구매한 다른 요금제와 겹치는 요금제를 구매하려고 하면 오류가 발생합니다. 이렇게 하면 수익 창출에 사용자 인터페이스를 제공하는 애플리케이션이 오류를 가로채고 충돌 제품을 개발자에게 표시하여 (해당하는 경우) 확인을 받을 수 있습니다. suppressWarningtrue로 설정되면 개발자가 충돌하는 제품이 포함된 API 패키지를 API에 제공해야 하는 모든 구매 요금제에서 수익 창출이 종료됩니다. 그런 다음 개발자를 위해 새 API 패키지를 구매합니다.

다음 요청에서는 조정 가능한 알림 요금제를 구매하고 목표 거래 수를 4,000개로 설정합니다.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

위의 예에서 다음 오류 메시지가 반환되는 경우:

Developer legal name not specified. 

그런 다음 수익 창출 속성 MINT_DEVELOPER_ADDRESSMINT_DEVELOPER_LEGAL_NAME를 설정한 후 API 호출을 반복해야 합니다.

개발자가 API를 사용하여 구매한 요금제 만료

개발자가 구매한 요금제를 만료 (또는 취소)하려면 구매한 요금제 세부정보를 업데이트하고 /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id} 리소스에 대한 PUT 요청의 요청 본문에 endDate 속성을 지정합니다.

요금제는 지정된 종료일의 하루가 끝날 때까지 적용됩니다. 예를 들어 2017년 12월 1일에 요금제를 만료하려면 endDate 값을 2017-11-30으로 설정해야 합니다. 이 경우 요금제가 2017년 11월 30일에 만료되며 2017년 12월 1일에 발생한 모든 요청이 차단됩니다.

게시된 요금제를 구매하면 응답에 {developer_rateplan_id}가 반환됩니다.

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

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

또는 /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans에 GET 요청을 실행하여 개발자 요금제에 대한 {developer-rateplan-id}을 가져올 수 있습니다. 여기서 {developer_id}는 개발자의 이메일 주소입니다. 자세한 내용은 개발자가 구매한 모든 요금제 보기를 참조하세요.

다음 요청은 종료일을 2017년 12월 1일로 업데이트합니다. 즉, 요금제가 2017년 11월 30일에 만료되며 2017년 12월 1일의 모든 요청은 차단됩니다.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'