Update Account’s External ID

The CRM / Ordering system updates an Account in the OCS.io via the RESTful API. The request body contains updated Account details like External ID, Custom Name, etc. The OCS.io updates the instance of the Account, then returns Business Transaction containing updated Account as a payload of the response. Other systems may be notified about the Business Transaction via the Streaming Platform.

Account’s External ID is an attribute which is not versioned in the OCS.io. This means, that after this operation comes into effect, CRM will no longer be able to manipulate with the Account using the old External ID. It is responsibility of the CRM system to version Accounts' External IDs internally.

Primary Actor

CRM / Ordering system.

Basic Flow

Update Account’s External ID Basic Flow
Step Actor Action Description

1.

CRM / Ordering

Call updateAccountExternalId API

CRM / Ordering system calls Update Account’s External ID API exposed by OCS.io.

2.

OCS.io

Request Validations

OCS.io validates Request whether all mandatory attributes are populated, all data types are valid, ENUMs match with definition, etc.

Additionally, OCS.io validates Request against Business Logic. This typically includes, that referenced entity exists in the system, entity has proper state, etc.

3.

OCS.io

Perform Business Logic

OCS.io performs Business Logic implemented for the Use-Case.

4.

OCS.io

Publish Business Transaction

OCS.io publishes zero to many messages to Streaming Platform that impacted entities have been changed.

5.

OCS.io

Return updateAccountExternalId Response

OCS.io returns Response to the CRM / Ordering System.

6.

DWH

Subscribe for Business Transactions

DWH subscribes for Business Transactions to be delivered by Streaming Platform.

7.

DWH

Process Business Transactions

DWH process Business Transactions internally. This typically includes storing of changed entities, update indexes, update metrics, etc.

Request Validations

The following validations are performed when updating an account’s external ID:

  • Account must be provided in the request, it must be already created in the system and must not be in Deactivated State.

  • External ID must be provided in the request, it must be unique and must not be already assigned to another Account even in Deactivated State.

Perform Business Logic

  1. System updates Account’s External ID.

Publish Business Transaction

Following entities will be published to Streaming Platform as part of Business Transaction: