PersonLogBookEntry
Liefert eine Liste aller PersonLogBookEntry-Objekte.
GET/api/crm/person_log_book_entry
Query-Parameter
personstring | |
companystring | |
unifiedCategorystring | |
productstring | |
contentTypestring | |
contentstring | |
startstring | |
endstring | |
discountProductstring | |
discountStartstring | |
discountEndstring | |
passiveProductstring | |
passiveStartstring | |
passiveEndstring | |
freeProductstring | |
freeStartstring | |
freeEndstring | |
startBillingstring | |
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
200Liefert eine Liste aller PersonLogBookEntry-Objekte.array<PersonLogBookEntry>
Felder anzeigen (18)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
discount_startstring (date-time)Beginn des Rabattzeitraums.
discount_endstring (date-time)Ende des Rabattzeitraums.
free_startstring (date-time)Beginn des freien Zeitraums.
free_endstring (date-time)Ende des freien Zeitraums.
passive_startstring (date-time)Beginn des passiven Zeitraums.
passive_endstring (date-time)Ende des passiven Zeitraums.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
search_stringstringText, unter dem die Entität gesucht werden kann.
payment_typePaymentTypeFelder anzeigen (10)
idintegerPrimärschlüssel des Zahlungstyps. Interne ID.
namestringName der Zahlungsart, zum Beispiel Überweisung oder Barzahlung.
autobooleanZahlungen dieses Typs werden automatisch zugeordnet.
conditionsstringBedingungen für die Zuordnung von Zahlungen zu diesem Typ.
linked_keywordsstringSchlüsselwörter in Banktransaktionen, die mit dieser Zahlungsart verknüpft werden.
global_defaultbooleanStandard-Zahlungsart für neue Rechnungen.
bank_import_defaultbooleanStandard-Zahlungsart für Bankimporte.
is_direct_debitbooleanDie Zahlungsart ist ein Lastschriftverfahren.
is_externalbooleanDie Zahlung wird über einen externen Dienst abgewickelt.
deletedbooleanDiese Eigenschaft markiert eine Entität als gelöscht / archiviert
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry', 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/crm/person_log_book_entry"
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/crm/person_log_book_entry', [
'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/crm/person_log_book_entry"),
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/crm/person_log_book_entry")
.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/crm/person_log_book_entry"
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/crm_person_log_book_entry_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 CrmPersonLogBookEntryController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00",
"discount_start": "2026-10-15T09:30:00+02:00",
"discount_end": "2026-10-15T09:30:00+02:00"
}
]PersonLogBookEntry neu anlegen
POST/api/crm/person_log_book_entry
Request-Body application/json
dataPersonLogBookEntry2Felder anzeigen (27)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
unified_categoryUnifiedCategory10Vereinheitlichte Kategorie des Eintrags.
discount_startstring (date-time)Beginn des Rabattzeitraums.
discount_endstring (date-time)Ende des Rabattzeitraums.
discount_productPredefinedBillingItem9Für den Rabatt verwendete Abrechnungsposition.
free_startstring (date-time)Beginn des freien Zeitraums.
free_endstring (date-time)Ende des freien Zeitraums.
free_productPredefinedBillingItem9Für den kostenfreien Zeitraum verwendete Abrechnungsposition.
passive_startstring (date-time)Beginn des passiven Zeitraums.
passive_endstring (date-time)Ende des passiven Zeitraums.
passive_productPredefinedBillingItem9Für den passiven Zeitraum verwendete Abrechnungsposition.
invoicesarray<Invoice9>Rechnungen, auf denen der Eintrag abgerechnet wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
search_stringstringText, unter dem die Entität gesucht werden kann.
billing_payment_profileBillingPaymentProfile10payment_typePaymentType
Antworten
200PersonLogBookEntry neu anlegenPersonLogBookEntry2
Felder anzeigen (12)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
- … 2 weitere Felder
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
Felder anzeigen (55)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
secondary_namestringZweite Namenszeile des Unternehmens.
direct_dialstringDurchwahl der Firma.
invoice_emailstringE-Mail-Adresse für Rechnungen.
send_invoice_emailbooleanRechnungen per E-Mail versenden.
send_invoice_letterbooleanRechnungen per Brief versenden.
time_report_emailstringE-Mail-Adresse für Zeitberichte.
payment_goalPaymentGoalZahlungsbedingung der Firma.
payment_intervalstringIntervall der Zahlungen.
vatidstringUmsatzsteuer-Identifikationsnummer.
taxnumberstringSteuernummer des Unternehmens.
buyer_reference_idstringLeitweg-ID oder vom Kunden definierte individuelle Referenz-ID
taxTaxFür das Unternehmen verwendeter Steuersatz.
infostringInformationen zur Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
is_customerbooleanDas Unternehmen ist ein Kunde.
is_supplierbooleanDas Unternehmen ist ein Lieferant.
is_otherbooleanDas Unternehmen ist weder Kunde noch Lieferant.
is_memberbooleanDas Unternehmen ist ein Mitglied.
archivedbooleanDas Unternehmen ist archiviert.
categoryCRMCompanyCategoryKategorie des Unternehmens.
visible_for_customerbooleanOb das Unternehmen für den Kunden sichtbar ist.
founding_datestring (date-time)Gründungsdatum des Unternehmens.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
payment_typePaymentTypecompany_employee_countintegerAnzahl der Mitarbeitenden der Firma.
company_founding_yearintegerGründungsjahr des Unternehmens.
company_family_ownedbooleanOb das Unternehmen familiengeführt ist.
company_sales_volumestringUmsatzvolumen des Unternehmens.
company_segmentstringMarktsegment der Firma.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
Felder anzeigen (55)
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.
parentPredefinedBillingItem9Ü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.
- … 32 weitere Felder
- … 16 weitere Felder
curl --request POST \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
person: {
id: 42,
first_name: 'Lena',
last_name: 'Hartmann',
title: 'Beispiel',
language: 'de',
support_description: 'Text'
},
company: {
id: 42,
short_name: 'Beispiel',
company_name: 'Beispiel',
secondary_name: 'Beispiel',
invoice_email: 'lena.hartmann@example.org',
send_invoice_email: true
},
content: 'string',
content_type: 'string',
content_type_addition: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry', 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/crm/person_log_book_entry"
payload = { "data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": True
},
"content": "string",
"content_type": "string",
"content_type_addition": "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/crm/person_log_book_entry', [
'body' => '{"data":{"id":42,"person":{"id":42,"first_name":"Lena","last_name":"Hartmann","title":"Beispiel","language":"de","support_description":"Text"},"company":{"id":42,"short_name":"Beispiel","company_name":"Beispiel","secondary_name":"Beispiel","invoice_email":"lena.hartmann@example.org","send_invoice_email":true},"content":"string","content_type":"string","content_type_addition":"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/crm/person_log_book_entry"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"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\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry")
.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/crm/person_log_book_entry"
payload := strings.NewReader("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"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/crm_person_log_book_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/crm_person_log_book_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmPersonLogBookEntryController.post(CrmPersonLogBookEntry.fromJson({
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00"
}Einzelnen PersonLogBookEntry mit der angegebenen ID oder dem Token abrufen
GET/api/crm/person_log_book_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Einzelnen PersonLogBookEntry mit der angegebenen ID oder dem Token abrufenPersonLogBookEntry2
Felder anzeigen (12)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
- … 2 weitere Felder
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
Felder anzeigen (55)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
secondary_namestringZweite Namenszeile des Unternehmens.
direct_dialstringDurchwahl der Firma.
invoice_emailstringE-Mail-Adresse für Rechnungen.
send_invoice_emailbooleanRechnungen per E-Mail versenden.
send_invoice_letterbooleanRechnungen per Brief versenden.
time_report_emailstringE-Mail-Adresse für Zeitberichte.
payment_goalPaymentGoalZahlungsbedingung der Firma.
payment_intervalstringIntervall der Zahlungen.
vatidstringUmsatzsteuer-Identifikationsnummer.
taxnumberstringSteuernummer des Unternehmens.
buyer_reference_idstringLeitweg-ID oder vom Kunden definierte individuelle Referenz-ID
taxTaxFür das Unternehmen verwendeter Steuersatz.
infostringInformationen zur Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
is_customerbooleanDas Unternehmen ist ein Kunde.
is_supplierbooleanDas Unternehmen ist ein Lieferant.
is_otherbooleanDas Unternehmen ist weder Kunde noch Lieferant.
is_memberbooleanDas Unternehmen ist ein Mitglied.
archivedbooleanDas Unternehmen ist archiviert.
categoryCRMCompanyCategoryKategorie des Unternehmens.
visible_for_customerbooleanOb das Unternehmen für den Kunden sichtbar ist.
founding_datestring (date-time)Gründungsdatum des Unternehmens.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
payment_typePaymentTypecompany_employee_countintegerAnzahl der Mitarbeitenden der Firma.
company_founding_yearintegerGründungsjahr des Unternehmens.
company_family_ownedbooleanOb das Unternehmen familiengeführt ist.
company_sales_volumestringUmsatzvolumen des Unternehmens.
company_segmentstringMarktsegment der Firma.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
Felder anzeigen (55)
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.
parentPredefinedBillingItem9Ü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.
- … 32 weitere Felder
- … 16 weitere Felder
curl --request GET \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm/person_log_book_entry/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/crm_person_log_book_entry_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 CrmPersonLogBookEntryController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00"
}PersonLogBookEntry aktualisieren
PUT/api/crm/person_log_book_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataPersonLogBookEntry2Felder anzeigen (27)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
unified_categoryUnifiedCategory10Vereinheitlichte Kategorie des Eintrags.
discount_startstring (date-time)Beginn des Rabattzeitraums.
discount_endstring (date-time)Ende des Rabattzeitraums.
discount_productPredefinedBillingItem9Für den Rabatt verwendete Abrechnungsposition.
free_startstring (date-time)Beginn des freien Zeitraums.
free_endstring (date-time)Ende des freien Zeitraums.
free_productPredefinedBillingItem9Für den kostenfreien Zeitraum verwendete Abrechnungsposition.
passive_startstring (date-time)Beginn des passiven Zeitraums.
passive_endstring (date-time)Ende des passiven Zeitraums.
passive_productPredefinedBillingItem9Für den passiven Zeitraum verwendete Abrechnungsposition.
invoicesarray<Invoice9>Rechnungen, auf denen der Eintrag abgerechnet wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
search_stringstringText, unter dem die Entität gesucht werden kann.
billing_payment_profileBillingPaymentProfile10payment_typePaymentType
Antworten
200PersonLogBookEntry aktualisierenPersonLogBookEntry2
Felder anzeigen (12)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
- … 2 weitere Felder
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
Felder anzeigen (55)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
secondary_namestringZweite Namenszeile des Unternehmens.
direct_dialstringDurchwahl der Firma.
invoice_emailstringE-Mail-Adresse für Rechnungen.
send_invoice_emailbooleanRechnungen per E-Mail versenden.
send_invoice_letterbooleanRechnungen per Brief versenden.
time_report_emailstringE-Mail-Adresse für Zeitberichte.
payment_goalPaymentGoalZahlungsbedingung der Firma.
payment_intervalstringIntervall der Zahlungen.
vatidstringUmsatzsteuer-Identifikationsnummer.
taxnumberstringSteuernummer des Unternehmens.
buyer_reference_idstringLeitweg-ID oder vom Kunden definierte individuelle Referenz-ID
taxTaxFür das Unternehmen verwendeter Steuersatz.
infostringInformationen zur Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
is_customerbooleanDas Unternehmen ist ein Kunde.
is_supplierbooleanDas Unternehmen ist ein Lieferant.
is_otherbooleanDas Unternehmen ist weder Kunde noch Lieferant.
is_memberbooleanDas Unternehmen ist ein Mitglied.
archivedbooleanDas Unternehmen ist archiviert.
categoryCRMCompanyCategoryKategorie des Unternehmens.
visible_for_customerbooleanOb das Unternehmen für den Kunden sichtbar ist.
founding_datestring (date-time)Gründungsdatum des Unternehmens.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
payment_typePaymentTypecompany_employee_countintegerAnzahl der Mitarbeitenden der Firma.
company_founding_yearintegerGründungsjahr des Unternehmens.
company_family_ownedbooleanOb das Unternehmen familiengeführt ist.
company_sales_volumestringUmsatzvolumen des Unternehmens.
company_segmentstringMarktsegment der Firma.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
Felder anzeigen (55)
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.
parentPredefinedBillingItem9Ü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.
- … 32 weitere Felder
- … 16 weitere Felder
curl --request PUT \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
person: {
id: 42,
first_name: 'Lena',
last_name: 'Hartmann',
title: 'Beispiel',
language: 'de',
support_description: 'Text'
},
company: {
id: 42,
short_name: 'Beispiel',
company_name: 'Beispiel',
secondary_name: 'Beispiel',
invoice_email: 'lena.hartmann@example.org',
send_invoice_email: true
},
content: 'string',
content_type: 'string',
content_type_addition: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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/crm/person_log_book_entry/42"
payload = { "data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": True
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PUT', 'https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42', [
'body' => '{"data":{"id":42,"person":{"id":42,"first_name":"Lena","last_name":"Hartmann","title":"Beispiel","language":"de","support_description":"Text"},"company":{"id":42,"short_name":"Beispiel","company_name":"Beispiel","secondary_name":"Beispiel","invoice_email":"lena.hartmann@example.org","send_invoice_email":true},"content":"string","content_type":"string","content_type_addition":"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.Put,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"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\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42")
.put(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/crm/person_log_book_entry/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"string\"}}")
req, _ := http.NewRequest("PUT", 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/crm_person_log_book_entry_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/crm_person_log_book_entry.dart';
IwApiState().host = 'eure-instanz.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmPersonLogBookEntryController.put(CrmPersonLogBookEntry.fromJson({
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00"
}PersonLogBookEntry aktualisieren
PATCH/api/crm/person_log_book_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Request-Body application/json
dataPersonLogBookEntry2Felder anzeigen (27)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
unified_categoryUnifiedCategory10Vereinheitlichte Kategorie des Eintrags.
discount_startstring (date-time)Beginn des Rabattzeitraums.
discount_endstring (date-time)Ende des Rabattzeitraums.
discount_productPredefinedBillingItem9Für den Rabatt verwendete Abrechnungsposition.
free_startstring (date-time)Beginn des freien Zeitraums.
free_endstring (date-time)Ende des freien Zeitraums.
free_productPredefinedBillingItem9Für den kostenfreien Zeitraum verwendete Abrechnungsposition.
passive_startstring (date-time)Beginn des passiven Zeitraums.
passive_endstring (date-time)Ende des passiven Zeitraums.
passive_productPredefinedBillingItem9Für den passiven Zeitraum verwendete Abrechnungsposition.
invoicesarray<Invoice9>Rechnungen, auf denen der Eintrag abgerechnet wird.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
search_stringstringText, unter dem die Entität gesucht werden kann.
billing_payment_profileBillingPaymentProfile10payment_typePaymentType
Antworten
200PersonLogBookEntry aktualisierenPersonLogBookEntry2
Felder anzeigen (12)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
- … 2 weitere Felder
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
Felder anzeigen (55)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
secondary_namestringZweite Namenszeile des Unternehmens.
direct_dialstringDurchwahl der Firma.
invoice_emailstringE-Mail-Adresse für Rechnungen.
send_invoice_emailbooleanRechnungen per E-Mail versenden.
send_invoice_letterbooleanRechnungen per Brief versenden.
time_report_emailstringE-Mail-Adresse für Zeitberichte.
payment_goalPaymentGoalZahlungsbedingung der Firma.
payment_intervalstringIntervall der Zahlungen.
vatidstringUmsatzsteuer-Identifikationsnummer.
taxnumberstringSteuernummer des Unternehmens.
buyer_reference_idstringLeitweg-ID oder vom Kunden definierte individuelle Referenz-ID
taxTaxFür das Unternehmen verwendeter Steuersatz.
infostringInformationen zur Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
is_customerbooleanDas Unternehmen ist ein Kunde.
is_supplierbooleanDas Unternehmen ist ein Lieferant.
is_otherbooleanDas Unternehmen ist weder Kunde noch Lieferant.
is_memberbooleanDas Unternehmen ist ein Mitglied.
archivedbooleanDas Unternehmen ist archiviert.
categoryCRMCompanyCategoryKategorie des Unternehmens.
visible_for_customerbooleanOb das Unternehmen für den Kunden sichtbar ist.
founding_datestring (date-time)Gründungsdatum des Unternehmens.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
payment_typePaymentTypecompany_employee_countintegerAnzahl der Mitarbeitenden der Firma.
company_founding_yearintegerGründungsjahr des Unternehmens.
company_family_ownedbooleanOb das Unternehmen familiengeführt ist.
company_sales_volumestringUmsatzvolumen des Unternehmens.
company_segmentstringMarktsegment der Firma.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
Felder anzeigen (55)
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.
parentPredefinedBillingItem9Ü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.
- … 32 weitere Felder
- … 16 weitere Felder
curl --request PATCH \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
id: 42,
person: {
id: 42,
first_name: 'Lena',
last_name: 'Hartmann',
title: 'Beispiel',
language: 'de',
support_description: 'Text'
},
company: {
id: 42,
short_name: 'Beispiel',
company_name: 'Beispiel',
secondary_name: 'Beispiel',
invoice_email: 'lena.hartmann@example.org',
send_invoice_email: true
},
content: 'string',
content_type: 'string',
content_type_addition: 'string'
}
})
};
fetch('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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/crm/person_log_book_entry/42"
payload = { "data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": True
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
} }
headers = {
"x-iw-jwt-token": "<TOKEN>",
"content-type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('PATCH', 'https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42', [
'body' => '{"data":{"id":42,"person":{"id":42,"first_name":"Lena","last_name":"Hartmann","title":"Beispiel","language":"de","support_description":"Text"},"company":{"id":42,"short_name":"Beispiel","company_name":"Beispiel","secondary_name":"Beispiel","invoice_email":"lena.hartmann@example.org","send_invoice_email":true},"content":"string","content_type":"string","content_type_addition":"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.Patch,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"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\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"string\"}}");
Request request = new Request.Builder()
.url("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42")
.patch(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/crm/person_log_book_entry/42"
payload := strings.NewReader("{\"data\":{\"id\":42,\"person\":{\"id\":42,\"first_name\":\"Lena\",\"last_name\":\"Hartmann\",\"title\":\"Beispiel\",\"language\":\"de\",\"support_description\":\"Text\"},\"company\":{\"id\":42,\"short_name\":\"Beispiel\",\"company_name\":\"Beispiel\",\"secondary_name\":\"Beispiel\",\"invoice_email\":\"lena.hartmann@example.org\",\"send_invoice_email\":true},\"content\":\"string\",\"content_type\":\"string\",\"content_type_addition\":\"string\"}}")
req, _ := http.NewRequest("PATCH", 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 package:http (kein Controller im Package iw_erp_api)
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.patch(
Uri.parse('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42'),
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: jsonEncode({
"data": {
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true
},
"content": "string",
"content_type": "string",
"content_type_addition": "string"
}
}),
);
print(response.body);{
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00"
}Einen einzelnen PersonLogBookEntry mit der angegebenen ID oder dem Token löschen
DELETE/api/crm/person_log_book_entry/{identifier}
Pfad-Parameter
identifierPflichtstring |
Antworten
200Einen einzelnen PersonLogBookEntry mit der angegebenen ID oder dem Token löschenPersonLogBookEntry2
Felder anzeigen (12)
idintegerPrimärschlüssel des Logbucheintrags. Interne ID.
personCRMPerson10Person, zu der der Eintrag gehört.
Felder anzeigen (81)
idintegerPrimärschlüssel der Person. Interne ID.
first_namestringVorname der Person.
last_namestringNachname der Person.
numberintegerMitglieds- oder Kundennummer der Person.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringMitglieds- oder Kundennummer als Text, einschließlich Präfix.
genderstringGeschlecht der Person.
titlestringAkademischer oder sonstiger Titel der Person.
positionstringPosition oder Rolle der Person.
languagestringBevorzugte Sprache der Person.
special_salutationstringBesonderer Anredetext für Briefe.
form_of_salutationstringForm der Anrede, zum Beispiel förmlich oder informell.
birthdaystring (date-time)Geburtstag der Person.
known_allergiesstringBekannte Allergien der Person.
confirmed_no_allergiesbooleanErziehungsberechtigte(r) bestätigt, dass keine bekannten Allergien vorliegen.
allow_photosbooleanFotos der Person dürfen aufgenommen und veröffentlicht werden.
allow_leaving_alonebooleanDie Person darf die Veranstaltung allein verlassen.
authorized_pickupstringPersonen, die die Person abholen dürfen.
needs_supportbooleanDie Person benötigt Unterstützung, zum Beispiel zur Inklusion.
support_descriptionstringBeschreibung der Unterstützung, die die Person benötigt.
financial_supportbooleanDie Person erhält finanzielle Unterstützung.
financial_support_numberstringNummer der finanziellen Förderung.
municipal_supportbooleanDie Person erhält kommunale Unterstützung.
municipal_support_numberstringNummer der kommunalen Förderung.
grade_levelintegerSchuljahrgang der Person.
school_classstringSchulklasse der Person.
start_timestring (date-time)Beginn der Mitgliedschaft oder Aktivität.
start_time_reasonstringGrund für den Beginn.
end_timestring (date-time)Ende der Mitgliedschaft oder Aktivität.
end_time_reasonstringGrund für das Ende.
confirmed_gtc_timestring (date-time)Zeitpunkt, zu dem die AGB bestätigt wurden.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das prüfbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Zeitpunkt, zu dem die Person dem Chatbot zugestimmt hat.
chatbot_opt_in_text_versionstringVersion des Einwilligungstextes, dem zugestimmt wurde. Weicht sie von der aktuellen Version ab, ist das Opt-in abgelaufen.
app_usage_statistics_opt_outbooleanWiderspruch gegen die anonyme Nutzungsstatistik der Mitglieder-App. Die App liest ihn aus den StaticData und schickt dann nichts mehr; die gezählten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Kontaktdaten der Person, zum Beispiel Telefon und E-Mail.
archivedbooleanOb die Person archiviert ist.
subscribed_newsletterbooleanOb die Person den Newsletter abonniert hat.
subscribed_magazinebooleanOb die Person das Magazin abonniert hat.
printed_member_cardbooleanOb für die Person ein Mitgliedsausweis gedruckt wurde.
has_login_userbooleanOb die Person einen Anmelde-Benutzer hat.
profile_picture_urlstringURL des Profilbilds der Person.
log_book_staffbooleanLogbuch-Kennzeichen: Personal.
log_book_staff1booleanLogbuch-Kennzeichen: Personal, Stufe 1.
log_book_staff2booleanLogbuch-Kennzeichen: Personal, Stufe 2.
log_book_memberbooleanLogbuch-Kennzeichen: Mitglied.
log_book_trainerbooleanLogbuch-Kennzeichen: Trainer.
log_book_trainer1booleanLogbuch-Kennzeichen: Trainer, Stufe 1.
log_book_trainer2booleanLogbuch-Kennzeichen: Trainer, Stufe 2.
log_book_head_of_departmentbooleanLogbuch-Kennzeichen: Abteilungsleitung.
log_book_supervisory_boardbooleanLogbuch-Kennzeichen: Aufsichtsrat.
log_book_board_of_directorsbooleanLogbuch-Kennzeichen: Vorstand.
log_book_honorary_memberbooleanLogbuch-Kennzeichen: Ehrenmitglied.
log_book_club_card_onebooleanLogbuch-Kennzeichen: Vereinskarte.
log_book_health_recoveredbooleanLogbuch-Kennzeichen: von Krankheit genesen.
log_book_health_vaccinatedbooleanLogbuch-Kennzeichen: geimpft.
log_book_health_vaccinated_additionstringDetails der Impfung.
log_book_good_conductbooleanLogbuch-Kennzeichen: Führungszeugnis.
log_book_first_aidbooleanLogbuch-Kennzeichen: Erste-Hilfe-Schulung.
log_book_measles_vaccinationbooleanLogbuch-Kennzeichen: Masernimpfung.
sync_lanistabooleanOb die Person mit Lanista synchronisiert ist.
categoryCRMPersonCategoryPersonenkategorie.
nicknamestringSpitzname der Person.
preferred_color_hexstringBevorzugte Farbe der Person als Hexwert.
avatar_tokenstringToken des Avatarbildes.
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
- … 2 weitere Felder
companyCRMCompanyUnternehmen, zu dem der Eintrag gehört.
Felder anzeigen (55)
idintegerPrimärschlüssel des Unternehmens. Interne ID.
short_namestringKurzname des Unternehmens.
company_namestringRechtlicher Name der Firma.
secondary_namestringZweite Namenszeile des Unternehmens.
direct_dialstringDurchwahl der Firma.
invoice_emailstringE-Mail-Adresse für Rechnungen.
send_invoice_emailbooleanRechnungen per E-Mail versenden.
send_invoice_letterbooleanRechnungen per Brief versenden.
time_report_emailstringE-Mail-Adresse für Zeitberichte.
payment_goalPaymentGoalZahlungsbedingung der Firma.
payment_intervalstringIntervall der Zahlungen.
vatidstringUmsatzsteuer-Identifikationsnummer.
taxnumberstringSteuernummer des Unternehmens.
buyer_reference_idstringLeitweg-ID oder vom Kunden definierte individuelle Referenz-ID
taxTaxFür das Unternehmen verwendeter Steuersatz.
infostringInformationen zur Firma.
numberstringKunden- oder Lieferantennummer des Unternehmens.
manual_numberintegerManuell gesetzte Nummer statt der automatischen Nummer.
number_stringstringUnternehmensnummer als Text, einschließlich Präfix.
is_customerbooleanDas Unternehmen ist ein Kunde.
is_supplierbooleanDas Unternehmen ist ein Lieferant.
is_otherbooleanDas Unternehmen ist weder Kunde noch Lieferant.
is_memberbooleanDas Unternehmen ist ein Mitglied.
archivedbooleanDas Unternehmen ist archiviert.
categoryCRMCompanyCategoryKategorie des Unternehmens.
visible_for_customerbooleanOb das Unternehmen für den Kunden sichtbar ist.
founding_datestring (date-time)Gründungsdatum des Unternehmens.
nace_sectionstringNACE-Abschnittscode (Buchstabe A-U)
nace_codestringNACE-Code (numerisch, z. B. 01.11, 62.01)
search_stringstringText, unter dem die Entität gesucht werden kann.
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.
address_admin_level1stringErste Verwaltungsebene der Adresse, z. B. das Bundesland.
address_countrystringLändercode der Adresse.
address_full_countrystringVollständiger Name des Landes der Adresse.
address_geo_latstringBreitengrad der Adresse.
address_geo_lngstringLängengrad der Adresse.
address_external_provider_idstringFeld zur Speicherung der externen Anbieter-ID der Adresse, z. B. Google-Maps-PlaceID wie google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringHaupttelefonnummer.
main_faxstringHaupt-Faxnummer.
main_emailstringHaupt-E-Mail-Adresse.
websitestringWebsite-Adresse.
createdstring (date-time)Zeitpunkt, zu dem der Datensatz angelegt wurde.
updatedstring (date-time)Zeitpunkt, zu dem der Datensatz zuletzt aktualisiert wurde.
payment_typePaymentTypecompany_employee_countintegerAnzahl der Mitarbeitenden der Firma.
company_founding_yearintegerGründungsjahr des Unternehmens.
company_family_ownedbooleanOb das Unternehmen familiengeführt ist.
company_sales_volumestringUmsatzvolumen des Unternehmens.
company_segmentstringMarktsegment der Firma.
contentstringInhalt des Eintrags.
content_typestringArt des Eintrags.
content_type_additionstringZusätzliche Angabe zum Eintragstyp.
startstring (date-time)Beginn des Eintrags.
start_billingstring (date-time)Beginn des abgerechneten Zeitraums.
endstring (date-time)Ende des Eintrags.
expiry_warning_sent_atstring (date-time)Gesetzt, wenn eine Ablaufwarnung versendet wurde; wird geleert, wenn sich das Enddatum ändert, sodass die Warnung erneut scharf geschaltet wird (siehe BookableComponentExpiryCheckCommand)
productPredefinedBillingItem9Mit dem Eintrag gebuchte Abrechnungsposition.
Felder anzeigen (55)
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.
parentPredefinedBillingItem9Ü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.
- … 32 weitere Felder
- … 16 weitere Felder
curl --request DELETE \
--url https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'DELETE', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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/crm/person_log_book_entry/42"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.delete(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('DELETE', 'https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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.Delete,
RequestUri = new Uri("https://eure-instanz.iw-erp.de/api/crm/person_log_book_entry/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/crm/person_log_book_entry/42")
.delete(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/crm/person_log_book_entry/42"
req, _ := http.NewRequest("DELETE", 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/crm_person_log_book_entry_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 CrmPersonLogBookEntryController.delete('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"person": {
"id": 42,
"first_name": "Lena",
"last_name": "Hartmann",
"title": "Beispiel",
"language": "de",
"support_description": "Text",
"profile_picture_url": "https://vynst.de",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"company": {
"id": 42,
"short_name": "Beispiel",
"company_name": "Beispiel",
"secondary_name": "Beispiel",
"invoice_email": "lena.hartmann@example.org",
"send_invoice_email": true,
"time_report_email": "lena.hartmann@example.org",
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163"
},
"content": "string",
"content_type": "string",
"content_type_addition": "string",
"start": "2026-10-15T09:30:00+02:00",
"start_billing": "2026-10-15T09:30:00+02:00",
"end": "2026-10-15T09:30:00+02:00",
"expiry_warning_sent_at": "2026-10-15T09:30:00+02:00"
}