다음을 통해 공유


고객을 위한 다중 파티 프라이빗 제품 만들기

ISV(발신기) 및 공동 작업 파트너(판매자)는 동일한 API 호출 집합을 사용하여 고객을 위한 프라이빗 제품을 만들어야 합니다. 예상되는 흐름은 다음과 같습니다.

  1. ISV는 제품을 만들고 파트너 가시성을 판매하기 위해 제출합니다.
  2. ISV는 판매 파트너에게 (이메일 또는 다른 방법을 통해) 이제 파트너 편집을 판매할 수 있다는 것을 알립니다.
  3. 파트너 리뷰 판매 및 프라이빗 제품 구성 완료 및 최종 고객 가시성을 위해 제출

제품 생성을 호출하는 방법은 다음과 같습니다.

요청

POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01

요청 헤더

헤더 형식 설명
권한 부여 문자열 필수입니다. 형식 Bearer <token>의 Microsoft Entra 액세스 토큰입니다.

선택 사항: 클라이언트 ID

요청 매개 변수

$version - 필수입니다. 요청에 사용되는 스키마의 버전입니다.

요청 본문

다음 옵션은 고객에 대한 다중 파티 프라이빗 제품을 만들 때 파트너 센터의 옵션을 반영합니다. 이러한 옵션은 다음 offerPricingType 값으로 정의됩니다.

offerPricingType 값 파트너 센터 프라이빗 제품 생성 옵션에 해당
editExistingOfferPricingOnly 기존 퍼블릭 제품 및 플랜에 대한 가격 책정 사용자 지정 - SaaS, Azure Virtual Machines 및 Azure 애플리케이션 거래 가능한 모든 제품 유형에 대한 프라이빗 제품을 만들려면 이 옵션을 사용합니다. 절대 가격 책정 또는 백분율 할인을 통해 파트너 가격을 사용자 지정할 수 있습니다.
saasNewCustomizedPlans SaaS 제품에 대한 가격 책정, 미터 수량 및 사용자 제한 사용자 지정 - 절대 파트너 가격, 계량 차원 수량 및 사용자 제한을 사용자 지정하여 SaaS 플랜에 대한 프라이빗 제품을 만들려면 이 옵션을 사용합니다.
vmSoftwareReservations VM 소프트웨어 예약 제품에 대한 가격 책정 및 특정 수량 사용자 지정 - 이 옵션을 사용하여 VM 소프트웨어 예약(1년 또는 3년)을 판매하고 절대 파트너 가격, vCPU 크기, 수량, 기간 및 결제 일정을 사용자 지정하는 다중 파티 프라이빗 제품을 만듭니다.

이전 세 가지 가격 책정 유형 옵션의 경우 계획별 리소스 요구 사항이 다를 수 있습니다. 자세한 내용은 다음 표를 참조하세요.

리소스 이름 editExistingOfferPricingOnly saasNewCustomizedPlans vmSoftwareReservations
가격. 계획 요청 본문에서 구성할 공용 계획의 계획 ID로 설정합니다. 해당 없음 해당 없음
pricing.basePlan 해당 없음 요청 본문에서 구성할 공용 계획의 계획 ID로 설정합니다. 요청 본문에서 구성할 공용 계획의 계획 ID로 설정합니다.
pricing.newPlanDetails.name 해당 없음 요청 본문에서 고객에게 표시될 새 플랜의 이름으로 설정합니다. 요청 본문에 적용되지 않습니다. 시스템이 생성되고 완료되면 작업의 응답에서 사용할 수 있습니다.
pricing.newPlanDetails.description 해당 없음 요청 본문의 새 플랜에 대해 고객에게 표시될 설명으로 설정합니다. 요청 본문에는 적용되지 않으며, 완료되면 시스템이 생성되고 작업의 응답에서 사용할 수 있습니다.
customerContractRenewal 값 설명
true 프라이빗 제품은 기존 고객 계약의 갱신입니다. 고객 갱신을 위해 개인 제품에 50% 할인된 에이전시 요금이 적용됩니다.
false 프라이빗 제품은 기존 고객 계약의 갱신이 아닙니다 . 표준 에이전시 요금이 적용됩니다.

요청 본문은 호출자 역할에 따라 다릅니다. privateOfferType을 사용하여 ISV 호출자를 파트너 호출자 판매와 구분합니다.

호출자 역할 privateOfferType 값
ISV(생성자) multipartyPromotionOriginator
판매 파트너(판매자) multipartyPromotionChannelPartner

요청 본문 샘플

ISV의 샘플 요청 본문은 할인 가격을 사용하여 기존 공공 플랜에 대한 가격 책정만 사용자 지정하여 제품을 만듭니다.

ISV(발신기)는 제품의 모든 기본 세부 정보를 제공해야 합니다. 여기에는 이름이 포함되어야 합니다.

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30", 
"resourceName": "privateOffer",
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "editExistingOfferPricingOnly",
       "customerContractRenewal": false, 
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
"termsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],
       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
"partners": [
                {
                    "id": "12345678",
                    "partnerName": "Market Place Test",
                    "location": "United States"
                }
            ],
       "pricing": [ 
          { "product": "product/34771906-9711-4196-9f60-4af380fd5042", "plan":"plan/123456","discountType": "percentage", "discountPercentage": 5 }
       ],
"notes": "ISV 123"
    }
  ]
}

절대 가격을 사용하여 기존 공용 계획에 대한 가격 책정만 사용자 지정하는 샘플 요청 본문

백분율 기반 할인 대신 절대 가격을 사용하는 경우 절대 가격을 정의하는 다중 파티 프라이빗 제품 리소스 위에 새 리소스를 만든 다음 새로 만든 리소스를 구성 스키마의 리소스 목록에 다른 개체로 포함할 수 있습니다.

이 방법을 사용하여 기존 공개 플랜의 가격 책정 리소스를 가져오고 가격을 편집한 다음, 제품에 대해 편집된 리소스를 사용합니다.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

샘플 절대 가격 책정 리소스

{
    "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
    "resourceName": "newSimpleAbsolutePricing",
    "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
    "plan": "plan/987654",
    "offerPricingType": "editExistingOfferPricingOnly",
    "pricing": {
        "recurrentPrice": {
            "priceInputOption": "usd",
            "prices": [
                {
                    "pricePerPaymentInUsd": 1,
                    "billingTerm": {
                        "type": "month",
                        "value": 1
                    }
                },
                {
                    "pricePerPaymentInUsd": 2,
                    "paymentOption": {
                        "type": "month",
                        "value": 1
                    },
                    "billingTerm": {
                        "type": "year",
                        "value": 1
                    }
                }
            ]
        },
        "customMeters": {
            "priceInputOption": "usd",
            "meters": {
                "meter1": {
                    "pricePerPaymentInUsd": 1
                }
            }
        }
    }
}

가격 책정 모듈에 해당 리소스를 개체로 포함

[
    {
        "product": "product/34771906-9711-4196-9f60-4af380fd5042",
        "plan": "plan/123456",
        "discountType": "percentage",
        "discountPercentage": 5
    },
    {
        "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
        "plan": "plan/987654",
        "discountType": "absolute",
        "priceDetails": {
            "resourceName": "newSimpleAbsolutePricing"
        }
    }
]

절대 가격을 사용하여 SaaS 제품에 대한 가격 책정, 계량 수량 및 사용자 제한을 사용자 지정하는 샘플 요청 본문

다음 방법을 사용하여 프라이빗 제품에 대한 절대 가격 및 가용성 리소스를 만듭니다.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

가격 및 미터 수량을 사용자 지정하는 정액 SaaS 제품에 대한 샘플 절대 가격 책정 리소스

{
    "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
    "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
    "resourceName": "newSaaSPlanAbsolutePricing",
    "plan": "plan/123456",
    "offerPricingType": "saasNewCustomizedPlans",
    "pricing": {
        "recurrentPrice": {
            "recurrentPriceMode": "flatRate",
            "priceInputOption": "usd",
            "prices": [
                {
                    "billingTerm": {
                        "type": "month",
                        "value": 1
                    },
                    "paymentOption": {
                        "type": "month",
                        "value": 1
                    },
                    "pricePerPaymentInUsd": 0.1
                },
                {
                    "billingTerm": {
                        "type": "year",
                        "value": 1
                    },
                    "paymentOption": {
                        "type": "month",
                        "value": 1
                    },
                    "pricePerPaymentInUsd": 0.12
                }
            ]
        },
        "customMeters": {
            "priceInputOption": "usd",
            "meters": {
                "meter1": {
                    "includedQuantities": [
                        {
                            "billingTerm": {
                                "type": "month",
                                "value": 1
                            },
               "quantity": 10.0,
                            "isInfinite": false
                        },
                        {
                            "billingTerm": {
                                "type": "year",
                                "value": 1
                            },
               "quantity": 15.0,
                            "isInfinite": false
                        }
                    ]
                },
                "meter2": {
                    "includedQuantities": [
                        {
                            "billingTerm": {
                                "type": "month",
                                "value": 1
                            },
                            "isInfinite": true
                        },
                        {
                            "billingTerm": {
                                "type": "year",
                                "value": 1
                            },
                            "isInfinite": true
                        }
                    ]
                }
            }
        }
    }
}

