Microsoft Indirect Resellers

This section describes how Microsoft's Cloud Solution Provider (CSP) program offers opportunities for partners to work together in multiple ways.

Direct Providers

In the direct bill model, partners purchase Microsoft products and subscriptions directly from Microsoft and sell them directly to their customers through their in-house sales staff. Partners who already operate with, or are willing to develop, the appropriate sales, billing, and support infrastructure may choose the CSP direct model. For more details about Direct Provider, refer to Microsoft document here

Indirect Provider

Indirect providers (also known as distributors) purchase products and subscriptions directly from Microsoft and then offer these solutions to customers through resellers. Working with indirect resellers allows providers to expand their reach and customer base. For more details about Indirect Provider, refer to Microsoft document here.

Indirect Reseller

Indirect resellers work with indirect providers, who have a direct relationship with Microsoft and have the infrastructure to provide customer support and billing. Partnering with indirect providers allows indirect resellers to work with experienced technology providers to go to market without having to make a large capital investment, and to offer a broader portfolio of Microsoft solutions. For more details about Indirect Reseller, refer to Microsoft document here.

Control Panel Vendors

A Control Panel Vendor (CPV) is an independent software vendor that develops applications for use by Cloud Solution Provider (CSP) partners to enable them to integrate their systems with Partner Center APIs. A Control Panel vendor is not a CSP Partner with direct access to the Partner Center dashboard or Partner Center APIs. For more details about CPV, refer to Microsoft document here.

Jamcracker Service Delivery Network (JSDN)

JSDN platform is a comprehensive cloud services broker, cloud services management and cloud governance platform, including cloud services provisioning, policy management, cloud cost management, and operations management. Jamcracker enables organizations to create, deliver, and manage multi cloud services and implement a cloud-enabled business model for offering, delivering, supporting and billing for multi cloud services. The Platform offers flexibility and scalability, with a multi-tiered, multi-tenant architecture, RESTful APIs and integration frameworks while supporting localization in terms of multiple currencies, languages and time-zones. Jamcracker enables partners including telecom service providers, managed services providers, system integrators, distributors, technology and value added resellers to unify, deliver and manage SaaS, PaaS and public or private IaaS cloud services for the end customers including enterprise, mid-market, SMB and government organizations. For more details about CPV, refer to Microsoft document here.

Integration Model

Jamcracker is an authorized CPV from Microsoft. Its Jamcracker Services Delivery Network (JSDN) platform supports integration of Microsoft CSP as a new commerce using the CPV model. It is fully compliant with the Microsoft secure application model. Microsoft Partner Center API works based on the consent provided for the app. In the Direct and Indirect Partner world, there are three ways of integration possible. Partner can choose the model for deployment based on the circumstances.

  • Indirect Provider is providing consent for the CPV app
  • Indirect Reseller is providing the consent for the CPV app and Indirect Provider has extensive API framework exposed for Microsoft commerce operations
  • Indirect Reseller is providing the consent for the CPV app and Indirect Provider has no API framework exposed for Microsoft commerce operations

When the Indirect Provider gives consent, Indirect Reseller can have the functionality of seamlessly automated customer creation and order management, daily usage processing and monthly billing of customers, analytic dashboard etc., enabled from JSDN.

The document provides the list of partner center API’s for which consent has to be provided.

Model 1 - Indirect Provider is providing consent for the CPV app

Flow supported from JSDN:

  • CPV app will be created per customer
  • Consent URL will be constructed and shared to Reseller
  • Reseller will provide the consent and share the auth code back to JC within 10 mins OR Reseller update the auth code in partner credentials page of JSDN himself
  • Update the auth code in JC
    1. Generate the refresh token and persist in JSDN
    2. Generate access token and call required API\
    3. Checks reseller has relationship with provider (If relationship is not present then we need to display the same in the error message.
    4. Partner credentials page will have the following fields
      1. Microsoft partner ID
      2. Domain
      3. MPN ID - Request Reseller relationship link
      4. Partner center APP id
      5. Partner center APP key
      6. Partner center auth code
      7. Partner center redirect URI
      8. Azure APP id
      9. Azure APP key
      10. Azure auth code
      11. Azure redirect URI
  • Since IR can not create customer, order subscriptions etc in partner center, this flow will be:
    1. Adding cloud credentials OR ordering O365 service as new customer will
      1. Send out an email notification to the store Primary admin contact emailID and order will be in waiting state
      2. Store admin – IR need to contact Indirect Provider (IP) and get the customer & order created in partner center
      3. Update the orderID, subscriptionID in pivotpath
      4. Continue the waiting worklist task
      5. Order is fulfilled
    2. Customer chooses the option of existing customer while adding the cloud credentials OR placing the new O365 order
      1. Subdomain name entered by customer is validated at Microsoft (existing validations will hold good in this case)
      2. Checks customer has accepted reseller relationship, if not display the error message
      3. Send out an email notification to the store Primary admin contact emailID and order will be in waiting state
      4. Store admin – IR need to contact Indirect Provider (IP) and get the order created in partner center
      5. Update the orderID, subscriptionID in pivotpath
      6. Continue the waiting worklist task
      7. Order is fulfilled
    3. Customer is doing an order more or order less for O365 service
      1. Send out an email notification to the store Primary admin contact emailID and order will be in waiting state
      2. Store admin – IR need to contact Indirect Provider (IP) and get the order created in partner center
      3. Continue the waiting worklist task
      4. Order is fulfilled
    4. Suspend subscription OR de-provision from JSDN
      1. Send out an email notification to the store Primary admin contact emailID and order will be in waiting state
      2. Store admin – IR need to contact Indirect Provider (IP) and get the subscription suspended in partner center
      3. Continue the waiting worklist task
    5. Refer to “Email Templates_Indirect Reseller_1.1.docx” for email templates.
    6. User management
      1. Add update user are supported
      2. Assign service, un-assign license to user are supported
    7. Azure resource management
      1. All existing features are supported
      2. Import VM is not supported
    8. Usage processing/Billing
      1. Upload the rate JSON at the beginning of the month (since rate api is not available for the IR, we need to fetch it using our sadbox or IR can get it from the respective IP)

Limitations

Limitations of the current implementations are:
  • While placing an order more or order less and validating whether customer has accepted reseller relationship with the particular reseller. Customer can remove the reseller in Microsoft Portal at any time. Since OM/OL is offline process, this will not result in any error.
  • During order more or order less, an error worklist task is created. Since we are not able to provide any message in the “continue” worklist task, it will be a blank task with continue button. Instead error worklist task is created with appropriate message indicating what should be done as the next step.
  • Any subscription once de-provisioned and later re-provisioned, then the old subscription ID will reflect in the flow
  • If any de-provision worklist task is not cleared and a new order for the same service is placed, then order will result in partially fulfilled and show delete worklist task as the reason.
  • Order more will not show proper worklist if there are previous worklists exist for the service.
  • *Some of the texts used in the document about CSP are referenced from Microsoft, https://docs.microsoft.com/