FlexibleLatexTemplate
Alles, was der Vorlageneditor benötigt: Datentypen für die Klassen-Auswahlliste, die ID-Regeln, die KI-Marker-Syntax und welche KI-Funktionen auf diesem Server verfügbar sind.
GET/api/templates/flexible_latex_template_tools/editor_meta
Antworten
200Editor-Metadaten flexibler Vorlagen
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/editor_meta"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/flexible_latex_template_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await FlexibleLatexTemplateController.getEditorMeta();
if (result.success) {
print(result.data);
}Prüft eine ID für eine neue Vorlage und schlägt eine freie ID vor (aus dem Namen oder der duplizierten Vorlage).
GET/api/templates/flexible_latex_template_tools/id_check
Query-Parameter
idstring | Zu prüfende ID |
namestring | Name der Vorlage, aus der der Vorschlag gebildet wird |
base_idstring | ID der duplizierten Vorlage |
Antworten
200Prüfergebnis und Vorschlag
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check")
.get()
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/id_check"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/flexible_latex_template_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await FlexibleLatexTemplateController.getIdCheck();
if (result.success) {
print(result.data);
}Führt den Prüflauf („Prüflauf“) für den übermittelten, noch nicht gespeicherten Vorlagenzustand aus: Twig-Syntax, Rendering mit einem minimalen und einem maximalen Datensatz des Datentyps sowie das PDF-Rendering.
POST/api/templates/flexible_latex_template_tools/check
Felder, die nicht übermittelt werden, werden aus der gespeicherten Vorlage mit derselben ID übernommen.
Query-Parameter
render_pdfboolean | false überspringt die PDF-Erstellung (Standard: true) |
Antworten
200Bericht prüfen
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/check"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit dem Package iw_erp_api
import 'package:iw_erp_api/clients/flexible_latex_template_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/flexible_latex_template.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await FlexibleLatexTemplateController.postCheck(FlexibleLatexTemplate.fromJson({}));
if (result.success) {
print(result.data);
}Erstellt einen Vorlagenvorschlag aus einem PDF- / Bild-Upload oder einer Webseite per OCR + KI. Das Ergebnis wird nicht gespeichert, der Editor öffnet es wie eine duplizierte Vorlage.
POST/api/templates/flexible_latex_template_tools/ai_import
Request-Body multipart/form-data
filestring (binary)PDF oder Bild (PNG / JPG)
urlstringWebseite zum Konvertieren anstelle einer Datei
render_typestringlatex or html
tagstringDatentyp der Vorlage (Referenzklassenschlüssel)
namestringName der neuen Vorlage
hintstringZusätzliche Anweisungen für die KI
Antworten
200Vorlagenvorschlag mit Prüfbericht
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import \
--header 'content-type: multipart/form-data' \
--header 'x-iw-jwt-token: <TOKEN>' \
--form file='@datei.pdf'const form = new FormData();
form.append('file', 'datei.pdf');
const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
options.body = form;
fetch('https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import"
files = { "file": ("datei.pdf", open("datei.pdf", "rb"), "application/pdf") }
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, files=files, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import', [
'multipart' => [
[
'name' => 'file',
'filename' => 'datei.pdf',
'contents' => null,
'headers' => [
'Content-Type' => 'application/pdf'
]
]
]
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new MultipartFormDataContent
{
new StringContent("")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/pdf"),
ContentDisposition = new ContentDispositionHeaderValue("form-data")
{
Name = "file",
FileName = "datei.pdf",
}
}
},
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("multipart/form-data; boundary=---011000010111000001101001");
RequestBody body = RequestBody.create(mediaType, "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"datei.pdf\"\r\nContent-Type: application/pdf\r\n\r\n\r\n-----011000010111000001101001--");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import"
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"datei.pdf\"\r\nContent-Type: application/pdf\r\n\r\n\r\n-----011000010111000001101001--")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart mit package:http (kein Controller im Package iw_erp_api)
import 'package:http/http.dart' as http;
final request = http.MultipartRequest('POST', Uri.parse('https://eure-instanz.iw-erp.de/api/templates/flexible_latex_template_tools/ai_import'));
request.headers['x-iw-jwt-token'] = '<TOKEN>';
request.files.add(await http.MultipartFile.fromPath('file', 'datei.pdf'));
final response = await request.send();
print(await response.stream.bytesToString());