Geschiktheid voor promoties controleren
Van toepassing op
- Partnercentrum
Juiste rollen
- Beheermedewerker
Notitie
De nieuwe commerce-ervaringen voor services op basis van licenties omvatten veel nieuwe mogelijkheden en zijn beschikbaar voor alle CSP's (Cloud Solution Provider). Voor meer informatie, zie overzicht van nieuwe commerce-ervaringen.
Parters kunnen controleren of een klanttransactie in aanmerking komt voor een bepaalde promotie. Deze methode retourneert True als de klanttransactie in aanmerking komt voor een bepaalde promotie. Partners kunnen de geschiktheid controleren voordat ze een transactie indienen om ervoor te zorgen dat de promotie wordt toegepast.
Vereisten
- Referenties zoals beschreven in Partnercentrum-authenticatie. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
- Geschiktheid omvat de beschikbaarheid van de aangeschafte product-sku, de promotie-ID die wordt geëvalueerd, de hoeveelheid, de looptijd en de factureringsperiode van de transactie.
- De limietsnelheid voor deze API is maximaal 625 aanvragen per minuut (RPM) per partner-tenant. Aanroepen die de limiet overschrijden, resulteren in het HTTP-antwoord van 429. Zie beperkingsrichtlijnen voor meer informatie over beperkingen.
REST-aanvraag
Aanvraagsyntaxis
Wijze | URI aanvragen |
---|---|
POST | {baseURL}/v1/customers/{customerId}/promotionEligibilities HTTP/1.1 |
URI-parameter
Gebruik de volgende queryparameters om beschikbare promoties te retourneren.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
customerId | tekenreeks | Y | De waarde is een door de GUID opgemaakte klant-tenant-id. Dit is een id waarmee u een klant kunt opgeven. |
HTTP-aanvraagheaders
Zie REST-headers in het Partnercentrum voor meer informatie.
Inhoud van het verzoek
Het hoofdgedeelte bevat een verzameling PromotionEligibilitiesRequestItems. In deze tabel worden de eigenschappen voor een PromotionEligibilitiesRequestItem beschreven.
Eigenschap | Type | Vereist | Beschrijving |
---|---|---|---|
catalogusItemId | tekenreeks | Ja | De identificatie van het catalogus-item. |
hoeveelheid | int | Ja | Het aantal licenties of instanties. |
termijnduur | Datum en tijd | Ja | Een ISO 8601-weergave van de duur van de term. De huidige ondersteunde waarden zijn P1M (één maand), P1Y (één jaar) en P3Y (drie jaar). |
billingCycle | tekenreeks | Ja | De waarde die het type factureringscyclus aangeeft. |
promotionId | tekenreeks | Nee | De id van het promotie-item. |
Aanvraagvoorbeeld
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"
}
]
}
REST-antwoord
Als er een promotionId wordt opgegeven en de aanvraag is geslaagd, retourneert deze methode een verzameling geschiktheidsresultaten. Als promotionId niet is opgegeven en de aanvraag is geslaagd, retourneert deze methode alle promoties die beschikbaar zijn voor de opgegeven aanbieding en de bijbehorende klant die in aanmerking komt voor elke promotie.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft of het succesvol was of is mislukt en meer informatie biedt voor foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en meer parameters te lezen. Zie Foutcodes voor de volledige lijst.
Typen en beschrijvingen van geschiktheidsfouten
De geschiktheid zal onwaar retourneren als de controles bepalen dat de product-SKU niet overeenkomt met de promotie-ID. Er worden verschillende voorwaarden en beperkingen geëvalueerd en fouttypen geretourneerd om de voorwaarden te beschrijven waaraan niet is voldaan voor de geschiktheid.
Type geschiktheidsfout | Beschrijving van geschiktheidsfout |
---|---|
OngeldigCatalogusItemId | De opgegeven CatalogItemId is ongeldig. |
OngeldigePromotie | De opgegeven promotie is ongeldig. |
Eigendom van Vereist Product | De klant voldoet niet aan de vereisten voor producteigendom om in aanmerking te komen voor deze promotie. |
Inwissellimiet | Aan de inwisselingslimiet voor deze promotie is voldaan. |
SeatCount | De opgegeven hoeveelheid voldoet niet aan de minimum- of maximumvereisten voor de promotie. |
AanbiedingEerderGekocht | Deze aanbieding is eerder gekocht voor deze klant. |
Term | De opgegeven term is niet van toepassing op de promotie. |
Geen promoties beschikbaar | Er zijn momenteel geen promoties beschikbaar. |
Responsvoorbeeld
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"
}
}