Endpoint documentation is available at https://api.chatsystem.ai

Diagram Catalog

1. Create a catalog

  • The catalog defines a type of product. Any product with the same properties goes into the same catalog (example: board games). Another type of product will go into another catalog (example: game accessories).
  • The catalog is then used by the agent. If you have filled in several catalogs, the agent will determine by itself which catalog should be used, based on what the user said.
  • The catalog has two properties: name and productDefinition. These properties must be filled in French with a precise description understandable by a human.
    • Example:
      • name: Board games
      • productDefinition: Board games of all types for adults and children
  • These properties need to be correct and meaningful to help the search be relevant.

2. Create catalog properties (Search Filter)

Within a catalog are the definitions of the product properties, called Search Filters. Each property of your product that you want to make searchable must have its own Search Filter.

  • Search Filters are the cornerstone of the agent. It is thanks to them that it knows what to look for and how to search. A catalog with the right Search Filters will be much better browsed by the agent who will be able to offer better recommendations.
  • The types of Search Filters created are very important and influence the way searches are done. For example, a Search Filter can be of type text or number, but also of type boolean or enum. Enums are very important - where there is a limited and known number of values ​​(typically, tags, clothing sizes, categories...), specifying an enum will drastically increase the quality of the search.
  • If a property is important in the search, because it is always present, the corresponding Search Filter must be marked as required. This will have the effect of always including this criterion in the agent's searches. This should be used on one or two Search Filters maximum. For example, the size of a clothing item, or the age for a board game.
  • Mandatory Search Filters are automatically created when creating a catalog and contain properties that are required on the products that will be uploaded.
  • Search Filters have two special properties: name and semanticDescription. These properties must be filled in French with a precise description understandable by a human.
    • Example:
      • name: Game type
      • columnType: enum
      • columnName: your column name
      • semanticDescription: Game type and subcategory of board games
    • Another example:
      • name: Team game
      • columnType: boolean
      • columnName: your column name
      • semanticDescription: Is the game played in teams?
    • Another example:
      • name: Age to play
      • columnType: number
      • columnName: your column name
      • semanticDescription: The age to play and understand the game
  • These properties need to be correct and meaningful to help the search be relevant, for each Search Filter.
  • For these semantic reasons, a boolean Search Filter must have a semanticDescription in the form of a question, and end with a question mark.

3. Create your products


The products that you upload via the API will be those that will be presented to the user by the agent.

  • A product corresponds to a single catalog.
  • Products are only searchable based on the Search Filters that have been created.
  • Each product must have the mandatory properties (those created in the Search Filters) otherwise it will be rejected by the API.
    • Here are the mandatory properties:
      • mandatory_productName_french" (at least one of both productName is mandatory)
      • "mandatory_productName_english" (at least one of both productName is mandatory)
      • "mandatory_description"
      • "mandatory_sellingPrice"
      • "mandatory_urlProduct"
      •  "mandatory_imageSrcProduct"
      • "mandatory_customerProductId" (an ID from your side)
    • A missing property will result in a 400 error when creating the product. The complete list of mandatory properties can be seen in the Swagger documentation on the product creation endpoint.
  • When creating a product, an ID will be returned in the response, which matches the product ID in the chatSystem api and will allow products to be updated or deleted later.

4. Authorize your DNS

Via the back-office or the API, add the DNS of the site that will host the client and use your appToken.

5. Use the ChatSystem client

The ChatSystem client is available as a react pakckage on npmjs and also a bundled version for other sites at the URL https://chatsystem.s3.eu-west-3.amazonaws.com/index.js, which you can use in a <script> tag with the source pointing to the URL, and your appToken as a parameter like this:

<script type="text/javascript"src="https://chatsystem.s3.eu-west-3.amazonaws.com/index.js"data-apptoken="YOUR_APP_TOKEN"></script>