Catálogo de productos

El catálogo del comercio describe las ofertas que Revclic puede presentar a los compradores. Puede gestionarse desde la web-app o mediante las siguientes operaciones GraphQL.

Listar productos

Utiliza merchantProducts(merchantId, page, perPage) para recuperar una página de ofertas. El identificador del comercio es obligatorio.

Crear una oferta

La mutación createProduct recibe merchantId y CreateProductInput.

mutation CreateOffer($merchantId: ID!, $input: CreateProductInput!) {
  createProduct(merchantId: $merchantId, input: $input) {
    id
    price
    url
  }
}
{
  "merchantId": "1",
  "input": {
    "name": { "fr": "Casque audio", "es": "Auriculares" },
    "description": { "fr": "Casque sans fil", "es": "Auriculares inalámbricos" },
    "price": "79.90",
    "pricingType": "ONE_TIME_PURCHASE",
    "url": "https://merchant.example/products/auriculares",
    "imageUrls": ["https://merchant.example/images/auriculares.jpg"],
    "targetedMarkets": ["FR", "ES"],
    "categoryIds": ["12"]
  }
}

El nombre traducido y el precio son obligatorios. Los valores disponibles para pricingType se obtienen mediante la consulta productPricingTypes.

Actualizar una oferta

updateProduct(id, input) acepta un UpdateProductInput. Solo se modifican los campos enviados. Utiliza el identificador del producto, no el del comercio.

Eliminar una oferta

deleteProduct(id) retira la oferta del catálogo. Reserva esta acción para productos que ya no se comercializarán.

Recomendaciones

  • Utiliza URLs HTTPS estables y directamente accesibles.
  • Proporciona traducciones claras en francés y español.
  • Envía los precios como cadenas decimales, sin símbolo monetario.
  • Mantén actualizadas las imágenes, categorías y mercados objetivo.
  • Comprueba el resultado de cada mutación antes de completar la sincronización.

Consulta las páginas de createProduct, updateProduct y deleteProduct para ver todos los parámetros.