Engagement Center Indexing

Overview

The Engagement Center Indexing service is a mashup service that provides the functionality to perform data indexing for elastic search, to support common customer engagement scenarios.

Using this service, you can:

  • Index and get the initial index status of the Customer service.
  • Index and get the initial index status of the Order service.
  • Index and get the initial index status of the Product service.
  • Index and get the initial index status of the Service Ticket service.

For details, see the Search service.


API Reference

/{tenant}/indexCustomer

Initial indexing for the Customer service

/{tenant}/indexCustomer

post

Trigger initial indexing for the Customer service.

The following attributes of the Customer service will be indexed:

  • Customer Number
  • Title
  • First Name
  • Last Name
  • Middle Name
  • Contact Email
  • Contact Phone
  • Company

Once the initial indexing has been triggered, you can use the GET method of this resource to check the status. Once the initial indexing has finished, all the upcoming changes in this service will be indexed automatically. For example, the indexing runs automatically when a new customer is created, or an existing customer is updated.

Required scope: hybris.cecenterindexing_manage

get

Get initial indexing status of the Customer service. The following attributes will be returned after calling the GET method:

  • totalNumber: The total number of customers that require to be initially indexed
  • indexNumber: The number of customers that have been initially indexed
  • processStatus: The status of the initial indexing. Possible values are NOT_STARTED, REINDEX_NOT_STATRTED, IN_PROGRESS, COMPELETE and COMPELETE_WITH_ERRORS.

Required scope: hybris.cecenterindexing_manage

/{tenant}/indexOrder

Initial indexing for the Order service

/{tenant}/indexOrder

post

Trigger initial indexing for the Order service. All the attributes of the the Order service will be indexed.

Once the initial indexing has been triggered, you can use the GET method of this resource to check the status. Once the initial indexing has finished, all the upcoming changes in this service will be indexed automatically. For example, the indexing runs automatically when a new order is created, or an existing order is updated.

Required scope: hybris.cecenterindexing_manage

get

Get initial indexing status of the Order service. The following attributes will be returned after calling the GET method:

  • totalNumber: The total number of orders that require initial indexing
  • indexNumber: The number of orders that have been initially indexed
  • processStatus: The status of the initial indexing. Possible values are NOT_STARTED, REINDEX_NOT_STATRTED, IN_PROGRESS, COMPELETE and COMPELETE_WITH_ERRORS.

Required scope: hybris.cecenterindexing_manage

/{tenant}/indexServiceTicket

Initial indexing for the Service Ticket service

/{tenant}/indexServiceTicket

post

Trigger initial indexing for the Service Ticket service. All the attributes of the Service Ticket service will be indexed.

Once the initial indexing has been triggered, you can use the GET method of this resource to check the status. Once the initial indexing has finished, all the upcoming changes in this service will be indexed automatically. For example, the indexing runs automatically when a new service ticket is created, or an existing service ticket is updated or deleted.

Required scope: hybris.cecenterindexing_manage

get

Get initial indexing status of the Service Ticket service. The following attributes will be returned after calling the GET method:

  • totalNumber: The total number of service tickets that require initial indexing
  • indexNumber: The number of service tickets that have been initially indexed
  • processStatus: The status of the initial indexing. Possible values are NOT_STARTED, REINDEX_NOT_STATRTED, IN_PROGRESS, COMPELETE and COMPELETE_WITH_ERRORS.

Required scope: hybris.cecenterindexing_manage

/{tenant}/indexProduct

Initial indexing for the Product service

/{tenant}/indexProduct

post

Trigger initial indexing for the Product service.

The Following attributes of the Product service will be indexed:

  • Product Id
  • sku
  • Name
  • Description
  • Published
  • Media

Once the initial indexing has been triggered, you can use the GET method of this resource to check the status. Once the initial indexing has finished, all the upcoming changes in this service will be indexed automatically. For example, the indexing runs automatically when a new product is created, or an existing product is updated or deleted.

Required scope: hybris.cecenterindexing_manage

get

