레거시 구독에 대한 전송 만들기
참고 항목
이 문서에서는 레거시 구독 전송에 대해서만 설명합니다 . 앞서 발표한 대로 CSP 파트너는 구독 새 상거래를 마이그레이션해야 합니다. 새 상거래 구독에 대한 파트너 이전 단계는 새 상거래 구독 이전 항목 항목에서 찾을 수 있습니다.
필수 조건
자격 증명(파트너 센터 인증에서 설명). 이 시나리오는 독립 실행형 앱과 App+사용자 자격 증명을 모두 사용하여 인증을 지원합니다.
고객 ID (
customer-tenant-id
). 고객의 ID를 모르는 경우 고객 작업 영역을 선택하고 고객 목록에서 고객을 선택한 다음 계정을 선택하여 파트너 센터에서 조회할 수 있습니다. 고객 계정 페이지의 고객 계정 정보 섹션에서 Microsoft ID를 찾습니다. Microsoft ID는 고객 ID(customer-tenant-id
)와 동일합니다.적절한 역할: 전역 관리자 | 관리 에이전트 | 판매 에이전트
REST 요청
요청 구문
메서드 | 요청 URI |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/transfers HTTP/1.1 |
URI 매개 변수
다음 경로 매개 변수를 사용하여 고객을 식별합니다.
속성 | Type | 필수 | 설명 |
---|---|---|---|
customer-id | string | 예 | 고객을 식별하는 GUID 형식의 고객 ID |
요청 헤더
자세한 내용은 파트너 센터 REST 헤더를 참조하세요.
요청 본문
이 표에서는 요청 본문의 TransferEntity 속성에 대해 설명합니다.
속성 | 형식 | 필수 | 설명 |
---|---|---|---|
ID | string | 아니요 | transferEntity를 성공적으로 만들 때 제공되는 transferEntity 식별자 |
createdTime | DateTime | 아니요 | transferEntity를 만든 날짜(날짜-시간 형식)입니다. transferEntity를 성공적으로 만들 때 적용됨 |
lastModifiedTime | DateTime | 아니요 | transferEntity가 마지막으로 업데이트된 날짜(날짜-시간 형식)입니다. transferEntity를 성공적으로 만들 때 적용됨 |
lastModifiedUser | string | 아니요 | transferEntity를 마지막으로 업데이트한 사용자입니다. transferEntity를 성공적으로 만들 때 적용됨 |
customerName | string | 아니요 | 선택 사항. 구독이 전송되는 고객의 이름입니다. |
customerTenantId | string | 아니요 | 고객을 식별하는 GUID 형식의 고객 ID입니다. transferEntity를 성공적으로 만들 때 적용됨 |
partnertenantid | string | 아니요 | 파트너를 식별하는 GUID 형식의 파트너 ID |
sourcePartnerName | string | 아니요 | 선택 사항. 전송을 시작하는 파트너 조직의 이름입니다. |
sourcePartnerTenantId | string | 예 | 전송을 시작하는 파트너를 식별하는 GUID 형식의 파트너 ID |
targetPartnerName | string | 아니요 | 선택 사항. 전송 대상이 되는 파트너 조직의 이름입니다. |
targetPartnerTenantId | string | 예 | 전송 대상이 되는 파트너를 식별하는 GUID 형식의 파트너 ID입니다. |
lineItems | 개체의 배열 | 예 | TransferLineItem 리소스의 배열 |
status | string | 아니요 | transferEntity의 상태. 가능한 값은 "활성"(삭제/제출 가능) 및 "완료됨"(이미 완료됨)입니다. transferEntity를 성공적으로 만들 때 적용됩니다. |
이 표에서는 요청 본문의 TransferLineItem 속성에 대해 설명합니다.
속성 | 형식 | 필수 | 설명 |
---|---|---|---|
ID | string | 아니요 | 전송 줄 항목에 대한 고유 식별자입니다. transferEntity를 성공적으로 만들 때 적용됩니다. |
subscriptionId | string | 예 | 구독 식별자 |
quantity | int | 아니요 | 라이선스 또는 인스턴스 수 |
billingCycle | Object | 아니요 | 현재 기간에 대해 설정된 청구 주기 형식입니다. |
friendlyName | string | 아니요 | 선택 사항. 명확하게 구분하기 위해 파트너가 정의한 항목의 이름입니다. |
partnerIdOnRecord | string | 아니요 | 이전이 수락되면 발생하는 구매에 대한 PartnerID on Record(이전의 MPN ID) |
offerId | string | 아니요 | 제품 식별자 |
addonItems | TransferLineItem 개체 목록 | 아니요 | 전송 중인 기본 구독과 함께 전송될 추가 기능에 대한 transferEntity 줄 항목의 컬렉션입니다. transferEntity를 성공적으로 만들 때 적용됩니다. |
transferError | string | 아니요 | 오류가 있는 경우 transferEntity가 수락된 후 적용됨 |
status | string | 아니요 | transferEntity에서 lineitem의 상태 |
요청 예제
POST /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/transfers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-7294a10ae1cf
MS-CorrelationId: 0e93c70c-977c-4a88-9580-7cf084c73286
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Expect: 100-continue
{
"sourcePartnerTenantId": "da6c51b5-1246-4a42-b4ab-cbf38df54537",
"targetPartnerTenantId": "656218b1-80c9-40b2-83ae-3a2703b55271",
"lineItems": [
{
"subscriptionId": "7291BFBF-1772-4C5B-A624-18B6152CD8CB",
"partnerIdOnRecord": "517285"
},
{
"subscriptionId": "6C0B221B-8DF9-4F4A-A5BB-4C9CBB7B27B0",
"partnerIdOnRecord": "517285"
}
]
}
REST 응답
성공하면 이 메서드는 응답 본문에 채워진 TransferEnity 리소스를 반환합니다.
응답 성공 및 오류 코드
각 응답에는 성공 또는 실패와 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다. 네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 추가 매개 변수를 읽을 수 있습니다. 전체 목록은 오류 코드를 참조하세요.
응답 예제
HTTP/1.1 201 Created
Content-Length: 138
Content-Type: application/json; charset=utf-8
MS-RequestId: 4fa6dad6-a89f-4875-8247-7294a10ae1cf
MS-CorrelationId: 0e93c70c-977c-4a88-9580-7cf084c73286
X-Locale: en-US,en-US
{
"id": "67c5b05b-09b5-47ba-9047-5056fe2afa4f",
"status": "Active",
"createdTime": "2020-03-24T20:44:14.9602781Z",
"lastModifiedTime": "2020-03-24T20:44:15Z",
"customerTenantId": "823c6c3f-9259-4d51-bae2-5dd06743177f",
"partnertenantid": "da6c51b5-1246-4a42-b4ab-cbf38df54537",
"sourcePartnerTenantId": "da6c51b5-1246-4a42-b4ab-cbf38df54537",
"targetPartnerTenantId": "656218b1-80c9-40b2-83ae-3a2703b55271",
"lastModifiedUser": "d0648481-b615-45c9-8cd1-ff87940dbdc4",
"lineItems": [
{
"id": 0,
"subscriptionId": "7291BFBF-1772-4C5B-A624-18B6152CD8CB",
"offerId": "50E9A47A-7B4D-4970-9D90-CAE927F53753",
"billingCycle": "annual",
"friendlyName": "Dynamics 365 for Sales Enterprise Attach to Qualifying Dynamics 365 Base Offer",
"quantity": 1,
"addonItems": [
{
"id": 0,
"subscriptionId": "D738C6C9-DDBD-46E9-B316-65F9D9B3ECB4",
"offerId": "2BCF9FE8-8B65-4FCF-9240-419203FB8CF4",
"billingCycle": "annual",
"friendlyName": "Dynamics 365 - Additional Production Instance (Qualified Offer)",
"quantity": 4
}
]
},
{
"id": 0,
"subscriptionId": "6C0B221B-8DF9-4F4A-A5BB-4C9CBB7B27B0",
"offerId": "455DDD41-32ED-4E2D-B3A2-BBCB22CAA467",
"billingCycle": "annual",
"friendlyName": "Dynamics 365 Customer Engagement Plan Patch",
"quantity": 8,
"addonItems": []
}
],
"links": {
"self": {
"uri": "/customers/823c6c3f-9259-4d51-bae2-5dd06743177f/transfers/67c5b05b-09b5-47ba-9047-5056fe2afa4f",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "TransferEntity"
}
}