PROS ECommerce - ECommerce Quote public API (1.0.47)

Download OpenAPI specification:Download

Warnings

This API is a Version BETA which is under preview.
All the signatures are in version BETA and are subject to change.

How to work with the PROS ECommerce API?

Disclaimer: The workflow is subject to change at any time.

To use the API you need to be Authorized.
You are authorized when you have a valid Token.
Once you have a Token, you can Authorize and call the ecommerce APIs.


What is a token

A token is a unique identifier resulting from the quote sharing action in QuoteX.
A token identify a QuoteId and all the associated parameters such as QuoteModelName, AccessMode, MailTo, EditPassword, ViewPassword, Language, Country, Currency.
This Token has a limited lifespan. It is set to 30 days (subject to change).
After 30 days the token expire and the access is no longer possible.
You have to generate a new token.

How to obtain a token

You can have a token by using the QuoteX Public API;
First you need to have a valid access to the QuoteX Public API.
Then go to the Collaboration Portal operations section.
Execute the /quote/{quoteId}/sharing/url. API
You have then an URL for your collaboration portal.
The URL is the form: https://<domain>/ecommerce/quote/<token>
Use this token to call the ECommerce APIs.

What is the difference between an AppPortal Token and an ECommerce Token

The purpose is different:
With an AppPortal Token, you can connect to the QuoteX API to get a ECommerce Token.
The AppPortal Token is managed by AppPortal and is valid for 30 minutes.
The ECommerce Token is used by the ECommerceAPI and is valid for 30 days.
If your AppPortal Token expire, the ECommerce Token is still valid.
Important : You can't revoke an ECommerce Token.

Workflow

Here is the global workflow when working with a Quote using ECommerce API:

1 - Request the Microsite Settings

Request the settings of the current microsite (/quote/microsite/settings).
You have then the parameters to call the quote APIs such as QuoteId, AccessMode, Locale, Currency.

2 - Request Access Right

According the AccessMode, you can call request an Access Right.
Call the related APIs (/quote/requestAccessRight) with the requested AccessRight and the correct Password (the password should match editPassword or viewPassword, if set).
Note that for security concerns, the requestAccessRight API can be called only once every 5 seconds. If this rate is exceeded, this will result in a 'retry later' error.

3 - Use Quote and Catalog APIs

With the QuoteId and the correct access right, you can now call the quote and catalog APIs.


Here is a diagram representing this general workflow :



Quote session

Session operations

Initialize a Quote session. - BETA version, API signature is subject to change.

Initializes a Quote session and returns a session identifier which is required for any further call to the Quote API.

Authorizations:
Token
header Parameters
Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "sessionId": "string"
}

Request an access right. - BETA version, API signature is subject to change.

This operation request an access right (VIEW or EDIT) with a password. You can request an access once every 5 seconds per token.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Request Access Right Request

accessRight
string
Enum: "VIEW" "EDIT"

The access mode. VIEW Login to view data. EDIT Login to edit data.

password
string

The password.

Responses

Request samples

Content type
application/json
{
  • "accessRight": "VIEW",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "operationId": "b91bbf81beb74397ae282d1186aa1798",
  • "code": 500,
  • "message": "string"
}

Quote operations

Quote creation and opening and other Quote operations

Create a quote. - BETA version, API signature is subject to change.

Create a quote. This will create a Quote using the given model name.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Create Quote Request

modelName
required
string
description
required
string
language
required
string (Language)

The language code in lowercase

country
required
string (Country)

The country code in uppercase.

currency
required
string (Currency)

The currency code.

Responses

Request samples

Content type
application/json
{
  • "modelName": "string",
  • "description": "string",
  • "language": "fr",
  • "country": "FR",
  • "currency": "EUR"
}

Response samples

Content type
application/json
{
  • "quoteId": "string"
}

Open a quote. - BETA version, API signature is subject to change.

