다음을 통해 공유


파트너 센터 API를 사용하여 고객의 Microsoft 고객 계약 동의 확인

적용 대상: 파트너 센터

비적용 대상: 21Vianet에서 운영되는 파트너 센터 | Microsoft Cloud for US Government 파트너 센터

파트너 센터는 현재 Microsoft 퍼블릭 클라우드에서만 Microsoft 고객 계약에 대한 고객의 동의 확인을 지원합니다.

이 문서에서는 Microsoft 고객 계약에 대한 고객의 동의를 확인하거나 다시 확인하는 방법에 대해 설명합니다.

필수 조건

  • 파트너 센터 .NET SDK를 사용하는 경우 1.14 버전 이상이 필요합니다.

Important

2023년 6월 현재 최신 파트너 센터 .NET SDK 릴리스 3.4.0이 보관됩니다. 유용한 정보가 포함된 추가 정보 파일함께 GitHub에서 SDK 릴리스를 다운로드할 수 있습니다.

파트너는 파트너 센터 REST API계속 사용하는 것이 좋습니다.

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

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

  • 고객이 Microsoft 고객 계약에 동의한 날짜(dateAgreed)

  • Microsoft 고객 계약에 동의한 고객 조직의 사용자에 대한 정보. 다음 내용이 포함됩니다.

    • 이름
    • 메일 주소
    • 전화 번호(선택 사항)
  • 고객에 대해 다음 값이 변경되면 파트너 센터에서는 해당 고객에 대해 다른 계약을 만들 수 있습니다. 이름 성 이메일 주소 전화 번호입니다. 그렇지 않으면 중복 고객 생성으로 인해 파트너가 다음 오류 코드를 받게 됩니다.

{
"code": 600061,
"message": "A partner confirmed agreement already exists for the customer.",
"description": "A partner confirmed agreement already exists for the customer.",
"errorName": "PartnerConfirmedAgreementAlreadyExists",
"isRetryable": false,
"parameters": {},
"errorMessageExtended": "InternalErrorCode=600061"
}

.NET

Microsoft 고객 계약에 대한 고객의 동의를 확인하거나 다시 확인하려면 다음을 수행합니다.

  1. Microsoft 고객 계약에 대한 계약 메타데이터를 검색합니다. Microsoft 고객 계약의 templateId를 가져와야 합니다. 자세한 내용은 Microsoft 고객 계약에 대한 계약 메타데이터 가져오기를 참조하세요.

    // IAggregatePartner partnerOperations;
    
    string agreementType = "MicrosoftCustomerAgreement";
    
    var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
    
  2. 확인 세부 정보가 포함된 새 Agreement 개체를 만듭니다.

  3. IAgreggatePartner.Customers 컬렉션을 사용하고, 지정된 customer-tenant-id를 사용하여 ById 메서드를 호출합니다.

  4. Agreements 속성을 사용한 다음, Create 또는 CreateAsync를 호출합니다.

    // string selectedCustomerId;
    
    var agreementToCreate = new Agreement
    {
        DateAgreed = DateTime.UtcNow,
        TemplateId = microsoftCustomerAgreementDetails.TemplateId,
        PrimaryContact = new Contact
        {
            FirstName = "Tania",
            LastName = "Carr",
            Email = "someone@example.com",
            PhoneNumber = "1234567890"
        }
    };
    
    Agreement agreement = partnerOperations.Customers.ById(selectedCustomerId).Agreements.Create(agreementToCreate);
    

전체 샘플은 콘솔 테스트 앱 프로젝트의 CreateCustomerAgreement 클래스에서 찾을 수 있습니다.

REST 요청

Microsoft 고객 계약에 대한 고객의 동의를 확인하거나 다시 확인하려면 다음을 수행합니다.

  1. Microsoft 고객 계약에 대한 계약 메타데이터를 검색합니다. Microsoft 고객 계약의 templateId를 가져와야 합니다. 자세한 내용은 Microsoft 고객 계약에 대한 계약 메타데이터 가져오기를 참조하세요.
  2. 고객이 Microsoft 고객 계약에 동의했는지 확인하는 새 Agreement 리소스를 만듭니다. 다음 REST 요청 구문을 사용합니다.

요청 구문

메서드 요청 URI
게시 {baseURL}/v1/customers/{customer-tenant-id}/agreements HTTP/1.1

URI 매개 변수

다음 쿼리 매개 변수를 사용하여 확인할 고객을 지정합니다.

이름 종류 필요함 설명
customer-tenant-id GUID 값은 GUID 형식의 customer-tenant-id이며, 이는 고객을 지정할 수 있는 식별자입니다.

요청 헤더

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

요청 본문

다음 표에서는 REST 요청 본문의 필수 속성을 설명합니다.

이름 종류 설명
계약 개체 Microsoft 고객 계약에 대한 고객의 동의를 확인하기 위해 파트너가 제공하는 세부 정보입니다.

계약

다음 표에서는 Agreement 리소스를 만드는 데 필요한 최소 필드를 설명합니다.

속성 종류 설명
primaryContact 연락처 firstName, lastName, emailphoneNumber(선택 사항)를 포함하여 Microsoft 고객 계약에 동의한 고객 조직의 사용자에 대한 정보입니다.
dateAgreed UTC 날짜/시간 형식의 문자열 고객이 계약에 동의한 날짜입니다.
templateId string 고객이 동의한 계약 유형의 고유 식별자입니다. Microsoft 고객 계약에 대한 계약 메타데이터를 검색하여 Microsoft 고객 계약에 대한 templateId를 가져올 수 있습니다. 자세한 내용은 Microsoft 고객 계약에 대한 계약 메타데이터 가져오기를 참조하세요.
type string 고객이 동의한 계약 유형입니다. 고객이 Microsoft 고객 계약에 동의한 경우 "MicrosoftCustomerAgreement"를 사용합니다.

요청 예제

POST https://api.partnercenter.microsoft.com/v1/customers/14876998-c0dc-46e6-9d0c-65a57a6c32ec/agreements HTTP/1.1
Authorization: Bearer <token>
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}

REST 응답

성공하면 이 메서드에서 Agreement 리소스를 반환합니다.

응답 성공 및 오류 코드

각 응답에는 성공 또는 실패와 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다.

네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 추가 매개 변수를 읽을 수 있습니다. 전체 목록은 파트너 센터 REST 오류 코드를 참조하세요.

응답 예제

HTTP/1.1 201 Created
Content-Length: 261
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}