Hello,
I'm trying to follow the steps bellow to do the transition from one SKU to another and the process doesn't works.
If
User is assigned to Original Subscription
Sub1
= Original Subscription
Sub2
= Target Subscription
OfferID1
= Target SKU (Offer ID)
(Optional)
ListEligibleTransitions(Sub1)
(Optional)
Verify the requested transition is supported
PlaceOrder
(Sub1,Sub2,OfferID1)
For
each User() in Customer
SetUserSubscriptions(User
UPN, Add Sub2, Remove Sub1)
DeactiveSubscription(Sub1,
SUBSCRIPTION_STATUS_DISABLED)
Before try to do the call to placeOder, I did the call to ListEligibleTransitions, and the result is OK about the transition that I want to do:
<s:Body>
<ListEligibleTransitionsResponse xmlns="http://www.microsoftonline.com/MOSI/1/0/service/">
<ListEligibleTransitionsResult xmlns:b="http://www.microsoftonline.com/MOSI/1/0/messages/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<b:OfferIds xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<c:string>FF44F98D-3B1F-4250-AB63-8AB1E6F15055</c:string>
<c:string>9458C8C3-9271-4BCB-94F9-582DB6AA5777</c:string>
<c:string>1017D7F3-6D7F-4BFA-BDD8-79BC8F104E0C</c:string>
<c:string>778AD122-5C40-42A2-AADE-E4D2626C8FE9</c:string>
<c:string>14F3D64E-4B2C-4E46-9780-847AC418197B</c:string>
<c:string>96B36813-D5E2-46B2-B111-41D84F9570D8</c:string>
<c:string>8283970D-3CBA-429C-9C75-EB7D33EC0F14</c:string>
</b:OfferIds>
</ListEligibleTransitionsResult>
</ListEligibleTransitionsResponse>
</s:Body>
Anyone here already do it? In my case the transition is from SKU 'Small Business' to 'Business Essentials'.
My request body used to try it, is:
<S:Body>
<ns3:PlaceOrder xmlns="http://www.microsoftonline.com/MOSI/1/0/messages/" xmlns:ns2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:ns3="http://www.microsoftonline.com/MOSI/1/0/service/" xmlns:ns4="http://schemas.microsoft.com/2003/10/Serialization/">
<ns3:request>
<CustomerId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</CustomerId>
<OfferId>8283970D-3CBA-429C-9C75-EB7D33EC0F14</OfferId>
<Quantity>2</Quantity>
<RequestId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</RequestId>
<ArrayOfSourceSubscription>
<SourceSubscription>
<Quantity>2</Quantity>
<SubscriptionId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</SubscriptionId>
</SourceSubscription>
</ArrayOfSourceSubscription>
<SubscriptionId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</SubscriptionId>
</ns3:request>
</ns3:PlaceOrder>
</S:Body>
And the response body:
<s:Body>
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
</s:Code>
<s:Reason>
<s:Text xml:lang="en-US">MutuallyExclusiveOfferIdFault</s:Text>
</s:Reason>
<s:Detail>
<MutuallyExclusiveOfferIdFault xmlns="http://www.microsoftonline.com/MOSI/1/0/messages/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ErrorMessage>The offer '8283970D-3CBA-429C-9C75-EB7D33EC0F14' cannot be used because the customer has already purchased a subscription with a mutually exclusive offer.</ErrorMessage>
<RequestId>7ccb4d96-4ce1-4be8-896c-2ae8ecd55c9a</RequestId>
</MutuallyExclusiveOfferIdFault>
</s:Detail>
</s:Fault>
</s:Body>