SAP Commerce Cloud · Schema

SAP Commerce Cloud Customer

A customer account in SAP Commerce Cloud representing a registered user with profile information, addresses, payment methods, and consent preferences.

B2BB2CCommerceCustomer ExperienceEcommerceOmnichannelRetail

Properties

Name Type Description
uid string Unique user identifier, typically the email address
customerId string Internal customer identifier
name string Full display name
firstName string First name
lastName string Last name
titleCode string Title code (e.g., mr, mrs, ms, dr)
displayUid string Display UID (email or formatted identifier)
currency object
language object
defaultAddress object
addresses array Customer address book
paymentDetails array Saved payment methods
consentTemplates array Consent preferences
View JSON Schema on GitHub

JSON Schema

sap-commerce-cloud-customer-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.sap.com/schemas/sap-commerce-cloud/customer.json",
  "title": "SAP Commerce Cloud Customer",
  "description": "A customer account in SAP Commerce Cloud representing a registered user with profile information, addresses, payment methods, and consent preferences.",
  "type": "object",
  "required": ["uid"],
  "properties": {
    "uid": {
      "type": "string",
      "description": "Unique user identifier, typically the email address",
      "minLength": 1
    },
    "customerId": {
      "type": "string",
      "description": "Internal customer identifier"
    },
    "name": {
      "type": "string",
      "description": "Full display name"
    },
    "firstName": {
      "type": "string",
      "description": "First name"
    },
    "lastName": {
      "type": "string",
      "description": "Last name"
    },
    "titleCode": {
      "type": "string",
      "description": "Title code (e.g., mr, mrs, ms, dr)"
    },
    "displayUid": {
      "type": "string",
      "description": "Display UID (email or formatted identifier)"
    },
    "currency": {
      "$ref": "#/$defs/Currency"
    },
    "language": {
      "$ref": "#/$defs/Language"
    },
    "defaultAddress": {
      "$ref": "#/$defs/Address"
    },
    "addresses": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Address"
      },
      "description": "Customer address book"
    },
    "paymentDetails": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PaymentDetails"
      },
      "description": "Saved payment methods"
    },
    "consentTemplates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ConsentTemplate"
      },
      "description": "Consent preferences"
    }
  },
  "$defs": {
    "Currency": {
      "type": "object",
      "description": "Preferred currency",
      "properties": {
        "isocode": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "description": "ISO 4217 currency code"
        },
        "name": {
          "type": "string",
          "description": "Currency display name"
        },
        "symbol": {
          "type": "string",
          "description": "Currency symbol"
        }
      }
    },
    "Language": {
      "type": "object",
      "description": "Preferred language",
      "properties": {
        "isocode": {
          "type": "string",
          "description": "ISO 639-1 language code"
        },
        "name": {
          "type": "string",
          "description": "Language display name"
        }
      }
    },
    "Address": {
      "type": "object",
      "description": "Customer address",
      "properties": {
        "id": {
          "type": "string",
          "description": "Address identifier"
        },
        "firstName": {
          "type": "string",
          "description": "First name"
        },
        "lastName": {
          "type": "string",
          "description": "Last name"
        },
        "titleCode": {
          "type": "string",
          "description": "Title code"
        },
        "companyName": {
          "type": "string",
          "description": "Company name (B2B)"
        },
        "line1": {
          "type": "string",
          "description": "Address line 1"
        },
        "line2": {
          "type": "string",
          "description": "Address line 2"
        },
        "town": {
          "type": "string",
          "description": "City or town"
        },
        "district": {
          "type": "string",
          "description": "District"
        },
        "region": {
          "type": "object",
          "properties": {
            "isocode": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "postalCode": {
          "type": "string",
          "description": "Postal or ZIP code"
        },
        "country": {
          "type": "object",
          "properties": {
            "isocode": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "phone": {
          "type": "string",
          "description": "Phone number"
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Email address"
        },
        "defaultAddress": {
          "type": "boolean",
          "description": "Whether this is the default address"
        },
        "shippingAddress": {
          "type": "boolean",
          "description": "Whether this is a shipping address"
        },
        "billingAddress": {
          "type": "boolean",
          "description": "Whether this is a billing address"
        }
      }
    },
    "PaymentDetails": {
      "type": "object",
      "description": "Saved payment method",
      "properties": {
        "id": {
          "type": "string",
          "description": "Payment details identifier"
        },
        "accountHolderName": {
          "type": "string",
          "description": "Card holder name"
        },
        "cardNumber": {
          "type": "string",
          "description": "Masked card number"
        },
        "cardType": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "expiryMonth": {
          "type": "string",
          "description": "Expiry month (01-12)"
        },
        "expiryYear": {
          "type": "string",
          "description": "Expiry year (4-digit)"
        },
        "billingAddress": {
          "$ref": "#/$defs/Address"
        },
        "defaultPayment": {
          "type": "boolean",
          "description": "Whether this is the default payment method"
        },
        "saved": {
          "type": "boolean",
          "description": "Whether the payment method is saved for future use"
        }
      }
    },
    "ConsentTemplate": {
      "type": "object",
      "description": "Consent template and status",
      "properties": {
        "id": {
          "type": "string",
          "description": "Consent template identifier"
        },
        "name": {
          "type": "string",
          "description": "Consent template name"
        },
        "description": {
          "type": "string",
          "description": "Consent description"
        },
        "version": {
          "type": "integer",
          "description": "Template version number"
        },
        "currentConsent": {
          "type": "object",
          "properties": {
            "consentGivenDate": {
              "type": "string",
              "format": "date-time",
              "description": "When consent was given"
            },
            "consentWithdrawnDate": {
              "type": ["string", "null"],
              "format": "date-time",
              "description": "When consent was withdrawn, if applicable"
            }
          }
        }
      }
    }
  }
}