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
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 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
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 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
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 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
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 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 supports.
SCOPE | DESCRIPTION |
---|---|
hybris.cecenterindexing_manage | Start 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.
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
Term | Description |
---|---|
customer engagement | The quality of the relationship that a customer has with a brand or company. |
If you find any information that is unclear or incorrect, please let us know so that we can improve the Dev Portal content.
Use our private help channel. Receive updates over email and contact our specialists directly.
If you need more information about this topic, visit hybris Experts to post your own question and interact with our community and experts.