가격 및 사용자 제한을 사용자 지정하는 사용자별 SaaS 제품에 대한 샘플 절대 가격 책정 리소스

{
    "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
    "resourceName": "newSaaSPlanAbsolutePricing",
    "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
    "plan": "plan/123456",
    "offerPricingType": "saasNewCustomizedPlans",
    "pricing": {
        "recurrentPrice": {
            "recurrentPriceMode": "perUser",
            "priceInputOption": "usd",
            "userLimits": {
                "min": 20,
                "max": 100
            },
            "prices": [
                {
                    "billingTerm": {
                        "type": "month",
                        "value": 1
                    },
                    "paymentOption": {
                        "type": "month",
                        "value": 1
                    },
                    "pricePerPaymentInUsd": 0.01
                },
                {
                    "billingTerm": {
                        "type": "year",
                        "value": 1
                    },
                    "paymentOption": {
                        "type": "year",
                        "value": 1
                    },
                    "pricePerPaymentInUsd": 0.02
                }
            ]
        }
    }
}

가격 책정 모듈에 해당 리소스를 개체로 포함


{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "newSimpleAbsolutePricing",
       "customerContractRenewal": false,
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "partners": [
         {
            "id": "12345678",
            "partnerName": "Market Place Test",
            "location": "United States"
         }
        ],
       "termsAndConditionsDocs": [
        {
             "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
             "fileName": "Test1.pdf",
             "customerFacingDocumentName": "Test1 T&C"
        }            ],
       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
       "pricing": [ 
          {
           "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
           "discountType": "absolute",
           "priceDetails": {
              "resourceName": "newSaaSPlanAbsolutePricing"
             }
           "basePlan": "plan/123456",
                "newPlanDetails": {
                "name": "newPlanName",
                "description": "newPlanDescription"
             }
        ],
 "notes": "ISV 123"
     }
  ]
}

절대 가격을 사용하여 VM 소프트웨어 예약 제품에 대한 가격 책정 및 특정 수량을 사용자 지정하는 샘플 요청 본문

다음 방법을 사용하여 제품에 대한 절대 가격 및 가용성 리소스를 만듭니다.

GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15

가격 및 수량을 사용자 지정하는 VM 제품에 대한 샘플 절대 가격 책정 리소스

{
    "$schema": "https://schema.mp.microsoft.com/schema/price-and-availability-private-offer-plan/2023-07-15",
    "resourceName": "newVMSRAbsolutePricing",
    "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
    "offerPricingType": "vmSoftwareReservations",
    "plan": "plan/987654",
    "softwareReservation": {
        "reservationDuration": {
            "type": "year",
            "value": 1
         },
        "paymentSchedule": {
            "type": "year",
            "value": 1
         },
        "vmPrices": {
            "36Core": {
                "quantity": 4.0,
                "unitPricePerPaymentPeriodInUsd": 0.04
            }
        }
    }       
}

가격 책정 모듈에 해당 리소스를 개체로 포함

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30", 
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionOriginator",
       "offerPricingType": "vmSoftwareReservations",
       "customerContractRenewal": false,
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "partners": [
         {
            "id": "12345678",
            "partnerName": "Market Place Test",
            "location": "United States"
         }
        ],
       "termsAndConditionsDocs": [
        {
             "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
             "fileName": "Test1.pdf",
             "customerFacingDocumentName": "Test1 T&C"
        }            ],
       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
       "pricing": [ 
          {
           "product": "product/7ba807c8-386a-4efe-80f1-b97bf8a554f8",
           "discountType": "absolute",
           "priceDetails": {
              "resourceName": "newVMSRAbsolutePricing"
             }
           "basePlan": "plan/987654"
        ],
 "notes": "ISV 123"
     }
  ]
}

