Seller Management

Introduction

This article aims to provide integration developers, business analysts, and software architects with a comprehensive guide on how to programmatically onboard new sellers to your multi-tier platform. By following the steps outlined here, you can efficiently onboard multiple sellers as part of the onboarding process for the AppXite platform. Additionally, you'll learn how to seamlessly integrate organization management with your CRM, ERP, or other systems, allowing you to continuously add organizations to your platform.

(GET) List all distributors

This API call returns a list of all distributors to which you have access. Each distributor is associated with a unique identifier ("id" - GUID) that you can use to retrieve seller organizations under your Multi-Tier Platform. The following information is provided for each distributor:

  • "shortName" (String): The short name of the distributor organization.
  • "fullName" (String): The full name of the distributor organization.
  • "domainName" (String): The domain name of the company.
  • "parentDomainName" (String): The parent domain name of the company.
  • "resellersParentDomains" (Array of Strings): An array containing the parent domain names of resellers associated with the company. You can use the value returned for "resellersParentDomains" when creating a seller ("Create a Reseller" API) by specifying it in the "parentDomainName" field. If a distributor has multiple reseller parent domains, select only one.
  • "companyLogo" (String - URL): A URL pointing to the location of the company's logo image hosted on AppXite Azure Blob Storage.

(GET) List all resellers

This API call retrieves a list of all resellers under the selected distributor. For each reseller, the following information is available:

  • "id" (GUID): The unique identifier for the reseller.

  • "isSegmentCreationDisabled" (Boolean): Indicates whether segment creation is disabled for the reseller.

  • "erpId" (String): The ERP (Enterprise Resource Planning) ID associated with the reseller.

  • "fullName" (String): The full name of the reseller.

  • "status" (String): The current status of the reseller. Possible values include "PendingApproval" (seller requires approval from UI or using "Approve a Reseller" API) and "Active" (seller is approved, and no further actions are required).

  • "segment" (Object): Information about the segment to which the reseller belongs. For further details about segments, please visit the Segment Management section.

    • "id" (GUID): The unique identifier for the segment.
    • "name" (String): The name of the segment.
    • "isActive" (Boolean): Indicates whether the segment is active or not.
  • "contact" (Object): Contact information for the reseller.

    • "firstName" (String): The first name of the reseller's contact person.
    • "lastName" (String): The last name of the reseller's contact person.
    • "email" (String): The email address of the reseller's contact person.
  • "address" (Object): Address information for the reseller.

    • "addressLine1" (String): The first line of the reseller's address.
    • "city" (String): The city where the reseller is located.
    • "state" (String): The state or region where the reseller is located.
    • "postalCode" (String): The postal or ZIP code of the reseller's location.
    • "countryCode" (String): The country code of the reseller's location.
  • "portalDomainName" (String): The domain name associated with the reseller's portal.

  • "availableStatusChanges" (Object): Indicates the available status changes for the reseller, including "PendingApproval" and "Active."

  • "erpSystemType" (String): The type of ERP system associated with the reseller.

(POST) Create a Reseller

This API call allows you to create a new reseller under a distributor. The payload for this operation includes the following parameters:

  • "shortName" (String): The short name of the seller.

  • "fullName" (String): The full name of the seller.

  • "registrationNumber" (String): The registration number of the seller.

  • "vatNumber" (String): The VAT (Value Added Tax) number of the seller.

  • "currencyCode" (String): The currency code used by the seller.

  • "invoicingEmail" (String): The email address for invoicing.

  • "primaryAddress" (Object): Primary Address Information.

    • "countryCode" (String): Country Code.
    • "city" (String): City.
    • "state" (String): State.
    • "postalCode" (String): Postal Code.
    • "addressLine1" (String): Address Line 1.
    • "addressLine2" (String): Address Line 2 (optional).
  • "primaryContact" (Object): Primary Contact Information.

    • "firstName" (String): First Name.
    • "lastName" (String): Last Name.
    • "email" (String): Email Address.
    • "phone" (String): Phone Number.
  • "customPropertiesOrganization" (Object): Custom Organization Properties.

    • "objectType" (String): Object Type.
    • "customProperties" (Array of Objects): Array of custom properties with "customPropertiesTemplateId" and "value" fields.
  • "erpId" (String): The ERP (Enterprise Resource Planning) ID associated with the seller.

  • "portalConfiguration" (Object): Portal Configuration.

    • "senderEmailAddress" (String): Sender Email Address.
    • "senderName" (String): Sender Name.
    • "customDomainName" (String): Custom Domain Name.
    • "mpnId" (String): MPN (Microsoft Partner Network) ID.
    • "ibmId" (String): IBM ID.
    • "ibmMass360Id" (String): IBM Mass360 ID.
    • "ciscoId" (String): Cisco ID.
    • "kasperskyId" (String): Kaspersky ID.
    • "hasMicrosoftContract" (Boolean): Indicates if the seller has a Microsoft contract.
    • "useAdobeContract" (Boolean): Indicates if the seller uses an Adobe contract.
    • "hasIbmContract" (Boolean): Indicates if the seller has an IBM contract.
    • "hasKasperskyContract" (Boolean): Indicates if the seller has a Kaspersky contract.
    • "hasCiscoContract" (Boolean): Indicates if the seller has a Cisco contract.
    • "otherVendorConfigs" (Array): Array of other vendor configurations.
    • "emailSenderAddress" (String): Email sender address.
    • "emailSenderName" (String): Email sender name.
    • "parentDomainName" (String): Parent domain name.
  • "industryTypes" (Array of Strings): Array of industry types, including: "education", "government", "nonProfit", "privateBusiness".

(GET) List available segments

This API call retrieves a list of available segments that you can assign to resellers. If the desired segment is not available, you can create a new segment using the "Create a Segment" API.

(POST) Create a Segment

This API call allows you to create a new segment. The payload for segment creation includes the following parameters:

  • "Id" (String): The unique identifier for the segment. This field is empty in the provided example, indicating that it might be auto-generated or assigned later during the segment creation process.
  • "Name" (String): The name of the segment, "APISegment." It represents the category name for the newly created segment.
  • "BaseCategoryId" (String): The unique identifier of a segment that serves as a basis for creating the new segment. 

(POST) Assign a Segment

This API call assigns a segment to a selected reseller based on the segment ID retrieved using the "List available Segments" API.

Seller Bulk Onboarding Flow

 

Was this article helpful?

0 out of 0 found this helpful

Articles in this section

Add comment

Please sign in to leave a comment.