SalesOS.

Guided Selling

AI product matching and recommendations

Get use case categories for needs assessment

GET
/v1/guided-selling/use-cases

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

curl -X GET "https://api.salesos.org/v1/guided-selling/use-cases" \
  -H "Authorization: Bearer <token>"

Get product recommendations based on selected use cases

POST
/v1/guided-selling/recommendations

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Request Body

application/jsonRequired
useCaseIdsRequiredarray<string>

Selected use case IDs

accountIdstring

Account ID for history-based recommendations

industrystring

Industry vertical

companySizestring

Company size tier

Value in: "SMALL" | "MEDIUM" | "LARGE" | "ENTERPRISE"
budgetstring

Budget tier

Value in: "LOW" | "MEDIUM" | "HIGH" | "ENTERPRISE"
curl -X POST "https://api.salesos.org/v1/guided-selling/recommendations" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "useCaseIds": [
      "string"
    ],
    "accountId": "string",
    "industry": "string",
    "companySize": "SMALL",
    "budget": "LOW"
  }'

Build a bundle with auto-discount calculation

POST
/v1/guided-selling/bundle

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Request Body

application/jsonRequired
productIdsRequiredarray<string>

Product IDs to include in bundle

quantitiesRequiredobject

Quantities keyed by product ID

contractLengthnumber

Contract length in months (for contract-length discounts)

curl -X POST "https://api.salesos.org/v1/guided-selling/bundle" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "productIds": [
      "string"
    ],
    "quantities": {
      "prod_abc": 2,
      "prod_def": 1
    },
    "contractLength": 0
  }'

Apply a bundle to an existing quote

POST
/v1/guided-selling/apply-to-quote/{quoteId}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Request Body

application/jsonRequired
productIdsRequiredarray<string>

Product IDs in the bundle

quantitiesRequiredobject

Quantities keyed by product ID

contractLengthnumber

Contract length in months

Path Parameters

quoteIdRequiredstring
curl -X POST "https://api.salesos.org/v1/guided-selling/apply-to-quote/<string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "productIds": [
      "string"
    ],
    "quantities": {},
    "contractLength": 0
  }'

Get cross-sell recommendations for a product

GET
/v1/guided-selling/also-bought/{productId}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Path Parameters

productIdRequiredstring
curl -X GET "https://api.salesos.org/v1/guided-selling/also-bought/<string>" \
  -H "Authorization: Bearer <token>"

List dynamic pricing rules

GET
/v1/guided-selling/pricing-rules

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Query Parameters

isActiveboolean
curl -X GET "https://api.salesos.org/v1/guided-selling/pricing-rules?isActive=true" \
  -H "Authorization: Bearer <token>"

Create a dynamic pricing rule

POST
/v1/guided-selling/pricing-rules

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Request Body

application/jsonRequired
nameRequiredstring

Rule name

descriptionstring

Rule description

conditionsRequiredarray<object>

Conditions that must be met

conditionLogicRequiredstring

Logic for combining conditions

Value in: "AND" | "OR"
actionRequiredobject

Action to take when conditions are met

prioritynumber

Priority (lower = higher priority)

Default: 100
isActiveboolean

Whether rule is active

Default: true
validFromstring

Valid from date (ISO string)

validTostring

Valid to date (ISO string)

maxUsagenumber

Maximum number of times this rule can be used

curl -X POST "https://api.salesos.org/v1/guided-selling/pricing-rules" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "description": "string",
    "conditions": [
      {
        "field": "volume",
        "operator": "EQUALS",
        "value": {},
        "valueEnd": {}
      }
    ],
    "conditionLogic": "AND",
    "action": {
      "type": "DISCOUNT_PERCENT",
      "value": 0,
      "maxDiscount": 0,
      "appliesToProductIds": [
        "string"
      ],
      "appliesToCategories": [
        "string"
      ]
    },
    "priority": 100,
    "isActive": true,
    "validFrom": "string",
    "validTo": "string",
    "maxUsage": 0
  }'

Update a dynamic pricing rule

PATCH
/v1/guided-selling/pricing-rules/{id}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Request Body

application/jsonRequired
namestring

Rule name

descriptionstring

Rule description

conditionsarray<object>

Conditions that must be met

conditionLogicstring

Logic for combining conditions

Value in: "AND" | "OR"
actionobject

Action to take when conditions are met

prioritynumber

Priority (lower = higher priority)

isActiveboolean

Whether rule is active

validFromstring

Valid from date (ISO string)

validTostring

Valid to date (ISO string)

maxUsagenumber

Maximum number of times this rule can be used

Path Parameters

idRequiredstring
curl -X PATCH "https://api.salesos.org/v1/guided-selling/pricing-rules/<string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "description": "string",
    "conditions": [
      {
        "field": "volume",
        "operator": "EQUALS",
        "value": {},
        "valueEnd": {}
      }
    ],
    "conditionLogic": "AND",
    "action": {
      "type": "DISCOUNT_PERCENT",
      "value": 0,
      "maxDiscount": 0,
      "appliesToProductIds": [
        "string"
      ],
      "appliesToCategories": [
        "string"
      ]
    },
    "priority": 0,
    "isActive": true,
    "validFrom": "string",
    "validTo": "string",
    "maxUsage": 0
  }'

Delete a dynamic pricing rule

DELETE
/v1/guided-selling/pricing-rules/{id}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/guided-selling/pricing-rules/<string>" \
  -H "Authorization: Bearer <token>"

Preview which pricing rules apply to a quote

POST
/v1/guided-selling/pricing-rules/preview/{quoteId}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Path Parameters

quoteIdRequiredstring
curl -X POST "https://api.salesos.org/v1/guided-selling/pricing-rules/preview/<string>" \
  -H "Authorization: Bearer <token>"

Compare quote versions or snapshots

GET
/v1/guided-selling/quote-comparison/{quoteId}

Authorization

AuthorizationRequiredBearer <token>

Enter your JWT token

In: header

Path Parameters

quoteIdRequiredstring
curl -X GET "https://api.salesos.org/v1/guided-selling/quote-comparison/<string>" \
  -H "Authorization: Bearer <token>"