Vérifier l’admissibilité de la promotion
S’applique à
- Espace partenaires
Rôles appropriés
- Agent administrateur
Remarque
Les nouvelles expériences commerciales pour les services basés sur des licences incluent de nombreuses nouvelles fonctionnalités et sont disponibles pour tous les Fournisseur de solutions Cloud (CSP). Pour plus d’informations, consultez la Vue d’ensemble des nouvelles expériences commerciales.
Les parteurs peuvent vérifier si une transaction client est éligible à une promotion donnée. Cette méthode retourne True si la transaction client est éligible à une promotion donnée. Les partenaires peuvent vérifier l’éligibilité avant de soumettre une transaction pour s’assurer que la promotion sera appliquée.
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.
- L’éligibilité inclut la disponibilité de la référence du produit achetée, l’ID de promotion évalué, la quantité, la durée du terme et cycle de facturation de la transaction.
- Taux de limitation pour cette API un maximum de 625 requêtes par minute (RPM) par locataire partenaire. Les appels qui dépassent la limite entraînent la réponse http de 429. Consultez les conseils de limitation pour plus d’informations sur la limitation.
Demande REST
Syntaxe de la requête
Method | URI de demande |
---|---|
POST | {baseURL}/v1/customers/{customerId}/promotionEligibilities HTTP/1.1 |
Paramètre d’URI
Utilisez les paramètres de requête suivants pour retourner les promotions disponibles.
Nom | Type | Requise | Description |
---|---|---|---|
customerId | string | Y | La valeur est un paramètre customer-tenant-id au format GUID, à savoir un identificateur qui vous permet de spécifier un client. |
En-têtes de requête
Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.
Corps de la demande
Body inclut une collection de PromotionEligibilitiesRequestItems. Ce tableau décrit les propriétés d’un Objet PromotionEligibilitiesRequestItem.
Propriété | Type | Requise | Description |
---|---|---|---|
catalogItemId | string | Oui | Identificateur de l’élément de catalogue. |
quantité | int | Oui | Nombre de licences ou d’instances. |
termDuration | Date/Heure | Oui | Représentation ISO 8601 de la durée du terme. Les valeurs prises en charge actuelles sont P1M (un mois), P1Y (un an) et P3Y (trois ans). |
billingCycle | string | Oui | Valeur qui indique le type de cycle de facturation. |
promotionId | string | Non | Identificateur de l’élément de promotion. |
Exemple de requête
POST https://api.partnercenter.microsoft.com/v1/customers/46632f71-f052-4384-8f84-4cdb6c12c2a1/promotionEligibilities 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
// Request example with promotion ID input
{
"items": [
{
"catalogItemId": "CFQ7TTC0LH2Z:0002:CFQ7TTC0HRVK",
"quantity": 2400,
"termDuration": "P1Y",
"billingCycle": "Monthly",
"promotionId": "39NFJQT1PM6C:0005:39NFJQT1Q5L7"
}
]
}
POST https://api.partnercenter.microsoft.com/v1/customers/46632f71-f052-4384-8f84-4cdb6c12c2a1/promotionEligibilities HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70b
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
X-Locale: en-US
// Request example with no promotion ID input
{
"items": [
{
"id": "0",
"catalogItemId": "CFQ7TTC0HBSJ:0001:CFQ7TTC0JQH3",
"quantity": 300,
"termDuration": "P1M",
"billingCycle": "monthly"
}
]
}
Réponse REST
Si un id de promotion est fourni et que la demande réussit, cette méthode retourne une collection de résultats d’éligibilité. Si promotionId n’est pas fourni et que la demande réussit, cette méthode retourne toutes les promotions disponibles pour l’offre spécifiée et l’éligibilité du client correspondant pour chaque promotion.
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.
Types et descriptions des erreurs d’éligibilité
L’éligibilité retourne false si les vérifications d’éligibilité déterminent la référence SKU du produit évaluée par rapport à l’ID de promotion ne s’alignent pas. Diverses conditions et contraintes sont évaluées et retournent des types d’erreurs pour décrire les conditions non remplies pour l’éligibilité.
Type d’erreur d’éligibilité | Description de l’erreur d’éligibilité |
---|---|
InvalidCatalogItemId | CatalogItemId fourni n’est pas valide. |
InvalidPromotion | La promotion fournie n’est pas valide. |
PrerequisiteProductOwnership | Le client ne répond pas aux exigences de propriété de produit requises pour pouvoir bénéficier de cette promotion. |
RedemptionLimit | La limite d’échange pour cette promotion a été respectée. |
SeatCount | La quantité fournie ne répond pas aux exigences minimales ou maximales en matière de siège pour la promotion. |
OfferPurchasedPreviously | Cette offre a été achetée précédemment pour ce client. |
Terme | Le terme fourni n’est pas applicable à la promotion. |
NoPromotionsAvailable | Il n’y a pas de promotions disponibles pour l’instant. |
Exemple de réponse
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT
// Response example with promotion ID provided in the request
{
"totalCount": 1,
"items": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LH2Z:0002:CFQ7TTC0HRVK",
"quantity": 2400,
"billingCycle": "monthly",
"termDuration": "P1Y",
"eligibilities": [
{
"promotionId": "39NFJQT1PM6C:0005:39NFJQT1Q5L7",
"isEligible": false,
"errors": [
{
"minimumRequiredSeats": 1,
"maximumRequiredSeats": 2400,
"availableSeats": 500,
"type": "SeatCount",
"description": "The provided quantity does not satisfy the minimum or maximum seat requirements for the promotion."
}
]
}
],
"attributes": {
"objectType": "PromotionEligibilities"
}
}
],
"attributes": {
"objectType": "Collection"
}
}
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70b
Date: Fri, 26 Feb 2021 20:42:26 GMT
// Response example with no promotion ID provided in the request
{
"totalCount": 1,
"items": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0HBSJ:0001:CFQ7TTC0JQH3",
"quantity": 300,
"billingCycle": "monthly",
"termDuration": "P1M",
"eligibilities": [
{
"promotionId": "39NFJQT1XK5L:000J:39NFJQT1Q5D8",
"isEligible": true
},
{
"promotionId": "39NFJQT1XG89:0002:39NFJQT1Q5L2",
"isEligible": true
}
],
"attributes": {
"objectType": "PromotionEligibilities"
}
}
],
"attributes": {
"objectType": "Collection"
}
}