비공개 제품을 사용하면 퍼블리셔와 고객이 사용자 지정된 용어로 시간 제한 가격 책정을 만들어 Azure Marketplace에서 하나 이상의 제품을 거래할 수 있습니다. 퍼블리셔는 프라이빗 제품 제출 API를 통해 고객 및/또는 CSP 파트너를 위한 프라이빗 제품을 프로그래밍 방식으로 만들고 관리할 수 있습니다. 이 API는 Microsoft Entra ID를 사용하여 앱 또는 서비스의 호출을 인증합니다.
파트너 센터에서 사용할 수 있고 프라이빗 제품 제출 API에서 지원하는 세 가지 주요 유형의 프라이빗 제품이 있습니다.
- ISV에서 고객 프라이빗 제안 – 파트너 센터에서는 고객 프라이빗 제안이라고도 불립니다. 이는 ISV와 Azure Marketplace의 특정 제품에 대한 사용자 지정 용어 및 가격 책정을 사용하는 특정 고객 간의 사용자 지정 거래입니다. ISV가 제공하는 고객 대상의 프라이빗 오퍼 에 대해 자세히 알아봅니다.
- ISV에서 CSP 파트너 사적 제안 – 파트너 센터에서 CSP 파트너 사적 제안이라고도 합니다. 이러한 유형의 프라이빗 제품을 통해 ISV는 시간 제한 마진을 지정하여 CSP 파트너에 대한 도매 가격을 만들 수 있습니다. ISV를 위한 CSP 파트너 프라이빗 오퍼 대해 자세히 알아봅니다.
- 다자 간 비공개 제안(MPO) – 특정 고객을 위한 ISV와 선호 채널 파트너가 공동으로 구성한 사용자 지정 거래로, Azure Marketplace의 특정 제품에 대한 맞춤형 조건 및 가격을 포함합니다. ISV는 파트너가 사용할 수 있는 할인된 도매 가격을 정의하고, 채널 파트너는 도매 가격에 마진을 추가하여 최종 고객 가격을 결정하고, 고객에게 승인과 구입을 위한 제안을 제시합니다. MPO의 수락 및 구매는 ISV에서 고객에게 제공되는 프라이빗 오퍼와 동일한 흐름을 따릅니다. 다중 파티 프라이빗 제안에 대해 자세히 알아봅시다.
용어
- MPO 생성자 – MPO는 특정 고객에 대한 동일한 사용자 지정 거래에서 ISV와 채널 파트너 간의 협업으로, MPO를 처음 만드는 당사자는 제품의 "발신자"로 지정되며, 일반적으로 MPO에 포함된 제품의 ISV입니다. 지정된 MPO에 대해 하나의 생성자만 있을 수 있습니다.
- MPO 판매자 – 최종 고객 가격으로 제품을 준비하고 고객에게 제품을 제공하는 채널 파트너는 MPO의 판매자입니다. 지정된 MPO에 대해 하나의 판매자만 있을 수 있습니다.
- 제품 – Azure Marketplace의 제품을 나타내는 단일 단위입니다. 목록 페이지당 하나의 제품이 있습니다.
- 플랜 – 특정 제품의 단일 버전입니다. 다양한 수준의 가격 책정 또는 약관을 나타내는 지정된 제품에 대한 여러 플랜이 있을 수 있습니다.
- 작업 – 이 API에서 요청할 때 생성되는 작업입니다. 이 API를 사용하여 프라이빗 제품 및 다중 파티 프라이빗 제품을 관리하는 경우 요청을 완료하기 위한 작업이 만들어집니다. 작업이 완료되면 관련(다중 파티) 프라이빗 제품에 대한 자세한 정보를 얻을 수 있습니다.
지원되는 시나리오
- 고객을 위한 프라이빗 제안 만들기
- 재판매인을 위한 프라이빗 오퍼 만들기
- 고객을 위해 다중 파티 비공개 제안 만들기
- 프라이빗 오퍼 삭제
- 개인 제안 철회
- 다자간 비공개 제안 목록에 대한 쿼리
- 제품 및 플랜 목록에 대한 쿼리
이 API 사용 준비
프라이빗 제품 API를 호출하는 코드를 작성하기 전에 다음 필수 구성 요소를 완료했는지 확인합니다. 모든 게시 파트너에 동일한 필수 구성 요소가 적용됩니다.
1단계: Microsoft 제품 수집 API를 사용하기 위한 필수 구성 요소 완료(일회성)
사용자 또는 조직에는 Microsoft Entra 디렉터리가 있어야 합니다. 이미 Microsoft 365 또는 Microsoft의 다른 비즈니스 서비스를 사용하는 경우 이미 Microsoft Entra 디렉터리가 있습니다. 그렇지 않은 경우 파트너 센터에서 새 Microsoft Entra ID를 무료로 만들 수 있습니다.
Microsoft Entra ID 애플리케이션을 파트너 센터 계정과 연결하고 테넌트 ID, 클라이언트 ID 및 키를 가져올 있어야 합니다. 프라이빗 제품 API 호출에 사용할 Microsoft Entra 액세스 토큰을 얻으려면 이러한 값이 필요합니다.
2단계: Microsoft Entra 액세스 토큰 가져오기(매번)
Microsoft Store 제출 API에서 메서드를 호출하기 전에 API에서 각 메서드의 권한 부여 헤더에 전달하려면 Microsoft Entra 액세스 토큰이 필요합니다. 만료되기 전에 토큰을 사용하는 데 60분이 걸립니다. 만료 후 토큰을 새로 고쳐 API에 대한 추가 호출에서 계속 사용할 수 있습니다.
액세스 토큰을 가져오려면 클라이언트 자격 증명 사용하여 Service to Service 호출을 참조하여 https://login.microsoftonline.com/<tenant_id>/oauth2/token 엔드포인트에 HTTP POST를 보냅니다. 샘플 요청은 다음과 같습니다.
POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://graph.microsoft.com/
POST URI의 tenant_id 값과 client_id 및 client_secret 매개 변수의 경우 이전 섹션에서 파트너 센터에서 검색한 애플리케이션의 테넌트 ID, 클라이언트 ID 및 키를 지정합니다. 리소스 매개 변수의 경우 https://graph.microsoft.com/지정해야 합니다.
제품, 플랜 및 프라이빗 오퍼 ID 찾기
아이디 | 찾을 수 있는 위치 |
---|---|
클라이언트 ID | Microsoft Entra 애플리케이션을 귀하의 파트너 센터 계정과 연결합니다. |
테넌트 ID | Microsoft Entra 애플리케이션을 귀하의 파트너 센터 계정과 연결합니다. |
클라이언트_비밀키 | Microsoft Entra 애플리케이션을 귀하의 파트너 센터 계정과 연결합니다. |
제품 ID | 이 문서의 제품 가져오기를 참조하세요. |
계획ID | 이 문서에서 특정 제품에 대한 계획을 확인하세요. |
privateofferId (프라이빗오퍼ID) | 이 문서의 비공개 제안 검색을 참조하세요. |
제품 검색
프라이빗 제품은 파트너 센터 계정의 기존 제품을 기반으로 합니다. 파트너 센터 계정과 연결된 제품 목록을 보려면 다음 API 호출을 사용합니다.
GET https://graph.microsoft.com/rp/product-ingestion/product?$version=2022-07-01
응답은 다음 샘플 형식으로 표시됩니다.
{
"value": [
{
"$schema": "https://schema.mp.microsoft.com/schema/product/2022-07-01",
"id": "string",
"identity": {
"externalId": "string"
},
"type": "enum",
"alias": "string"
}
],
"@nextLink": "opaque_uri"
}
특정 제품에 대한 계획 검색
둘 이상의 플랜을 포함하는 제품의 경우 하나의 특정 플랜에 따라 프라이빗 제품을 만들 수 있습니다. 그렇다면 해당 플랜의 ID가 필요합니다. 다음 API 호출을 사용하여 제품에 대한 계획 목록(예: 변형 또는 SKU)을 가져옵니다.
GET https://graph.microsoft.com/rp/product-ingestion/plan?product=<product-id>&$version=2022-07-01
응답은 다음 샘플 형식으로 표시됩니다.
{
"value": [
{
"$schema": "https://schema.mp.microsoft.com/schema/plan/2022-07-01",
"product": "string",
"id": "string",
"identity": {
"externalId": "string"
},
"alias": "string"
}
]
}
프라이빗 오퍼 가져오기
계정과 연결된 다중 파티 프라이빗 제품을 비롯한 모든 프라이빗 제품의 목록을 보려면 다음 API 호출을 사용합니다.
GET https://graph.microsoft.com/rp/product-ingestion/private-offer/query?$version=2023-07-15
API를 사용하는 방법
프라이빗 제품 API를 사용하면 파트너 센터 계정 내에서 제품 및 계획과 연결된 프라이빗 제품을 만들고 관리할 수 있습니다. 다음은 이 API를 사용할 때의 일반적인 호출 패턴에 대한 요약입니다.
1단계: 요청 만들기
프라이빗 제품을 만들거나 삭제, 철회 또는 업그레이드하기 위해 API 호출을 수행하면 요청된 작업을 완료하기 위한 새 작업이 만들어집니다. API 응답에는 작업과 연결된 jobId가 포함됩니다.
2단계: 작업 상태 확인
초기 API 응답에서 jobId를 사용하여 폴링하여 작업 상태를 가져옵니다. 작업의 상태는 실행 또는 완료입니다. 작업이 완료되면 결과가 성공 또는 실패가 될 것입니다. 성능 문제를 방지하려면 분당 작업을 두 번 이상 폴링하지 마세요.
작업 상태 | 설명 |
---|---|
시작되지 않음 | 작업이 아직 시작되지 않았습니다. 초기 요청에 대한 응답의 일부입니다. |
달리기 | 작업이 계속 실행 중입니다. |
완료 | 작업이 완료되었습니다. 자세한 내용은 jobResult 참조하세요. |
작업 결과 | 설명 |
보류 중인 | 작업이 아직 완료되지 않았습니다. |
성공 | 작업이 성공적으로 완료되었습니다. 이 작업은 작업과 관련된 프라이빗 제안을 참조하는 resourceURI도 반환합니다. 이 resourceURI를 사용하여 개인 제안의 전체 세부 정보를 확인합니다. |
실패 | 작업이 실패했습니다. 또한 오류의 원인을 확인하는 데 도움이 되는 관련 오류도 반환합니다. |
자세한 내용은 기존 작업상태 쿼리를 참조하세요.
3단계: 완료된 작업에서 정보 가져오기
성공한 작업은 관련 프라이빗 제안을 참조하는 resourceUri를 반환합니다. 이 리소스 URI를 사용하여 privateofferId와 같은 향후 프라이빗 제품에 대한 자세한 정보를 얻을 수 있습니다.
실패한 작업에는 작업이 실패한 이유와 문제를 해결하는 방법에 대한 세부 정보를 제공하는 오류가 포함됩니다.
자세한 내용은 기존 프라이빗 오퍼에 대한 세부 정보를 확인하십시오.
ISV 및 채널 파트너가 다중 파트 프라이빗 제품에 API를 공동으로 사용하는 방법
ISV와 채널 파트너는 모두 지정된 MPO를 만들고 관리하는 데 동일한 API를 사용할 수 있습니다. 그러나 API에 영향을 줄 수 있는 MPO의 리소스는 API의 호출자가 MPO의 ISV(발신기) 또는 채널 파트너(판매자)인지에 따라 달라집니다. 파트너 센터를 관리하는 동일한 ISV/채널 파트너 게시 흐름 및 비즈니스 규칙이 API에 미러됩니다. 개요는 다음과 같습니다.
API 작업 | ISV(생성자) | 채널 파트너(판매자) |
---|---|---|
창조하다 |
|
|
삭제 |
|
|
철회하다 |
|
|