Trial (Schnuppern)
Events, bei denen die ausgewählte Person schnuppern kann, jeweils mit der Schnupper-Prüfung (verbleibende Termine, Grund wenn sie gerade nicht buchbar ist). Abfrage: person (eine Person der ausgewählten Firma, Standard ist der Benutzer).
GET/api/event/customer/trial/base_event
Query-Parameter
personinteger | Person der ausgewählten Firma |
Antworten
200Liste von {event, allowed, reason, error_code, trial_max, trial_used, trial_remaining, trial_status}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event', 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/event/customer/trial/base_event"
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/event/customer/trial/base_event', [
'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/event/customer/trial/base_event"),
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/event/customer/trial/base_event")
.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/event/customer/trial/base_event"
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/event_trial_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 EventTrialController.getCustomerEvents();
if (result.success) {
print(result.data);
}Schnupperprüfung für ein Event und die Termine, die die ausgewählte Person als Schnuppertermine buchen kann.
GET/api/event/customer/trial/base_event/{eventIdentifier}
Pfad-Parameter
eventIdentifierPflichtstring |
Query-Parameter
personinteger | Person der ausgewählten Firma |
Antworten
200{allowed, reason, error_code, trial_max, trial_used, trial_remaining, trial_status, dates: [{id, name, start_time, end_time}]}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event/42', 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/event/customer/trial/base_event/42"
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/event/customer/trial/base_event/42', [
'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/event/customer/trial/base_event/42"),
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/event/customer/trial/base_event/42")
.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/event/customer/trial/base_event/42"
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/event_trial_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 EventTrialController.getCustomerEventCheck('42');
if (result.success) {
print(result.data);
}Bucht einen Schnupper-Termin für eine Person des ausgewählten Unternehmens. Body: data.baseBooking; query oder data.person (Standard: der Benutzer).
POST/api/event/customer/trial/base_event_signup
Request-Body application/json
dataobjectFelder anzeigen (2)
baseBookingintegerpersoninteger
Antworten
200Die Anmeldung zum ProbeterminBaseEventSignUp
Felder anzeigen (42)
idintegerPrimärschlüssel der Anmeldung. Interne ID.
first_namestringVorname des Teilnehmers.
last_namestringNachname des Teilnehmers.
genderstringGeschlecht des Teilnehmers.
waitingbooleanDie Anmeldung steht auf der Warteliste.
confirmedbooleanDie Anmeldung ist bestätigt.
deletion_reasonstringGrund für die Stornierung der Anmeldung.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Geburtstag des Teilnehmers.
known_allergiesstringBekannte Allergien des Teilnehmers.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanErziehungsberechtigte(r) erlaubt Fotos des Teilnehmers.
allow_child_alonebooleanTeilnehmende Person darf nach der Veranstaltung allein gehen.
authorized_pickupstringPersonen, die den Teilnehmer abholen dürfen.
needs_supportbooleanTeilnehmende Person benötigt Unterstützung, zum Beispiel bei der Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die der Teilnehmer benötigt.
financial_supportbooleanTeilnehmende Person erhält eine finanzielle Förderung.
financial_support_numberstringNummer der finanziellen Förderung, zum Beispiel eines Gutscheins.
municipal_supportbooleanTeilnehmende Person erhält eine kommunale Förderung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der teilnehmenden Person.
school_classstringSchulklasse der teilnehmenden Person.
self_check_inbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-in eingecheckt.
self_check_outbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-out ausgecheckt.
self_check_in_datestring (date-time)Zeitpunkt des Self-Service-Check-ins.
self_check_out_datestring (date-time)Zeitpunkt des Self-Service-Check-outs.
reminded_of_absencestring (date-time)Zeitpunkt, zu dem der Erziehungsberechtigte an eine Abwesenheit erinnert wurde.
trialbooleanSchnuppertermin-Anmeldung (Schnuppern): eine Terminanmeldung ohne Kursplatz, die eine Einheit des Schnupper-Kontingents der Person verbraucht (eventAccessBudget mit sourceType trial)
trial_channelstringWer den Probetermin gebucht hat: App, Trainer, Büro
trial_session_numberintegerNummer dieses Probetermins innerhalb des Durchgangs (1 = erster), für "Schnuppern 2/3"
trial_session_maxintegerSchnuppertermine des Passes, für "Schnuppern 2/3"
confirmed_datestring (date-time)Zeitpunkt, zu dem die Anmeldung bestätigt wurde.
bib_numberintegerStartnummer (Zähler). Bei PER_PREFIX nur zusammen mit dem Präfix eindeutig. Wird nur über BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Präfix, z. B. W0123. Pro Veranstaltung eindeutig.
namestringName der Einheit.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event_signup \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"baseBooking": 1,
"person": 1
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {baseBooking: 1, person: 1}})
};
fetch('https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event_signup', 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/event/customer/trial/base_event_signup"
payload = { "data": {
"baseBooking": 1,
"person": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, 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/event/customer/trial/base_event_signup', [
'body' => '{"data":{"baseBooking":1,"person":1}}',
'headers' => [
'content-type' => 'application/json',
'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/event/customer/trial/base_event_signup"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"baseBooking\":1,\"person\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
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("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"baseBooking\":1,\"person\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/customer/trial/base_event_signup")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.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/event/customer/trial/base_event_signup"
payload := strings.NewReader("{\"data\":{\"baseBooking\":1,\"person\":1}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/event_trial_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 EventTrialController.postCustomer(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"support_description": "Text",
"name": "Beispiel",
"gender": "string",
"waiting": true,
"confirmed": true,
"deletion_reason": "string",
"direct_billing": true
}Schnupper-Kontingente der Personen der ausgewählten Firma mit ihren Schnupperterminen - für "noch 2 von 3" und die Karte "Weiter dabei sein?" nach dem letzten Schnupptermin.
GET/api/event/customer/trial_pass
Query-Parameter
personinteger | Nur diese Person der ausgewählten Firma |
Antworten
200Liste von {pass, event, sign_ups, hold}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/customer/trial_pass \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/customer/trial_pass', 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/event/customer/trial_pass"
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/event/customer/trial_pass', [
'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/event/customer/trial_pass"),
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/event/customer/trial_pass")
.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/event/customer/trial_pass"
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/event_trial_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 EventTrialController.getCustomerPasses();
if (result.success) {
print(result.data);
}Öffentliche Probeseite einer Veranstaltung: die Veranstaltung (über ihren Token oder per ID, wenn sie öffentlich ist), ob sie über den öffentlichen Link ausprobiert werden kann und die Termine mit Platz für eine Probeperson.
GET/api/event/public/trial/base_event/{eventIdentifier}
Pfad-Parameter
eventIdentifierPflichtstring |
Antworten
200{event, allowed, reason, error_code, trial_max, dates: [{id, name, start_time, end_time}]}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/public/trial/base_event/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/public/trial/base_event/42', 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/event/public/trial/base_event/42"
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/event/public/trial/base_event/42', [
'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/event/public/trial/base_event/42"),
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/event/public/trial/base_event/42")
.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/event/public/trial/base_event/42"
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/event_trial_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 EventTrialController.getPublicEvent('42');
if (result.success) {
print(result.data);
}Einen Probetermin über den öffentlichen Link anfordern. Body: data.baseBooking, firstName, lastName, birthday (YYYY-MM-DD), mainEmail (E-Mail der Eltern), mainPhone (optional), confirmedPrivacy (muss true sein).
POST/api/event/public/trial/base_event_signup/{eventIdentifier}
Noch nichts gebucht: Die Eltern erhalten per E-Mail einen Bestätigungslink (und, wenn das Kind bereits bekannt ist, die App-Benutzer des Haushalts per Push); der Termin wird bei der Bestätigung gebucht. Die Antwort verrät nicht, ob die Person bekannt ist.
Pfad-Parameter
eventIdentifierPflichtstring |
Request-Body application/json
dataobjectFelder anzeigen (7)
baseBookingintegerfirstNamestringlastNamestringbirthdaystringmainEmailstringmainPhonestringconfirmedPrivacyboolean
Antworten
200{status: 'pending', main_email, expires_at}
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/public/trial/base_event_signup/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"firstName": "Lena",
"lastName": "Hartmann",
"baseBooking": 1,
"birthday": "string",
"mainEmail": "lena.hartmann@example.org",
"mainPhone": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
firstName: 'Lena',
lastName: 'Hartmann',
baseBooking: 1,
birthday: 'string',
mainEmail: 'lena.hartmann@example.org',
mainPhone: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/event/public/trial/base_event_signup/42', 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/event/public/trial/base_event_signup/42"
payload = { "data": {
"firstName": "Lena",
"lastName": "Hartmann",
"baseBooking": 1,
"birthday": "string",
"mainEmail": "lena.hartmann@example.org",
"mainPhone": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, 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/event/public/trial/base_event_signup/42', [
'body' => '{"data":{"firstName":"Lena","lastName":"Hartmann","baseBooking":1,"birthday":"string","mainEmail":"lena.hartmann@example.org","mainPhone":"string"}}',
'headers' => [
'content-type' => 'application/json',
'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/event/public/trial/base_event_signup/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\",\"mainPhone\":\"string\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
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("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\",\"mainPhone\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/public/trial/base_event_signup/42")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.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/event/public/trial/base_event_signup/42"
payload := strings.NewReader("{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\",\"mainPhone\":\"string\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/event_trial_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 EventTrialController.postPublic('42', 42, firstName: '…', lastName: '…', birthday: DateTime.fromJson({
"firstName": "Lena",
"lastName": "Hartmann",
"baseBooking": 1,
"birthday": "string",
"mainEmail": "lena.hartmann@example.org",
"mainPhone": "string"
}), mainEmail: '…', confirmedPrivacy: true);
if (result.success) {
print(result.data);
}Eine öffentliche Probeanfrage über den Token ihres Bestätigungslinks: Kurs, Datum, der Name des Kindes und ob sie noch offen, bestätigt oder abgelaufen ist.
GET/api/event/public/trial/request/{token}
Pfad-Parameter
tokenPflichtstring |
Antworten
200{status, expired, expires_at, first_name, last_name, course_name, start_time, end_time}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/public/trial/request/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/public/trial/request/42', 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/event/public/trial/request/42"
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/event/public/trial/request/42', [
'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/event/public/trial/request/42"),
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/event/public/trial/request/42")
.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/event/public/trial/request/42"
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/event_trial_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 EventTrialController.getPublicRequest('42');
if (result.success) {
print(result.data);
}Eine öffentliche Schnupper-Anfrage bestätigen: Der Termin wird jetzt gebucht (alle Prüfungen laufen erneut) und die Buchungs-E-Mail wird gesendet. Eine doppelte Bestätigung liefert dieselbe Anmeldung zurück; ein abgelaufener Link wird mit 1581 abgelehnt.
POST/api/event/public/trial/request/{token}/confirm
Pfad-Parameter
tokenPflichtstring |
Antworten
200Die Anmeldung zum ProbeterminBaseEventSignUp
Felder anzeigen (42)
idintegerPrimärschlüssel der Anmeldung. Interne ID.
first_namestringVorname des Teilnehmers.
last_namestringNachname des Teilnehmers.
genderstringGeschlecht des Teilnehmers.
waitingbooleanDie Anmeldung steht auf der Warteliste.
confirmedbooleanDie Anmeldung ist bestätigt.
deletion_reasonstringGrund für die Stornierung der Anmeldung.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Geburtstag des Teilnehmers.
known_allergiesstringBekannte Allergien des Teilnehmers.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanErziehungsberechtigte(r) erlaubt Fotos des Teilnehmers.
allow_child_alonebooleanTeilnehmende Person darf nach der Veranstaltung allein gehen.
authorized_pickupstringPersonen, die den Teilnehmer abholen dürfen.
needs_supportbooleanTeilnehmende Person benötigt Unterstützung, zum Beispiel bei der Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die der Teilnehmer benötigt.
financial_supportbooleanTeilnehmende Person erhält eine finanzielle Förderung.
financial_support_numberstringNummer der finanziellen Förderung, zum Beispiel eines Gutscheins.
municipal_supportbooleanTeilnehmende Person erhält eine kommunale Förderung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der teilnehmenden Person.
school_classstringSchulklasse der teilnehmenden Person.
self_check_inbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-in eingecheckt.
self_check_outbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-out ausgecheckt.
self_check_in_datestring (date-time)Zeitpunkt des Self-Service-Check-ins.
self_check_out_datestring (date-time)Zeitpunkt des Self-Service-Check-outs.
reminded_of_absencestring (date-time)Zeitpunkt, zu dem der Erziehungsberechtigte an eine Abwesenheit erinnert wurde.
trialbooleanSchnuppertermin-Anmeldung (Schnuppern): eine Terminanmeldung ohne Kursplatz, die eine Einheit des Schnupper-Kontingents der Person verbraucht (eventAccessBudget mit sourceType trial)
trial_channelstringWer den Probetermin gebucht hat: App, Trainer, Büro
trial_session_numberintegerNummer dieses Probetermins innerhalb des Durchgangs (1 = erster), für "Schnuppern 2/3"
trial_session_maxintegerSchnuppertermine des Passes, für "Schnuppern 2/3"
confirmed_datestring (date-time)Zeitpunkt, zu dem die Anmeldung bestätigt wurde.
bib_numberintegerStartnummer (Zähler). Bei PER_PREFIX nur zusammen mit dem Präfix eindeutig. Wird nur über BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Präfix, z. B. W0123. Pro Veranstaltung eindeutig.
namestringName der Einheit.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/public/trial/request/42/confirm \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/public/trial/request/42/confirm', 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/event/public/trial/request/42/confirm"
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/event/public/trial/request/42/confirm', [
'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/event/public/trial/request/42/confirm"),
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/event/public/trial/request/42/confirm")
.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/event/public/trial/request/42/confirm"
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/event_trial_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 EventTrialController.confirmPublicRequest('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"support_description": "Text",
"name": "Beispiel",
"gender": "string",
"waiting": true,
"confirmed": true,
"deletion_reason": "string",
"direct_billing": true
}Link der öffentlichen Probeseite eines Events und ob seine Regel den öffentlichen Kanal erlaubt.
GET/api/event/trial/base_event/{eventIdentifier}/public_link
Pfad-Parameter
eventIdentifierPflichtstring |
Antworten
200{link, allowed, reason}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/trial/base_event/42/public_link \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial/base_event/42/public_link', 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/event/trial/base_event/42/public_link"
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/event/trial/base_event/42/public_link', [
'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/event/trial/base_event/42/public_link"),
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/event/trial/base_event/42/public_link")
.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/event/trial/base_event/42/public_link"
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/event_trial_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 EventTrialController.getPublicLink('42');
if (result.success) {
print(result.data);
}Trainer eines Termins fügt eine Schnupperperson hinzu: data.baseBooking sowie entweder data.person (eine bekannte Person) oder firstName, lastName, birthday, mainEmail, mainPhone (wird anhand von Name und Geburtstag gefunden, sonst in einem neuen Haushalt angelegt).
POST/api/event/trainer/trial/base_event_signup
Request-Body application/json
dataobjectFelder anzeigen (7)
baseBookingintegerpersonintegerfirstNamestringlastNamestringbirthdaystringmainEmailstringmainPhonestring
Antworten
200Die Anmeldung zum ProbeterminBaseEventSignUp
Felder anzeigen (42)
idintegerPrimärschlüssel der Anmeldung. Interne ID.
first_namestringVorname des Teilnehmers.
last_namestringNachname des Teilnehmers.
genderstringGeschlecht des Teilnehmers.
waitingbooleanDie Anmeldung steht auf der Warteliste.
confirmedbooleanDie Anmeldung ist bestätigt.
deletion_reasonstringGrund für die Stornierung der Anmeldung.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Geburtstag des Teilnehmers.
known_allergiesstringBekannte Allergien des Teilnehmers.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanErziehungsberechtigte(r) erlaubt Fotos des Teilnehmers.
allow_child_alonebooleanTeilnehmende Person darf nach der Veranstaltung allein gehen.
authorized_pickupstringPersonen, die den Teilnehmer abholen dürfen.
needs_supportbooleanTeilnehmende Person benötigt Unterstützung, zum Beispiel bei der Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die der Teilnehmer benötigt.
financial_supportbooleanTeilnehmende Person erhält eine finanzielle Förderung.
financial_support_numberstringNummer der finanziellen Förderung, zum Beispiel eines Gutscheins.
municipal_supportbooleanTeilnehmende Person erhält eine kommunale Förderung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der teilnehmenden Person.
school_classstringSchulklasse der teilnehmenden Person.
self_check_inbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-in eingecheckt.
self_check_outbooleanTeilnehmende Person hat sich per Selbstbedienungs-Check-out ausgecheckt.
self_check_in_datestring (date-time)Zeitpunkt des Self-Service-Check-ins.
self_check_out_datestring (date-time)Zeitpunkt des Self-Service-Check-outs.
reminded_of_absencestring (date-time)Zeitpunkt, zu dem der Erziehungsberechtigte an eine Abwesenheit erinnert wurde.
trialbooleanSchnuppertermin-Anmeldung (Schnuppern): eine Terminanmeldung ohne Kursplatz, die eine Einheit des Schnupper-Kontingents der Person verbraucht (eventAccessBudget mit sourceType trial)
trial_channelstringWer den Probetermin gebucht hat: App, Trainer, Büro
trial_session_numberintegerNummer dieses Probetermins innerhalb des Durchgangs (1 = erster), für "Schnuppern 2/3"
trial_session_maxintegerSchnuppertermine des Passes, für "Schnuppern 2/3"
confirmed_datestring (date-time)Zeitpunkt, zu dem die Anmeldung bestätigt wurde.
bib_numberintegerStartnummer (Zähler). Bei PER_PREFIX nur zusammen mit dem Präfix eindeutig. Wird nur über BibNumberAssigner gesetzt, stornierte Anmeldungen behalten sie.
bib_labelstringAngezeigte Startnummer inkl. Präfix, z. B. W0123. Pro Veranstaltung eindeutig.
namestringName der Einheit.
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/trainer/trial/base_event_signup \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"firstName": "Lena",
"lastName": "Hartmann",
"baseBooking": 1,
"person": 1,
"birthday": "string",
"mainEmail": "lena.hartmann@example.org"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
firstName: 'Lena',
lastName: 'Hartmann',
baseBooking: 1,
person: 1,
birthday: 'string',
mainEmail: 'lena.hartmann@example.org'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/event/trainer/trial/base_event_signup', 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/event/trainer/trial/base_event_signup"
payload = { "data": {
"firstName": "Lena",
"lastName": "Hartmann",
"baseBooking": 1,
"person": 1,
"birthday": "string",
"mainEmail": "lena.hartmann@example.org"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, 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/event/trainer/trial/base_event_signup', [
'body' => '{"data":{"firstName":"Lena","lastName":"Hartmann","baseBooking":1,"person":1,"birthday":"string","mainEmail":"lena.hartmann@example.org"}}',
'headers' => [
'content-type' => 'application/json',
'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/event/trainer/trial/base_event_signup"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"person\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\"}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
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("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"person\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/trainer/trial/base_event_signup")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.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/event/trainer/trial/base_event_signup"
payload := strings.NewReader("{\"data\":{\"firstName\":\"Lena\",\"lastName\":\"Hartmann\",\"baseBooking\":1,\"person\":1,\"birthday\":\"string\",\"mainEmail\":\"lena.hartmann@example.org\"}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/event_trial_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 EventTrialController.postTrainer(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"support_description": "Text",
"name": "Beispiel",
"gender": "string",
"waiting": true,
"confirmed": true,
"deletion_reason": "string",
"direct_billing": true
}Schnupperprüfung für ein Event und eine Person, mit den Terminen, die die Person als Schnuppertermine buchen kann.
GET/api/event/trial/base_event/{eventIdentifier}/check
Pfad-Parameter
eventIdentifierPflichtstring |
Query-Parameter
personPflichtinteger | CRMPerson |
Antworten
200{allowed, reason, error_code, trial_max, trial_used, trial_remaining, trial_status, dates}
curl --request GET \
--url 'https://eure-instanz.iw-erp.de/api/event/trial/base_event/42/check?person=1' \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial/base_event/42/check?person=1', 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/event/trial/base_event/42/check?person=1"
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/event/trial/base_event/42/check?person=1', [
'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/event/trial/base_event/42/check?person=1"),
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/event/trial/base_event/42/check?person=1")
.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/event/trial/base_event/42/check?person=1"
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/event_trial_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 EventTrialController.getCheck('42', '…');
if (result.success) {
print(result.data);
}Das Büro bucht einen Probetermin für eine Person. Body: data.baseBooking, data.person.
POST/api/event/trial/base_event_signup
Request-Body application/json
dataobjectFelder anzeigen (2)
baseBookingintegerpersoninteger
Antworten
200Die Anmeldung zum ProbeterminBaseEventSignUp7
Felder anzeigen (56)
bib_range_idintegerticketSeatLabelstringBezeichnung des gebuchten Platzes ("Reihennummer"), für Tickets, Check-in und die Ticketübersicht.
age_classstringAltersklasse nach DLV, z. B. M40 – berechnet aus Geburtstag, Geschlecht und Veranstaltungsdatum.
idintegerPrimärschlüssel der Anmeldung. Interne ID.
first_namestringVorname des Teilnehmers.
last_namestringNachname des Teilnehmers.
genderstringGeschlecht des Teilnehmers.
tokenstringÖffentlicher Token der Anmeldung. In Links anstelle der ID verwendet.
moments_tokenstringTeilnehmerbezogenes Momente-Token: erlaubt dieser Person die Nutzung der Veranstaltungs-Momente (digitales Gästebuch); Uploads über dieses Token werden der Person zugeordnet.
waitingbooleanDie Anmeldung steht auf der Warteliste.
confirmedbooleanDie Anmeldung ist bestätigt.
age_statusstringAltersstatus einer Kursanmeldung gegenüber den Altersgrenzen des Kurses (AgeLimits::STATUS_*), verwaltet von AgeCheckService; null = nicht geprüft (Termin- und Probeanmeldungen, Kurse ohne Grenzen, Funktion ausgeschaltet). Nur für die Verwaltung.
age_status_monthsintegerMonate über der näheren Altersgrenze bei der letzten Prüfung (positiv = älter, negativ = jünger)
age_status_changed_atstring (date-time)Zeitpunkt, zu dem sich der Altersstatus des Teilnehmers zuletzt geändert hat.
age_notified_atstring (date-time)Wann das Büro über den aktuellen Altersstatus informiert wurde (Übersicht)
externalbooleanDie Anmeldung wurde von einer externen Stelle vorgenommen.
deletion_reasonstringGrund für die Stornierung der Anmeldung.
billedbooleanDie Anmeldung wurde abgerechnet.
direct_billingbooleandirect_billing_check_datestring (date-time)direct_billing_tokenstringwait_list_confirmation_tokenstringwait_list_confirmation_sent_atstring (date-time)wait_list_confirmation_deadlinestring (date-time)wait_list_confirmed_atstring (date-time)wait_list_pending_confirmationbooleanwait_list_sort_orderintegerbirthdaystring (date-time)Geburtstag des Teilnehmers.
known_allergiesstringBekannte Allergien des Teilnehmers.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanErziehungsberechtigte(r) erlaubt Fotos des Teilnehmers.
allow_child_alonebooleanTeilnehmende Person darf nach der Veranstaltung allein gehen.
authorized_pickupstringPersonen, die den Teilnehmer abholen dürfen.
needs_supportbooleanTeilnehmende Person benötigt Unterstützung, zum Beispiel bei der Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die der Teilnehmer benötigt.
financial_supportbooleanTeilnehmende Person erhält eine finanzielle Förderung.
financial_support_numberstringNummer der finanziellen Förderung, zum Beispiel eines Gutscheins.
municipal_supportbooleanTeilnehmende Person erhält eine kommunale Förderung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der teilnehmenden Person.
school_classstringSchulklasse der teilnehmenden Person.
confirmed_disclaimerbooleanTeilnehmende Person hat den Haftungsausschluss bestätigt.
confirmed_privacybooleanTeilnehmende Person hat die Datenschutzerklärung bestätigt.
confirmed_cancellation_policybooleanTeilnehmende Person hat die Stornierungsbedingungen bestätigt.
free_note_onestringFreie Notiz 1, bei der Anmeldung eingetragen.
free_note_twostringFreie Notiz 2, bei der Anmeldung eingetragen.
free_note_threestringFreie Notiz 3, bei der Anmeldung eingetragen.
free_note_fourstringFreie Notiz 4, bei der Anmeldung eingetragen.
productPredefinedBillingItem13Produkt, mit dem die Anmeldung abgerechnet wird.
Felder anzeigen (81)
idintegerPrimärschlüssel der zugeordneten Abrechnungsposition. Interne ID.
namestringPflichtName der Abrechnungsposition.
descriptionstringPflichtBeschreibung des Abrechnungspostens, die dem Kunden angezeigt wird.
internal_descriptionstringInterne Beschreibung der Abrechnungsposition, wird dem Kunden nicht angezeigt.
fixed_hoursnumber (float)Feste Anzahl abgerechneter Stunden.
fixed_pricenumber (float)Fester abgerechneter Preis.
fixed_price_base_unitnumber (float)Basiseinheit für den Festpreis.
price_fixed_hoursnumber (float)Preis für die Pauschalstunden.
price_additional_hoursnumber (float)Preis für jede weitere Stunde.
name_additional_hoursstringName des Zusatzstunden-Postens.
description_additional_hoursstringBeschreibung des Zusatzstundenpostens.
time_billed_on_ticket_closebooleanOb die Zeit beim Schließen des Tickets abgerechnet wird.
billing_typeBillingItemTypeTyp der Abrechnungsposition.
buying_pricenumber (float)Einkaufspreis der Position.
recurrenceCRMRecurrenceWiederholung, der die Abrechnungsposition folgt.
deletedbooleanOb die Abrechnungsposition gelöscht ist.
condition_date_afterstring (date-time)Der Posten gilt nur für Termine nach diesem Datum.
condition_date_beforestring (date-time)Der Posten gilt nur für Termine vor diesem Datum.
condition_country_codestringLändercode, für den der Posten gilt.
condition_zip_code_fromstringBeginn des PLZ-Bereichs, für den die Position gilt.
condition_zip_code_tostringEnde des PLZ-Bereichs, auf den der Posten zutrifft.
condition_time_after_hourintegerDer Posten gilt nur ab dieser Tagesstunde.
condition_max_lengthintegerMaximale Länge, für die der Eintrag gilt.
condition_time_before_hourintegerDer Posten gilt nur bis zu dieser Tagesstunde.
condition_sub_access_tagAccessTagZugriffs-Tag, das ein Abonnement haben muss, damit der Eintrag gilt.
condition_show_despite_missing_access_tagbooleanOb die Position auch dann angezeigt wird, wenn das Zugriffs-Tag fehlt.
condition_sub_free_logicstringFreie Bedingungslogik für das Abo.
fixed_price_logicstringFreie Logik, die den Festpreis berechnet.
sub_self_service_addbooleanOb Mitglieder das Abonnement selbst hinzufügen können.
sub_self_service_deletebooleanOb Mitglieder das Abonnement selbst kündigen können.
sub_self_service_add_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst hinzufügen.
sub_self_service_delete_fixed_pricenumber (float)Fester Preis, der berechnet wird, wenn Mitglieder das Abo selbst kündigen.
sub_pre_paidbooleanOb das Abonnement im Voraus bezahlt wird.
sub_only_billed_after_startbooleanOb das Abonnement erst nach seinem Beginn abgerechnet wird.
sub_people_age_group_oneintegerObere Altersgrenze der Altersgruppe eins.
sub_people_age_group_one_discountintegerRabatt in Prozent für Altersgruppe eins.
sub_people_age_group_one_freeintegerAnzahl der freien Plätze für Altersgruppe eins.
sub_people_age_group_twointegerObere Altersgrenze der Altersgruppe zwei.
sub_people_age_group_two_discountintegerRabatt in Prozent für Altersgruppe zwei.
sub_people_age_group_two_freeintegerAnzahl der freien Plätze für Altersgruppe zwei.
sub_people_age_group_threeintegerObere Altersgrenze der Altersgruppe drei.
sub_people_age_group_three_discountintegerRabatt in Prozent für Altersgruppe drei.
sub_people_age_group_three_freeintegerAnzahl der freien Plätze für Altersgruppe drei.
sub_people_age_group_fourintegerObere Altersgrenze der Altersgruppe vier.
sub_people_age_group_four_discountintegerRabatt in Prozent für Altersgruppe vier.
sub_people_age_group_four_freeintegerAnzahl der freien Plätze für Altersgruppe vier.
price_is_bruttobooleanOb die Preise Bruttopreise inklusive Steuer sind.
skustringArtikelnummer (Stock Keeping Unit)
barcodestringBarcode (ISBN, UPC, GTIN usw.)
companyCRMCompanyUnternehmen, zu dem der Abrechnungsposten gehört.
parentPredefinedBillingItem13Übergeordneter Abrechnungsposten, zum Beispiel für Varianten.
is_preferredbooleanDer Posten ist bevorzugt und wird zuerst angezeigt.
is_defaultbooleanDer Posten ist der Standard für seinen Typ.
is_discountbooleanDer Posten ist ein Rabatt.
is_freebooleanDer Posten ist kostenfrei.
is_passivebooleanDer Posten ist passiv und kann nicht mehr ausgewählt werden.
is_globalbooleanDer Posten ist für alle Unternehmen verfügbar.
inventory_countintegerBestand an Stück, sofern der Gegenstand ein Produkt ist.
stock_itembooleanDies ist ein Kennzeichen für Artikel, die jederzeit bestellt werden können
producer_guarantee_yearsnumber (float)Herstellergarantie in Jahren (ganze Jahre oder ,5-Schritte, siehe ProductGuaranteeYears). Grundlage fuer das EU GARAN Label (nur bei Garantie > 2 Jahre zulaessig).
producer_brandstringHersteller / Marke, die die Haltbarkeitsgarantie gibt - editierbares Feld "Brand/Trademark" des EU GARAN Labels.
energy_label_attachmentAttachment10Energielabel (EU-Energieverbrauchskennzeichnung) als Bild/PDF für Shop, Warenkorb und E-Mail. EU-Energielabel als Bild/PDF dieses Produkts.
garan_label_attachmentAttachment10Grosses EU GARAN Label (DVO 2025/1960): kostenlose Haltbarkeitsgarantie des Herstellers von mehr als zwei Jahren, mit Jahren, Marke und Modell.
garan_label_pictogram_attachmentAttachment10„Nested label“ / Piktogramm des EU-GARAN-Labels: zeigt nur die Jahre, beim Klick/Hover muss das große Label (garanLabelAttachment) erscheinen. EU-GARAN-„nested label“-Piktogramm, das nur die Jahre zeigt; verlinkt auf das vollständige Label online.
public_categorystringKategorie des öffentlich angezeigten Postens.
condition_booking_content_typeBookingContentType18Eintrag gilt nur für Buchungen mit diesem Inhaltstyp (z. B. Flugtyp). Null = alle Inhaltstypen.
usage_time_baseintegerZeitpaar des Abschnitts für die Nutzungsabrechnung: BaseBookingRealUsage::BILLING_TYPE_BLOCK_TIME oder BILLING_TYPE_FLIGHT_TIME. Null = billingType des Nutzungsdatensatzes übernehmen.
base_locationBaseLocation10Standort, zu dem diese Gebühr gehört (z. B. Flughafen-Lande-/Startgebühr), Kategorie CATEGORY_LOCATION
condition_day_of_week_maskintegerWochentags-Bitmaske (Mo=1 ... So=64, siehe DayOfWeekBitmaskHelper). Null = jeden Tag.
condition_first_usage_onlybooleanDie Gebühr wird nur einmal je Nutzungssatz angewendet (erster passender Abschnitt, Menge 1)
budget_grant_countintegerAnzahl der Veranstaltungsanmeldungen, die dieses Produkt beim Kauf gewährt (null = kein Kontingent)
budget_create_oncebooleanWenn true, wird das Budget nur einmal pro Kombination aus Person und Produkt angelegt. Bei wiederkehrenden Abonnements: monatliche Zahlung, aber jährliches Budget.
ticket_quotaintegerTicketverkauf (BaseEvent::isTicketSalesEnabled): Kontingent dieser Ticketart (Event-Preis). Null = nur das Teilnehmerlimit der Veranstaltung zählt.
ticket_sale_startstring (date-time)Ticketverkauf: Verkaufsstart dieser Ticketart (z. B. Frühbucher ab), null = sofort.
ticket_sale_endstring (date-time)Ticketverkauf: Verkaufsende dieser Ticketart (z. B. Frühbucher bis), null = bis zum Anmeldeschluss.
ticket_seat_zonestringTicketverkauf mit Sitzplan: Diese Ticketart gilt nur für Plätze dieser Preiszone (BaseLocationPlanItem::seatZone), null = für jeden Platz.
cancellation_term_unitstringZulässige Kündigungsfristen für dieses Abonnement-Produkt. Null / leer = Standard des Vereins aus den Einstellungen übernehmen. Siehe CancellationTermCalculator::TERM_UNITS.
cancellation_term_datesstringKommagetrennte Liste fester Kündigungstermine im Format TT.MM, z. B. "31.03,30.06,30.09,31.12". Wird nur verwendet, wenn cancellationTermUnit CUSTOM ist.
cancellation_notice_valueintegerNumerischer Wert der Kündigungsfrist vor dem Kündigungstermin. Null = von den Einstellungen übernehmen.
cancellation_notice_unitstringEinheit der Frist: DAYS, WEEKS oder MONTHS. Null = aus den Einstellungen übernehmen.
- … 6 weitere Felder
invoice_productsarray<BaseEventSignUpProductItem3>Produktpositionen, die der Rechnung der Anmeldung hinzugefügt werden.
Felder anzeigen (5)
idintegerPrimärschlüssel der Produktposition. Interne ID.
event_sign_upBaseEventSignUp7Anmeldung, zu der die Produktposition gehört.
productPredefinedBillingItem13Produkt, das abgerechnet wird.
quantitynumber (float)Menge des Produkts.
billedbooleanDer Produktposten wurde abgerechnet.
generate_date_endstring (date-time)Enddatum der generierten Buchungen für die Anmeldung.
variantBaseEventVariantEvent-Variante, zu der die Anmeldung gehört.
Felder anzeigen (4)
idintegerPrimärschlüssel der Veranstaltungsvariante. Interne ID.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
namestringName der Einheit.
image_urlstringURL des Bildes des Datensatzes.
invitationBaseEventInvitation5Einladung, mit der die Anmeldung erfolgt ist.
Felder anzeigen (9)
idintegerPrimärschlüssel der Einladung. Interne ID.
readbooleanDie Einladung wurde gelesen.
messagestringMit der Einladung gesendete Nachricht.
reply_messagestringAntwortnachricht der eingeladenen Person.
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
orderintegerPosition des Datensatzes in der Reihenfolge.
event_access_budgetEventAccessBudget4Für die Anmeldung verwendetes Zugriffsbudget.
Felder anzeigen (19)
idintegerPrimärschlüssel des Veranstaltungs-Zugangsbudgets. Interne ID.
personCRMPerson10Person, zu der das Budget gehört.
total_budgetintegerGesamtzahl der gewährten Anmeldungen (z. B. 10 bei einer 10er-Karte)
used_budgetintegerAnzahl der bereits verbrauchten Anmeldungen
valid_fromstring (date-time)Beginn des Budgetzeitraums.
valid_untilstring (date-time)Ende des Budgetzeitraums.
base_eventBaseEvent25Scope: Budget auf eine bestimmte Veranstaltung beschränken
unified_categoryUnifiedCategory41Scope: Budget auf Veranstaltungen dieser einheitlichen Kategorie beschränken
event_typestringScope: Budget auf Veranstaltungen dieses Veranstaltungstyps beschränken (WORKSHOP, CAMP, COURSE usw.)
source_typestringWie dieses Budget angelegt wurde: 'purchase', 'bonus', 'manual'
trial_policyTrialPolicy6Regel eines Probe-Passes (sourceType trial)
trial_statusstringaktiv, aufgebraucht (alle Termine verbraucht und abgelaufen), umgewandelt (Kursplatz oder Mitgliedschaft), abgelaufen (Gültigkeit vorbei), storniert (vom Büro beendet)
trial_exhausted_atstring (date-time)Zeitpunkt, zu dem alle Schnupperplätze belegt waren.
trial_follow_up_sent_atstring (date-time)Zeitpunkt, zu dem die Nachfassaktion nach dem Schnuppern gesendet wurde.
trial_reminder_sent_atstring (date-time)Zeitpunkt, zu dem die Schnupper-Erinnerung versendet wurde.
trial_converted_atstring (date-time)Zeitpunkt, zu dem das Schnuppern in eine Mitgliedschaft umgewandelt wurde.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
media_questionnaire_answerMediaQuestionnaireAnswer11Antwort auf den Fragebogen der Veranstaltung.
Felder anzeigen (29)
idintegerPrimärschlüssel der Fragebogen-Antwort. Interne ID.
genderstringGeschlecht des Teilnehmers.
confirmedbooleanDie Antwort ist bestätigt.
draftbooleanDie Antwort ist ein Entwurf und noch nicht eingereicht.
processingbooleanDie Antwort wird verarbeitet.
externalbooleanDie Antwort wurde von einer externen Stelle gegeben.
birthdaystring (date-time)Geburtstag des Teilnehmers.
known_allergiesstringBekannte Allergien des Teilnehmers.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
grade_levelintegerSchuljahrgang der teilnehmenden Person.
school_classstringSchulklasse der teilnehmenden Person.
review_statusstringZweite Schleife nach dem KI-Vergleich (MediaQuestionnaire::$clarificationEnabled), ohne diese null: CLARIFICATION_PENDING, solange der Vergleich bzw. die Erzeugung der Klärungspunkte läuft, CLARIFICATION_OPEN, solange Punkte offen sind, COMPLETED, sobald die Prüfung abgeschlossen ist und die Ergebnisvorlage angelegt werden darf.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
role_in_companystringRolle bzw. Position des Befragten im Unternehmen
start_in_companystringWann der Befragte im Unternehmen zu arbeiten begonnen hat
company_namestringWann der Befragte im Unternehmen zu arbeiten begonnen hat
answer_durationintegerDauer in Sekunden, die die befragte Person zum Ausfüllen des Fragebogens benötigte
billedbooleanDie Antwort wurde abgerechnet.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
addressstringAdresse als Text.
address_streetstringStraße der Adresse.
address_house_numberstringHausnummer der Adresse.
address_street_levelstringStraße und Hausnummer der Adresse.
address_costringCare-of-Zeile der Adresse.
address_citystringOrt der Adresse.
address_zipstringPostleitzahl der Adresse.
- … 17 weitere Felder
- … 44 weitere Felder
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/trial/base_event_signup \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"baseBooking": 1,
"person": 1
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {baseBooking: 1, person: 1}})
};
fetch('https://eure-instanz.iw-erp.de/api/event/trial/base_event_signup', 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/event/trial/base_event_signup"
payload = { "data": {
"baseBooking": 1,
"person": 1
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.post(url, json=payload, 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/event/trial/base_event_signup', [
'body' => '{"data":{"baseBooking":1,"person":1}}',
'headers' => [
'content-type' => 'application/json',
'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/event/trial/base_event_signup"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"baseBooking\":1,\"person\":1}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
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("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"baseBooking\":1,\"person\":1}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/event/trial/base_event_signup")
.post(body)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.addHeader("content-type", "application/json")
.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/event/trial/base_event_signup"
payload := strings.NewReader("{\"data\":{\"baseBooking\":1,\"person\":1}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
req.Header.Add("content-type", "application/json")
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/event_trial_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 EventTrialController.post(42, 42);
if (result.success) {
print(result.data);
}{
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"support_description": "Text",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"name": "Beispiel"
}Schnupper-Kontingente mit ihren Schnupperterminen. Filter: person, baseEvent, unifiedCategory, trialPolicy, trialStatus.
GET/api/event/trial_pass
Query-Parameter
personinteger | |
baseEventinteger | |
unifiedCategoryinteger | |
trialPolicyinteger | |
trialStatusstring | |
searchStringstring | Text, nach dem in der Liste gesucht wird |
orderFieldNamestring | Name des Bestellfelds |
orderFieldSortstring | SortiermodusErlaubt: DESCASC |
pageinteger | Seite der Liste |
pageSizeinteger | Anzahl der Einträge je Seite |
withMaxPageNumberstring | gibt die Anzahl verfügbarer Seiten als Header zurück, wenn dies gesetzt ist |
Antworten
200Liste von {pass, event, sign_ups}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/trial_pass \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial_pass', 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/event/trial_pass"
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/event/trial_pass', [
'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/event/trial_pass"),
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/event/trial_pass")
.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/event/trial_pass"
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/event_trial_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 EventTrialController.getPasses();
if (result.success) {
print(result.data);
}Aktion auf einem Probedurchgang: convert (Kursplatz bzw. Mitgliedschaft anderweitig vereinbart), cancel (Probezeit beenden, keine weiteren Termine) oder reset (ein neuer Durchgang: Termine und Nachverfolgung beginnen von vorn).
POST/api/event/trial_pass/{identifier}/{passAction}
Pfad-Parameter
identifierPflichtstring | |
passActionPflichtstring | Erlaubt: convertcancelreset |
Antworten
200{pass, event, sign_ups}
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/trial_pass/42/convert \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial_pass/42/convert', 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/event/trial_pass/42/convert"
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/event/trial_pass/42/convert', [
'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/event/trial_pass/42/convert"),
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/event/trial_pass/42/convert")
.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/event/trial_pass/42/convert"
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/event_trial_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 EventTrialController.postPassAction('42', 'convert');
if (result.success) {
print(result.data);
}Kursplätze, die für Schnupperpersonen (Schnupper-Reservierungen) mit den Schnupperterminen ihres Passes reserviert sind, für die Teilnehmerliste eines Kurses und das Büro. Filter: status (Standard: offene - reserviert, ausstehend, gesichert; "all" für alle Zustände), baseEvent, person, pass.
GET/api/event/trial_hold
Query-Parameter
statusstring | |
baseEventinteger | |
personinteger | |
passinteger |
Antworten
200Liste von {hold, person, sign_ups, dates: [{sign_up_id, booking_id, start_time, end_time, deleted, present, trial_session_number, trial_session_max}]}
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/event/trial_hold \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial_hold', 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/event/trial_hold"
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/event/trial_hold', [
'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/event/trial_hold"),
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/event/trial_hold")
.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/event/trial_hold"
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/event_trial_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 EventTrialController.getHolds();
if (result.success) {
print(result.data);
}Aktion auf einem gehaltenen Kursplatz: secure (kein Termin), convert (reguläre Anmeldung mit der normalen Bestätigungs-E-Mail), extend (data.days bzw. Abfrage-Tage, Vorgabe 7) oder release (der Platz ist wieder frei, die Warteliste rückt nach).
POST/api/event/trial_hold/{identifier}/{holdAction}
Pfad-Parameter
identifierPflichtstring | |
holdActionPflichtstring | Erlaubt: secureconvertextendrelease |
Query-Parameter
daysinteger |
Antworten
200{hold, person, sign_ups}
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/event/trial_hold/42/secure \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/event/trial_hold/42/secure', 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/event/trial_hold/42/secure"
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/event/trial_hold/42/secure', [
'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/event/trial_hold/42/secure"),
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/event/trial_hold/42/secure")
.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/event/trial_hold/42/secure"
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/event_trial_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 EventTrialController.postHoldAction('42', 'secure');
if (result.success) {
print(result.data);
}