Crear precio de contrato como incluido en el índice CatalogEntry
Puede crear precios de contrato incluidos en el índice de entrada de catálogo de búsqueda de HCL Commerce al desplegar una tienda de inicio B2B.
Por qué y cuándo se efectúa esta tarea
Procedimiento
-
Cambie el valor
wc.search.priceMode.compatiblePriceIndex
a1.0
en la tabla STORECONF:insert into storeconf(storeent_id,name,value) values('storeent_id', 'wc.search.priceMode.compatiblePriceIndex', '1.0');
Nota: Para calcular el precio de contrato, todas las tiendas que comparten este catálogo maestro (por ejemplo: 10001) tienen que habilitar Indexación de precios de contrato (compatiblePriceIndex) en la tabla STORECONF.Para obtener más información, consulte Cambiar propiedades de configuración de búsqueda en la tabla STORECONF. -
Llame al servicio RESTFul para calcular precio.
Puede llamar al programa de utilidad en el siguiente URL en el servidor de transacciones. El método es POST y la autenticación es básica, con spiuser y la contraseña proporcionadas en la cabecera.
Para búsqueda Solr:https://transactionServerHost:transactionHttpsPort/wcs/resources/admin/index/dataImport/build?indexSubType=Price
Para Elasticsearch:Donde:https://transactionServerHost:transactionHttpsPort/wcs/resources/admin/index/dataImport/build?storeId=storeId&connectorId=auth.price&indexSubType=Price
- masterCatalogId
- Se necesita: El ID del catálogo maestro (por ejemplo, 10101).Si no conoce el ID del catálogo maestro, ejecute el SQL siguiente:
SQL: select * from catalog where IDENTIFIER='STORE_IDENTIFIER'
Para averiguar el ID de catálogo maestro para una tienda de sitio ampliado:- Busque el ID de tienda:
select * from storeent where IDENTIFIER='STORE_IDENTIFIER'
- Utilice el storeent_id como el store_id en el siguiente SQL para averiguar el ID de tienda con elementos de catálogo de esta tienda de sitio ampliado:
Donde XXXXXX es el storeent_id del SQL del paso 2.a al crear el índice de búsqueda.select * from storerel where store_id=XXXXXX and streltyp_id=-4 and relatedstore_id not in (XXXXXX)
- Obtenga el ID de catálogo maestro:
Donde YYYYYY es el relatedstore_id del paso 2.b al crear el índice de búsqueda.select * from storecat where storeent_id=YYYYYY and mastercatalog='1'
- Busque el ID de tienda:
- contractId
- Opcional: Se utiliza para crear precios para los ID de contrato especificados.
- catentry
- Opcional: Se utiliza para crear precios para las entradas de catálogo especificadas.
- storeId
- El ID de tienda del sitio ampliado.
- currency
- Opcional: Se utiliza para crear los precios de las monedas especificadas.
- numWorkers
- Opcional: Este parámetro define el número de calculadoras. El número total de productos que están asignados a una calculadora se obtiene dividiendo el número de productos por el número de calculadoras. En cada calculadora, los catentries asignados se calculan para todos los contratos de comprador válidos que están desplegados en las tiendas que comparten el catálogo maestro especificado y todas las monedas válidas soportadas en dichas tiendas. Para un catálogo de gran tamaño, se recomienda definir un valor mayor para numWorkers para reducir el tiempo de ejecución total de una hebra. Además, la hebra en ejecución se define mediante el número máximo de workManager y, por lo tanto, cuando numWorkers es mayor que el número de workManager, otros numWorkers deben esperar en la cola de ejecución.
- flushSize
- Opcional: Este parámetro define el número de sentencias por lotes que se desechan en la base de datos. Con un valor flushSize grande, la base de datos podría retrotraerse. Con un valor flushSize pequeño, la base de datos podría comprometerse varias veces.
-
Asegúrese de que la llamada se ejecuta satisfactoriamente.
Si el REST se ejecuta satisfactoriamente, se devuelve una respuesta con el contenido del cuerpo similar a lo siguiente.
Puede comprobar el estado de trabajo de calcular precio llamando a la siguiente API utilizando el método GET y la autenticación básica en la cabecera, utilizando spiuser y su contraseña.{ "jobStatusId": "1003" }
Si calcular precio se ha ejecutado correctamente, la respuesta a la llamada REST anterior será parecida al siguiente ejemplo:https://transactionServerHost:transactionHttpsPort/wcs/resources/admin/index/dataImport/status?jobStatusId=jobStatusId
Status=0 significa que el trabajo se ha ejecutado satisfactoriamente. -1 significa que el trabajo está en curso o que su progreso es desconocido. Otros valores significan que el trabajo ha fallado. Si obtiene un estado que no es igual a 0, se visualizará un mensaje de error en el campo message.{ "status": { "finishTime": "2017-11-02 02:50:27.737085", "lastUpdate": "2017-11-02 02:50:27.737085", "progress": "100%", "jobStatusId": "1002", "startTime": "2017-11-02 02:49:55.641083", "message": "Price calculation started for masterCatalogId:10,001.\nPrice calculation finished successfully for masterCatalogId:10001.\n", "jobType": "SearchIndex", "properties": "[indexSubType=Price]", "status": "0" } }
Para obtener más información de registro, establezca el nivel de registro aFINEST
:
Después de habilitar este nivel de rastreo en el servidor de transacciones, puede volver a ejecutar la llamada REST para calcular precio. Todos los errores se registrarán en el archivo trace.log en el servidor de transacciones.com.ibm.commerce.foundation.dataimport.priceindex.*=finest
-
Solo para búsqueda Solr: Cree el índice de búsqueda para indexar el precio con
indexSubType=Structured
.
Ejemplo
- Configure el índice de precios de contrato y organización:
- Registre una organización en AuroraB2BESite.
- Configure los contratos siguientes:
- Copia de contrato predeterminado
- Utilice el filtro de catálogo predeterminado y la regla de precio de oferta.
- Contrato solo de pernos
- Incluir solo la categoría de pernos solo al 50% de descuento.
- Cambie el valor
wc.search.priceMode.compatiblePriceIndex
a1.0
en la tabla STORECONF. - Llame al servicio RESTFul para calcular precio.
- Verifique los precios de contrato en el escaparate:
- Abra AuroraB2BESite en un navegador web e inicie la sesión en la tienda.
- Bajo contratos, seleccione el contrato solo de pernos y continúe comprando.
- Vaya a la categoría Pernos y añada artículos al carro.
- Pase por caja y confirme que las reglas de precio se aplican correctamente durante el proceso de pasar por caja.