Get initial indexing status of the Product service. The following attributes will be returned after calling the GET method:

  • totalNumber: The total number of products that requires initial indexing
  • indexNumber: The number of products that have been initially indexed
  • processStatus: The status of the initial indexing. Possible values are NOT_STARTED, REINDEX_NOT_STATRTED, IN_PROGRESS, COMPELETE and COMPELETE_WITH_ERRORS.

Required scope: hybris.cecenterindexing_manage


Scopes

The table shows the scopes that the Engagement Center Indexing Service SDK supports.

SCOPEDESCRIPTION
hybris.cecenterindexing_manageStart initial indexing and retrieve initial indexing status

For more information about scopes, authorization, and authentication procedures for YaaS services, see Scopes and Authorization


Introduce Initial Indexing

Initial indexing enables you to create indices for the objects, including customers, orders, products, and service tickets, using the Search service. After the initial indexing for an object is triggered within a tenant, status code 201 is returned immediately and the asynchronous indexing starts. The initial indexing can be triggered within a tenant only once. Otherwise, status code 409(repetitive operation) is returned for repetitive operation. Note that you need to subscribe to the corresponding packages within your own tenant before initial indexing can be performed for certain objects. In common use cases, you can create indices for all object data with a single triggering of initial indexing. If any data is updated, delta indexing starts automatically to create indices accordingly. Both initial indexing and delta indexing support exact-value query searches, which enables you to search without any query parameter analysis. To achieve this, the query parameter fields have been configured by specifying the mapping.

For more information, see Mapping and Analysis.


Customer Initial Indexing

Customer initial indexing allows the Search service to create indices for all existing customers in the Customer service. For now, you can only index the following attributes of customers:

  • Customer Number
  • Title
  • First Name
  • Last Name
  • Middle Name
  • Contact Email
  • Contact Phone
  • Formatted Phone
  • Company

Formatted phone is an alternative format of the contact phone attribute. It enables you to search for customer phone numbers purely by digits, without considering special characters.

For more information about customer initial indexing, see Customer Index Creation.


Order Initial Indexing

Order initial indexing allows the Search service to create indices for all sales orders in the Order service. For now, you can index all order attributes.

For more information about order initial indexing, see Order Index Creation.


Product Initial Indexing

Product initial indexing allows the Search service to create indices for all products in the Product Details service. For now, you can only index the following product attributes:

  • Id
  • Sku
  • Code
  • Name
  • Description
  • Published
  • Media

For more information about product initial indexing, see Product Index Creation.


Service Ticket Initial Indexing

Service ticket initial indexing allows the Search service to create indices for all service tickets in the Service Ticket service. For now, you can index all service ticket attributes.

For more information about service ticket initial indexing, see Service Ticket Index Creation.


Retrieve Initial Indexing Status

After you trigger the initial indexing for an object type, the service returns the initial indexing status, which includes totalNumber, indexNumber, and processStatus.

  • totalNumber: The total number of objects to be indexed.
  • indexNumber: The total number of indexed objects.
  • processStatus: The status of initial indexing.

For more information, see Tutorial.


Introduce Delta Indexing

Delta indexing is a real-time background job that keeps the data for each object up-to-date using the Search service. Take the customer as an example. If you make changes to a customer, the Customer service sends events to the PubSub service immediately. Then, the delta indexing automatically starts to fetch the corresponding events from the PubSub service every few seconds, and the updated customer data is retrieved. After that, the delta indexing helps to create indices for those newly retrieved pieces of data by using the Search service. In this case, you get an up-to-date index for the customer. In addition, delta indexing is an independent part of the Engagement Center Indexing service, and it runs automatically in the background once the indexing service is deployed to cloud foundry.


Customer Delta Indexing

For now, you can perform the following events for customers:

  • customer-signup
  • customer-updated
  • customer-deleted
  • customer-login-email-changed

For more information about these four events, see the Customer service.

Note If you update a customer or change the customer login email, the corresponding customer information in the indexed service tickets is also updated. Similarly, if you delete a customer, the corresponding customer information in the indexed service tickets is also removed.


