Catálogo Personalizado

Catálogo Personalizado

En Reach podemos integrar diferentes tipos de e-commerce existentes como Shopify, WooCommerce, Magento, Meta, o cualquier catálogo personalizado. Para lograr esa conexión creamos un API intermedio que se encarga de obtener la información de los productos y transformala a modelos de datos internos que Reach pueda entender e interpretar para ser presentado en la Sección de productos de Reach, para después estos ser incluidos en una conversación y poder dar más detalles de los productos de los clientes y hacer más fácil concretar una venta por medio de Reach.

Ejemplos en Reach

Estos son unos ejemplos de como se ve un proveedor de e-commerce ya integrado en Reach:

1. Listado de collections (categorías)

responder

2. Productos por categoría

responder

3. Detalle de producto

responder

4. Búsqueda de producto

responder

Los detalles del producto pueden ser enviados a un chat, se arma un solo mensaje formateado con los campos de: title, price, currencyCode, sku y description (corta o HTML).

responder

Integración de cliente custom

A continuación vamos a detallar los pasos para poder integrar una fuente de datos externa a nuestra solución de e-commerce y los endpoints necesarios para poder integrarse a Reach.

Descripción de modelos

A continuación están descritos los modelos que se utilizarán para retornar datos que se puedan interpretar por nuestra e-commerce API.

  • Campos con el signo “?” significa que son opcionales.

Collection Model (Categorías)

Este modelo sirve para categorizar los productos, cada producto debe pertenecer a un Collection o categoría.

responder

ImageModel

Este modelo sirve para representar una imagen de un producto.

responder

ProductVariantModel

Este modelo sirve para identificar cada variante de un producto, por ejemplo si se cuenta con un producto que tenga diferentes colores, tallas o tamaños, cada una de estas variantes debe contar con un identificador SKU diferente. y si no se cuenta con variantes, debe existir al menos una con los datos por defecto.

responder

PreviewProductModel

Este modelo es una versión condensada del modelo principal de productos, usado para listar solo con los datos necesarios para mostrar en la lista. Si se cuenta con más de una variante, retornar datos relacionados a la variante por defecto.

responder

ProductModel

Este modelo es la representación completa de un producto dentro de nuestra plataforma de e-commerce. Tener en cuenta que requiere una colección de variantes. Si solo tiene una variante la colección contará con un elemento.

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.

Obtener Collections (Categorias)

Retorna una lista de categorías del tipo CollectionModel

  • Metodo: GET
  • Ruta: /products/collections/
  • Retorna: Array de CollectionModel

Ejemplo de respuesta para GET /api/products/collections/:

responder

Obtener productos

Retorna todos los productos sin filtros y con soporte a paginación.

  • Metodo: GET
  • Ruta: /products/
  • Parámetros: Se aceptan dos tipos de query params:
    • size (máximo de items a mostrar) por defecto es 10
    • page (página en la que se encuentra) por defecto es 1
  • Retorna: Array de PreviewProductModel

Ejemplo de respuesta para GET /api/products/?page=1&size=1:

responder

Buscar productos

Retorna todos los productos que cumplan con el término de búsqueda que se envíe y con soporte a paginación.

  • Metodo: GET
  • Ruta: /products/search/{query}
    • {query} es el término de búsqueda (ej: Bomba de agua, tiene que ser UrlEncoded - Bomba%20de%20agua)
  • Parámetros: Se aceptan dos tipos de query params:
    • size (máximo de items a mostrar) por defecto es 10
    • page (página en la que se encuentra) por defecto es 1
  • Retorna: Array de PreviewProductModel

Ejemplo de respuesta para GET /api/products/search/bracelet%20mens?page=1&size=1:

responder

Productos por collection

Retorna todos los productos que pertenezcan a la collection o categoría que se especifique.

  • Metodo: GET
  • Ruta: /products/collections/{collection-handle} - {collection-handle} es el handle de la colección (categoria)
  • Parámetros: Se aceptan dos tipos de query params:
    • size (máximo de items a mostrar) por defecto es 10
    • page (página en la que se encuentra) por defecto es 1
  • Retorna: Array de PreviewProductModel

Ejemplo de respuesta para GET /api/products/collections/apparel/?page=1&size=2:

responder

Detalle del producto

responder