locked
SKU Transition with MOSI - The offer '8283970D-3CBA-429C-9C75-EB7D33EC0F14' cannot be used because the customer has already purchased a subscription with a mutually exclusive offer. RRS feed

  • Question

  • 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>

    Thursday, August 20, 2015 8:07 PM

All replies

  • If someone have the same issue, the way to solve it is change the XML request from:

    	<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>

    To:

    <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>96B36813-D5E2-46B2-B111-41D84F9570D8</OfferId>
        <Quantity>2</Quantity>
        <RequestId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</RequestId>
        <SourceMOSISubscriptions>
          <SourceSubscription>
            <Quantity>2</Quantity>
            <SubscriptionId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</SubscriptionId>
          </SourceSubscription>
        </SourceMOSISubscriptions>
        <SubscriptionId>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</SubscriptionId>
      </ns3:request>
    </ns3:PlaceOrder>

    This way solved my case.

    Friday, September 18, 2015 3:18 PM