vue-storefront
Version:
A Vue.js, PWA eCommerce frontend
116 lines • 4.47 kB
JSON
{
"additionalProperties": false,
"required": ["customer"],
"properties": {
"customer": {
"additionalProperties": true,
"required": [
"email",
"firstname",
"lastname"
],
"properties": {
"email": {
"type": "string",
"pattern": "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"
},
"firstname": {
"type": "string",
"pattern": "[a-zA-Z]+"
},
"lastname": {
"type": "string",
"pattern": "[a-zA-Z]+"
},
"website_id": {
"type": "integer"
},
"addresses": {
"maxItems": 2,
"items": {
"required": [
"firstname",
"lastname",
"street",
"city",
"country_id",
"postcode"
],
"properties": {
"firstname": {
"type": "string",
"pattern": "[a-zA-Z]+"
},
"lastname": {
"type": "string",
"pattern": "[a-zA-Z]+"
},
"street": {
"minItems": 2,
"items": {
"type": "string",
"minLength": 1
}
},
"city": {
"type": "string"
},
"region": {
"required": ["region"],
"properties": {
"region": {
"type": ["string", "null"]
}
}
},
"country_id": {
"type": "string",
"minLength": 2,
"pattern": "[A-Z]+"
},
"postcode": {
"type": "string",
"minLength": 5
},
"company": {
"type": "string",
"minLength": 1
},
"vat_id": {
"type": "string",
"minLength": 3
},
"telephone": {
"type": "string"
},
"default_billing": {
"type": "boolean"
},
"default_shipping": {
"type": "boolean"
}
}
}
},
"custom_attributes": {
"maxItems": 5,
"items": {
"required": [
"attribute_code",
"value"
],
"properties": {
"attribute_code": {
"type": "string",
"minLength": 1
},
"value": {
"type": ["string", "null"]
}
}
}
}
}
}
}
}