Open a quote. This will activate the quote and open a user session. Quote data can be refreshed if this is specfied in the model. If a quote migration is necessary it will be performed. This is a operation, you must set a RETRY on this operation as it could timeout in case of long refresh time or long migration time. In case of retry you must provide the "processId" value returned by the first API call.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Open Quote Request

timeout
integer [ 1 .. 20 ]
Default: 5

Open operation timeout in seconds. If the process is still in progress after this timeout value the API will provide a process id to retry the operation and to continue where it stopped during the first call. Please notice that this timeout value cannot be precise and is used to limit wait time for a single request : It's not an Http timeout. This value can be majorated by network request time and some server internal processing time.

processId
string

This parameter must be provided if you retry the open operation. It will allow the API to check the open quote state and continue the process.

Responses

Request samples

Content type
application/json
{
  • "timeout": 5,
  • "processId": "string"
}

Response samples

Content type
application/json
{
  • "processId": "string",
  • "state": "INITIALIZING",
  • "modelId": "string",
  • "modelName": "string",
  • "errorMessage": "string",
  • "errorCorrelationId": "string"
}

Resolve the locale to use. - BETA version, API signature is subject to change.

The quote is able to manage a list of locale. Providing the browser locale, the API will let you know which is the better locale to use.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Resolve locale request

modelId
required
string

The quote model id to use for all following operations. This model if provided will be checked and an error will be raised if your quote model evolved

browserLocale
string

The locale of the browser

Responses

Request samples

Content type
application/json
{
  • "modelId": "string",
  • "browserLocale": "string"
}

Response samples

Content type
application/json
{
  • "locale": "string",
  • "decimalSeparator": "string",
  • "monetaryDecimalSeparator": "string",
  • "thousandSeparator": "string",
  • "monetaryPattern": "string",
  • "datePattern": "string",
  • "dateTimePattern": "string",
  • "amPmStrings": [
    ],
  • "shortWeekDays": [
    ],
  • "shortMonths": [
    ],
  • "clock": 0,
  • "firstDayOfWeek": 0
}

Push an encrypted context. - BETA version, API signature is subject to change.

This operation pushes an encrypted context to the server.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Push encrypted context request.

encryptedContext
required
string

Encrypted context. Check ECommerceContexts object for the schema of contexts to encrypt

Responses

Request samples

Content type
application/json
{
  • "encryptedContext": "string"
}

Response samples

Content type
application/json
{
  • "operationId": "b91bbf81beb74397ae282d1186aa1798",
  • "code": 500,
  • "message": "string"
}

Model operations

Get list of available Quote models. - BETA version, API signature is subject to change.

Retrieve the list of available models for Quote creation.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "models": [
    ]
}

Quote sharing

Quote sharing operations

Get list of my Quotes. - BETA version, API signature is subject to change.

This operation retrieves the list of my Quotes (created by my authenticated user). If dates are not provided it will use by default last 7 days

Authorizations:
Token
query Parameters
startDate
string <dateTime>

Start date to filter on Quote creation date. A date as defined by full-date in RFC3339 format, with full-date = date-fullyear - date-month - date-day . Example: 2023-11-26

endDate
string <dateTime>

End date to filter on Quote creation date. A date as defined by full-date in RFC3339 format, with full-date = date-fullyear - date-month - date-day . example: 2023-12-27

keywords
string

Keywords to search on Quote description to filter the result list. The search is not case sensitive

locale
string

The display locale that will be used to format values formatted like en-US.

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "partial": true,
  • "allQuotesContributors": [
    ],
  • "quotes": [
    ]
}

Get list of Quotes shared with me. - BETA version, API signature is subject to change.

This operation retrieves the list of Quotes shared with my user by other users. If dates are not provided it will use by default last 7 days

Authorizations:
Token
query Parameters
startDate
string <dateTime>

Start date to filter on Quote creation date. A date as defined by full-date in RFC3339 format, with full-date = date-fullyear - date-month - date-day . Example: 2023-11-26