Order Delta Indexing

For now, you can perform the following events for orders:

  • order-created
  • order-updated
  • order-status-changed

For more information about these three events, see the Order service.


Product Delta Indexing

For now, you can perform the following events for orders:

  • product-created
  • product-updated
  • product-deleted

For more information about these three events, see the Product service.


Service Ticket Delta Indexing

For now, you can perform the following events for service tickets:

  • serviceticket-created
  • serviceticket-updated
  • serviceticket-deleted

For more information about these three events, see the Service Ticket service.


Customer Index Creation

You can create indices for customers in a specified tenant. The request body does not need to contain any information. All the necessary data is sent together with the query parameters and message headers.

Request

To index customers, use the information shown below when making the request:

  • Method: POST
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexCustomer
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 201 status code.


Retrieve Initial Indexing Status For Customer

You can get the initial indexing status for customer once you have triggered the initial indexing for customer.

Request

To retrieve the initial indexing status for customer, use the information shown below when making the request:

  • Method: GET
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexCustomer
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 200 status code. An example JSON content looks similar to the following:

{
  "indexedNumber": 10,
  "processStatus": "IN_PROGRESS",
  "totalNumber": 200
}


Order Index Creation

You can create indices for orders in a specified tenant. The request body does not need to contain any information. All the necessary data is sent together with the query parameters and message headers.

Request

To index orders, use the information shown below when making the request:

  • Method: POST
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexOrder
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 201 status code.


Retrieve Initial Indexing Status For Order

You can get the initial indexing status for orders once you have triggered the initial indexing for orders.

Request

To retrieve the initial indexing status for orders, use the information shown below when making the request:

  • Method: GET
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexOrder
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 200 status code. An example JSON content looks similar to the following:

{
  "indexedNumber": 144,
  "processStatus": "IN_PROGRESS",
  "totalNumber": 204
}


Product Index Creation

You can create indices for products in a specified tenant. The request body does not need to contain any information. All the necessary data is sent together with the query parameters and message headers.

Request

To index products, use the information shown below when making the request:

  • Method: POST
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexProduct
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 201 status code.


Retrieve Initial Indexing Status For Product

You can get the initial indexing status for products once you have triggered the initial indexing for products.

Request

To retrieve the initial indexing status for products, use the information shown below when making the request:

  • Method: GET
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexProduct
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 200 status code. An example JSON content looks similar to the following:

{
  "indexedNumber": 199,
  "processStatus": "IN_PROGRESS",
  "totalNumber": 344
}


Service Ticket Index Creation

You can create indices for service tickets in a specified tenant. The request body does not need to contain any information. All the necessary data is sent together with the query parameters and message headers.

Request

To index service tickets, use the information shown below when making the request:

  • Method: POST
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexServiceticket
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 201 status code.


Retrieve Initial Indexing Status For Service Ticket

You can get the initial indexing status for service tickets once you have triggered the initial indexing for service tickets.

Request

To retrieve the initial indexing status for service tickets, use the information shown below when making the request:

  • Method: GET
  • Request URL: https://api.beta.yaas.io/hybris/cecenterindexing/v1/{tenant}/indexServiceticket
  • Headers
    • Authorization: This includes a valid OAuth2 access token. To access this method, the access token must be issued for the requested tenant and have the scope hybris.cecenterindexing_manage.
  • URI Parameters
    • {tenant}: The name of the current tenant.

Response

The successful response returns a 200 status code. An example JSON content looks similar to the following:

{
  "indexedNumber": 34,
  "processStatus": "IN_PROGRESS",
  "totalNumber": 766
}


Error Types

For more information about error types, see the API Reference.


Glossary

TermDescription
customer engagementThe quality of the relationship that a customer has with a brand or company.


  • Send feedback

    If you find any information that is unclear or incorrect, please let us know so that we can improve the Dev Portal content.

  • Get Help

    Use our private help channel. Receive updates over email and contact our specialists directly.

  • hybris Experts

    If you need more information about this topic, visit hybris Experts to post your own question and interact with our community and experts.