API를 사용하여 요금제 구매

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

이 섹션에서는 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

해당 사항 없음
endDate

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

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

해당 사항 없음 아니요
developer

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

해당 사항 없음
quotaTarget

앱 개발자에게 허용되는 대상 트랜잭션 수입니다. 대상 수의 90%, 100%, 150%와 같이 도달한 비율에 따라 알림을 전송할지 여부와 시기를 구성할 수 있습니다. 대상 수에 도달한 후에는 추가 트랜잭션이 차단되지 않습니다.

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

0 아니요
ratePlan

요금제의 ID를 정의하는 id 속성입니다.

요금제 ID는 표시 이름과 다릅니다. ID를 포함한 요금제 세부정보를 보려면 요금제 페이지 탐색을 참고하세요.

해당 사항 없음
suppressWarning

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

  • true - 수익 창출은 개발자가 충돌하는 API 제품이 포함된 API 패키지에 대해 구매한 모든 요금제를 종료합니다. 그런 다음 개발자를 위해 새 API 패키지를 구매합니다.
  • false - 겹치는 요금제가 있는 경우 오류가 발생합니다.
해당 사항 없음 아니요
waveTerminationCharge

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

  • true - 활성 요금제가 종료될 때 해지 수수료를 면제합니다. 새 요금제를 활성화하는 과정의 일부로
  • false - 새 요금제를 활성화하는 과정에서 활성 요금제가 종료될 때 해지 수수료를 면제하지 않습니다.
해당 사항 없음 아니요

예를 들어 다음 요청은 지정된 개발자를 위해 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 패키지를 구매합니다.

다음 요청은 조정 가능한 알림 요금제를 구매하고 대상 트랜잭션 수 를 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를 사용하여 개발자가 구매한 요금제 만료

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

요금제는 지정된 종료일의 하루가 끝날 때 까지 적용됩니다. 예를 들어 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
  }'