endDate
string <dateTime>

End date to filter on Quote creation date. A date as defined by full-date in RFC3339 format, with full-date = date-fullyear - date-month - date-day . example: 2023-12-27

keywords
string

Keywords to search on Quote description to filter the result list. The search is not case sensitive

locale
string

The display locale that will be used to format values formatted like en-US.

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "partial": true,
  • "quotes": [
    ]
}

Get list of pending requests. - BETA version, API signature is subject to change.

This operation retrieves the list of pending requests for the attention of the connected user.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "pendingRequests": [
    ]
}

Review a pending request. - BETA version, API signature is subject to change.

This operation review a pending request, by accepting or rejecting it.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Review a Pending Request

requestId
required
string
reviewStatus
required
string
Enum: "ACCEPT" "REJECT"

Responses

Request samples

Content type
application/json
{
  • "requestId": "string",
  • "reviewStatus": "ACCEPT"
}

Response samples

Content type
application/json
{
  • "pendingRequests": [
    ]
}

Get sharing permissions

Get permissions set for the contributor user or on a shared Quote or on all current user Quotes

Authorizations:
Token
query Parameters
contributor
required
string

The Quote contributor

quoteId
string

The QuoteId to check permissions on. If QuoteId is not provided API will get permissions of the contributor on all curent user Quotes (If current user shared all his Quotes with the contributor)

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "access": "NONE",
  • "canNegotiate": false
}

Set sharing permissions

Set permissions for the contributor user or on a Quote or on all current user Quotes.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Quote sharing permissions request body

contributor
required
string

The contributor userId to set permissions for

quoteId
string

The QuoteId to set permissions on. If not provided permissions will be set for contributor on all current user Quotes

required
object (SharingPermissions)

Permissions for a contributor on a Quote or list of Quotes

Responses

Request samples

Content type
application/json
{
  • "contributor": "string",
  • "quoteId": "string",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "operationId": "b91bbf81beb74397ae282d1186aa1798",
  • "code": 500,
  • "message": "string"
}

Quote collaboration

Quote collaboration operations

Get collaboration status targets

This operation retrieves the list of possible changes for the collaboration status of the given Quote. List of available target status are based on the current user profile that is also returned by the API.

Authorizations:
Token
query Parameters
language
required
string

The language code in lowercase

country
required
string

The country code in uppercase

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "currentStatus": {
    },
  • "targetstatus": [
    ],
  • "userProfile": "BUYER",
  • "sellerNotified": true,
  • "sellerNotifyLabel": "string"
}

Change collaboration status for a Quote

This operation sets a collaboration status on the given Quote. Operation is authorized based on the current user profile. (Authorized or not to change status on the Quote) CAUTION: This API is a BETA version, API signature can change at any time or can be removed.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Quote collaboration status request body

status
string

The collaboration status name to set

transition
string

The collaboration status target transition

Responses

Request samples

Content type
application/json
{
  • "status": "string",
  • "transition": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Change seller notification status

This operation will update the notify seller flag on a Quote.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Quote collaboration status request body

notify
required
boolean

Boolean to set or remove notification of the seller on the request

Responses

Request samples

Content type
application/json
{
  • "notify": true
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Quote document generation

Document generation and retrieval operations

Generate a document from the quote. - BETA version, API signature is subject to change.

This operation triggers a quote document generation. The operation executes asynchronously. Once completed, the document can be retrieved later using the get docgen operation.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Generate document request

actionName
string

Configured docgen action name

Responses

Request samples

Content type
application/json
{
  • "actionName": "string"
}

Response samples

Content type
application/json
{
  • "documentId": "string"
}

Get a generated document. - BETA version, API signature is subject to change.

This operation retrieves an already generated quote document if available.
The document format depends on the docgen template and action type.
User should retry on this operation if returned HTTP code is 202, this means that document generation is still in progress. Check response codes for details.

Authorizations:
Token
path Parameters
docgenId
required
string

Quote generated document identifier returned by docgen API

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
No sample

Catalog operations

Operations on products catalog

Get the catalog collections. - BETA version, API signature is subject to change.

Retrieve collections from catalog with their identiefiers (CPEs)

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
dataProviderName
required
string

The data provider name that is linked to the catalog

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

cpes
Array of strings

The product CPEs array

Array of objects (UserType)

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "quoteModelName": "string",
  • "cpes": [
    ],
  • "rmoUserTypes": [
    ]
}

Response samples

Content type
application/json
{
  • "collections": [
    ]
}

Get the catalog structure. - BETA version, API signature is subject to change.

Retrieve catalog structure

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
dataProviderName
required
string

The data provider name that is linked to the catalog

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "quoteModelName": "string"
}

