user.updated

The shopper's details changed after user.created and are still valid. The Open Cart keeps the first ones.

CODE
next.on('user.updated', (data, event) => {});

Data

Present: always; optional when it may be missing; campaign once the campaign is loaded; priced once the server priced the cart.

FieldTypePresent
emailstringoptionalAs typed, trimmed; none when data-trigger-on created the user without one.
first_namestringalways
last_namestringalways
phonestringoptionalIn E.164 once the address service read it, else the digits typed.
accepts_marketingbooleanalwaysThe marketing checkbox, as sent with the Open Cart and the order.
languagestringalwaysThe language the store keeps for the shopper, such as en.
ipstringoptionalThe shopper's IP address, as the store recorded it with the Open Cart, else as the address service saw it; none when neither knows it.
user_agentstringalwaysAs the store recorded it with the Open Cart, else the browser's.

Example

The second argument, with data inside. See Events for the envelope's fields.

CODE
{
  "event_id": "3f2b8c1d9e7a4b6c8d5e2f1a0b9c8d7e",
  "event_type": "user.updated",
  "object": "user",
  "data": {
    "email": "jane.doe@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "accepts_marketing": true,
    "language": "en",
    "ip": "203.0.113.7",
    "user_agent": "Mozilla/5.0 (test)"
  },
  "created_at": "2026-11-04T08:30:00.000Z",
  "session_id": "0b8f3c2d1e4a4f6b9c7d5e3f2a1b0c9d",
  "sdk_version": "0.5.0"
}