IMSAPI Workbench / IMSAPI 工作台
A browser-based IMSAPI REST workbench for building, testing, combining, and executing API calls with payload generation, key/value handling, login context support, and a JSON script editor.
Languages / Sprachen / Langues / 语言
Deutsch
Überblick
IMSAPI Workbench ist eine HTML/JavaScript-basierte Oberfläche zum Testen und Kombinieren von IMSAPI-REST-Aufrufen. Die Anwendung lädt API-Templates und Parameterdefinitionen aus JSON-Dateien, erzeugt daraus dynamische Eingabeformulare und ermöglicht das Ausführen einzelner APIs oder kompletter API-Ketten über einen JSON-Scripteditor.
Hauptfunktionen
- Login gegen die IMSAPI-REST-Schnittstelle
- Automatische Übernahme von
sessionContextaus dem Login - Automatische Übernahme von
stationNumberaus dem Login - Dynamische API-Liste mit Filter-/Suchfunktion
- Automatische Formularerzeugung aus
rest_api_templates.jsonundapi_params.json - Auswahl von
Keys,Filters,ResultKeysundUploadValues - Unterstützung mehrerer
UploadValues-Datensätze über ein+im Modal - Korrekte Key/Value-Ausgabe für flache REST-Payloads
- JSON-Scripteditor zum Kombinieren mehrerer API-Aufrufe
- Serielle Ausführung mehrerer API-Steps
- Automatischer Export von
ResultKeys/ResultValuesals Variablen - Wiederverwendung von Ergebniswerten in späteren API-Aufrufen
- Mehrsprachige Oberfläche für Scripteditor-Hilfetexte und Beispiele
- Sprach-Dropdown für Deutsch, Englisch, Französisch und Chinesisch
Projektstruktur
.
├── index.html
├── api_params.json
├── rest_api_templates.json
└── README.md
Voraussetzungen
- Moderner Browser, z. B. Chrome, Edge oder Firefox
- Zugriff auf einen IMSAPI-REST-Server
- Webserver oder lokale Entwicklungsumgebung zum Ausliefern der HTML- und JSON-Dateien
Hinweis: Wegen Browser-Sicherheitsregeln sollten die Dateien nicht direkt per
file://geöffnet werden. Verwende besser einen lokalen Webserver.
Lokaler Start
Beispiel mit Python:
python -m http.server 8080
Danach im Browser öffnen:
http://localhost:8080/index.html
Login
Im linken Bereich werden Server, Port, Station, Client und Registrierungstyp eingetragen. Nach erfolgreichem Login wird der sessionContext gespeichert und automatisch in Payloads eingesetzt.
Beispiel sichtbarer Payload:
{
"sessionContext": {
"sessionId": 17314583823726,
"persId": 0,
"locale": "en_EN"
},
"stationNumber": "J816352",
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
Einzelne API ausführen
- API in der linken Liste auswählen.
- Parameter, Keys, Filter oder Values eingeben.
JSON erzeugenklicken, um den Payload zu prüfen.API ausführenklicken, um den REST-Aufruf abzusetzen.
Scripteditor
Der Scripteditor erlaubt das Kombinieren mehrerer APIs zu einem zusammenhängenden Ablauf. Jeder Step enthält eine eindeutige id, den API-Namen und einen Payload.
Beispiel:
[
{
"id": "getStationSetting",
"api": "stationGetStationSetting",
"payload": {
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
},
{
"id": "nextApi",
"api": "deineNaechsteApi",
"payload": {
"workOrderNumber": "{{vars.workorderNumber}}",
"workStepNumber": "{{vars.workstepNumber}}"
}
}
]
Automatische Variablen aus ResultValues
Wenn ein API-Step z. B. folgende Keys anfordert:
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
und folgendes Ergebnis liefert:
{
"result": {
"return_value": 0,
"stationSettingResultValues": [
"Demo1",
"6"
]
}
}
werden automatisch Variablen erzeugt:
{{vars.WORKORDER_NUMBER}}
{{vars.workorderNumber}}
{{vars.WORKSTEP_NUMBER}}
{{vars.workstepNumber}}
{{vars.getStationSetting.WORKORDER_NUMBER}}
{{vars.getStationSetting.workorderNumber}}
Manuelle Platzhalter
Folgende Platzhalter werden weiterhin unterstützt:
{{vars.name}}
{{login.stationNumber}}
{{row:stepId:resultValues:0:KEY}}
{{col:stepId:resultValues:KEY}}
Beispiel:
{
"workOrderNumber": "{{vars.getStationSetting.workorderNumber}}"
}
Kombination von ResultValues zu UploadValues
Mit $rows können Ergebniszeilen aus einem vorherigen Step in UploadValues übernommen werden.
{
"uploadValues": {
"$rows": {
"from": "getValues",
"values": "resultValues",
"columns": [
"PARAMETER_NAME",
"CONFIG_VALUE"
]
}
}
}
Mehrsprachigkeit
Die Sprache des Scripteditors kann über das Dropdown oben rechts umgestellt werden. Unterstützt werden:
- Deutsch
- English
- Français
- 中文
API-Namen, Payload-Felder und Keys werden nicht übersetzt, damit die REST-Aufrufe technisch korrekt bleiben.
Hinweise zur Entwicklung
rest_api_templates.jsonenthält URL, HTTP-Methode und Body-Templates.api_params.jsonenthält Parameterinformationen, Optionen, Filter und Key-Definitionen.- Die Oberfläche erzeugt Payloads dynamisch aus beiden Dateien.
- Pflichtfelder werden automatisch vorausgewählt, sofern sie in den Parametern entsprechend markiert sind.
Lizenz
Bitte ergänzen, falls benötigt.
English
Overview
IMSAPI Workbench is an HTML/JavaScript-based interface for testing and combining IMSAPI REST calls. The application loads API templates and parameter definitions from JSON files, generates dynamic input forms, and allows users to execute single APIs or complete API chains through a JSON script editor.
Main Features
- Login against the IMSAPI REST interface
- Automatic use of
sessionContextfrom the login - Automatic use of
stationNumberfrom the login - Dynamic API list with filter/search function
- Automatic form generation from
rest_api_templates.jsonandapi_params.json - Selection of
Keys,Filters,ResultKeys, andUploadValues - Support for multiple
UploadValuesrecords via a+button in the modal - Correct key/value output for flat REST payloads
- JSON script editor for combining multiple API calls
- Sequential execution of multiple API steps
- Automatic export of
ResultKeys/ResultValuesas variables - Reuse of result values in later API calls
- Multilingual script editor help texts and examples
- Language dropdown for German, English, French, and Chinese
Project Structure
.
├── index.html
├── api_params.json
├── rest_api_templates.json
└── README.md
Requirements
- Modern browser, such as Chrome, Edge, or Firefox
- Access to an IMSAPI REST server
- Web server or local development environment to serve the HTML and JSON files
Note: Due to browser security rules, the files should not be opened directly via
file://. Use a local web server instead.
Local Start
Example with Python:
python -m http.server 8080
Then open in the browser:
http://localhost:8080/index.html
Login
Server, port, station, client, and registration type are entered in the left panel. After a successful login, the sessionContext is stored and automatically inserted into payloads.
Example visible payload:
{
"sessionContext": {
"sessionId": 17314583823726,
"persId": 0,
"locale": "en_EN"
},
"stationNumber": "J816352",
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
Executing a Single API
- Select an API from the list on the left.
- Enter parameters, keys, filters, or values.
- Click
Generate JSONto check the payload. - Click
Execute APIto send the REST call.
Script Editor
The script editor allows multiple APIs to be combined into one connected workflow. Each step contains a unique id, the API name, and a payload.
Example:
[
{
"id": "getStationSetting",
"api": "stationGetStationSetting",
"payload": {
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
},
{
"id": "nextApi",
"api": "yourNextApi",
"payload": {
"workOrderNumber": "{{vars.workorderNumber}}",
"workStepNumber": "{{vars.workstepNumber}}"
}
}
]
Automatic Variables from ResultValues
If an API step requests the following keys:
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
and returns this result:
{
"result": {
"return_value": 0,
"stationSettingResultValues": [
"Demo1",
"6"
]
}
}
variables are created automatically:
{{vars.WORKORDER_NUMBER}}
{{vars.workorderNumber}}
{{vars.WORKSTEP_NUMBER}}
{{vars.workstepNumber}}
{{vars.getStationSetting.WORKORDER_NUMBER}}
{{vars.getStationSetting.workorderNumber}}
Manual Placeholders
The following placeholders are still supported:
{{vars.name}}
{{login.stationNumber}}
{{row:stepId:resultValues:0:KEY}}
{{col:stepId:resultValues:KEY}}
Example:
{
"workOrderNumber": "{{vars.getStationSetting.workorderNumber}}"
}
Combining ResultValues into UploadValues
Using $rows, result rows from a previous step can be transferred into UploadValues.
{
"uploadValues": {
"$rows": {
"from": "getValues",
"values": "resultValues",
"columns": [
"PARAMETER_NAME",
"CONFIG_VALUE"
]
}
}
}
Multilingual Support
The script editor language can be changed using the dropdown in the top-right corner. Supported languages are:
- Deutsch
- English
- Français
- 中文
API names, payload fields, and keys are not translated to keep REST calls technically correct.
Development Notes
rest_api_templates.jsoncontains URLs, HTTP methods, and body templates.api_params.jsoncontains parameter information, options, filters, and key definitions.- The interface dynamically generates payloads from both files.
- Required fields are automatically preselected if marked accordingly in the parameter definitions.
License
Please add one if required.
Français
Aperçu
IMSAPI Workbench est une interface HTML/JavaScript permettant de tester et de combiner des appels REST IMSAPI. L'application charge les modèles d'API et les définitions de paramètres depuis des fichiers JSON, génère des formulaires dynamiques et permet d'exécuter des API individuelles ou des chaînes complètes d'API via un éditeur de script JSON.
Fonctionnalités principales
- Connexion à l'interface REST IMSAPI
- Utilisation automatique de
sessionContextdepuis la connexion - Utilisation automatique de
stationNumberdepuis la connexion - Liste dynamique des API avec fonction de filtre/recherche
- Génération automatique des formulaires à partir de
rest_api_templates.jsonetapi_params.json - Sélection de
Keys,Filters,ResultKeysetUploadValues - Prise en charge de plusieurs enregistrements
UploadValuesvia un bouton+dans la fenêtre modale - Sortie key/value correcte pour les payloads REST plats
- Éditeur de script JSON pour combiner plusieurs appels API
- Exécution séquentielle de plusieurs étapes API
- Export automatique de
ResultKeys/ResultValuessous forme de variables - Réutilisation des valeurs de résultat dans les appels API suivants
- Textes d'aide et exemples multilingues dans l'éditeur de script
- Menu déroulant de langue pour l'allemand, l'anglais, le français et le chinois
Structure du projet
.
├── index.html
├── api_params.json
├── rest_api_templates.json
└── README.md
Prérequis
- Navigateur moderne, par exemple Chrome, Edge ou Firefox
- Accès à un serveur REST IMSAPI
- Serveur web ou environnement de développement local pour servir les fichiers HTML et JSON
Remarque : en raison des règles de sécurité des navigateurs, les fichiers ne doivent pas être ouverts directement avec
file://. Utilisez plutôt un serveur web local.
Démarrage local
Exemple avec Python :
python -m http.server 8080
Puis ouvrir dans le navigateur :
http://localhost:8080/index.html
Connexion
Le serveur, le port, la station, le client et le type d'enregistrement sont saisis dans le panneau de gauche. Après une connexion réussie, le sessionContext est enregistré et automatiquement inséré dans les payloads.
Exemple de payload visible :
{
"sessionContext": {
"sessionId": 17314583823726,
"persId": 0,
"locale": "en_EN"
},
"stationNumber": "J816352",
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
Exécuter une API individuelle
- Sélectionner une API dans la liste à gauche.
- Saisir les paramètres, keys, filtres ou valeurs.
- Cliquer sur
Générer JSONpour vérifier le payload. - Cliquer sur
Exécuter APIpour envoyer l'appel REST.
Éditeur de script
L'éditeur de script permet de combiner plusieurs API dans un flux cohérent. Chaque étape contient un id unique, le nom de l'API et un payload.
Exemple :
[
{
"id": "getStationSetting",
"api": "stationGetStationSetting",
"payload": {
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
},
{
"id": "nextApi",
"api": "votreApiSuivante",
"payload": {
"workOrderNumber": "{{vars.workorderNumber}}",
"workStepNumber": "{{vars.workstepNumber}}"
}
}
]
Variables automatiques depuis ResultValues
Si une étape API demande les clés suivantes :
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
et renvoie ce résultat :
{
"result": {
"return_value": 0,
"stationSettingResultValues": [
"Demo1",
"6"
]
}
}
les variables suivantes sont créées automatiquement :
{{vars.WORKORDER_NUMBER}}
{{vars.workorderNumber}}
{{vars.WORKSTEP_NUMBER}}
{{vars.workstepNumber}}
{{vars.getStationSetting.WORKORDER_NUMBER}}
{{vars.getStationSetting.workorderNumber}}
Placeholders manuels
Les placeholders suivants restent pris en charge :
{{vars.name}}
{{login.stationNumber}}
{{row:stepId:resultValues:0:KEY}}
{{col:stepId:resultValues:KEY}}
Exemple :
{
"workOrderNumber": "{{vars.getStationSetting.workorderNumber}}"
}
Combiner ResultValues vers UploadValues
Avec $rows, les lignes de résultat d'une étape précédente peuvent être transférées dans UploadValues.
{
"uploadValues": {
"$rows": {
"from": "getValues",
"values": "resultValues",
"columns": [
"PARAMETER_NAME",
"CONFIG_VALUE"
]
}
}
}
Multilingue
La langue de l'éditeur de script peut être modifiée via le menu déroulant en haut à droite. Les langues prises en charge sont :
- Deutsch
- English
- Français
- 中文
Les noms d'API, les champs de payload et les keys ne sont pas traduits afin de conserver la validité technique des appels REST.
Notes de développement
rest_api_templates.jsoncontient les URL, méthodes HTTP et modèles de body.api_params.jsoncontient les informations de paramètres, options, filtres et définitions de keys.- L'interface génère dynamiquement les payloads à partir des deux fichiers.
- Les champs obligatoires sont automatiquement présélectionnés s'ils sont marqués comme tels dans les définitions de paramètres.
Licence
À compléter si nécessaire.
中文
概述
IMSAPI Workbench 是一个基于 HTML/JavaScript 的界面,用于测试和组合 IMSAPI REST 调用。应用程序从 JSON 文件加载 API 模板和参数定义,动态生成输入表单,并允许用户通过 JSON 脚本编辑器执行单个 API 或完整的 API 调用链。
主要功能
- 登录 IMSAPI REST 接口
- 自动从登录信息中使用
sessionContext - 自动从登录信息中使用
stationNumber - 带过滤/搜索功能的动态 API 列表
- 根据
rest_api_templates.json和api_params.json自动生成表单 - 支持选择
Keys、Filters、ResultKeys和UploadValues - 在弹窗中通过
+按钮支持多个UploadValues数据集 - 为扁平 REST payload 生成正确的 key/value 输出
- JSON 脚本编辑器,用于组合多个 API 调用
- 按顺序执行多个 API 步骤
- 自动将
ResultKeys/ResultValues导出为变量 - 在后续 API 调用中复用结果值
- 脚本编辑器支持多语言帮助文本和示例
- 支持德语、英语、法语和中文的语言下拉菜单
项目结构
.
├── index.html
├── api_params.json
├── rest_api_templates.json
└── README.md
运行要求
- 现代浏览器,例如 Chrome、Edge 或 Firefox
- 可访问 IMSAPI REST 服务器
- 用于提供 HTML 和 JSON 文件的 Web 服务器或本地开发环境
注意:由于浏览器安全限制,不建议直接通过
file://打开文件。请使用本地 Web 服务器。
本地启动
使用 Python 示例:
python -m http.server 8080
然后在浏览器中打开:
http://localhost:8080/index.html
登录
在左侧区域输入服务器、端口、工位、客户端和注册类型。登录成功后,sessionContext 会被保存,并自动插入到 payload 中。
可见 payload 示例:
{
"sessionContext": {
"sessionId": 17314583823726,
"persId": 0,
"locale": "en_EN"
},
"stationNumber": "J816352",
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
执行单个 API
- 从左侧列表选择一个 API。
- 输入参数、keys、过滤器或 values。
- 点击
生成 JSON检查 payload。 - 点击
执行 API发送 REST 调用。
脚本编辑器
脚本编辑器允许将多个 API 组合成一个连续流程。每个步骤包含唯一的 id、API 名称和 payload。
示例:
[
{
"id": "getStationSetting",
"api": "stationGetStationSetting",
"payload": {
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
}
},
{
"id": "nextApi",
"api": "yourNextApi",
"payload": {
"workOrderNumber": "{{vars.workorderNumber}}",
"workStepNumber": "{{vars.workstepNumber}}"
}
}
]
从 ResultValues 自动生成变量
如果某个 API 步骤请求以下 keys:
"stationSettingResultKeys": [
"WORKORDER_NUMBER",
"WORKSTEP_NUMBER"
]
并返回以下结果:
{
"result": {
"return_value": 0,
"stationSettingResultValues": [
"Demo1",
"6"
]
}
}
系统会自动创建以下变量:
{{vars.WORKORDER_NUMBER}}
{{vars.workorderNumber}}
{{vars.WORKSTEP_NUMBER}}
{{vars.workstepNumber}}
{{vars.getStationSetting.WORKORDER_NUMBER}}
{{vars.getStationSetting.workorderNumber}}
手动占位符
以下占位符仍然受支持:
{{vars.name}}
{{login.stationNumber}}
{{row:stepId:resultValues:0:KEY}}
{{col:stepId:resultValues:KEY}}
示例:
{
"workOrderNumber": "{{vars.getStationSetting.workorderNumber}}"
}
将 ResultValues 组合为 UploadValues
使用 $rows 可以把前一个步骤的结果行转换为 UploadValues。
{
"uploadValues": {
"$rows": {
"from": "getValues",
"values": "resultValues",
"columns": [
"PARAMETER_NAME",
"CONFIG_VALUE"
]
}
}
}
多语言支持
脚本编辑器的语言可以通过右上角下拉菜单切换。支持语言包括:
- Deutsch
- English
- Français
- 中文
API 名称、payload 字段和 keys 不会被翻译,以确保 REST 调用在技术上保持正确。
开发说明
rest_api_templates.json包含 URL、HTTP 方法和 body 模板。api_params.json包含参数信息、选项、过滤器和 key 定义。- 界面会根据这两个文件动态生成 payload。
- 如果参数定义中标记了必填字段,界面会自动预选这些字段。
许可证
如有需要,请在此补充。