Obtenir les marges
S’applique à : Espace partenaires
Rôles appropriés : Agent d’administration
En tant que partenaire du programme CSP, vous pouvez appeler l’API GetMargins pour obtenir la liste des marges d’offre privée étendues aux éditeurs de logiciels indépendants.
Prérequis
Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario prend en charge l’authentification avec les informations d’identification d’application et d’application+utilisateur autonomes.
Demande REST
[GET] /v1/marges
Syntaxe de la requête
Method | URI de demande |
---|---|
GET | {baseURL}/v1/marges HTTP/1.1 |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de demande
Aucune
Exemple de requête
GET https://api.partnercenter.microsoft.com/v1/margins HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Réponse REST
Si elle réussit, cette demande retourne une liste de marges d’offre privée. L’éditeur de logiciels indépendants peut configurer la marge de l’offre privée en pourcentage fixe, qui est appliquée au prix d’origine de l’offre, ou en tant que prix personnalisé qui remplace le prix d’origine de l’offre. Les deux types de marge sont retournés dans la réponse de l’API GetMargins.
Chaque élément de ligne de la réponse contient des dates de début et de fin. La marge d’offre privée ne sera appliquée qu’aux achats effectués à l’intérieur de ces deux dates. Les achats effectués en dehors de cette période ne bénéficieront pas de la marge de l’offre privée.
Codes d’erreur et de réussite de la réponse
Chaque réponse est fournie avec un code d’état HTTP qui indique la réussite ou l’échec et plus d’informations de débogage. Utilisez un outil de suivi réseau pour lire ce code, le type d’erreur et d’autres paramètres. Pour obtenir la liste complète, consultez Codes d’erreur.
Exemples de réponse
Marge d’offre privée basée sur un pourcentage
Dans cet exemple, l’éditeur de logiciels indépendants a configuré la marge de l’offre privée sous la forme d’une remise en pourcentage fixe du prix d’origine de l’offre. La remise est affichée dans la propriété « percentageMargin ». Étant donné que cette offre privée est étendue pour une référence SKU spécifique, les informations de référence SKU telles que le nom de la référence SKU et l’ID de référence SKU sont spécifiées. Si l’éditeur isv a choisi d’étendre l’offre privée pour toutes les références SKU, ces informations ne seraient pas spécifiées.
Response
HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
"id": "1aa125798b04_01a14813-f6d1-494a-ace1-b84525cf3db4",
"type": "Percentage",
"productId": "DZH318Z0HJ49",
"publisherName": "Test Publisher Name",
"productTitle": "Test Offer Beta",
"skuTitle": "Test Offer Beta SKU 1",
"skuId": "0001",
"productType": "SaaS",
"marginPercentage": 10.0,
"startDate": "2022-02-24T18:38:02.8104364Z",
"endDate": "2022-04-30T23:59:59Z",
"status": "live",
"statusDate": "2022-02-24T18:38:02.8104364Z"
}
]
}
Marge d’offre privée de prix personnalisé
Dans cet exemple, l’éditeur isv a configuré la marge d’offre privée en tant que prix personnalisé qui remplace le prix d’origine de sa solution SaaS par des compteurs personnalisés. Au lieu d’une propriété marginPercentage comme dans l’exemple précédent, cet élément de ligne contient une propriété priceConfiguration qui contient les détails de la tarification personnalisée.
Le pricingModel de cet exemple est répertorié en tant que modèle de « tarif forfaitaire », ce qui signifie que vous payez un montant défini par terme. Si l’ÉDITEUR de logiciels indépendants facture un montant défini par utilisateur, le pricingModel indique « par utilisateur ».
Le tableau « achat » contient les détails de tarification pour chaque durée de terme. L’ÉDITEUR de logiciels indépendants de cet exemple a configuré uniquement une durée de terme « mensuelle », mais le tableau « achat » peut également contenir une durée de terme « annuelle ». Dans la configuration d’achat d’un terme donné, includedMeterQuantities indique les montants de chaque compteur personnalisé inclus dans le prix. Étant donné que l’éditeur isv peut configurer différents points de prix pour différents marchés clients, le tableau marketSetPrices contient le prix personnalisé pour chaque marché et devise dans lequel l’offre privée est disponible. Dans cet exemple, le taux forfaitaire de 448,75262 GPB pour un client sur le marché du Go (Royaume-Uni) comprend 20 appareils et 30 000 e-mails par mois.
Le tableau « consommation » contient les informations de tarification de dépassement pour chaque compteur personnalisé. Si le produit de l’ISV n’a pas de compteurs personnalisés, ce tableau sera vide. Vous remarquerez que le tableau de consommation contient un élément de ligne pour chaque compteur personnalisé répertorié dans « includedMeterQuantities ». Dans cet exemple, si vous consommez plus de 20 appareils par mois, vous payez un montant supplémentaire de 0,44729 GBIT/s par 1 appareil supplémentaire par mois. Si vous consommez plus de 30 000 e-mails, vous payez 0,38765 GBIT/s par 100 e-mails supplémentaires par mois.
Response
HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
{
"pageSize": 1,
"totalSize": 1,
"results": [
{
"id": "15680381dbad_fe3f0bc2-6372-48af-bbec-2df83918dbf2",
"type": "CustomPrice",
"productId": "DZH318Z0BDGN",
"publisherName": "Test Publisher Name",
"productTitle": "Test Offer Gamma",
"skuTitle": "Test Offer Gamma SKU 1",
"skuId": "0001",
"productType": "SaaS",
"priceConfiguration": {
"pricingModel": "Flat rate",
"purchase": [
{
"termDuration": "Monthly",
"includedMeterQuantities": [
"20 device",
"30000 email"
],
"startDate": "2022-01-31T17:49:25.1346812Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 447.29387
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 448.75262
}
]
}
],
"consumption": [
{
"meterType": "device",
"unitofMeasure": "per 1 device",
"startDate": "2022-01-01T00:00:00Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 0.44729
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 0.44875
}
]
},
{
"meterType": "email",
"unitofMeasure": "per 100 emails",
"startDate": "2022-01-01T00:00:00Z",
"endDate": "2028-08-31T23:59:59Z",
"marketSetPrices": [
{
"markets": [
"GB"
],
"currency": "GBP",
"customPrice": 0.38765
},
{
"markets": [
"BG",
"FI",
"IT",
"RO"
],
"currency": "GBP",
"customPrice": 0.38892
}
]
}
]
},
"startDate": "2022-01-31T17:49:25.1346812Z",
"endDate": "2028-08-31T23:59:59Z",
"status": "live",
"statusDate": "2022-01-31T17:49:25.1346812Z"
}
]
}
L’exemple ci-dessus doit aboutir à ce qui suit.