Introduction
This section defines the schemas for all events related to customer management on Webround Commerce. This includes profile management, system requests (password resets, email verification), and saved addresses.
Complete Events and Payloads Table
| Event | Payload Schema | JSON Example |
|---|---|---|
store.customer.created | Customer Schema | Link |
store.customer.updated | Customer Schema | - |
store.customer.deleted | Customer Deleted Schema | Link |
store.customer.reset-password.request | Request Schema | Link |
store.customer.verify-email.request | Request Schema | - |
store.customer.delete.request | Request Schema | - |
store.customer.email.verified | Email Verified Schema | Link |
store.customer.promotions.replaced | Promotions Replaced Schema | Link |
store.customer.address.created | Address Event Schema | Link |
store.customer.address.updated | Address Event Schema | - |
store.customer.address.deleted | Address Deleted Schema | - |
Base Data Types
In addition to the Base Types already defined, these events introduce a field located outside the data object:
| Field | Type | Description |
|---|---|---|
| autonomous | boolean | Indicates if the action was performed autonomously by the customer (true) or by an administrator (false). |
Customer Schema (storeCustomerCreatedSchema)
| Field | Type | Notes |
|---|---|---|
| autonomous | boolean | Required (outside the data object) |
| id | uuid | Required |
| storeId | uuid | Required |
| displayName | string - null | Display name |
string - null | Customer email | |
| address | object - null | Address (free format) |
| phone | string - null | Phone number |
| metadata | object - null | Custom metadata |
| vatExempt | boolean | Required (VAT exemption status) |
| vatCode | string - null | VAT number / Tax ID |
| newsletter | boolean | Required (Marketing consent) |
| createdAt | isoDate | Required |
| updatedAt | isoDate | Required |
Customer Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.created",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T20:30:00.000Z",
"autonomous": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"displayName": "John doe",
"email": "[email protected]",
"address": null,
"phone": "+391234567890",
"metadata": {
"key": "value"
},
"vatExempt": false,
"vatCode": null,
"newsletter": true,
"createdAt": "2026-02-22T20:30:00.000Z",
"updatedAt": "2026-02-22T20:30:00.000Z"
},
"eventId": "5b7137c3-d261-40d8-aeb0-ad4831209b4b"
}
Deleted Customer Schema (storeCustomerDeletedSchema)
| Field | Type | Notes |
|---|---|---|
| autonomous | boolean | Required |
| isSoftDeletion | boolean | Required (Indicates if deletion is just an anonymization procedure) |
| customerId | uuid | Required |
| storeId | uuid | Required |
tip
Customers who have placed an order in the past while authenticated are anonymized rather than fully deleted.
Deleted Customer Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.deleted",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T20:35:00.000Z",
"autonomous": false,
"isSoftDeletion": true,
"data": {
"customerId": "cb183be9-cd26-4061-ab27-f859a79a745e",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4"
},
"eventId": "ed80464a-4d5b-4644-b55b-a8e4099e422a"
}
System Request Schema (Request Schema)
This schema is used for service events requiring action via a signed URL, such as password resets, email verification, or account deletion requests.
| Field | Type | Notes |
|---|---|---|
| autonomous | boolean | Required |
| customerId | uuid | Required |
string | Required (Recipient email) | |
| signedUrl | string | Required (Expiring signed URL to complete the action) |
System Request Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.reset-password.request",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T20:40:00.000Z",
"autonomous": true,
"data": {
"customerId": "3eb35f07-1aa8-4e24-b221-3502d53d0837",
"email": "[email protected]",
"signedUrl": "https://commerce-api.webround.com/store-customers-auth/reset-password?token=abc123signed"
},
"eventId": "1a635d33-9233-4131-8e9b-c5b7539f152a"
}
Verified Email Schema (storeCustomerEmailVerifiedSchema)
| Field | Type | Notes |
|---|---|---|
| customerId | uuid | Required |
string | Required |
Verified Email Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.email.verified",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T20:45:00.000Z",
"data": {
"customerId": "9670a73e-7b85-4dc2-88b7-e475c26073bd",
"email": "[email protected]"
},
"eventId": "9670a73e-7b85-4dc2-88b7-e475c26073bd"
}
Customer Promotions Schema (storeCustomerPromotionsReplacedSchema)
| Field | Type | Notes |
|---|---|---|
| customerId | uuid | Required |
string | Required | |
| promotions | object[] | Array of objects containing id (uuid) and code (string) |
Customer Promotions Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.promotions.replaced",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T20:50:00.000Z",
"data": {
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"email": "[email protected]",
"promotions": [
{
"id": "e1c37ef6-70a5-40a8-9651-61ebcbb2d175",
"code": "WELCOME2026"
}
]
},
"eventId": "db44d050-532c-4634-846f-29623650647e"
}
Customer Address Schema (storeCustomerAddressCreatedSchema)
Used for address creation and update events within the customer profile.
| Field | Type | Notes |
|---|---|---|
| autonomous | boolean | Required |
| customerId | uuid | Required |
| address.id | uuid | Required |
| address.fullName | string - null | Full name |
| address.company | string - null | Company name |
| address.addressLine1 | string | Required |
| address.addressLine2 | string - null | Address line 2 |
| address.city | string | Required |
| address.postalCode | string | Required |
| address.countryCode | string | Required (ISO 3166-1 alpha-2) |
| address.phone | string - null | Phone number |
| address.province | string - null | Province/State |
| address.additionalInfo | string - null | Extra notes |
| address.isDefaultShipping | boolean | Required |
| address.isDefaultBilling | boolean | Required |
| address.createdAt | isoDate | Required |
| address.updatedAt | isoDate | Required |
Customer Address Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.address.created",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:00:00.000Z",
"autonomous": true,
"data": {
"customerId": "88337d3d-889c-4a52-b80c-4593a2d19c5e",
"address": {
"id": "830b9969-46f5-4147-9d8e-cac88d10aba1",
"fullName": "John Doe",
"company": null,
"addressLine1": "Corso Vittorio Emanuele II, 1",
"addressLine2": null,
"city": "Torino",
"postalCode": "10121",
"countryCode": "IT",
"phone": "+390111234567",
"province": "TO",
"additionalInfo": "Second floor",
"isDefaultShipping": true,
"isDefaultBilling": true,
"createdAt": "2026-02-22T21:00:00.000Z",
"updatedAt": "2026-02-22T21:00:00.000Z"
}
},
"eventId": "84e37079-84c5-4889-9309-f2bd35f6b25d"
}
Deleted Address Schema (storeCustomerAddressDeletedSchema)
| Field | Type | Notes |
|---|---|---|
| autonomous | boolean | Required |
| customerId | uuid | Required |
| addressId | uuid | Required (ID of the removed address) |
Deleted Address Example
{
"envelopeId": "57bb3d09-0a9b-4f00-a3b5-7ccee22ed9b3",
"eventType": "store.customer.address.deleted",
"initiatedBy": "[email protected]",
"storeId": "7292a83e-967b-4861-80a5-2964e52003c4",
"occurredAt": "2026-02-22T21:05:00.000Z",
"autonomous": true,
"data": {
"customerId": "550e8400-e29b-41d4-a716-446655440000",
"addressId": "0164a96e-62cf-42e6-9fbd-16308f4d7e85"
},
"eventId": "84e37079-84c5-4889-9309-f2bd35f6b25d"
}