{ "openapi": "3.0.0", "info": { "title": "ConfiguratorService", "version": "1.0.0" }, "servers": [ { "url": "http://docker01-tst.vanhoecke.be:1881" } ], "paths": { "/startNewConfiguration": { "post": { "tags": [ "Configuration" ], "summary": "Starts a new configuration", "description": "Starts a new configuration", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "model": { "type": "string" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/startConfigurationFromCharacteristics": { "post": { "tags": [ "Configuration" ], "summary": "Starts a new configuration with the given characteristics", "description": "Starts a new configuration with the given characteristics", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "model": { "type": "string" }, "characteristics": { "$ref": "#/components/schemas/characteristics" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "isValid": { "type": "boolean" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/startConfigurationFromCID": { "post": { "tags": [ "Configuration" ], "summary": "Starts a new configuration from an existing CID", "description": "Starts a new configuration from an existing CID. All characteristics of the given CID will be applied to the new configuration.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "CID": { "type": "string" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "isValid": { "type": "boolean" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/nextConfigurationFromCID": { "post": { "tags": [ "Configuration" ], "summary": "Starts the next configuration from the previous CID", "description": "Starts the next configuration from the previous CID. Only some characteristics of the previous CID will be applied to the new configuration.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "CID": { "type": "string" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "isValid": { "type": "boolean" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/startConfigurationFromEconCharacteristics": { "post": { "tags": [ "Configuration" ], "summary": "Starts a new configuration from ECON characteristics", "description": "Starts a new configuration from ECON characteristics", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "model": { "type": "string" }, "characteristics": { "type": "object" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "isValid": { "type": "boolean" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/finishConfiguration": { "post": { "tags": [ "Configuration" ], "summary": "Finishes the configuration", "description": "Finishes the configuration, validating it and generating a summary.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "returnObjects": { "$ref": "#/components/schemas/returnObjects" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "CID": { "type": "string" }, "CPConfig": { "$ref": "#/components/schemas/CPConfig" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/finishBulkConfiguration": { "post": { "tags": [ "Configuration" ], "summary": "Finishes the configuration", "description": "Finishes the configuration, validating it and generating a summary.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "bulkSessionId": { "type": "string" }, "bulkEditCIDs": { "type": "string" }, "salesContext": { "$ref": "#/components/schemas/salesContext" }, "returnObjects": { "$ref": "#/components/schemas/returnObjects" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "Configurations": { "type": "object" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/storeDefaultConfiguration": { "post": { "tags": [ "Utility" ], "summary": "Stores the current configuration as a default for the customer", "description": "Stores the current configuration as a default for the customer", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "sessionId": { "type": "string" }, "salesContext": { "$ref": "#/components/schemas/salesContext" } } } } } }, "responses": { "200": { "description": "Successful operation" }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/generateFileCode": { "post": { "tags": [ "Utility" ], "summary": "Generates a new file code", "description": "Generates a new file code.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "Model": { "type": "string" } } } } } }, "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "properties": { "DossierCode": { "type": "string" } } } } } }, "400": { "description": "Bad request" }, "500": { "description": "Internal server error" } } } }, "/healthCheck": { "get": { "tags": [ "Health" ], "summary": "Basic health check", "responses": { "200": { "description": "Healthy" }, "500": { "description": "Unhealthy" } } } }, "/integrationCheck": { "get": { "tags": [ "Health" ], "summary": "Integration check", "responses": { "200": { "description": "Healthy" }, "500": { "description": "Unhealthy" } } } } }, "components": { "schemas": { "characteristics": { "type": "object" }, "salesContext": { "type": "object" }, "returnObjects": { "type": "array", "items": { "type": "string" }, "example": [ "ShoppingCartInfo", "Context", "Characteristics", "Line", "Model", "CalculatedCharacteristics", "ConfiguredProductDetails" ] }, "CPConfig": { "type": "object", "properties": { "IsValid": { "type": "boolean" }, "Model": { "type": "string" }, "Context": { "type": "object", "additionalProperties": true }, "Characteristics": { "type": "object", "additionalProperties": true }, "Line": { "type": "object", "properties": { "Quantity": { "type": "integer" }, "Reference": { "type": "string" } }, "required": [ "Quantity", "Reference" ] }, "ConfiguredProductDetails": { "type": "object", "properties": { "SemiFinishedProducts": { "type": "object" }, "Costs": { "type": "array", "items": { "type": "object", "properties": { "Group": { "type": "string" }, "Items": { "type": "array", "items": { "type": "object", "properties": { "Name": { "type": "string" }, "Quantity": { "type": "string" }, "ProductId": { "type": "string" }, "DescriptionShort": { "type": "string" } } } } } } }, "RemovedSemiFinishedProducts": { "type": "array", "items": { "type": "string" } } } }, "CalculatedCharacteristics": { "type": "object", "properties": { "ImageCode": { "type": "string" }, "GenericProductId": { "type": "string" }, "DescriptionShort": { "type": "string" }, "DescriptionLong": { "type": "object" }, "InternalWidth": { "type": "number" } } }, "ShoppingCartInfo": { "type": "object", "additionalProperties": true } } } } } }