Customized catalog

Customized catalog

While using Reach we can integrate different types of existing e-commerce platforms such as Shopify, WooCommerce, Magento, Meta or any custom catalog. To achieve that connection we created an intermediate API that takes care of getting product information and transforming it to internal data models that Reach can understand and interpret to be presented in the Reach Products Section, to then be included in a conversation and be able to give more details of customers’ products and make it easier to make a sale through Reach.

Examples

Examples of what an e-commerce provider already integrated into Reach looks like:

1. List of collections (categories)

responder

2. Products by category

responder

3. Product details

responder

4. Search by Product

responder

Product details can be sent to a chat, a single formatted message is created with the fields: title, price, currencyCode, sku and description with the fields: title, price, currencyCode, sku and description (short or HTML).

responder

Custom customer integration

Below we will detail the steps to be able to integrate an external data source to our e-commerce solution and the endpoints needed to integrate with Reach.

Model description

Below are described the models that will be used to return data that can be interpreted by our e-commerce API. - Fields with the sign ”?” means that they are optional.

Collection Model (Categories)

This model serves to categorize products, each product must belong to a Collection or category.

responder

ImageModel

This model serves to represent an image of a product.

responder

ProductVariantModel

This model is used to identify each variant of a product, for example if you have a product that has different colors, sizes or sizes, each of these variants must have a different SKU identifier. and if there are no variants, there must be at least one with the default data.

responder

PreviewProductModel

This model is a condensed version of the main product model, used to list only the data needed to display in the list. If more than one variant is available, return data related to the default variant.

responder

ProductModel

This model is the complete representation of a product within our e-commerce platform. Note that it requires a collection of variants. If you only have one variant the collection will have one element.

responder

Endpoints de Categorías y Productos

En esta seccién describimos los endpoints que nuestra API de e-commerce necesita para poder incluir una API externa como cliente o fuente de datos. El API externo debe contar con los siguientes métodos y retornar las respuestas que aqui se definen.

Get collections (Categories)

Returns a list of categories of type CollectionModel

  • Method: GET
  • Route: /products/collections/
  • Return: Array of CollectionModel

Example response for GET /api/products/collections/:

responder

Obtain products

Returns all products without filters and with pagination support.

  • Method: GET
  • Route: /products/
  • Parameters: Two types of query params are accepted:
    • size (maximum of items to display) by default is 10
    • page (page you are on) by default is 1
  • Return: PreviewProductModel Array

Example response for GET /api/products/? page=1&size=1:

responder

Buscar productos

Returns all products that meet the search term that is sent and with pagination support.

  • Method: GET
  • Path: /products/search/{query}
    • {query} es el término de búsqueda (ej: Water pump, has to be UrlEncoded - Water%20pump)
  • Parameters: Two types of query params are accepted:
    • size (maximum of items to display) by default is 10
    • page (page you are on) by default is 1
  • Return: PreviewProductModel Array

Example of an answer for GET /api/products/search/bracelet%20mens? page=1&size=1:

responder

Products by collection

Returns all products that belong to the collection or category specified.

  • Method: GET
  • Path: /products/collections/{collection-handle} - {collection-handle} is the handle of the collection (category)
  • Parameters: Two types of query params are accepted:
    • size (maximum of items to display) by default is 10
    • page (page you are on) by default is 1
  • Return: PreviewProductModel Array

Example response for GET /api/products/collections/apparel/? page=1&size=2:

responder

Product detail

Returns the complete product detail.

  • Method: GET
  • Path: /products/{product-handle} {product-handle} is the only handle of the product to be obtained
  • Return: An object of type ProductModel

Example response for GET /api/products/leather-anchor:

responder