Partner Center API Availabilities Have Different Terms Depending on Query Method
Hi - I've noticed something strange with a VERY small number of products using the Partner Center API. However, these are popular products, so I was wondering what the correct behavior is. I've done this with both the .Net SKD and REST.
If I retrieve the availabilities (plural) for one of these products and skus, I get a single availability with 3 terms.
For the REST call, the URL is: https://api.partnercenter.microsoft.com/v1/products/CFQ7TTC0LFLZ/skus/0002/availabilities?country=US
I get this set of terms:
"id": "CFQ7TTC0MKD5", // Availability ID
...
"terms": [
{
"id": "bnbbihhxpsbo",
"duration": "P1M",
"description": "One-Month commitment for monthly billing",
"billingCycle": "Monthly",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "u7f64ks66cqy",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Annual",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "z1gqawhfdzfo",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Monthly",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
}
]
If I retrieve this availability (singular) using its ID, I get a larger set of terms.
For that REST call, the URL is: https://api.partnercenter.microsoft.com/v1/products/CFQ7TTC0LFLZ/skus/0002/availabilities/CFQ7TTC0MKD5?country=US&targetview=commercial
And that set of terms is:
"terms": [
{
"id": "bnbbihhxpsbo",
"duration": "P1M",
"description": "One-Month commitment for monthly billing",
"billingCycle": "Monthly",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "e1xnik41cgao",
"duration": "P3Y",
"description": "Three-3 Years commitment for 3 Years/yearly billing",
"billingCycle": "Triennial",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "tznn5prxhn1o",
"duration": "P3Y",
"description": "Three-3 Years commitment for 3 Years/yearly billing",
"billingCycle": "Annual",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "u7f64ks66cqy",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Annual",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
},
{
"id": "z1gqawhfdzfo",
"duration": "P1Y",
"description": "One-Year commitment for monthly/yearly billing",
"billingCycle": "Monthly",
"cancellationPolicies": [
{
"refundOptions": [
{
"sequenceId": 0,
"type": "Full",
"expiresAfter": "P1D"
}
]
}
]
}
]
Notice the additional two terms!
Shouldn't they be the same, regardless of how they are queried?
The 3 products that I have found are:
Microsoft 365 E3, Microsoft 365 E3 - Product CFQ7TTC0LFLX, Sku 0001, Availability CFQ7TTC0S4KL
Office 365 E3, Office 365 E3 - Product CFQ7TTC0LF8R, Sku 0001, Availability CFQ7TTC0PK9M
Microsoft 365 E5, Microsoft 365 E5 - Product CFQ7TTC0LFLZ, Sku 0002, Availability CFQ7TTC0MKD5
Does anyone have ANY idea why this is? And which one is correct? Note that when I use Partner Center to try to add a subscription for the user, there are only 3 terms available.
Thanks.