CRMTicket
This method will get all CustomerTicket Objects
GET/api/crm/tickets
Query parameters
idstring | , LOGGED_IN |
inportalboolean | |
deletedstring | , LOGGED_IN |
crmProjectstring | , LOGGED_IN |
crmProjectItemstring | , LOGGED_IN |
createdByUserstring | , LOGGED_IN |
assignedUserstring | , LOGGED_IN |
companystring | , LOGGED_IN |
statusstring | , LOGGED_IN |
archivedboolean | , LOGGED_IN |
crmProjectCategoryAreastring | , LOGGED_IN |
unifiedCategorystring | , LOGGED_IN |
calculatedScoreDueDatestring | , LOGGED_IN |
calculatedScoreBusinessValuestring | , LOGGED_IN |
calculatedScorestring | , LOGGED_IN |
businessValuestring | , LOGGED_IN |
issuecategorystring | A category like website, hosting, marketing | , LOGGED_IN |
statusidstring | , LOGGED_IN |
createdstring | , LOGGED_IN |
headlinestring | , LOGGED_IN |
duedatestring | , LOGGED_IN |
ticketTypestring | , LOGGED_IN |
reopenDatestring | , LOGGED_IN |
sprintstring | The sprint this ticket is planned for. Tickets without a sprint are the backlog. | , LOGGED_IN |
storyPointsstring | Relative planning estimate used during sprint planning | , LOGGED_IN |
boardOrderstring | Manual position of the ticket inside its kanban column / sprint backlog | , LOGGED_IN |
aiUrgencyScorestring | Interner Dringlichkeits-Score 0-100 aus der KI-Triage (TicketAiTriageHelper), null = nicht bewertet. Nur fuer das Team sichtbar. |
aiEmergencystring | Die KI-Triage hat das Ticket als absoluten Notfall erkannt (das Team wurde zusaetzlich benachrichtigt). null = nicht geprueft. |
searchStringstring | text to search for in the list |
orderFieldNamestring | name of the order field |
orderFieldSortstring | sorting modeAllowed: DESCASC |
pageinteger | page of the list |
pageSizeinteger | number of entries for each page |
withMaxPageNumberstring | returns the number of pages available as a header if this is set |
Responses
200Returns a list of CustomerTicket objectsarray<CustomerTicket>
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompanyCompany the ticket belongs to.
Show fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject8CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompanyCompany the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
- … 50 more fields
curl --request GET \
--url https://your-instance.iw-erp.de/api/crm/tickets \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets"
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://your-instance.iw-erp.de/api/crm/tickets', [
'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://your-instance.iw-erp.de/api/crm/tickets"),
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://your-instance.iw-erp.de/api/crm/tickets")
.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://your-instance.iw-erp.de/api/crm/tickets"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.getAll();
if (result.success) {
print(result.data);
}[
{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}
]Add a new Ticket
POST/api/crm/tickets
Request body application/json
dataCustomerTicket2Show fields (1)
unified_categoryUnifiedCategory11
Responses
200Add a new TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
}
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
unified_category: {
address_street: 'Jakobistr. 39',
address_city: 'Hannover',
address_zip: '30163',
address_country: 'DE',
address_full_country: 'DE',
main_phone: '+49 511 123456'
}
}
})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets"
payload = { "data": { "unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
} } }
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://your-instance.iw-erp.de/api/crm/tickets', [
'body' => '{"data":{"unified_category":{"address_street":"Jakobistr. 39","address_city":"Hannover","address_zip":"30163","address_country":"DE","address_full_country":"DE","main_phone":"+49 511 123456"}}}',
'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://your-instance.iw-erp.de/api/crm/tickets"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
{
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\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets")
.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://your-instance.iw-erp.de/api/crm/tickets"
payload := strings.NewReader("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.post(CustomerTicket.fromJson({
"unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
}
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Ratings of finished tickets in a period (customer_panel_ticket_satisfaction_enabled): count, average, distribution, per assignee and per area, and the comments.
GET/api/crm/tickets/satisfaction_report
Query parameters
fromstring | Start date (Y-m-d), default 90 days ago |
tostring | End date (Y-m-d), default today |
Responses
200The reportobject
curl --request GET \
--url https://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report"
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://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report', [
'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://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report"),
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://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report")
.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://your-instance.iw-erp.de/api/crm/tickets/satisfaction_report"
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.getSatisfactionReport();
if (result.success) {
print(result.data);
}{}This method will get a single Ticket with the given id
GET/api/crm/tickets/{id}
Path parameters
idrequiredstring |
Responses
200Returns a single TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request GET \
--url https://your-instance.iw-erp.de/api/crm/tickets/42 \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'GET', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.get('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Update a Ticket
PUT/api/crm/tickets/{id}
Path parameters
idrequiredstring |
Request body application/json
dataCustomerTicket2Show fields (1)
unified_categoryUnifiedCategory11
Responses
200Update a TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request PUT \
--url https://your-instance.iw-erp.de/api/crm/tickets/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
}
}
}
'const options = {
method: 'PUT',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
unified_category: {
address_street: 'Jakobistr. 39',
address_city: 'Hannover',
address_zip: '30163',
address_country: 'DE',
address_full_country: 'DE',
main_phone: '+49 511 123456'
}
}
})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42"
payload = { "data": { "unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
} } }
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://your-instance.iw-erp.de/api/crm/tickets/42', [
'body' => '{"data":{"unified_category":{"address_street":"Jakobistr. 39","address_city":"Hannover","address_zip":"30163","address_country":"DE","address_full_country":"DE","main_phone":"+49 511 123456"}}}',
'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://your-instance.iw-erp.de/api/crm/tickets/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
{
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\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/42"
payload := strings.NewReader("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.put(CustomerTicket.fromJson({
"unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
}
}));
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Update a Ticket
PATCH/api/crm/tickets/{id}
Path parameters
idrequiredstring |
Request body application/json
dataCustomerTicket2Show fields (1)
unified_categoryUnifiedCategory11
Responses
200Update a TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request PATCH \
--url https://your-instance.iw-erp.de/api/crm/tickets/42 \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
}
}
}
'const options = {
method: 'PATCH',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({
data: {
unified_category: {
address_street: 'Jakobistr. 39',
address_city: 'Hannover',
address_zip: '30163',
address_country: 'DE',
address_full_country: 'DE',
main_phone: '+49 511 123456'
}
}
})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42"
payload = { "data": { "unified_category": {
"address_street": "Jakobistr. 39",
"address_city": "Hannover",
"address_zip": "30163",
"address_country": "DE",
"address_full_country": "DE",
"main_phone": "+49 511 123456"
} } }
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://your-instance.iw-erp.de/api/crm/tickets/42', [
'body' => '{"data":{"unified_category":{"address_street":"Jakobistr. 39","address_city":"Hannover","address_zip":"30163","address_country":"DE","address_full_country":"DE","main_phone":"+49 511 123456"}}}',
'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://your-instance.iw-erp.de/api/crm/tickets/42"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
{
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\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/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://your-instance.iw-erp.de/api/crm/tickets/42"
payload := strings.NewReader("{\"data\":{\"unified_category\":{\"address_street\":\"Jakobistr. 39\",\"address_city\":\"Hannover\",\"address_zip\":\"30163\",\"address_country\":\"DE\",\"address_full_country\":\"DE\",\"main_phone\":\"+49 511 123456\"}}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.archive(42);
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Create several sick tickets ("Massen-Krankmeldung") at once and return a result per row.
POST/api/crm/tickets/sick_bulk
Every row is handled like one row of the sick ticket CSV import (SickTicketImportService): it accepts the same column keys (PERSON_IDENTIFIER or name + school + class, START_DATE, END_DATE, SICK_TICKET_DESCRIPTION and their aliases in IwSharedDataArrayHandler), applies the same timeframe rules and skips the same duplicates. Rows are independent: a skipped row does not stop the others.
Request body application/json
dataobjectShow fields (1)
rowsarray<object>Rows with the column keys of the sick ticket import (max. 500)
Responses
200The result of every row in the order of the requestobject
Show fields (3)
createdintegerskippedintegerrowsarray<object>Show fields (5)
rowintegerIndex of the row in the request, starting at 0
statusstringAllowed:
createdempty_rowunknown_categorymissing_categorymissing_personinvalid_timeframeduplicateticket_idintegerperson_idintegerperson_namestring
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/sick_bulk \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/sick_bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/sick_bulk"
payload = {}
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://your-instance.iw-erp.de/api/crm/tickets/sick_bulk', [
'body' => '{}',
'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://your-instance.iw-erp.de/api/crm/tickets/sick_bulk"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
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, "{}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/sick_bulk")
.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://your-instance.iw-erp.de/api/crm/tickets/sick_bulk"
payload := strings.NewReader("{}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.postSickBulk(List<SickTicketBulkRow>.fromJson({}));
if (result.success) {
print(result.data);
}{
"created": 1,
"skipped": 1,
"rows": [
{
"person_name": "Beispiel",
"row": 1,
"status": "created",
"ticket_id": 42,
"person_id": 42
}
]
}Create the follow-up ticket ("Wiedervorlage") the AI suggested for this ticket.
POST/api/crm/tickets/{id}/ai_follow_up
The suggestion comes from the opt-in AI follow-up detection (inwendo_crm_ticket_ai_follow_up_enabled). Creating a ticket needs the full ticket scope.
Path parameters
idrequiredstring |
Request body application/json
dataobjectShow fields (2)
sourcestringKey of the suggestion in ai_follow_ups
duestringOptional other due date
Responses
200The created follow-up ticketCustomerTicket4
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompanyCompany the ticket belongs to.
Show fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject10CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompanyCompany the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"source": "comment_12",
"due": "2026-03-15 09:00:00"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {source: 'comment_12', due: '2026-03-15 09:00:00'}})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up"
payload = { "data": {
"source": "comment_12",
"due": "2026-03-15 09:00:00"
} }
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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up', [
'body' => '{"data":{"source":"comment_12","due":"2026-03-15 09:00:00"}}',
'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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"source\":\"comment_12\",\"due\":\"2026-03-15 09:00:00\"}}")
{
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\":{\"source\":\"comment_12\",\"due\":\"2026-03-15 09:00:00\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up")
.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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up"
payload := strings.NewReader("{\"data\":{\"source\":\"comment_12\",\"due\":\"2026-03-15 09:00:00\"}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.createAiFollowUp('42', '…');
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Dismiss a follow-up the AI suggested for this ticket.
POST/api/crm/tickets/{id}/ai_follow_up/dismiss
Path parameters
idrequiredstring |
Request body application/json
dataobjectShow fields (1)
sourcestringKey of the suggestion in ai_follow_ups
Responses
200The ticketCustomerTicket4
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompanyCompany the ticket belongs to.
Show fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject10CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompanyCompany the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '
{
"data": {
"source": "comment_12"
}
}
'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({data: {source: 'comment_12'}})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss"
payload = { "data": { "source": "comment_12" } }
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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss', [
'body' => '{"data":{"source":"comment_12"}}',
'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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{\"data\":{\"source\":\"comment_12\"}}")
{
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\":{\"source\":\"comment_12\"}}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss")
.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://your-instance.iw-erp.de/api/crm/tickets/42/ai_follow_up/dismiss"
payload := strings.NewReader("{\"data\":{\"source\":\"comment_12\"}}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.dismissAiFollowUp('42', '…');
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Summarize the ticket and its history with the AI (customer_panel_ai_ticket_summary_enabled).
POST/api/crm/tickets/{id}/ai_summary
The summary is stored on the ticket (ai_summary, only for the team) and returned with it.
Path parameters
idrequiredstring |
Responses
200The ticket with its new summaryCustomerTicket4
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompanyCompany the ticket belongs to.
Show fields (55)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject10CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompanyCompany the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary"),
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://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/crm/tickets/42/ai_summary"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.postAiSummary('42');
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}This method will set a new Status for the Ticket
POST/api/crm/tickets/{id}/statuses
Path parameters
idrequiredstring |
Responses
200Set a new Status for a TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/statuses \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/statuses"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/crm/tickets/42/statuses', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/crm/tickets/42/statuses"),
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://your-instance.iw-erp.de/api/crm/tickets/42/statuses")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/crm/tickets/42/statuses"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.changeStatus(CustomerTicket.fromJson({}), 42);
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Add a Attachment to a Ticket
POST/api/crm/tickets/{id}/adds/attachments
Path parameters
idrequiredstring |
Responses
200Add an Attachment to a TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments"),
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://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/crm/tickets/42/adds/attachments"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/attachment.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.addAttachment(CustomerTicket.fromJson({}), Attachment.fromJson({}));
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Remove an Attachment from Ticket
POST/api/crm/tickets/{id}/deletes/attachments
Path parameters
idrequiredstring |
Responses
200Remove an Attachment from TicketCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments \
--header 'x-iw-jwt-token: <TOKEN>'const options = {method: 'POST', headers: {'x-iw-jwt-token': '<TOKEN>'}};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments"
headers = {"x-iw-jwt-token": "<TOKEN>"}
response = requests.post(url, headers=headers)
print(response.text)<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments', [
'headers' => [
'x-iw-jwt-token' => '<TOKEN>',
],
]);
echo $response->getBody();using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments"),
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://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments")
.post(null)
.addHeader("x-iw-jwt-token", "<TOKEN>")
.build();
Response response = client.newCall(request).execute();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://your-instance.iw-erp.de/api/crm/tickets/42/deletes/attachments"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-iw-jwt-token", "<TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}Dart with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/attachment.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.deleteAttachment(CustomerTicket.fromJson({}), Attachment.fromJson({}));
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}Moves a Ticket on the kanban board / in the sprint planning
POST/api/crm/tickets/{id}/board_positions
A move can change the status (kanban column), the sprint and the manual position inside the column at once. Only the submitted values are applied.
Path parameters
idrequiredstring |
Request body application/json
dataTicketBoardPositionRequest
Responses
200Move a Ticket on the boardCustomerTicket3
Show fields (21)
satisfaction_requested_atstringWhen the customer / member was asked to rate the finished ticket; the apps offer the rating once this is set.
idintegerPrimary key of the ticket. Internal ID.
ticket_typestringType of the ticket.
numberintegerRunning ticket number.
number_stringstringTicket number as displayed to users.
companyCRMCompany19Company the ticket belongs to.
Show fields (56)
idintegerPrimary key of the company. Internal ID.
short_namestringShort name of the company.
company_namestringLegal name of the company.
secondary_namestringSecond name line of the company.
direct_dialstringDirect dial number of the company.
invoice_emailstringE-mail address for invoices.
send_invoice_emailbooleanSend invoices by e-mail.
send_invoice_letterbooleanSend invoices by letter.
time_report_emailstringE-mail address for time reports.
payment_goalPaymentGoalPayment term of the company.
payment_intervalstringInterval of the payments.
vatidstringVAT identification number.
taxnumberstringTax number of the company.
buyer_reference_idstringLeitweg-ID or custom reference ID defined by the customer
taxTaxTax rate used for the company.
infostringInformation about the company.
numberstringCustomer or supplier number of the company.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringCompany number as text, including prefix.
is_customerbooleanThe company is a customer.
is_supplierbooleanThe company is a supplier.
is_otherbooleanThe company is neither customer nor supplier.
is_memberbooleanThe company is a member.
archivedbooleanThe company is archived.
categoryCRMCompanyCategoryCategory of the company.
visible_for_customerbooleanWhether the company is visible to the customer.
founding_datestring (date-time)Founding date of the company.
nace_sectionstringNACE section code (letter A-U)
nace_codestringNACE code (numeric like 01.11, 62.01)
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
main_phonestringMain phone number.
main_faxstringMain fax number.
main_emailstringMain e-mail address.
websitestringWebsite address.
createdstring (date-time)Point in time the entity was created.
updatedstring (date-time)Point in time the entity was last updated.
atagsarray<AccessTag>payment_typePaymentTypecompany_employee_countintegerNumber of employees of the company.
company_founding_yearintegerFounding year of the company.
company_family_ownedbooleanWhether the company is family-owned.
company_sales_volumestringSales volume of the company.
company_segmentstringMarket segment of the company.
personCRMPerson10Person the ticket belongs to.
Show fields (81)
idintegerPrimary key of the person. Internal ID.
first_namestringFirst name of the person.
last_namestringLast name of the person.
numberintegerMember or customer number of the person.
manual_numberintegerNumber set manually instead of the automatic number.
number_stringstringMember or customer number as text, including prefix.
genderstringGender of the person.
titlestringAcademic or other title of the person.
positionstringPosition or role of the person.
languagestringPreferred language of the person.
special_salutationstringSpecial salutation text for letters.
form_of_salutationstringForm of salutation, for example formal or informal.
birthdaystring (date-time)Birthday of the person.
known_allergiesstringKnown allergies of the person.
confirmed_no_allergiesbooleanGuardian confirmed that there are no known allergies.
allow_photosbooleanPhotos of the person may be taken and published.
allow_leaving_alonebooleanThe person may leave the event alone.
authorized_pickupstringPersons who are allowed to pick up the person.
needs_supportbooleanThe person needs support, for example for inclusion.
support_descriptionstringDescription of the support the person needs.
financial_supportbooleanThe person receives financial support.
financial_support_numberstringNumber of the financial support.
municipal_supportbooleanThe person receives municipal support.
municipal_support_numberstringNumber of the municipal support.
grade_levelintegerSchool grade level of the person.
school_classstringSchool class of the person.
start_timestring (date-time)Start of the membership or activity.
start_time_reasonstringReason for the start.
end_timestring (date-time)End of the membership or activity.
end_time_reasonstringReason for the end.
confirmed_gtc_timestring (date-time)Time the general terms and conditions were confirmed.
chatbot_opt_inbooleanEinwilligung in die Nutzung des KI-Assistenten. Denormalisierter aktueller Stand - das pruefbare Protokoll steht in ChatbotConsent.
chatbot_opt_in_atstring (date-time)Time the person opted in to the chatbot.
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 gezaehlten Aufrufe selbst haben keinen Bezug zur Person.
crm_person_contact_dataarray<CRMPersonContactData>Contact data of the person, for example phone and e-mail.
archivedbooleanWhether the person is archived.
subscribed_newsletterbooleanWhether the person subscribed to the newsletter.
subscribed_magazinebooleanWhether the person subscribed to the magazine.
printed_member_cardbooleanWhether a member card has been printed for the person.
has_login_userbooleanWhether the person has a login user.
profile_picture_urlstringURL of the profile picture of the person.
log_book_staffbooleanLog book flag: staff.
log_book_staff1booleanLog book flag: staff, level 1.
log_book_staff2booleanLog book flag: staff, level 2.
log_book_memberbooleanLog book flag: member.
log_book_trainerbooleanLog book flag: trainer.
log_book_trainer1booleanLog book flag: trainer, level 1.
log_book_trainer2booleanLog book flag: trainer, level 2.
log_book_head_of_departmentbooleanLog book flag: head of department.
log_book_supervisory_boardbooleanLog book flag: supervisory board.
log_book_board_of_directorsbooleanLog book flag: board of directors.
log_book_honorary_memberbooleanLog book flag: honorary member.
log_book_club_card_onebooleanLog book flag: club card.
log_book_health_recoveredbooleanLog book flag: recovered from illness.
log_book_health_vaccinatedbooleanLog book flag: vaccinated.
log_book_health_vaccinated_additionstringDetails of the vaccination.
log_book_good_conductbooleanLog book flag: certificate of good conduct.
log_book_first_aidbooleanLog book flag: first aid training.
log_book_measles_vaccinationbooleanLog book flag: measles vaccination.
sync_lanistabooleanWhether the person is synchronized with Lanista.
categoryCRMPersonCategoryPerson category.
nicknamestringNickname of the person.
preferred_color_hexstringPreferred color of the person as hex value.
avatar_tokenstringToken of the avatar image.
search_stringstringText that the entity can be searched by.
addressstringAddress as text.
address_streetstringStreet of the address.
address_house_numberstringHouse number of the address.
address_street_levelstringStreet and house number of the address.
address_costringCare-of line of the address.
address_citystringCity of the address.
address_zipstringPostal code of the address.
address_admin_level1stringFirst administrative level of the address, e.g. the federal state.
address_countrystringCountry code of the address.
address_full_countrystringFull name of the country of the address.
address_geo_latstringLatitude of the address.
address_geo_lngstringLongitude of the address.
address_external_provider_idstringfield to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE
createdstring (date-time)Point in time the entity was created.
- … 2 more fields
jirakeystringKey of the linked Jira issue.
jiraidstringID of the linked Jira issue.
assignedusernamestringName of the assigned user, as text.
assigned_userUserUser the ticket is assigned to.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
createdbyusernamestringName of the user who created the ticket, as text.
created_by_userUserUser who created the ticket.
Show fields (11)
idintegerPrimary key of the user. Internal ID of the login user.
namestringDisplay name of the user. Shown in the UI and in audit entries.
usernamestringLogin name of the user. Must be unique across all users.
emailstringE-mail address of the user. Used for login notifications, password resets and as a login alias.
user_access_groupUserAccessGroup3User access group of the user. Defines the rights of the user for all scopes.
positioningeneralstringFree text describing the position or role of the user.
crm_personCRMPerson10CRM person linked to this login user. Connects the login account with the person record.
profile_picture_urlstringURL of the profile picture of the user.
archivedbooleanMarks the user as archived. Archived users are kept for history and are not active.
require2fabooleanTwo-factor authentication is required for this user.
search_stringstringText that the entity can be searched by.
statusstringStatus of the ticket as text.
statusidstringID of the status of the ticket.
issuetypestringA type like bug, task, story
issuecategorystringA category like website, hosting, marketing
crm_project_category_areaCRMProjectCategoryAreaProject category area the ticket belongs to.
Show fields (4)
idintegerPrimary key of the category area. Internal ID.
namestringName of the area.
descriptionstringDescription of the area.
deletedbooleanThis property is used to mark an entity as deleted / archived
issueprojectstringA project like a domain (inwendo.de) or a certain mail campaign
crm_projectCRMProject9CRM project the ticket belongs to.
Show fields (19)
idintegerPrimary key of the project. Internal ID.
namestringName of the project.
closedstring (date-time)Time the project was closed.
billedstring (date-time)Time the project was billed.
numberstringNumber of the project.
startstring (date-time)Start of the project.
endstring (date-time)End of the project.
descriptionstringDescription of the project.
companyCRMCompany19Company the project belongs to.
internal_main_contactUserInternal login user who is the main contact.
categoryCRMProjectCategoryCategory of the project.
archivedbooleanThe project is archived.
visible_for_customerbooleanThe project is visible in the customer app.
name_for_customerstringName of the project shown to customers.
invoice_emailstringE-mail address for invoices of the project.
time_report_emailstringE-mail address for time reports of the project.
search_stringstringText that the entity can be searched by.
createdstring (date-time)Point in time the entity was created.
- … 1 more fields
- … 51 more fields
curl --request POST \
--url https://your-instance.iw-erp.de/api/crm/tickets/42/board_positions \
--header 'content-type: application/json' \
--header 'x-iw-jwt-token: <TOKEN>' \
--data '{}'const options = {
method: 'POST',
headers: {'x-iw-jwt-token': '<TOKEN>', 'content-type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://your-instance.iw-erp.de/api/crm/tickets/42/board_positions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://your-instance.iw-erp.de/api/crm/tickets/42/board_positions"
payload = {}
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://your-instance.iw-erp.de/api/crm/tickets/42/board_positions', [
'body' => '{}',
'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://your-instance.iw-erp.de/api/crm/tickets/42/board_positions"),
Headers =
{
{ "x-iw-jwt-token", "<TOKEN>" },
},
Content = new StringContent("{}")
{
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, "{}");
Request request = new Request.Builder()
.url("https://your-instance.iw-erp.de/api/crm/tickets/42/board_positions")
.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://your-instance.iw-erp.de/api/crm/tickets/42/board_positions"
payload := strings.NewReader("{}")
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 with the iw_erp_api package
import 'package:iw_erp_api/clients/crm_ticket_controller.dart';
import 'package:iw_erp_api/logic/iw_api_state.dart';
import 'package:iw_erp_api/model/customer_ticket.dart';
IwApiState().host = 'your-instance.iw-erp.de';
IwApiState().currentJwtApiToken = '<TOKEN>';
final result = await CrmTicketController.changeBoardPosition(CustomerTicket.fromJson({}));
if (result.success) {
print(result.data);
}{
"id": 42,
"external_person_first_name": "Beispiel",
"external_person_last_name": "Beispiel",
"external_person_email": "lena.hartmann@example.org",
"external_person_phone": "+49 511 123456",
"external_person_address_city": "Hannover",
"external_person_address_zip": "30163",
"external_person_address_country": "DE",
"external_company_name": "Beispiel",
"external_company_email": "lena.hartmann@example.org"
}