Créer une offre privée directe d’éditeur de logiciels indépendants pour le client
Utilisez cette méthode pour créer une offre privée pour un client directement en tant qu’éditeur de logiciels indépendants.
Requête
POST https://graph.microsoft.com/rp/product-ingestion/configure?$version=2022-07-01
En-tête de requête
En-tête | Type | Description |
---|---|---|
Autorisation | Chaîne | Obligatoire. Jeton d’accès Microsoft Entra dans le formulaire Bearer <token> . |
Facultatif : clientID
Paramètres de la demande
$version - obligatoire. Il s’agit de la version du schéma utilisé dans la requête.
Corps de la demande
Fournissez les détails de l’offre privée à l’aide du schéma d’offre privée isv vers le client. Cela doit inclure un nom.
Les options suivantes reflètent les options dans l’Espace partenaires lors de la création d’une offre privée pour un client. Les options sont définies par les valeurs offerPricingType répertoriées ici :
valeur offerPricingType | Équivalent de l’option de création d’offre privée de l’Espace partenaires |
---|---|
editExistingOfferPricingOnly | Personnaliser la tarification des offres publiques et des plans existants : utilisez cette option pour créer une offre privée pour tous les types d’offres transactionnelles : SaaS, Azure Machines Virtuelles et Applications Azure. Vous pouvez personnaliser la tarification de votre partenaire via des tarifs absolus ou des remises en pourcentage. |
saasNew CustomPlans | Personnaliser les tarifs, les quantités de compteurs et les limites utilisateur pour l’offre SaaS : utilisez cette option pour créer une offre privée pour un plan SaaS en personnalisant le prix absolu de votre partenaire, les quantités de dimension de mesure et les limites utilisateur. |
vmSoftwareReservations | Personnaliser les tarifs et les quantités spécifiques des offres de réservation de logiciels de machine virtuelle : utilisez cette option pour créer une offre privée multiparte pour vendre des réservations de logiciels de machine virtuelle (1 an ou 3 ans) et personnaliser le prix absolu du partenaire, la taille du processeur virtuel, les quantités, la durée et la planification de paiement. |
Pour les trois options de type tarifaire précédentes, les besoins en ressources spécifiques à un plan peuvent varier, consultez le tableau suivant pour plus d’informations.
Nom de la ressource | editExistingOfferPricingOnly | saasNew CustomPlans | vmSoftwareReservations |
---|---|---|---|
prisée. Plan | Définissez cette valeur sur l’ID de plan du plan public à configurer dans le corps de la demande. | Non applicable | Non applicable |
pricing.basePlan | Non applicable | Définissez cette valeur sur l’ID de plan du plan public à configurer dans le corps de la demande. | Définissez cette valeur sur l’ID de plan du plan public à configurer dans le corps de la demande. |
pricing.newPlanDetails.name | Non applicable | Définissez cette valeur sur le nom du nouveau plan qui sera affiché au client dans le corps de la demande. | Non applicable au corps de la demande, sera généré par le système et disponible dans la réponse du travail une fois terminé. |
pricing.newPlanDetails.description | Non applicable | Définissez cette valeur sur la description qui sera affichée au client pour le nouveau plan dans le corps de la demande. | Non applicable au corps de la demande, sera généré par le système et disponible dans la réponse du travail une fois terminé. |
valeur customerContractRenewal | Description |
---|---|
true | Une offre privée est un renouvellement d’un contrat client existant. Un tarif d’agence réduit de 50 % s’applique à votre offre privée pour les renouvellements des clients |
false | L’offre privée n’est pas un renouvellement d’un contrat client existant. Vos frais d’agence standard s’appliquent. |
Exemples de corps de requête
Exemple de corps de demande utilisant la tarification de remise pour personnaliser la tarification pour un plan public existant uniquement
{
"$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": "customerPromotion",
"offerPricingType": "editExistingOfferPricingOnly",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA ",
"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/34771906-9711-4196-9f60-4af380fd5042", "plan":"plan/123456","discountType": "percentage", "discountPercentage": 5 }
]
}
]
}
Exemple de corps de requête utilisant la tarification absolue pour personnaliser la tarification pour un plan public existant uniquement
Si vous utilisez des tarifs absolus au lieu d’une remise basée sur des pourcentages :
- Créer une ressource au-dessus de la ressource d’offre privée qui définit la tarification absolue
- Incluez cette ressource nouvellement créée en tant qu’autre objet dans la liste des ressources du schéma de configuration.
Utilisez cette méthode pour obtenir la ressource de tarification de votre plan public existant, modifier les prix, puis utiliser la ressource modifiée pour votre offre privée.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exemple de ressource de tarification absolue
{
"$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",
"offerPricingType": "editExistingOfferPricingOnly",
"plan": "plan/987654",
"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
}
}
}
}
}
Inclure cette ressource en tant qu’objet dans le module tarifaire
[
{
"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"
}
}
]
Exemple de corps de requête utilisant la tarification absolue pour personnaliser la tarification, la mesure des quantités et les limites utilisateur pour l’offre SaaS
Utilisez la méthode suivante pour créer une ressource de prix et de disponibilité absolue pour l’offre.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exemple de ressource de tarification absolue pour une offre SaaS à taux fixe qui personnalise les quantités de prix et de compteur
{
"$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
}
]
}
}
}
}
}
Exemple de ressource de tarification absolue pour une offre SaaS par utilisateur qui personnalise les limites de prix et d’utilisateur
{
"$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
}
]
}
}
}
Inclure cette ressource en tant qu’objet dans le module tarifaire
{
"$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": "customerPromotion",
"offerPricingType": "saasNewCustomizedPlans",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA",
"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"
}
]
}
]
}
Exemple de corps de requête utilisant des tarifs absolus pour personnaliser la tarification et des quantités spécifiques pour les offres de réservation de logiciels de machine virtuelle
Utilisez la méthode suivante pour créer une ressource de prix et de disponibilité absolue pour l’offre.
GET https://graph.microsoft.com/rp/product-ingestion/price-and-availability-private-offer-plan/{productId}?plan={planId}&$version=2023-07-15
Exemple de ressource de tarification absolue pour une offre de machine virtuelle qui personnalise les prix et les quantités
{
"$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
}
}
}
}
Inclure cette ressource en tant qu’objet dans le module tarifaire
{
"$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": "customerPromotion",
"offerPricingType": "vmSoftwareReservations",
"customerContractRenewal": false,
"variableStartDate": true,
"end": "2022-01-31",
"acceptBy": "2022-02-28",
"preparedBy": "amy@contoso.com",
"termsAndConditionsDocSasUrl": "https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4rFOA",
"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"
]
}
]
}
Response
La réponse contient l’id de travail que vous pouvez utiliser ultérieurement pour interroger l’état :
{
"$schema": "https://schema.mp.microsoft.com/schema/configure-status/2023-07-15",
"jobId": "c32dd7e8-8619-462d-a96b-0ac1974bace5",
"jobStatus": "notStarted",
"jobResult": "pending",
"jobStart": "2021-12-21T21:29:54.9702903Z",
"jobEnd": "0001-01-01",
"errors": []
}
Codes d’erreur
Code d’état HTTP | Description |
---|---|
401 | Erreur d’authentification : vérifiez que vous utilisez un jeton d’accès Microsoft Entra valide. |
400 | Validation de schéma. Vérifiez que le corps de votre demande suit le schéma correct et inclut tous les champs obligatoires. |