Response samples

Content type
application/json
{
  • "structure": {
    }
}

Search in the catalog. - BETA version, API signature is subject to change.

Search products in the catalog and get their properties.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
dataProviderName
required
string

The data provider name that is linked to the catalog

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

searchKeywords
required
string

The search keywords

rootCollection
string

The catalog root collection

nbResults
integer [ 1 .. 50 ]
Default: 50

Max number of search results to return. The provided number should be within the authorized interval, if not max results number will be used

eligibilityInfo
boolean
Default: true

Set to true to get eligible products

replacementInfo
boolean
Default: true

Set to true to get remplacement products info

computationLinkInfo
boolean
Default: true

Set to true to get computation links

configurationLinkInfo
boolean
Default: true

Set to true to get related configurable products

Array of objects (SearchGeneralSetting)
Array of objects (SearchProductProperty)

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "quoteModelName": "string",
  • "searchKeywords": "string",
  • "rootCollection": "string",
  • "nbResults": 50,
  • "eligibilityInfo": true,
  • "replacementInfo": true,
  • "computationLinkInfo": true,
  • "configurationLinkInfo": true,
  • "generalSettings": [
    ],
  • "productProperties": [
    ]
}

Response samples

Content type
application/json
{
  • "products": [
    ]
}

Search in the catalog. - BETA version, API signature is subject to change.

Search products in the catalog and get their properties.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
dataProviderName
required
string

The data provider name that is linked to the catalog

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

searchKeywords
required
string

The search keywords

rootCollection
string

The catalog root collection

nbResults
integer [ 1 .. 50 ]
Default: 50

Max number of search results to return. The provided number should be within the authorized interval, if not max results number will be used

eligibilityInfo
boolean
Default: true

Set to true to get eligible products

replacementInfo
boolean
Default: true

Set to true to get remplacement products info

computationLinkInfo
boolean
Default: true

Set to true to get computation links

configurationLinkInfo
boolean
Default: true

Set to true to get related configurable products

Array of objects (SearchGeneralSetting)
Array of objects (SearchProductProperty)

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "quoteModelName": "string",
  • "searchKeywords": "string",
  • "rootCollection": "string",
  • "nbResults": 50,
  • "eligibilityInfo": true,
  • "replacementInfo": true,
  • "computationLinkInfo": true,
  • "configurationLinkInfo": true,
  • "generalSettings": [
    ],
  • "productProperties": [
    ]
}

Response samples

Content type
application/json
{
  • "products": [
    ]
}

Get the products in the catalog. - BETA version, API signature is subject to change.

This operation retrieves products in the catalog

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Get Products Request

dataProviderName
required
string

The data provider name that is linked to the catalog

displayLocale
string

The locale in which format response

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

productsCPEs
required
Array of strings

The product CPEs array

priceCPE
required
string

The price CPE to retrieve

strikethroughPriceCPE
required
string

The strikethrough price CPE to retrieve

Array of objects (UserType)
Array of objects (SearchGeneralSetting)

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "displayLocale": "string",
  • "quoteModelName": "string",
  • "productsCPEs": [
    ],
  • "priceCPE": "string",
  • "strikethroughPriceCPE": "string",
  • "rmoUserTypes": [
    ],
  • "generalSettings": [
    ]
}

