Sync Account, Product Order, and Asset Data

The process involves syncing of entity data from Buying to an external system and syncing the data from an external system to Buying through various Buying listeners.

This includes entity data such as party, customer, party account, and product order, with after-market extensions. As part of this process, key information such as the external system code and the entity ID in the external system are captured.

Support is available to update product (asset) attributes such as group name and alias from Buying to an external system and vice-versa. You can modify assets through actions such as package change, suspend, resume, and terminate from Buying or from an external system through a new order or shopping cart.

In addition to the existing listeners, there are two more listeners that are now available:

  • productOrderSyncEvent Listener: Creates and updates product orders in Buying when these orders are coming in from an external system.
  • productAttributeValueChangeEvent Listener: Supports product attribute updates for group name and alias when these are updated from the external system.

Party, Customer, and Account

Here’s how sync occurs for the party, customer, and account:

Syncing External System Account related Data to Buying

  1. Buying has listeners for Party (Individual), Customer, and Party Account when these entities are created, updated or have a state change initiated from an external system.
  2. When the external system generates events related to these entities, an adaptor should convert this information received from the external system into a TMF format that Buying understands and can pass on to the CX Industries Framework.
  3. CX Industries Framework calls the appropriate Buying listeners to create or update the corresponding entity data in Buying.
  4. When creating a party account in Buying, if Party and Customer entities aren't available in the external system, these entities are created in Buying.
  5. The entitlements are created for these entities appropriately.

Syncing Account related Data to External System

  1. Buying generates events for create or update, and state change for the entities such as Party, Customer, or Party Account.
  2. External systems can listen to these events and take appropriate actions.

Product Order

Here’s how sync occurs for the product order:

Syncing External System Product Order Data to Buying

  1. Buying has a listener for Product order create and update happening from the external system (ProductOrderSyncEvent listener).

    When the external system creates or updates the product order, an adaptor should convert this information received from the external system into a TMF format that Buying understands and can pass on to the CX Industries Framework.

  2. CX Industries Framework calls the Buying listener and orders are created or updated in Buying.
  3. When the external order is fulfilled, the Buying listener for productOrderStateChange event is initiated and the order is completed in Buying.
  4. At this time, the external Asset ID and the contract document references that are created in the external system too are captured.
  5. Buying then initiates the auto-asset process against this external asset reference.

Syncing Buying Product Order Data to External System

  1. Buying generates events for create or update, and state change of product orders.
  2. External systems can listen to these events and take appropriate actions.
Note: Orders created in external system can’t be updated in Buying. Similarly, for orders created in Buying, these shouldn’t be updated from the external system.

Product (Asset)

As mentioned in the section on Product order sync, Product (Asset) is not synced from the external system but the external Asset references and the related contract document references are captured when the order state is completed (productOrderStateChangeEvent listener). Buying will do the Auto-asset based on the order status received as Completed.

However, certain asset attributes such as Group Name and Alias can be updated in external system and synced to Buying and vice-versa. The productAttributeValueChange event and the corresponding listener are used for the same.

Exception Handling During Transactional Data Sync

You can identify and handle exceptions raised when data from external system is synced into Buying service through event listeners.

When data is coming in from an external system, the listener can receive the entity data but can't process the data due to functional errors. Examples of such functional errors include missing or incorrect values for required attributes and issues with reference entity. For example, party account is the reference entity for product order.

You can retrieve the error information with details on the entity, the source system, the reason, related entity errors, along with status. Based on it, you can correct the incorrect data and send again for sync into Buying. Ater this is completed, the error record status can be set to resolved. Status of error records can be marked for verification too as required and after verification, they can be updated as resolved.