Partner Center API Availabilities Have Different Terms Depending on Query Method

Phillip Marino 0 Reputation points
2023-12-01T19:03:25.61+00:00

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.

Microsoft Partner Center API
Microsoft Partner Center API
Microsoft Partner Center: A Microsoft website for partners that provides access to product support, a partner community, and other partner services.API: A software intermediary that allows two applications to interact with each other.
327 questions
0 comments No comments
{count} votes