다음을 통해 공유


파트너 센터 API를 사용하여 평가판 구독을 유료로 변환

참고 항목

이러한 단계는 새 상거래 제품에는 적용되지 않습니다. 새 상거래 평가판을 유료 구독으로 변환하기 위한 새 상거래 구독 전환 설명서를 참조하세요.

평가판 구독을 유료로 변환할 수 있습니다.

필수 조건

  • 자격 증명(파트너 센터 인증에서 설명). 이 시나리오는 앱 + 사용자 자격 증명을 사용한 인증만 지원합니다.

  • 고객 ID (customer-tenant-id). 고객의 ID를 모르는 경우 고객 작업 영역, 고객 목록에서 고객, 계정을 선택하여 파트너 센터에서 조회할 수 있습니다. 고객의 계정 페이지에서 고객 계정 정보 섹션에서 Microsoft ID습니다. Microsoft ID는 고객 ID(customer-tenant-id)와 동일합니다.

  • 활성 평가판 구독에 대한 구독 ID입니다.

  • 사용 가능한 변환 제품입니다.

코드를 통해 평가판 구독을 유료 구독으로 변환

평가판 구독을 유료 구독으로 변환하려면 먼저 사용 가능한 평가판 변환 컬렉션을 가져와야 합니다. 그런 다음 구매하려는 변환 제안을 선택해야 합니다.

변환 제품은 평가판 구독과 동일한 수의 라이선스로 기본 설정되는 수량을 지정합니다. Quantity 속성을 구매하려는 라이선스 수로 설정하여 이 수량을 변경할 수 있습니다.

참고 항목

구매한 라이선스 수에 관계없이 평가판의 구독 ID는 구매한 라이선스에 재사용됩니다. 결과적으로 평가판이 사라지고 구매로 대체됩니다.

다음 단계를 사용하여 코드를 통해 평가판 구독을 변환합니다.

  1. 사용 가능한 구독 작업에 대한 인터페이스를 가져옵니다. 고객을 식별하고 평가판 구독의 구독 식별자를 지정해야 합니다.

    var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);
    
  2. 사용 가능한 변환 제품의 컬렉션을 가져옵니다. 이 방법에 대한 요청/응답에 대한 자세한 내용과 자세한 내용은 평가판 변환 제품 목록을 참조하세요.

    var conversions = subscriptionOperations.Conversions.Get();
    
  3. 변환 제안을 선택합니다. 다음 코드는 컬렉션의 첫 번째 변환 제안을 선택합니다.

    var selectedConversion = conversions.Items.ToList()[0];
    
  4. 필요에 따라 구매할 라이선스 수를 지정합니다. 기본값은 평가판 구독의 라이선스 수입니다.

    selectedConversion.Quantity = 10;
    
  5. 평가판 구독을 유료로 변환하려면 Create 또는 CreateAsync 메서드를 호출합니다.

    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
    

C#

평가판 구독을 유료 구독으로 변환하려면 다음을 수행합니다.

  1. 고객 ID와 함께 IAggregatePartner.Customers.ById 메서드를 사용하여 고객을 식별합니다.

  2. 평가판 구독 ID를 사용하여 Subscriptions.ById 메서드를 호출하여 구독 작업에 대한 인터페이스를 가져옵니다. 구독 작업 인터페이스에 대한 참조를 지역 변수에 저장합니다.

  3. 변환 속성을 사용하여 변환 시 사용 가능한 작업에 대한 인터페이스를 가져온 다음 Get 또는 GetAsync 메서드를 호출하여 사용 가능한 변환 제품의 컬렉션을 검색합니다. 하나의 항목을 선택해야 합니다. 다음 예제에서는 기본적으로 사용 가능한 첫 번째 변환으로 설정됩니다.

  4. 로컬 변수에 저장한 구독 작업 인터페이스 및 Conversions 속성에 대한 참조를 사용하여 변환 시 사용 가능한 작업에 대한 인터페이스를 가져옵니다.

  5. 선택한 변환 제품 개체를 Create 또는 CreateAsync 메서드에 전달하여 평가판 변환을 시도합니다.

C# 예제

// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;

// Get subscription operations for the trial subscription.
var subscriptionOperations = partnerOperations.Customers.ById(customerId).Subscriptions.ById(subscriptionId);

// Get the available conversions.
var conversions = subscriptionOperations.Conversions.Get();

// If there are no conversions available, we're done.
// Otherwise, convert the trial to the first available conversion offer.
if (conversions.TotalCount <= 0)
{
    System.Console.WriteLine("This subscription has no conversions");
}
else
{
    // Default to the first conversion.
    var selectedConversion = conversions.Items.ToList()[0];

    // Convert the trial and return the result.
    var convertResult = subscriptionOperations.Conversions.Create(selectedConversion);
}

REST 요청

요청 구문

메서드 요청 URI
POST {baseURL}/v1/customers/{customer-id}/subscriptions/{subscription-id}/conversions HTTP/1.1

URI 매개 변수

다음 경로 매개 변수를 사용하여 고객 및 평가판 구독을 식별합니다.

이름 Type 필요함 설명
customer-id string 고객을 식별하는 GUID 형식 문자열입니다.
구독 ID string 평가판 구독을 식별하는 GUID 형식 문자열입니다.

요청 헤더

자세한 내용은 파트너 센터 REST 헤더를 참조하세요.

요청 본문

채워진 변환 리소스는 요청 본문에 포함되어야 합니다.

요청 예제

POST https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/conversions HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 234
Expect: 100-continue

{
    "OfferId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "TargetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "OrderId": "D51A052E-043C-4A2A-AA37-2BB938CEF6C1",
    "Quantity": 25,
    "BillingCycle": "monthly",
    "Attributes": {
        "ObjectType": "Conversion"
    }
}

REST 응답

성공하면 응답 본문에 ConversionResult 리소스가 포함됩니다.

응답 성공 및 오류 코드

각 응답에는 성공 또는 실패와 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다. 네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 추가 매개 변수를 읽을 수 있습니다. 전체 목록은 파트너 센터 오류 코드를 참조 하세요.

응답 예제

HTTP/1.1 200 OK
Content-Length: 211
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: bd0cde7f-ba87-4010-8a73-1190b641f2a4
MS-CV: kW4GzmhvHEqCq1ls.0
MS-ServerId: 030020643
Date: Thu, 15 Jun 2017 23:10:40 GMT

 {
    "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
    "offerId": "C0BD2E08-11AC-4836-BDC7-3712E744922F",
    "targetOfferId": "031C9E47-4802-4248-838E-778FB1D2CC05",
    "attributes": {
        "objectType": "ConversionResult"
    }
}