### GET /runtime/info Source: https://customsmanagement.docs.developers.aeb.com/reference/createorupdatecompany Retrieves detailed runtime information about the server, including host name, service details, ports, installation path, product version, and database readiness. ```APIDOC ## GET /runtime/info ### Description Retrieves detailed runtime information about the server, including host name, service details, ports, installation path, product version, and database readiness. ### Method GET ### Endpoint /runtime/info ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **hostName** (string) - The name of the host where the server is running. - **serviceName** (string) - The service name if the server is running as a service, otherwise an empty string. - **productUri** (string) - The URI used by the server at runtime. - **serverUrl** (string) - The server URL used by the server at runtime. - **httpPort** (string) - The HTTP port used by the server at runtime. - **ajpPort** (string) - The AJP port used by the server at runtime. - **productHomeAbsolutePath** (string) - The absolute path in the server view where the server is installed. - **productVersion** (string) - The product version (e.g., "1.2-20070215"). - **installationDate** (string) - The date of the last installation or update (format: date-time). - **isDBReadyToUse** (boolean) - True if the database is ready to use. - **isPreparedForStop** (boolean) - True if an announcement for a job is active. - **activeSessionsCount** (integer) - The total count of active sessions. - **additionalInfo** (string) - Additional runtime information. - **productName** (string) - The product name. - **authenticationStrategy** (string) - The authentication strategy name. - **runtimeProperties** (object) - An object containing runtime properties, where keys are property names (string) and values are property values (string). #### Response Example ```json { "hostName": "server.example.com", "serviceName": "CustomsService", "productUri": "/customs", "serverUrl": "http://server.example.com:8080", "httpPort": "8080", "ajpPort": "8009", "productHomeAbsolutePath": "/opt/customs-management", "productVersion": "2.5.1-20231026", "installationDate": "2023-10-26T10:00:00Z", "isDBReadyToUse": true, "isPreparedForStop": false, "activeSessionsCount": 15, "additionalInfo": "All systems nominal.", "productName": "CustomsManagement", "authenticationStrategy": "BasicAuth", "runtimeProperties": { "cluster.mode": "active", "log.level": "INFO" } } ``` ``` -------------------------------- ### POST /websites/customsmanagement_developers_aeb/wssagent Source: https://customsmanagement.docs.developers.aeb.com/reference/getbookingrequest-1 Starts a new workstation agent. If an agent is already running for the specified ID, it will be restarted. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/wssagent ### Description Starts a new workstation agent. If an agent is already running for the specified ID, it will be restarted. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/wssagent ### Parameters #### Query Parameters - **processingTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent request server side processing. Should not be less than the client long polling interval (30s). - **nextPollingRequestTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent to send the next long polling request. Values smaller than 30-60 seconds may result in premature disconnection of sessions under unstable network conditions. ### Request Body (No request body specified in the provided documentation) ### Response #### Success Response (200) - **(object)** - Response object containing workstation session information. #### Response Example (Response body structure depends on `WorkstationSessionInfoDTO` schema, not fully provided) #### Error Response (401) - **(object)** - Authentication is missing. ``` -------------------------------- ### Get Company Roles - Empty List Response Example Source: https://customsmanagement.docs.developers.aeb.com/reference/createbookingrequestrest-1 This example illustrates the response when a request for company roles returns an empty list. The 'content' array is empty, indicating no roles were found or matched the query. ```json { "totalElements": 0, "content": [] } ``` -------------------------------- ### Get Specific Profile Source: https://customsmanagement.docs.developers.aeb.com/docs/set-up-the-configuration-from-product-classification Retrieves a specific setup profile and its associated classification value types by profile name. ```APIDOC ## GET /websites/customsmanagement_developers_aeb/profiles/{profileName} ### Description Retrieves a specific setup profile and its associated classification value types based on the provided profile name. ### Method GET ### Endpoint /websites/customsmanagement_developers_aeb/profiles/{profileName} ### Parameters #### Path Parameters - **profileName** (string) - Required - The name of the profile to retrieve. #### Query Parameters None ### Request Example ```json { "example": "GET /websites/customsmanagement_developers_aeb/profiles/ProfileA" } ``` ### Response #### Success Response (200) - **profile** (object) - An object representing the profile. - **profile.name** (string) - The name of the profile. - **profile.types** (array) - A list of classification types associated with the profile. - **type.name** (string) - The name of the classification type. #### Response Example ```json { "example": { "name": "ProfileA", "types": [ { "name": "Type1" }, { "name": "Type2" } ] } } ``` ``` -------------------------------- ### POST /websites/customsmanagement_developers_aeb/wssagent Source: https://customsmanagement.docs.developers.aeb.com/reference/getcommoditycodesubstitutions-1 Launches a workstation agent with specified timeouts. The agent launcher may download updates before connecting. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/wssagent ### Description Launches a workstation agent with specified timeouts. The agent launcher may download updates before connecting. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/wssagent ### Parameters #### Query Parameters - **workstationAgentLaunchTimeoutMS** (integer) - Optional - Timeout (in ms) for the workstation agent launch request. The time is counted from the connection 'create' request that resulted with a launch request. Note that the agent launcher may require to download and install updates before making a connection. - **processingTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent request server side processing. Should not be less than the client long polling interval (30s). - **nextPollingRequestTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent to send the next long polling request. Values smaller than 30-60 seconds may result in premature disconnection of sessions under unstable network conditions. ### Response #### Success Response (200) - **WorkstationSessionInfoDTO** - Response object #### Error Response (401) - Authentication is missing. ``` -------------------------------- ### POST /websites/customsmanagement_developers_aeb/wssagent/start Source: https://customsmanagement.docs.developers.aeb.com/reference/deletecompany-1 Starts a new workstation agent session. This endpoint is used to initiate a connection with the workstation service agent. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/wssagent/start ### Description Starts a new workstation agent session. This endpoint is used to initiate a connection with the workstation service agent. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/wssagent/start ### Parameters #### Query Parameters - **processingTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent request server side processing. Should not be less than the client long polling interval (30s). - **nextPollingRequestTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent to send the next long polling request. Values smaller than 30-60 seconds may result in premature disconnection of sessions under unstable network conditions. ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **WorkstationSessionInfoDTO** - Response object containing information about the workstation session. #### Response Example ```json { "example": "response body" } ``` #### Error Response (401) - **Authentication is missing.** ``` -------------------------------- ### Get Active Classification Settings Source: https://customsmanagement.docs.developers.aeb.com/reference/getactiveclassificationsettings Retrieves the active classification settings for a given client, optionally filtered by installation ID. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/classification/settings/active ### Description Retrieves the active classification settings for a given client. This endpoint allows filtering by installation ID to differentiate data across host systems. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/classification/settings/active ### Parameters #### Request Body - **clientIdentCode** (string) - Required - The code of the client in the Classification Engine. - **installationIdHost** (string) - Optional - The installation ID of the host system to be able to separate material data to different host systems. ### Request Example ```json { "clientIdentCode": "YOUR_CLIENT_CODE", "installationIdHost": "YOUR_INSTALLATION_ID" } ``` ### Response #### Success Response (200) - **resultMessages** (array) - Array of result messages. - **classifications** (array) - Results per material. #### Response Example ```json { "resultMessages": [ { "message": "Operation successful.", "type": "INFO" } ], "classifications": [ { "materialNumber": "MAT123", "countryIsoCode": "US", "value": { "identCode": "COMMODITY_CODE", "value": "1234567890", "approved": true }, "isClassificationComplete": true, "goodsDescription": "Example goods description" } ] } ``` ``` -------------------------------- ### Get Server Runtime Information Source: https://customsmanagement.docs.developers.aeb.com/reference/createconsignment Retrieves detailed runtime information about the server, including its installation cluster and supported remote administration operations. ```APIDOC ## GET /server/runtime/info ### Description Retrieves detailed runtime information about the server, including its installation cluster and supported remote administration operations. ### Method GET ### Endpoint /server/runtime/info ### Parameters #### Query Parameters - **sessionid** (string) - Optional - The session ID of the UI API. ### Response #### Success Response (200) - **installationCluster** (string) - The role of the installation cluster. E.g. TEST for a test system. - **supportedRemoteAdministrationOperations** (array) - An array of strings representing supported operations. Each entry is in the format `BFName.methodName`. - **items** (string) - An operation in the format `BFName.methodName`. #### Response Example ```json { "installationCluster": "TEST", "supportedRemoteAdministrationOperations": [ "CoreBF.getRuntimeState", "AnotherBF.someOperation" ] } ``` ``` -------------------------------- ### POST /FoundationBFBean Source: https://customsmanagement.docs.developers.aeb.com/reference/acknowledgeevents Creates a new client in the system. ```APIDOC ## POST /FoundationBFBean ### Description Create a client. ### Method POST ### Endpoint /FoundationBFBean ### Request Body - **CreateClientRequestDTO object** - Details for creating a new client. ### Response #### Success Response (200) - **CreateClientResponseDTO object** - The operation result. #### Request Example ```json { "client_data": { "name": "New Client Name", "contact_person": "John Doe" } } ``` #### Response Example ```json { "success": true, "message": "Client created successfully." } ``` ``` -------------------------------- ### Get All Profiles Source: https://customsmanagement.docs.developers.aeb.com/docs/set-up-the-configuration-from-product-classification Retrieves a list of all available setup profiles from the Product Classification system. Each profile contains associated classification value types. ```APIDOC ## GET /websites/customsmanagement_developers_aeb/profiles ### Description Retrieves a list of all setup profiles and their associated classification value types from the Product Classification system. ### Method GET ### Endpoint /websites/customsmanagement_developers_aeb/profiles ### Parameters #### Query Parameters None ### Request Example ```json { "example": "GET /websites/customsmanagement_developers_aeb/profiles" } ``` ### Response #### Success Response (200) - **profiles** (array) - A list of profile objects, where each object contains a name and a list of classification types. - **profile.name** (string) - The name of the profile. - **profile.types** (array) - A list of classification types associated with the profile. - **type.name** (string) - The name of the classification type. #### Response Example ```json { "example": { "profiles": [ { "name": "ProfileA", "types": [ { "name": "Type1" }, { "name": "Type2" } ] }, { "name": "ProfileB", "types": [ { "name": "Type3" } ] } ] } } ``` ``` -------------------------------- ### Start Script Execution API Source: https://customsmanagement.docs.developers.aeb.com/reference/getexportcontrolnumbermapping-1 This API allows you to execute scripts. You can provide the script content, type, and other parameters to run the script and get the results. ```APIDOC ## POST /api/script/start ### Description Executes a script with the provided content and parameters. Supports SQL, OQL, and JavaScript. ### Method POST ### Endpoint /api/script/start ### Parameters #### Request Body - **scriptContent** (string) - Required - The content of the script to execute. - **maxRows** (integer) - Optional - The maximum number of rows to include in the script execution result. - **scriptType** (string) - Required - The type of script (e.g., 'sql', 'oql', 'javascript'). - **dataPoolName** (string) - Optional - The name of the data pool to use for SQL or OQL scripts. ### Request Example ```json { "scriptContent": "SELECT * FROM customers;", "maxRows": 100, "scriptType": "sql", "dataPoolName": "MyDataPool" } ``` ### Response #### Success Response (200) - **uuid** (string) - The unique identifier assigned to the script execution. - **isFailed** (boolean) - True if the script execution failed (e.g., UUID generation failed). - **info** (string) - Additional information about the script execution start. #### Response Example ```json { "uuid": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "isFailed": false, "info": "Script execution initiated successfully." } ``` ``` -------------------------------- ### Launcher Info Schema Source: https://customsmanagement.docs.developers.aeb.com/reference/getadditionalcodeproposals-1 Information about the launcher process. ```APIDOC ## LauncherInfo Schema ### Description Information about the launcher process. ### Properties - **version** (string) - **zoneName** (string) ``` -------------------------------- ### Application Facade Source: https://customsmanagement.docs.developers.aeb.com/reference/createdelivery Describes how to open an application on the client side using different techniques such as HTTP, starting an executable, or shell execution. ```APIDOC ## Application Facade ### Description A data transfer object which describes an UI API. There are various techniques possible how to "open" the "application" on the client; typically only one of the fields is filled, but when more than one possibility is not null the client may choose the type most suitable. Supported types include: ### Method N/A (This is a DTO definition, not an endpoint) ### Endpoint N/A ### Parameters (This is a data structure, not an endpoint with parameters) ### Request Example ```json { "httpUrl": "http://example.com", "urlCloseToken": "close.example.com", "executeProcess": "/path/to/executable", "workDir": "/current/directory", "shellExecute": "program.exe", "fileName": "temp.file", "contents": "file contents" } ``` ### Response (This is a data structure, not an endpoint with responses) ``` -------------------------------- ### Get Codes via REST API Source: https://customsmanagement.docs.developers.aeb.com/docs/get-available-codes Example of a JSON request to the REST API for retrieving available codes. It specifies client details, desired language, customs process, code list type, and a decisive date. ```json { "clientSystemId": "MY_SYSTEM", "clientIdentCode": "APITEST", "userName": "Jane Doe", "resultLanguageIsoCodes": [ "EN" ], "customsProcessType": { "customsProcess": "EXPORT_BE" }, "codeListCode": "CODELISTS", "decisiveDate": { "dateInTimezone": "2017-12-31 14:49:36", "timezone": "GMT+01:00" } } ``` -------------------------------- ### Get Codes via SOAP API Source: https://customsmanagement.docs.developers.aeb.com/docs/get-available-codes Example of an XML request to the SOAP API for retrieving available codes. It includes client identification, language preference, customs process details, the code list to query, and a decisive date. ```xml ERP-ID ADMIN EN EXPORT_NL CODELISTS 2018-05-05 GMT+01:00 ``` -------------------------------- ### POST /GenericAFBean/applications/{applicationName} Source: https://customsmanagement.docs.developers.aeb.com/reference/checkclassificationvaluevalid Opens a specific application through the generic application facade. ```APIDOC ## POST /GenericAFBean/applications/{applicationName} ### Description Opens a specific application through the generic application facade. ### Method POST ### Endpoint /GenericAFBean/applications/{applicationName} ### Parameters #### Path Parameters - **applicationName** (string) - Required - The name of the application to open. #### Request Body - **field1** (type) - Required/Optional - Description ### Request Example { "example": "{\"param1\": \"value1\"}" } ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example { "example": "{\"status\": \"Opened\"}" } ``` -------------------------------- ### Example HTTP Request with Token Authentication (REST) Source: https://customsmanagement.docs.developers.aeb.com/docs/setup-your-environment This example demonstrates an HTTP POST request to the createConsignment endpoint using Token Authentication. The authentication token obtained from the logon service is included in the 'X-XNSG_WEB_TOKEN' header. This method is specific to the REST API. ```http POST /test2ici/rest/InternationalCustomsBFBean/createConsignment HTTP/1.1 Host: rz3.aeb.de Connection: keep-alive Content-Length: 275 accept: application/json Origin: https://rz3.aeb.de X-XNSG_WEB_TOKEN: eyJlbmdpbmVJZCI6IjUwMzE2OTEwNF9XbVZ3VGV4YWVGIiwiaWQiOiJVU0VSX0NMSUVOVCJ9.eyJ1c2VyTmFtZSI6IldTTSIsImNsaWVudElkZW50Q29kZSI6IlVOSVRFREIifQ==.AwgakGOMN0IRJo6cGkVS1DXpbGOozG7o8vQD3DEalYb2oE0qRUmifyh9vfms1NWeMwTJUpelRo9fLy5eSm92k+vull2q3GJfhkVT7Oqa9HUobIZFSDVPL4z5++ovnemuyuz2qZdTXHP6qPepk+DV2WTitam0zgNGAJidGBUK/Q4= User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 content-type: application/json Referer: https://rz3.aeb.de/demo1ici/swagger/index.jsp Accept-Encoding: gzip, deflate, br Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7 Cookie: JSESSIONID=2FAF58F26389F7CF95AA9E2778136C52.test2ici_node1 ``` -------------------------------- ### POST /wssagent Source: https://customsmanagement.docs.developers.aeb.com/reference/deletebookingrequest-1 Starts a new workstation agent session. This endpoint initiates a connection to the workstation service agent and returns session information. ```APIDOC ## POST /wssagent ### Description Starts a new workstation agent session. This endpoint initiates a connection to the workstation service agent and returns session information. ### Method POST ### Endpoint /wssagent ### Parameters #### Query Parameters - **processingTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent request server side processing. Should not be less than the client long polling interval (30s). - **nextPollingRequestTimeoutMS** (integer) - Optional - Timeout (in ms) for the agent to send the next long polling request. Values smaller than 30-60 seconds may result in premature disconnection of sessions under unstable network conditions. ### Request Body (No request body specified in the provided documentation) ### Response #### Success Response (200) - **workstationSessionInfoDTO** (object) - Information about the workstation session. #### Response Example ```json { "workstationSessionInfoDTO": { "id": "example-session-id", "agentVersion": "1.0.0", "status": "CONNECTED" } } ``` #### Error Response (401) - **ErrorResponseMessageDTO** - Authentication is missing. ``` -------------------------------- ### Application Facade Configuration Source: https://customsmanagement.docs.developers.aeb.com/reference/getcommoditycodes-1 This section details the parameters for configuring a new application facade, including display options, language, user, workstation, and styling preferences. ```APIDOC ## Request Body for getNewApplicationFacade() ### Description Defines the parameters for creating a new application facade, controlling its display and session properties. ### Method POST (assumed, as it's a creation operation) ### Endpoint /websites/customsmanagement_developers_aeb/api/applicationfacade ### Parameters #### Request Body - **displayHeader** (boolean) - Optional - `true` to display header and statusbar, false if ac should be embedded in another. - **displayTitlebar** (boolean) - Optional - `true` to display header, `false` if ac should not show header. - **displayStatusbar** (boolean) - Optional - `true` to display statusbar, `false`. - **language** (string) - Optional - The two-letter ISO code of the language of the new session. Example: "en". - **user** (string) - Optional - The user of the new session. This user may be granted only the role "I_EVERYONE" unless XNSG is configured to use an LDAP server. No password is required as API calls are trusted. - **workstationId** (string) - Optional - The unique workstation identifier of the new session. Must be configured and unique within the same client. - **workstationSessionId** (string) - Optional - The unique workstation agent session identifier of the new session. Used for accessing local peripheries. The caller must ensure the corresponding session has been established. - **stylevariant** (string) - Optional - Deprecated. Example: "NEUTRAL". - **productname** (string) - Optional - Product name if it differs from the standard. - **productShortName** (string) - Optional - Short product name if it differs from the standard. - **preferredWidth** (integer) - Optional - Preferred width of the application facade. Format: int32. - **preferredHeight** (integer) - Optional - Preferred height of the application facade. Format: int32. - **openToTray** (boolean) - Optional - If the application should be opened to the tray (default: `false`). Ignored for Vaadin. ### Request Example ```json { "displayHeader": true, "displayTitlebar": true, "displayStatusbar": true, "language": "en", "user": "API_TEST", "workstationId": "WS123", "workstationSessionId": "WS_SESS_ABC", "stylevariant": "NEUTRAL", "productname": "CustomsApp", "productShortName": "CA", "preferredWidth": 800, "preferredHeight": 600, "openToTray": false } ``` ### Response #### Success Response (200) - **LogonResponse** (object) - Contains token, userName, client, roles, and error information. #### Response Example ```json { "token": "your_auth_token", "userName": "API_TEST", "client": "CLIENT_XYZ", "roles": ["ADMIN", "USER"], "error": null } ``` ``` -------------------------------- ### Launcher Info Schema Source: https://customsmanagement.docs.developers.aeb.com/reference/getcountrygroups-1 Information about the launcher process for a desktop agent. ```APIDOC ## Launcher Info Schema ### Description Information about the launcher. ### Properties - **version** (string) - **zoneName** (string) ``` -------------------------------- ### Get Active Classification Settings Source: https://customsmanagement.docs.developers.aeb.com/reference/addpartnersystem Retrieves the active classification settings for a given client and optionally a specific host installation. This is useful for understanding the current classification rules and configurations. ```APIDOC ## POST /api/classification/settings/active ### Description Retrieves the active classification settings for a given client and optionally a specific host installation. ### Method POST ### Endpoint /api/classification/settings/active ### Parameters #### Request Body - **clientIdentCode** (string) - Required - The code of the client in the Classification Engine. - **installationIdHost** (string) - Optional - The installation ID of the host system to be able to separate material data to different host systems. ### Request Example ```json { "clientIdentCode": "YOUR_CLIENT_CODE", "installationIdHost": "YOUR_HOST_ID" } ``` ### Response #### Success Response (200) - **resultMessages** (array) - Array of result messages. - **classifications** (array) - Results per material. #### Response Example ```json { "resultMessages": [ { "message": "Classification settings retrieved successfully." } ], "classifications": [ { "materialNumber": "MAT123", "countryIsoCode": "US", "value": { "identCode": "COMMODITY_CODE", "value": "1234567890", "approved": true }, "isClassificationComplete": true, "goodsDescription": "Example goods description" } ] } ``` ``` -------------------------------- ### Get Active Classification Settings Source: https://customsmanagement.docs.developers.aeb.com/reference/createcerttemplate Retrieves the active classification settings for a given client and installation ID. This is useful for understanding the current configuration of the classification engine. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/classification/settings/active ### Description Retrieves the active classification settings for a given client and installation ID. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/classification/settings/active ### Parameters #### Request Body - **clientIdentCode** (string) - Required - The code of the client in the Classification Engine. - **installationIdHost** (string) - Optional - The installation ID of the host system to be able to separate material data to different host systems. ### Request Example ```json { "clientIdentCode": "YOUR_CLIENT_CODE", "installationIdHost": "YOUR_INSTALLATION_ID" } ``` ### Response #### Success Response (200) - **resultMessages** (array) - Array of result messages. - **classifications** (array) - Results per material. #### Response Example ```json { "resultMessages": [ { "messageIdentCode": "INFO", "messageText": "Settings retrieved successfully." } ], "classifications": [ { "materialNumber": "MAT123", "countryIsoCode": "US", "value": { "identCode": "COMMODITY_CODE", "value": "1234.56.78.90", "approved": true }, "isClassificationComplete": true, "goodsDescription": "Example Goods Description" } ] } ``` ``` -------------------------------- ### Application Facade Configuration Source: https://customsmanagement.docs.developers.aeb.com/reference/closematerialtransfertoengine This section details the parameters for configuring a new application facade, including display options, language, user information, and workstation details. ```APIDOC ## Application Facade Configuration ### Description Configuration options for initializing a new application facade. This includes settings for UI elements, session details, and workstation identification. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/api/applicationfacade ### Parameters #### Request Body - **displayHeader** (boolean) - Optional - `true` to display header and statusbar, false if ac should be embedded in another. - **displayTitlebar** (boolean) - Optional - `true` to display header, `false` if ac should not show header. - **displayStatusbar** (boolean) - Optional - `true` to display statusbar, `false`. - **language** (string) - Optional - The two-letter ISO code of the language of the new session. Example: "en". - **user** (string) - Optional - The user of the new session. This user may be granted only the "I_EVERYONE" role unless XNSG is configured to use an LDAP server. No password is required as other servers contacting over the API will be trusted. - **workstationId** (string) - Optional - The unique workstation identifier of the new session. Must be configured and unique within the same client. - **workstationSessionId** (string) - Optional - The unique workstation agent session identifier of the new session. Used for accessing local peripheries. The caller must ensure that the corresponding session has been established. - **stylevariant** (string) - Optional - Deprecated. Example: "NEUTRAL". - **productname** (string) - Optional - Field to set if the product name differs from the standard product name. - **productShortName** (string) - Optional - Field to set if the product short name differs from the standard product name. - **preferredWidth** (integer) - Optional - Field to set the preferred width of the application facade. This may not always be applicable. - **preferredHeight** (integer) - Optional - Field to set the preferred height of the application facade. This may not always be applicable. - **openToTray** (boolean) - Optional - If set, the application should be opened to the tray (default: `false`). Currently not available for Vaadin. ### Request Example ```json { "displayHeader": true, "displayTitlebar": true, "displayStatusbar": true, "language": "en", "user": "API_TEST", "workstationId": "WS123", "workstationSessionId": "SESSION456", "stylevariant": "NEUTRAL", "productname": "CustomsApp", "productShortName": "CA", "preferredWidth": 800, "preferredHeight": 600, "openToTray": false } ``` ### Response #### Success Response (200) - **token** (string) - Authentication token for the session. - **userName** (string) - The username of the authenticated user. - **client** (string) - The client identifier. - **roles** (array of strings) - The roles assigned to the user. - **error** (string) - An error message if the logon failed. #### Response Example ```json { "token": "a1b2c3d4e5f6g7h8i9j0", "userName": "API_TEST", "client": "CLIENT_XYZ", "roles": ["ADMIN", "USER"], "error": null } ``` ``` -------------------------------- ### Get Material Data Request DTO Schema Source: https://customsmanagement.docs.developers.aeb.com/reference/deletecodetemplate Request DTO to retrieve classification data for a specific material. Requires the client identifier code and the material number. Optionally includes the host installation ID. ```json { "required": [ "clientIdentCode", "materialNumber" ], "type": "object", "properties": { "clientIdentCode": { "maxLength": 10, "type": "string", "description": "The code of the client in the Classification Engine." }, "installationIdHost": { "maxLength": 20, "type": "string", "description": "The installation ID of the host system to be able to separate material data to different host systems." }, "materialNumber": { "type": "string", "description": "

