iOS Mobile SDK: Notificar evento de producto visitado

El evento “Notificar evento de producto visitado” sirve para comunicar que el contacto ha visitado un producto en concreto durante su navegación por la app. Para ello notifica, vía Mobile SDK, cuando un usuario accede a una página de detalle de producto mediante el uso del método Connectif.sendProductVisit().

 

Cómo se usa

La notificación de producto visitado utiliza el objeto Product, del método sendProductVisit, para enriquecer la información de los eventos enviados.

Notificar la información del producto visitado

Estas son las propiedades que podremos enviar en nuestro objeto Product:

Nombre Obligatoria Tipo Descripción
productDetailUrl String URL de la página del producto (la URL debe ir sin codificar).
productId String Identificador único del producto (en el eCommerce).
name String Nombre del producto.
description No String Descripción del producto. Puede contener código HTML.
imageUrl No String URL de la imagen del producto.
unitPrice Decimal Precio unitario del producto.
availability No Availability Puede tener uno de los siguientes valores: .inStock o .outOfStock.
categories No List<String> La categoría a la que pertenece el producto. Si el eCommerce permite sub-categorías, puedes indicarlas con la ruta completa de la categoría separando cada nivel con el carácter '/'.
Por ejemplo: "/Ordenadores/Teclados/Logitech".
tags No List<String> Las etiquetas asociadas al producto.
brand No String Marca del producto.
reviewCount No Int Número de reseñas que tiene el producto.
rating No Int Valoración del producto normalizada al rango de 0 a 5.
ratingCount No Int Cantidad de valoraciones del producto.
thumbnailUrl No String URL de la imagen en miniatura del producto.
relatedExternalProductIds No List<String> Ids de productos relacionados.
priority No Int Prioridad de un producto.
unitPriceOriginal No Decimal Precio unitario del producto sin aplicar el descuento.
unitPriceWithoutVAT No Decimal Precio unitario original del producto.
discountedAmount No Decimal Importe rebajado del producto.
discountedPercentage No Int Porcentaje de descuento, rango de 0 a 100 sin símbolo de porcentaje.
publishedAt No Date Fecha de publicación del producto en el catálogo de la tienda.
customField1 No String Campo personalizado del producto.
customField2 No String Campo personalizado del producto.
customField3 No String Campo personalizado del producto.

 

Este tipo de evento recoge de forma automática la siguiente información:

  • Sistema operativo: Android o iOS.
  • Versión de app.
  • Versión de sistema operativo.
  • Versión de Connectif SDK.

 

Ejemplo

La notificación tendrá este aspecto:

let productBasketItem = ProductBasketItem(
productDetailUrl: "https://example.com/product/12345",
productId: "59a31949a1a562d4979fbca2",
name: "Example Product",
unitPrice: Decimal(51.88),
description: "This is an example product",
imageUrl: "https://example.com/product/images/12345.jpg",
availability: Product.Availability.inStock,
categories: ["Electronics", "Gadgets"],
tags: ["Trending", "New Arrival"],
brand: "ExampleBrand",
reviewCount: 150,
rating: Decimal(4.5),
ratingCount: 124,
thumbnailUrl: "https://example.com/product/thumbnails/12345.jpg",
relatedExternalProductIds: ["54321", "67890"],
priority: 10,
unitPriceOriginal: Decimal(120.00),
unitPriceWithoutVAT: Decimal(80.00),
discountedAmount: Decimal(20.00),
discountedPercentage: Decimal(16.67),
publishedAt: Date(),
customField1: "Special Edition",
customField2: "Limited Stock",
customField3: "Online Only",
price: Decimal(51.88),
quantity: 1
)

let purchase = Purchase(
products: [productBasketItem],
totalQuantity: 1,
totalPrice: Decimal(51.88),
cartId: "cart-0098caf9-42f4-44e9-afdd-45eafe892293",
paymentMethod = "Credit Card",
purchaseDate = Date(),
purchaseId = "purchase-e3418b5a-8709-4593-a7c8-d8a7f12df737"
)

Connectif.sendPurchase(purchase)

 

Callbacks (Opcional)

Si queremos tener feedback de posibles errores al enviar eventos, podremos añadir un EventCallbacks cuando usemos nuestro método.  

EventCallbacks(
    onSuccess: {
        //Manejo en caso de éxito
    },
    onError: { error in
        //Manejo en caso de error
    })
    

 

 

 

¡Enhorabuena!
Has llegado al final de la lección.

  

¿Te han quedado dudas sin resolver?
Recuerda que tienes a tu disposición a nuestros especialistas en Connectif. Para contactar con ellos, tan solo tendrás que abrir ticket a Soporte haciendo clic en el botón azul de “Ayuda” de tu dashboard.


¡Sigue aprendiendo!

Para aprovechar todo el potencial de tu cuenta en Connectif, te recomendamos continuar con los siguientes artículos:

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0