AppResellerOpportunities

Required field definitions

Changed on

For a customer/sales agent combination, returns the vendor-required fields for one or more products, and a description of the fields. Request can be made before or after an opportunity is created. It returns the fields that will be required, and any values previously saved on the AppDirect platform that can be prepopulated when an opportunity is created. It does not return required field values edited, added, or saved with an opportunity.

Some vendors (for example, Microsoft) have business rules that exclude required fields from the response when the vendor already has the information stored on their platform for the customer/sales agent/product combination.

Required: Accept-Language header with Locale format. For example: en-US

post/assistedSales/v1/opportunities/items/requiredFields/definitions

Request

Query parameters

userIdstring required

Customer's unique identifier

companyIdstring required

Customer's company's unique identifier

salesAgentUserIdstring required

Sales agent's unique user identifier

salesAgentCompanyIdstring required

Sales agent's company's unique identifier

Headers

Accept-Languagestring required

Locale. Format: 'en-US'

Request body

productIdstring required

The product ID

editionIdstring required

The edition code

Example request

[
  {
    "productId": "dfc9cefb-610b-4e49-ade8-6ae51a4d35c9",
    "editionId": "EDITION_CODE"
  }
]

Response

Required field definitions retrieved successfully

productIdstring

The product ID

editionIdstring

The edition code

Example response

[
  {
    "productId": "dfc9cefb-610b-4e49-ade8-6ae51a4d35c9",
    "editionId": "EDITION_CODE",
    "forms": [
      {
        "isvIdentifier": "ISV",
        "context": "CART_LEVEL",
        "title": "Additional Information",
        "subTitle": "Additional Information Subtitle",
        "fields": [
          {
            "inputCode": "FirstName",
            "inputTitle": "First name",
            "subTitle": "",
            "tooltip": "",
            "value": "John",
            "fieldType": "TEXT",
            "validations": {
              "required": true,
              "readonly": false,
              "minLength": "2",
              "maxLength": "255",
              "expression": "^[A-Za-z]+(((\\'|\\-|\\.(\\s)?|\\,(\\s)?|\\s)?([A-Za-z])+))*$"
            },
            "options": {
              "suffix": {
                "text": "",
                "inputCode": ""
              }
            }
          },
          {
            "inputCode": "Address/ISO3Country",
            "inputTitle": "Country",
            "subTitle": "",
            "tooltip": "",
            "value": "USA",
            "fieldType": "COUNTRY",
            "validations": {
              "required": true,
              "readonly": false,
              "minLength": "2",
              "maxLength": "3",
              "expression": "^[A-Za-z]{2}$"
            },
            "options": {
              "suffix": {
                "text": ""
              },
              "placeholder": ""
            }
          },
          {
            "inputCode": "SubDomain",
            "inputTitle": "Your primary domain name",
            "subTitle": "",
            "tooltip": "Your subdomain and domain names. For example: When subdomain=movies, and domain=.entertainment.com, the subdomain value is: movies.entertainment.com",
            "value": "",
            "fieldType": "TEXT",
            "validations": {
              "required": true,
              "readonly": false,
              "minLength": "1",
              "maxLength": "255",
              "expression": "^([^\\W|http(s?)://][a-zA-Z]+)(\\.[a-zA-Z]+)*"
            },
            "options": {
              "suffix": {
                "text": ".thedomain.com",
                "inputCode": ""
              },
              "placeholder": "movies.entertainment.com"
            }
          }
        ]
      }
    ]
  }
]

Changes

    • breaking

      added the new required request property /

    • breaking

      added the new required request property /

    • breaking

      the request property type changed from no type to object

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's body type changed from no type to object for status

    • breaking

      the response's property type changed from no type to object for status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status