Response samples

Content type
application/json
{
  • "products": [
    ]
}

Get the product path. - BETA version, API signature is subject to change.

This operation retrieves a product path from its CPE

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Get Products Request

dataProviderName
required
string

The data provider name that is linked to the catalog

quoteModelName
required
string

The quote model name. This will be used to find the right catalog

productCPE
required
string

The product CPE

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "quoteModelName": "string",
  • "productCPE": "string"
}

Response samples

Content type
application/json
{
  • "productPath": "string"
}

Quote data

Access and edit Quote data

Set a field value. - BETA version, API signature is subject to change.

This operation sets a value in a field. A field is defined by a field Id, the field Id can normally be found in the model. This operation is asynchronous so if an error occurs the client will not be notified. The correlation id returned can be used to check the command's execution status.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Set Field Value Request

fieldId
required
string
required
object (ECommerceGridValue)

See different ECommerceGridValue subtypes definitions for more information. Example: StringECommerceGridValue

Responses

Request samples

Content type
application/json
{
  • "fieldId": "string",
  • "inputValue": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Set a cell value. - BETA version, API signature is subject to change.

This operation sets a value in a grid cell. A cell is defined by a row Id and column Id. This operation is asynchronous so if an error occurs the client will not be notified. The correlation id returned can be used to check the command's execution status.\n Warning: This API is aimed at unitary cell update. If one has to update a large number of cells, the import API should be used instead.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Set Cell Value Request

rowId
required
string
colId
required
string
required
object (ECommerceGridValue)

See different ECommerceGridValue subtypes definitions for more information. Example: StringECommerceGridValue

Responses

Request samples

Content type
application/json
{
  • "rowId": "string",
  • "colId": "string",
  • "inputValue": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Get Quote data including fields and lines values. - BETA version, API signature is subject to change.

This operation retrieves a snapshot of data of the Quote.

If a list of rows identifiers is provided, only those rows are returned. A single call to the API is needed in that case. Otherwise, all rows are returned in a paginated mode, the size of the page being given as a request attribute (default 1000). In the response of the first call to the API, the total number of pages is returned, computed based on given page size. There must be as many calls to the API as the total of pages. In following calls you can avoid requesting fields as they will be all returned in the first call The number of lines in the result can be different from number of requested lines. The API returns only found lines even if rowIds are set in the request.

Field ids should be provided in the request to get field values, if no field id is provided the API will return only request rows or rows related to the given view and component.

To ensure results consistency, some snapshot identifiers are provided in the response. They represent the state of quote structure and quote data. These snapshot identifiers vary when quote data are modified or when structure changes (lines are moved, added or deleted, field values change,....) When requesting a new page of rows, these identifiers should be provided in the request to be compared with current states.

Returned rows can be differently filtered and sorted depending on the combination of two request body attributes: type of the given componentId, value of the rowIds attribute. Expected behavior is detailed below:

  • if componentId identifies a grid component
    • rowIds contains one single row identifier
      • Row is returned except if it is filtered by user or model view filter
    • rowIds contains a list of row identifiers
      • Rows are returned in numeric increasing order and filtered by user and model view
    • rowIds is empty (to get a range of rows)
      • Rows range is returned sorted by user sort if any, otherwise by model component sort (if any) and filtered by user and model view
  • if componentId identifies a non grid component or a fields component
    • rowIds contains one single row identifier
      • useAdminView = true or false: row is returned (no filter applied)
    • rowIds contains a list of row identifiers
      • empty result
    • rowIds is empty (to get a range of rows)
      • empty result

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
quoteModelId
required
string

the quote model id

viewId
required
string

The quote view identifier

componentId
required
string

The quote component identifier

displayLocale
required
string

The locale in which format response formatted like en-US.

fieldIds
Array of strings

The list of field ids to retrieve. If field Ids are not provided the request will only return requested rows and no fields.

rowIds
Array of strings (Row id)

Identifiers of the rows to retrieve. This is an optional attribute, if no row identifiers are provided, the rows within the range of the current page are returned.

columnIds
Array of strings (Column id)

Identifiers of the columns to retrieve for each line. This is an optional attribute, if no column identifiers are provided, all columns of the component will be returned.

pageNumber
integer >= 0

The page number, pages start at index 1. If set to 0, rows will not be requested unless specific rows are requested with their Ids

maxLinesPerPage
integer [ 1 .. 1000 ]

The maximum number of lines to retrieve by page

object (Snap Ids)

Quote and component snap Ids. These Ids can change if quote data are updated. When provided in a getData request the API will compare provided ones with current and return data only if they change.

Responses

Request samples

Content type
application/json
{
  • "quoteModelId": "string",
  • "viewId": "string",
  • "componentId": "string",
  • "displayLocale": "string",
  • "fieldIds": [
    ],
  • "rowIds": [
    ],
  • "columnIds": [
    ],
  • "pageNumber": 0,
  • "maxLinesPerPage": 1,
  • "snapIds": {
    }
}

Response samples

Content type
application/json
{
  • "fieldsData": [
    ],
  • "rowsData": {
    },
  • "snapIds": {
    }
}

Get Quote row data children

"This operation retrieves a snapshot of row data from the Quote with it's hierarchy.\n All rows returned are children of the parent row given in parameter. \n The operation also returns the parent folder and parent products of the given row if they exists.\n If the number of rows found exceed the max children depth limit (500 by default), the operation will end in error. All rows are returned in a paginated mode, the size of the page being given as a request attribute (default 1000).\n In the response of the first call to the API, the total number of pages is returned, computed based on given page size.\n There must be as many calls to the API as the total of pages. In following calls you can avoid requesting fields as they will be all returned in the first call\n The number of lines in the result can be different from number of requested lines. The API returns only found lines.\n To ensure results consistency, some snapshot identifiers are provided in the response. They represent the state of quote structure and quote data.\n These snapshot identifiers vary when quote data are modified or when structure changes (lines are moved, added or deleted, field values change,....)\n When requesting a new page of rows, these identifiers should be provided in the request to be compared with current states.\n Returned rows can be differently filtered and sorted depending on the combination of three request body attributes: type of the given componentId, value of the rowIds attribute.\n"

Authorizations:
Token
path Parameters
rowId
required
string

The rowId to request

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
quoteModelId
string

the quote model id

displayLocale
string

The locale in which format response formatted like en-US.

viewId
required
string

The quote view identifier

componentId
required
string

The quote component identifier

columnIds
Array of strings (Column id)

Identifiers of the columns to retrieve for each line. This is an optional attribute, if no column identifiers are provided, all columns of the component will be returned.

pageNumber
integer >= 1
Default: 1

The page number, pages start at index 1.

maxLinesPerPage
integer [ 1 .. 1000 ]
Default: 1000

The maximum number of lines to retrieve by page

getAllDepths
boolean
Default: false

true if API has to get data for all the folder or bundle depths, false otherwise

object (Snap Ids)

Quote and component snap Ids. These Ids can change if quote data are updated. When provided in a getData request the API will compare provided ones with current and return data only if they change.

Responses

Request samples

Content type
application/json
{
  • "quoteModelId": "string",
  • "displayLocale": "string",
  • "viewId": "string",
  • "componentId": "string",
  • "columnIds": [
    ],
  • "pageNumber": 1,
  • "maxLinesPerPage": 1000,
  • "getAllDepths": false,
  • "snapIds": {
    }
}

Response samples

Content type
application/json
{
  • "rowsData": {
    },
  • "parentFolders": [
    ],
  • "parentProducts": [
    ],
  • "snapIds": {
    }
}

Delete lines from the quote. - BETA version, API signature is subject to change.

This operation delete lines from a Quote.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Delete lines Request

rowIds
required
Array of strings (Row id)

Identifiers of the rows to delete.

Responses

Request samples

Content type
application/json
{
  • "rowIds": [
    ]
}

Response samples

Content type
application/json
{
  • "rows": [
    ],
  • "metadata": {
    }
}

Retrieve a cell or field domain. - BETA version, API signature is subject to change.

This operation retrieves the domain of the given field or cell.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Get Domain Request

variableId
required
string

The field id or the columnId if domain to retrieve concerns a cell

rowId
string

The row id to retrieve concerns a cell domain

filter
string

Optional keyword to filter on domain results

authorizedOnly
boolean
Default: true

Retrieve only authorized domain values for user if set true or all values if false

displayLocale
string

The locale in which format response formatted like en-US.

Responses

Request samples

Content type
application/json
{
  • "variableId": "string",
  • "rowId": "string",
  • "filter": "string",
  • "authorizedOnly": true,
  • "displayLocale": "string"
}

Response samples

Content type
application/json
Example
{
  • "domainType": "ExtensionalECommerceDomain",
  • "sortingCriteria": "KEEP_DOMAIN_DEFINITION_ORDER",
  • "domainProperties": {
    },
  • "open": true,
  • "partial": true,
  • "domain": [
    ],
  • "homogeneousValueStatus": "AUTHORIZED"
}

Get the quote status. - BETA version, API signature is subject to change.

This operation retrieves the quote status

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Change the quote status. - BETA version, API signature is subject to change.

This operation changes the status of the quote with given status

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json

Change Status Request

status
required
string

The quote status to be used

Responses

Request samples

Content type
application/json
{
  • "status": "string"
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Retrieve the quote access rights. - BETA version, API signature is subject to change.

This operation retrieves access rights on Quote elements (Global, fields,... ).

Authorizations:
Token
path Parameters
sessionStateSnapId
required
integer <int64>

The session state snapshot id

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "globalAccessRights": [
    ],
  • "fieldAccessRights": [
    ],
  • "columnAccessRights": [
    ],
  • "lineTemplateAccessRights": [
    ]
}

Retrieve the quote session states. - BETA version, API signature is subject to change.

This operation retrieves session states for the current session and context.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "sessionStates": [
    ],
  • "sessionStateSnapId": 0
}

Retrieve the execution status for an async request. - BETA version, API signature is subject to change.

This operation retrieves the execution status of an async request. This API can be used to check if an async request succeeded or failed when it returns a 202 status. For example with setFieldValue or setCellValue

Authorizations:
Token
path Parameters
correlationId
required
string

The async request identifier returned by the original edit request

header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "status": "Failed",
  • "errorMessage": {
    }
}

Add a row in the quote. - BETA version, API signature is subject to change.

Add a product or sales product into the quote.

Authorizations:
Token
header Parameters
sessionId
required
string

Session identifier. Call initSession API to get a session Id

Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Request Body schema: application/json
dataProviderName
required
string

the data provider name

insertionPoint
string

the insertionPoint if any

required
Array of objects (Define a new row to add)

Identifiers of the rows to retrieve. This is an optional attribute, if no row identifiers are provided, the rows within the range of the current page are returned.

Responses

Request samples

Content type
application/json
{
  • "dataProviderName": "string",
  • "insertionPoint": "string",
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Collaboration portal settings

Get the microsite settings. - BETA version, API signature is subject to change.

This operation retrieves the collaboration portal settings.

Authorizations:
Token
header Parameters
Request-Id
string

Use this optional header to correlate many calls the same external operation or workflow. Must be a UUID without "-" characters.

Responses

Response samples

Content type
application/json
{
  • "quoteId": "string",
  • "isCollaborationStatusEnabled": false,
  • "accessMode": "VIEW",
  • "locale": "string",
  • "currency": "string",
  • "logoutUrl": "string",
  • "notifications": [
    ]
}