addedInput schema / anyOf
Added value: +[
+ {
+ "required": [
+ "cart_id"
+ ]
+ },
+ {
+ "properties": {
+ "customer": {
+ "required": [
+ "name",
+ "email",
+ "phone"
+ ]
+ }
+ },
+ "required": [
+ "items",
+ "customer"
+ ]
+ }
+]
addedInput schema / properties / customer / properties / email / description
Added value: +"Real customer email, checked before checkout creation"
addedInput schema / properties / customer / properties / name / description
Added value: +"Real customer name, checked before checkout creation"
addedInput schema / properties / customer / properties / phone / description
Added value: +"South African phone number, checked before checkout creation"
removedInput schema / properties / customer / required
Removed value: -[
- "name",
- "email",
- "phone"
-]
addedInput schema / properties / items / items
Added value: +{
+ "properties": {
+ "colour": {
+ "description": "Exact available colour; validate with configure_product before adding",
+ "minLength": 1,
+ "type": "string"
+ },
+ "finish": {
+ "description": "Optional pricing finish for aluminium Venetians",
+ "type": "string"
+ },
+ "height_mm": {
+ "description": "Actual ordered drop in millimetres",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "mount_type": {
+ "description": "Use inside for recess fit or outside for face fix",
+ "minLength": 1,
+ "type": "string"
+ },
+ "product_id": {
+ "description": "product_id returned by search_catalog or lookup_catalog",
+ "type": "string"
+ },
+ "product_name": {
+ "description": "Optional; server resolves the catalogue name",
+ "type": "string"
+ },
+ "quantity": {
+ "description": "Number of blinds; defaults to 1",
+ "type": "number"
+ },
+ "total_price_zar": {
+ "description": "Optional, ignored: server recalculates all totals",
+ "type": "number"
+ },
+ "unit_price_zar": {
+ "description": "Optional, ignored: server recalculates all prices",
+ "type": "number"
+ },
+ "width_mm": {
+ "description": "Actual ordered width in millimetres",
+ "exclusiveMinimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "product_id",
+ "width_mm",
+ "height_mm",
+ "colour",
+ "mount_type"
+ ],
+ "type": "object"
+}
addedInput schema / properties / items / minItems
Added value: +1
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": true,
+ "properties": {
+ "ap2": {
+ "additionalProperties": true,
+ "properties": {
+ "merchant_authorization": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "merchant_authorization"
+ ],
+ "type": "object"
+ },
+ "checkout_id": {
+ "type": "string"
+ },
+ "created_at": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "currency": {
+ "const": "ZAR",
+ "type": "string"
+ },
+ "customer": {
+ "additionalProperties": true,
+ "properties": {
+ "address": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "city": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "email": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "phone": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "item_count": {
+ "type": "number"
+ },
+ "items": {
+ "anyOf": [
+ {
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "colour": {
+ "type": "string"
+ },
+ "finish": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "height": {
+ "type": "number"
+ },
+ "mountType": {
+ "type": "string"
+ },
+ "price": {
+ "type": "number"
+ },
+ "productId": {
+ "type": "string"
+ },
+ "productName": {
+ "type": "string"
+ },
+ "quantity": {
+ "type": "number"
+ },
+ "total": {
+ "type": "number"
+ },
+ "width": {
+ "type": "number"
+ }
+ },
+ "required": [],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message": {
+ "type": "string"
+ },
+ "next_step": {
+ "type": "string"
+ },
+ "payment_method": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "payment_status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "payment_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "provider_reference": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "total_zar": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "checkout_id",
+ "status",
+ "total_zar",
+ "currency"
+ ],
+ "type": "object"
+}