Skip to main content
In certain circumstances, MarketONE might trigger a retry of the same event. This could happen due to a delayed response from the Merchant or MarketONE misinterpreting a response. For successful subscription status management, the Merchant must support idempotency. Here’s an example of what can happen when idempotency isn’t supported:
  1. MarketONE sends the AddSubscription event to the Merchant. The partnerSubscription status is UNPROVISIONED.
  2. The Merchant receives the event, processes it and returns a 200 OK with the externalPartnerSubscriptionId.
  3. For some reason, MarketONE doesn’t get the response. MarketONE retries the same AddSubscription event.
  4. The Merchant receives the duplicated event. Instead of an idempotent response, it responds with a 400 error. Upon receiving the error response, MarketONE puts the partnerSubscription into a FAILED state.
  5. The user will not be able to activate their subscription because the partnerSubscription status is in a FAILED state (it’s supposed to be in an INACTIVE state) and a redemption link won’t be sent out to the user. The user can request another redemption link, but, due to the FAILED state of the partnerSubscription, a redemption link still won’t be sent out.
For this reason, MarketONE requires the Merchant’s response to all MarketONE events to be idempotent (that is, the same 200 OK with successful payload for any duplicated events). Parent topic:Design Guidelines for the Platform-Managed Flow