The material number which identifies a material uniquely in the client.

length=50

" } }, "description": "Request DTO to get classifications data of one defined material." } ``` -------------------------------- ### Application Facade Initialization Source: https://customsmanagement.docs.developers.aeb.com/reference/getkncodecertificatetypes-1 This endpoint allows for the initialization of a new Application Facade. It accepts various parameters to configure the session, display settings, and user context. ```APIDOC ## POST /websites/customsmanagement_developers_aeb/api/foundation/getNewApplicationFacade ### Description Initializes a new Application Facade with specified configuration parameters. ### Method POST ### Endpoint /websites/customsmanagement_developers_aeb/api/foundation/getNewApplicationFacade ### Parameters #### Request Body - **displayHeader** (boolean) - Optional - `true` to display header and statusbar, false if ac should be embedded in another. - **displayTitlebar** (boolean) - Optional - `true` to display header, `false` if ac should not show header. - **displayStatusbar** (boolean) - Optional - `true` to display statusbar, `false`. - **language** (string) - Optional - The two letter ISO code of the language of the new session. - **user** (string) - Optional - The user of the new session. This user may be granted only the role "I_EVERYONE" unless XNSG is configured to use an LDAP server. - **workstationId** (string) - Optional - The unique workstation identifier of the new session. - **workstationSessionId** (string) - Optional - The unique workstation agent session identifier of the new session. - **stylevariant** (string) - Optional - Deprecated. - **productname** (string) - Optional - Optional field, which may be set if productname differs from standard product name. - **productShortName** (string) - Optional - Optional field, which may be set if productShortName differs from standard product name. - **preferredWidth** (integer) - Optional - Optional field, which may be set if preferred width of AF should be different from default. - **preferredHeight** (integer) - Optional - Optional field, which may be set if preferred height of AF should be different from default. - **openToTray** (boolean) - Optional - Optional field, which may be set if application should be opened to tray (default: `false`). ### Request Example ```json { "displayHeader": true, "displayTitlebar": true, "displayStatusbar": true, "language": "en", "user": "API_TEST", "workstationId": "WORKSTATION_123", "workstationSessionId": "SESSION_ABC", "stylevariant": "NEUTRAL", "productname": "CustomsApp", "productShortName": "CA", "preferredWidth": 800, "preferredHeight": 600, "openToTray": false } ``` ### Response #### Success Response (200) - **token** (string) - Authentication token. - **userName** (string) - The username of the logged-in user. - **client** (string) - The client identifier. - **roles** (array of strings) - The roles assigned to the user. - **error** (string) - An error message if the login failed. #### Response Example ```json { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "userName": "API_TEST", "client": "CLIENT_XYZ", "roles": ["ADMIN", "USER"], "error": null } ``` ``` -------------------------------- ### Get Booking Request by ID (JSON Response Example) Source: https://customsmanagement.docs.developers.aeb.com/docs/get-booking-request-by-id This JSON structure represents a successful response when retrieving a booking request by its ID. It includes details such as the booking ID, reference number, profile code, type, status, identities, decisive date, material information, and quantity. The response also indicates if there are any warnings or messages associated with the request. ```json { "bookingRequests": [ { "id": "", "referenceNumber": "", "profileCode": "", "type": "IMPORT_TO_CUSTOMS_WAREHOUSE", "status": { "identCode": "COMPLETE" }, "identitiesRemoval": [], "identitiesEntry": [ "CN" ], "decisiveDate": { "dateInTimezone": "2025-10-23 00:00:00", "timezone": "Europe/Amsterdam" }, "material": { "materialId": "" }, "quantity": { "value": 4, "unit": "St", "uneceUnit": "NAR" } } ], "hasWarnings": false, "messages": [] } ``` -------------------------------- ### POST /wssagent/connection/{id} Source: https://customsmanagement.docs.developers.aeb.com/reference/cancelbooking-1 Checks if a workstation agent exists for a given ID, creates one if it doesn't, and returns the corresponding launch request. ```APIDOC ## POST /wssagent/connection/{id} ### Description Checks if workstation agent exists for given id, creates one if not exists and returns corresponding launch request. Returns response object. ### Method POST ### Endpoint /wssagent/connection/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the workstation agent. #### Query Parameters - **userActivityTimeoutMS** (integer) - Optional - User activity timeout in milliseconds. The time is counted from the last 'status' request. Not recommended to use values shorter than the typical print session duration. Default value is 7200000 ms. - **registerTimeoutMS** (integer) - Optional - Timeout in milliseconds for the workstation agent launch request. The time is counted from the connection 'create' request that resulted with a launch request. Note that the agent launcher may require to download and install updates before making a connection. ### Request Example ```json { "example": "No request body for this endpoint." } ``` ### Response #### Success Response (200) - **WorkstationSessionInfoDTO** (object) - Response object containing workstation agent information. #### Response Example ```json { "example": "{\"agentId\":\"some-agent-id\", \"status\":\"LAUNCHING\"}" } ``` ```