다음을 통해 공유


프라이빗 제품 제출 API 개요

프라이빗 제품을 통해 게시자와 고객은 사용자 지정 약관으로 시간 제한 가격 책정을 만들어 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 Product Ingestion 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에 대한 추가 호출에서 계속 사용할 수 있도록 토큰을 새로 고칠 수 있습니다.

액세스 토큰을 가져오려면 클라이언트 자격 증명을 사용하는 서비스 간 호출을 참조하여 HTTP POST를 https://login.microsoftonline.com/<tenant_id>/oauth2/token 엔드포인트로 보냅니다. 샘플 요청은 다음과 같습니다.

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 찾을 위치
client_id 파트너 센터 계정과 Microsoft Entra 애플리케이션 연결을 참조하세요.
tenant_id 파트너 센터 계정과 Microsoft Entra 애플리케이션 연결을 참조하세요.
client_secret 파트너 센터 계정과 Microsoft Entra 애플리케이션 연결을 참조하세요.
productId 이 문서의 제품 검색을 참조하세요.
planId 이 문서의 특정 제품에 대한 계획 검색을 참조하세요.
privateofferId 이 문서의 프라이빗 제품 검색을 참조하세요.

제품 검색

프라이빗 제품은 파트너 센터 계정의 기존 제품을 기반으로 합니다. 파트너 센터 계정과 연결된 제품 목록을 보려면 다음 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를 사용하여 폴링하여 작업 상태를 가져옵니다. 작업의 상태는 실행 중이거나 완료됩니다. 작업이 완료되면 결과가 성공 하거나 실패합니다. 성능 문제를 피하려면 분당 한 번 이상 작업을 폴링하지 마세요.

jobStatus 설명
NotStarted 작업이 아직 시작되지 않았습니다. 이는 초기 요청에 대한 응답의 일부입니다.
실행 중 작업이 아직 실행 중입니다.
Completed 작업이 완료되었습니다. 자세한 내용은 jobResult를 참조하세요.
jobResult 설명
보류 중 작업이 아직 완료되지 않았습니다.
성공 작업이 성공적으로 완료되었습니다. 이 작업은 작업과 관련된 프라이빗 제안을 참조하는 resourceURI도 반환합니다. 프라이빗 제품의 전체 세부 정보를 가져오려면 이 리소스 URI를 사용합니다.
실패함 작업이 실패했습니다. 또한 오류의 원인을 확인하는 데 도움이 되는 관련 오류도 반환합니다.

자세한 내용은 기존 작업의 상태 쿼리를 참조 하세요.

3단계: 완료된 작업에서 정보 가져오기

성공한 작업은 관련 프라이빗 제안을 참조하는 resourceUri를 반환합니다. 이 리소스 Uri를 사용하여 privateofferId와 같은 향후 프라이빗 제품에 대한 자세한 정보를 가져옵니다.

실패한 작업에는 작업이 실패한 이유와 문제를 해결하는 방법에 대한 세부 정보를 제공하는 오류가 포함됩니다.

자세한 내용은 기존 프라이빗 제품의 세부 정보 가져오기를 참조하세요.

ISV 및 채널 파트너가 다중 파트 프라이빗 제품에 API를 공동으로 사용하는 방법

ISV와 채널 파트너는 모두 지정된 MPO를 만들고 관리하는 데 동일한 API를 사용할 수 있습니다. 그러나 API에 영향을 줄 수 있는 MPO의 리소스는 API의 호출자가 MPO의 ISV(발신기) 또는 채널 파트너(판매자)인지에 따라 달라집니다. 파트너 센터를 관리하는 동일한 ISV/채널 파트너 게시 흐름 및 비즈니스 규칙이 API에 미러됩니다. 개요는 다음과 같습니다.

API 작업 ISV(생성자) 채널 파트너(판매자)
생성
  • 의도된 대상 그룹은 API 호출이 게시될 때 판매 파트너 (판매자)이며, 최종 고객은 채널 파트너가 제출할 때까지 비공개 제품을 볼 수 없습니다.
편집 가능한 리소스:
  • 유효 날짜
  • 의도된 수혜자(고객)
  • 채널 파트너가 제품에 대해 공동 작업을 수행할 수 있으며, 프라이빗 제품당 1로 제한됩니다.
  • 프라이빗 제품 상태에 대한 알림을 받을 추가 ISV 연락처
  • ISV 사용자 지정 사용 약관
  • 개인 제품에 포함된 제품/플랜
  • 각 제품/플랜에 대한 계약 기간
  • 각 제품에 대한 포함된 수량(해당하는 경우)
  • 비가정 계획 특성(해당하는 경우)
  • 포함된 제품/플랜의 채널 파트너가 사용할 수 있는 할인된 도매 가격
  • ISV 판매 정보
  • API 호출이 게시될 때 의도된 대상 그룹은 최종 고객 입니다.
편집 가능한 리소스:
  • 채널 파트너 사용자 지정 사용 약관
  • 준비한 작성자
  • 개인 제품에 포함된 각 제품/플랜에 대한 ISV 도매 가격을 기반으로 하는 고객 조정(태그 비율)은 최종 최종 고객 가격을 결정합니다.
  • 비공개 제품 상태에 대한 알림을 받을 추가 채널 파트너 연락처
  • 채널 파트너 판매 정보
삭제
  • 초안 상태의 프라이빗 제품에 대해 지원됨
  • 지원되지 않음
철회하다
  • ISV에서 게시했지만 채널 파트너가 아직 게시하지 않았거나 채널 파트너가 철회한 경우 프라이빗 제품에 대해 지원됩니다.
  • 최종 고객이 게시하고 사용할 수 있는 프라이빗 제품에 대해 지원되지만 아직 수락되지 않음