Verifiera behörighet för kampanjer
Gäller för
- Partnercenter
Lämpliga roller
- Administratörsagent
Kommentar
De nya handelsupplevelserna för licensbaserade tjänster innehåller många nya funktioner och är tillgängliga för alla Molnlösningsleverantör (CSP:er). Mer information finns i översikten över nya handelsupplevelser.
Parters kan kontrollera om en kundtransaktion är berättigad till en viss kampanj. Den här metoden returnerar True om kundtransaktionen är berättigad till en viss kampanj. Partner kan verifiera berättigandet innan de skickar en transaktion för att säkerställa att kampanjen tillämpas.
Förutsättningar
- Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.
- Berättigande inkluderar den produkt-SKU-tillgänglighet som köpts, det kampanj-ID som utvärderas, kvantitet, varaktighet och faktureringsperiod för transaktionen.
- Begränsningsfrekvensen för det här API:et är högst 625 begäranden per minut (RPM) per partnerklientorganisation. Anrop som överskrider gränsen resulterar i http-svaret på 429. Mer information om begränsning finns i vägledningen för begränsning .
REST-begäran
Syntax för begäran
Metod | URI för förfrågan |
---|---|
POST | {baseURL}/v1/customers/{customerId}/promotionEligibilities HTTP/1.1 |
URI-parameter
Använd följande frågeparametrar för att returnera tillgängliga kampanjer.
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
customerId | sträng | Y | Värdet är ett GUID-formaterat kund-klient-ID, som är en identifierare som gör att du kan ange en kund. |
Begärandehuvuden
Mer information finns i REST-huvuden för Partnercenter.
Begärandetext
Brödtexten innehåller en samling PromotionEligibilitiesRequestItems. Den här tabellen beskriver egenskaperna för en PromotionEligibilitiesRequestItem.
Property | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
catalogItemId | sträng | Ja | Katalogobjektidentifieraren. |
kvantitet | heltal | Ja | Antalet licenser eller instanser. |
termDuration | Datum/tid | Ja | En ISO 8601-representation av termens varaktighet. De aktuella värdena som stöds är P1M (en månad), P1Y (ett år) och P3Y (tre år). |
billingCycle | sträng | Ja | Värdet som anger typen av faktureringsperiod. |
promotionId | sträng | Nej | ID:et för befordransobjekt. |
Exempel på begäran
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-svar
Om ett promotionId tillhandahålls och begäran lyckas returnerar den här metoden en samling berättiganderesultat. Om promotionId inte tillhandahålls och begäran lyckas returnerar den här metoden alla kampanjer som är tillgängliga för det angivna erbjudandet och motsvarande kundberättigande för varje kampanj.
Svarsframgång och felkoder
Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och mer felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och fler parametrar. Den fullständiga listan finns i Felkoder.
Typer och beskrivningar av berättigandefel
Berättigandet returnerar falskt om berättigandekontrollerna fastställer att produkt-SKU:n som utvärderas mot kampanj-ID:t inte stämmer överens. Olika villkor och begränsningar utvärderas och returnerar feltyper för att beskriva villkoren som inte uppfylls för berättigandet.
Typ av berättigandefel | Beskrivning av berättigandefel |
---|---|
InvalidCatalogItemId | Det angivna CatalogItemId är ogiltigt. |
InvalidPromotion | Den angivna kampanjen är ogiltig. |
PrerequisiteProductOwnership | Kunden uppfyller inte kraven på produktägarskap för att vara berättigad till den här kampanjen. |
RedemptionLimit | Inlösengränsen för den här kampanjen har uppfyllts. |
SeatCount | Den angivna kvantiteten uppfyller inte kraven på lägsta eller högsta plats för befordran. |
OfferPurchasedPreviously | Det här erbjudandet har köpts tidigare för den här kunden. |
Period | Den angivna termen gäller inte för kampanjen. |
NoPromotionsAvailable | Det finns inga kampanjer tillgängliga just nu. |
Svarsexempel
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"
}
}