제품 만들기를 완료하기 위한 파트너의 샘플 요청

판매 파트너는 ISV에서 제공하는 다중 파티 프라이빗 제품 ID를 사용하여 고객 조정 %(태그), 파트너 사용자 지정 계약 판매, 준비한 파트너 연락처 판매 및 판매 파트너 연락처를 구성해야 합니다.

다음 예제는 제품 ID를 사용하여 제품 세부 정보를 검색할 때 반환되는 응답 본문을 기반으로 합니다.

{
 "$schema": "https://schema.mp.microsoft.com/schema/configure/2022-07-01",
  "resources": [ 
    {
       "$schema": "https://schema.mp.microsoft.com/schema/private-offer/2024-09-30", 
"resourceName": "privateOffer",
       "name": "privateOffercustomer1705",
       "state": "live",
       "privateOfferType": "multipartyPromotionChannelPartner",
       "offerPricingType": "editExistingOfferPricingOnly",
       "variableStartDate": true,
       "end": "2022-01-31",
       "acceptBy": "2022-02-28",
       "preparedBy": "tester@microsoft.com",
"originatorTermsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],
"termsAndConditionsDocs": [
                {
                    "sasUrl": "https://promotionpmeprod.blob.core.windows.net/promotionsblobdata/44c2b38a-fa64-4861-806c-6c486ec19b6d-769f3960-45af-42db-ab3b-6391841683d6",
                    "fileName": "Test1.pdf",
                    "customerFacingDocumentName": "Test1 T&C"
                }            ],

       "notificationContacts": [ "amy@contoso.com" ],
       "beneficiaries": [ 
          { "id": "xxxxxx-2163-5eea-ae4e-d6e88627c26b:6ea018a9-da9d-4eae-8610-22b51ebe260b_2019-05-31", "description": "Top First Customer"}
       ], 
"partners": [
                {
                    "id": "12345678",
                    "partnerName": "Market Place Test",
                    "location": "United States"
                }
            ],
       "originatorPricing": [ 
          { 
        "product": "product/34771906-9711-4196-9f60-4af380fd5042",
        "plan":"plan/123456",
        "discountType": "percentage", 
        "discountPercentage": 5 
        "markupPercentage": 1.0
        }
     ],
    "lastModified": "2023-01-19",
        "eTag": "\"7f020249-0000-0800-0000-63c9b4ca0000\"",
    }
  ]
}

이전 예제의 키 호출

  • 판매 파트너는 preparedBy 특성을 제공해야 합니다.
  • ISV 사용자 지정 사용 약관은 볼 수 있지만 판매 파트너가 편집할 수 없으며 리소스 originatorTermsAndConditionsDocs에 캡처됩니다.
  • 판매 파트너는 자신의 사용자 지정 용어 및 조건을AndConditionsDocs 리소스에 업로드할 수 있습니다 .
  • 판매 파트너는 notificationContacts 리소스에서 제품에 대한 알림을 받을 자신의 연락처를 추가할 수 있습니다 .
  • 수혜자 및 파트너 특성은 볼 수 있지만 판매 파트너는 편집할 수 없습니다.
  • 가격 책정 리소스는 originatorPricing으로 표시되고, markupPercentage는 필수이며 제출 시 판매 파트너가 제공해야 하며, 가격 책정 리소스의 다른 모든 특성은 읽기 전용입니다.

응답

응답에는 나중에 상태를 폴링하는 데 사용할 수 있는 jobId가 포함됩니다.

{
    "$schema": "https://schema.mp.microsoft.com/schema/configure-status/2022-07-01",
    "jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
    "jobStatus": "notStarted",
    "jobResult": "pending",
    "jobStart": "2021-12-21T21:29:54.9702903Z",
    "jobEnd": "0001-01-01",
    "errors": []
}

오류 코드

HTTP 상태 코드 설명
401 인증 오류: 유효한 Microsoft Entra 액세스 토큰을 사용하고 있는지 확인합니다.
400 스키마 유효성 검사. 요청 본문이 올바른 스키마를 따르고 모든 필수 필드를 포함하는지 확인합니다.