Create a Reseller

POST /v1/Resellers

Creates a new Reseller with the provided ResellerViewModel. Available to the roles: csp

Headers

  • X-Tenant string Required

    This header identifies which tenant to access with this request. This value should be an existent domain for the specified tenant.

  • Authorization string Required

    JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"

    Default value is Bearer eyJ0eXAiO....

  • X-Correlation-Id string(UUID)

    This header is optional and by setting it you can correlate the audit logs made by this request.

application/json

Body

The reseller info to create the reseller.

  • id string(uuid)

    The reseller Id.

  • companyName string | null Required

    The name of the company associated to the reseller. This may be up to 255 characters.

  • country string | null Required

    The company country. Must be in standard iso 3166-1 alpha 2.

  • addressLine1 string | null Required

    The company address line 1. This may be up to 255 characters.

  • addressLine2 string | null

    The company address line 2. This may be up to 255 characters.

  • city string | null Required

    The company city. This may be up to 255 characters.

  • state string | null Required

    The company state. This may be up to 255 characters.

  • zipCode string | null Required

    The company ZIP. Should be a valid zip according to the company country. This may be up to 30 characters.

  • firstName string | null Required

    The company primary contact first name. This may be up to 255 characters.

  • lastName string | null Required

    The company primary contact last name. This may be up to 255 characters.

  • email string | null Required

    The company primary contact email. This may be up to 255 characters.

  • phone string | null Required

    The company primary contact phone. Should be a valid phone according to the company country. This may be up to 30 characters.

  • internalIdentifier string | null

    The company internal identifier. This may be up to 255 characters.

  • taxId string | null

    The tax id of the company. This may be up to 255 characters.

  • providerResellers array[object] | null Required

    The provider resellers. A list containing the info about this reseller in one or more provider instances.

    Hide providerResellers attributes Show providerResellers attributes object
    • providerInstanceId string(uuid) Required

      The id of the provider instance to which the reseller with ResellerId is associated to. Must always be set.

    • priceMargin object Required

      This value object contains the price margin for this entity.

      Hide priceMargin attributes Show priceMargin attributes
    • offerTypeMargins object | null

      Contains as key the name of the offer type and as value the price margin applied to each offer type for this specific provider instance. Price margins applied at the offer type level will override the price margin applied at the provider instance level. If no price margin is applied to a specific offer type of this provider instance then it will not be in the dictionary. This dictionary is optional.

      Hide offerTypeMargins attribute Show offerTypeMargins attribute
    • providerResellerId string | null

      An id that identifies the reseller has on the provider instance.

    • resellerProviderData string | null Required

      A json formatted string which contains specific data for the reseller association to the provider instance. In Microsoft Tier 1 this property can be a empty josn object "{}".

    • status object

      The status for this entity. Possible values: Processing, Success, Failed

      Hide status attribute Show status attribute
  • Hide customDomain attributes Show customDomain attributes

Responses

POST /v1/Resellers
curl \
 -X POST https://app-cloudcockpitapi-prod-01.azurewebsites.net/v1/Resellers \
 -H "Content-Type: application/json" \
 -H "X-Tenant: string" \
 -H "Authorization: Bearer eyJ0eXAiO..." \
 -H "X-Correlation-Id: string" \
 -d '{"id":"string","companyName":"string","country":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","zipCode":"string","firstName":"string","lastName":"string","email":"string","phone":"string","internalIdentifier":"string","taxId":"string","providerResellers":[{"providerInstanceId":"cb3cd15b-1d6e-45be-b493-c71549cbfd87","providerResellerId":"968bd16f-7eca-494d-b29f-440b9ef5cf5d","priceMargin":{"marginRule":{"name":"markup"},"value":8},"offerTypeMargins":{"Value":{"license":{"MarginRule":{"Name":"markup"},"Value":10}}},"resellerProviderData":"{\"indirectResellerId\" : \"f94f06fd-dc98-47fb-bd49-63bc98bd87f2\",\"secondaryMpnIds\": [ \"123456\", \"654321\"]}"}],"customDomain":{"customDomain":"string","status":{}}}'
Request example
# Headers
X-Tenant: string
Authorization: Bearer eyJ0eXAiO...
X-Correlation-Id: string

# Payload
{
  "id": "string",
  "companyName": "string",
  "country": "string",
  "addressLine1": "string",
  "addressLine2": "string",
  "city": "string",
  "state": "string",
  "zipCode": "string",
  "firstName": "string",
  "lastName": "string",
  "email": "string",
  "phone": "string",
  "internalIdentifier": "string",
  "taxId": "string",
  "providerResellers": [
    {
      "providerInstanceId": "cb3cd15b-1d6e-45be-b493-c71549cbfd87",
      "providerResellerId": "968bd16f-7eca-494d-b29f-440b9ef5cf5d",
      "priceMargin": {
        "marginRule": {
          "name": "markup"
        },
        "value": 8
      },
      "offerTypeMargins": {
        "Value": {
          "license": {
            "MarginRule": {
              "Name": "markup"
            },
            "Value": 10
          }
        }
      },
      "resellerProviderData": "{\"indirectResellerId\" : \"f94f06fd-dc98-47fb-bd49-63bc98bd87f2\",\"secondaryMpnIds\": [ \"123456\", \"654321\"]}"
    }
  ],
  "customDomain": {
    "customDomain": "string",
    "status": {}
  }
}
Response examples (200)
"string"
Response examples (200)
"string"
Response examples (201)
{
  "resellerId": "string"
}
Response examples (201)
{
  "resellerId": "string"
}
Response examples (400)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (400)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (500)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}
Response examples (500)
{
  "statusCode": 42,
  "type": "string",
  "description": "string",
  "correlationId": "string",
  "errors": [
    {
      "propertyName": "string",
      "description": [
        "string"
      ]
    }
  ]
}