Wiki-Quellcode von CMS-Schnittstelle

Version 180.1 von MACH ProForms GmbH am 25.06.2024

Zeige letzte Bearbeiter
1 ## Mehrwert technischer Kooperation
2
3 Durch die Implementierung einer Schnittstelle zwischen einem CMS, DMS, Fachverfahren etc. (nachfolgend Partnersystem genannt) und dem Formular-Server kann je nach Ausgestaltung ein erheblicher Mehrwert für gemeinsame Kunden erreicht werden. Eine technische Kooperation zwischen den Systemen ist dabei nicht nur ein weiteres Produkt, das den bestehenden Kunden als ein nützliches Add-On angeboten werden kann. Insbesondere im kommunalen Markt gewinnt Interoperabilität von IuK-Systemen (Informations- und Kommunikations-Systemen) rasant an Bedeutung und wird somit für alle Anbieter zu einem zentralen Vertriebsargument für ihr Basisprodukt.
4
5 Nachfolgend werden einige Implementierungsvarianten der Schnittstelle beschrieben, die mit einem relativ überschaubaren Aufwand umgesetzt werden können:
6
7 ### Redundanzfreie Benutzerverwaltung
8
9 Durch die Verbindung des Partnersystems mit MACH formsolutions kann die Benutzerverwaltung für beide Systeme einheitlich aus der Oberfläche des Partnersystems erfolgen. Die doppelte Erfassung und Pflege der Benutzer entfällt somit künftig für den Kunden, wodurch sowohl der administrative Aufwand, wie auch das Risiko von Fehleingaben halbiert werden.
10
11 Bei personell stets sparsam ausgestatteten IT-Abteilungen der öffentlichen Hand bedeutet die Aufhebung der Benutzerverwaltungsredundanz einen spürbaren monetären Nutzen, der bei der Auswahl von Software entscheidend sein kann.
12
13 ### Single Sign On
14
15 Mitarbeiter der Kunden beider Systeme sind mit dem Einsatz der Schnittstelle nicht mehr gezwungen sich mehrfach in jedem System separat zu authentifizieren. Mit der einmaligen Passworteingabe beim Partnersystem erfolgt der Login beim Formularserver vollautomatisch. Mit der einfacheren, hindernisfreien Nutzung und der Zeitersparnis für alle Nutzer erhöht das Single Sign On die Effizienz beider Programme. Ferner führt der Wegfall des Umgangs mit mehreren Passwörtern für jeden Nutzer zur Reduzierung des Administrationsaufwands und zur Erhöhung der Sicherheit, da die Passwörter zur Gedächtnisstütze nicht mehr schriftlich notiert werden müssen.
16
17 ### Vorausgefüllte Formulare im Intranet-Bereich
18
19 Im Bereich des Intranets besteht der Vorteil, dass i.d.R. die gesamte Nutzergruppe und damit alle Absender und Empfänger von Formularen bekannt sind. Die im Partnersystem gespeicherten Personaldaten können ausgelesen und zur Vorbefüllung von Formularen verwendet werden. Je nach Geschäftsvorfall wird damit ein Großteil der Formularfelder automatisch ausgefüllt, wodurch die Fehlerquote und der Aufwand bei der manuellen Formularbefüllung auf ein Minimum reduziert und die gesamte Durchlaufzeit von internen Prozessen deutlich beschleunigt werden kann.
20
21 ### Parametrisierungsdynamik
22
23 In bestimmten Lebenslagen muss der Bürger mehrfach in Interaktion zu seiner Gemeinde treten und damit i.d.R. gleichzeitig oder in einem kurzen Zeitraum eine Vielzahl von Formularen ausfüllen.
24
25 **Beispiel: Lebenslage Wohnungswechsel/Umzug**
26
27 Bei einem Umzug muss eine Familie bei der Gemeinde ihren Wohnsitz, ihre Kinder bei der Musikschule und / oder im Kindergarten, ihren Hund bei der Steuerbehörde, Strom, Wasser und Müll bei den Stadtwerken usw. anmelden.
28
29 Diese Liste kann beliebig weitergeführt werden. In dem genannten Beispiel muss die Familie mindestens sieben Formulare ausfüllen. Dabei ist ein Großteil der notwendigen Daten identisch und muss trotzdem wiederholt händisch eingeben werden. Stattdessen kann mit Einverständnis des Bürgers ein Teil der notwendigen Daten zentral zwischengespeichert werden. Mit diesen Daten können die weiteren formulargestützten Interaktionen des Bürgers mit der Gemeinde automatisch vorparametrisiert werden. Der Bürger kann damit in einem viel schnelleren und einfacheren Rahmen seine Anträge vervollständigen und an die Gemeinde weiterleiten. Dies führt mittelfristig zu einer höheren Akzeptanz beim Bürger. Für den Sachbearbeiter bedeutet eine automatische Parametrisierung der Formulare vollständigere und fehlerreduzierte Anträge. Die Bearbeitungszeit für Prüfung, Vervollständigung und Anordnung der Wiedervorlage kann verkürzt werden, was wiederum zu kürzeren Durchlaufzeiten und damit zu höherer Verwaltungseffizienz, sowie besserer Bürgerzufriedenheit beiträgt.
30
31 ### Systemintegration und Mehrwertkonzentration
32
33 Aus dem Partnersystem-Bereich können Kunden direkt die wichtigsten Komponenten des Formularservers ansprechen, bedienen und konfigurieren und damit aus einer Umgebung heraus ohne jegliche Umstellung den Mehrwert beider Systeme vereinen. Trotz plattformübergreifender Funktionalität befindet sich der Nutzer auf einer einheitlichen Oberfläche und braucht bei der täglichen Arbeit nicht ständig zwischen einer Vielzahl von Userinterfaces zu wechseln.
34
35 Unter anderem können die folgenden Komponenten aus dem Partnersystem angesteuert werden:
36
37 #### Formular-Recherche
38
39 Der Formular-Server enthält ein umfassendes Recherche-System für Schlagwörter, Namen, Formularnummern und Volltext. Zusätzlich wird die Suche durch standardmäßige Klassifizierung der Formulare in u.a. Kategorie, Dateityp und Datum weiter präzisiert. Weiterhin kann zwischen Verlagsformularen und kundenspezifischen Formularen unterschieden werden.
40
41 #### Formularkonfiguration
42
43 Vor der Veröffentlichung eines bestimmten Formulars können im Formular-Server zunächst die Eigenschaften und die Funktionalität desselben festgelegt werden. Durch die Definition der einzelnen Parameter wird bei der Veröffentlichung des Formulars je nach Einstellung der spezifische Link generiert. Hierzu gehört die Festlegung der:
44
45 * zu verwendeten Schaltflächen und damit die durch den Bürger ansprechbaren Funktionalitäten (z.B. Formular online senden, digital signieren etc.)
46 * Formularsicherheit, zu der die Dokumentenverschlüsselung und die Dokumenteneinschränkung zählen (z.B. Drucken nicht zulässig)
47 * Benachrichtigungsoptionen
48 Diese dienen zur Festlegung der E-Mail-Adressen, die beim elektronischen Versand von Formularen benachrichtigt werden.
49 * eCash Optionen
50 Soweit bei den Schaltflächen „Senden mit eCash“ ausgewählt wurde, können bei den eCash Optionen der einzuziehende Betrag und interne Vermerke definiert werden. Bei der Bezahlung mit eCash kann gleichzeitig ein Genehmigungsprozess angestoßen werden.
51 * S-Internetkassen Optionen
52 Ebenfalls für die Bezahlung von Verwaltungsdienstleitungen kann die S-Internetkasse verwendet werden. Diese Bezahllösung beinhaltet die Möglichkeit zwischen drei Bezahlvarianten zu wählen: Bankeinzug, Kreditkarte und Giropay. Dabei kann die Kommune im Vorfeld bestimmen, welche Bezahlvarianten für den Bürger zur Verfügung stehen.
53
54 #### Formulare hochladen
55
56 Die Funktion „Formulare hochladen“ dient zur Übertragung lokal gespeicherter und selbsterstellter Formulare der Kunden auf den Formularserver. Vor dem Hochladevorgang müssen dabei zusätzlich einige Metadaten zum Dokument wie Formularname, Nummer, Kategorie usw. eingegeben werden.
57
58 #### Standard Login
59
60 Trotz umfangreicher Komponenten, die unmittelbar aus der Oberfläche des Partnersystems angesprochen werden können, wäre die Übernahme der kompletten Formularserver Funktionalität zu aufwendig. Hierfür bietet es sich an, einen direkten Login zum Formularserver via Jumplink zu implementieren. Der Benutzer kann sich dabei über die Betätigung eines Buttons im Partnersystem direkt in seinem Account auf dem Formularserver einloggen und im Bedarfsfall so zwischen den Applikationen wechseln.
61
62 ---
63
64 ## Technische Schnittstellendokumentation
65
66 ### Server2Server Schnittstellen
67
68 Server2Server Schnittstellen sind Schnittstellen zur direkten Kommunikation zwischen zwei Servern, um Benutzer- und Laufdaten auf beiden Servern synchron zu halten.
69
70 #### Webservices
71
72 Webservices sind serverseitige Dienste die Daten zwischen zwei Servern mittels des SOAP-Protokolls austauschen. SOAP ist eine abwärtskompatible Weiterentwicklung von XML. Webservice-Klassen sind in die meisten Web-Sprachen eingebettet oder für diese verfügbar. Für PHP empfehlen wir die NuSOAP Klasse, die dieser Dokumentation beigefügt ist. Mit .NET+ besteht eine Inkompatibilität in der Interpretation der HTTP1.1 Referenz, **mit .NET+ bitte HTTP1.0 verwenden.**
73
74 ![[Abbildung 1: Webservice- Schnittstelle|@ws-diagram.jpg]]
75
76 #### Interaktive Schnittstelle
77
78 Interaktive Schnittstellen wurden für Bereiche entwickelt, in denen häufige Änderungen von uns vorgenommen werden und die einer laufenden Nachbesserung bedürfen. Hierzu wird (in einem neuen Fenster) eine Webseite vom MACH ProForms aufgerufen, die nach Ablauf des Dialogs Daten an eine angegebene Webseite übergibt oder, wenn es keiner Datenübergabe bedarf, vom Benutzer geschlossen werden kann.
79
80 ![[Abbildung 2: Interaktive Schnittstelle|@ws-interactive-diagram.jpg]]
81
82 ---
83
84 ## Funktionen der Server2Server Schnittstellen
85
86 ### getuser
87
88 getuser liefert die Daten eines Benutzers in einem Array.
89
90 #### Webservice-URL:
91
92 <https://pdf.form-solutions.net/ws2/getuser.php>
93
94 #### Datenstruktur
95
96 ##### Geforderte Daten
97
98 * **cms**
99 `varchar(32)`
100 CMS-Key des Kunden
101 * **User**
102 `varchar (18)`
103 Benutzernummer des Benutzers, dessen Daten vom System zurückgegeben werden.
104
105 ##### Zurückgegebene Daten
106
107 * **Benutzer**
108 `varchar(18)`
109 Benutzernummer
110 * **ofsXX1_knr_std**
111 `varchar(13)`
112 Kundennummer
113 * **sysmail**
114 `varchar(59)`
115 E-Mail-Adresse des Benutzers, an die Systembenachrichtigungen der Kundenbereich-Oberfläche (Passwort zurücksetzten etc.) geschickt werden.
116 * **nick**
117 `varchar(50)`
118 alternativer Benutzername
119 * **b12c96nfBehoerde_Amt**
120 `varchar(255)`
121 Amt des Benutzers, z.B. Medienbüro, Finanzamt
122 * **b12c96nfBehoerde_Sachbearbeiter_Name**
123 `varchar(50)`
124 Name des Sachbearbeiters
125 * **b12c96nfBehoerde_Strasse**
126 `varchar(150)`
127 Straßenname der Behördenanschrift
128 * **ofsXX1_from_smail3**
129 `varchar(150)`
130 E-Mail-Adresse, die als Versender von Formulardaten angezeigt wird.
131 * **ofsXX1_to_smail3**
132 `varchar(150)`
133 E-Mail-Adresse an die Formulardaten gesendet werden.
134 * **b12c96nfBehoerde1**
135 `text`
136 Behördenname
137 z.B. Stadtverwaltung Karlsruhe
138 * **b12c96nfBehoerde1Anschrift**
139 `text`
140 Anschrift der Behörde einzeilig
141 * **b12c96nmBehoerde**
142 `text`
143 Anschrift der Behörde dreizeilig
144 Zeilenumbruch: `\<br\>`
145 * **b12c96nmEmpfaenger**
146 `text`
147 Anschrift der Behörde sechszeilig
148 Zeilenumbruch: `\<br\>`
149 * **b12c96nfBehoerde_PLZ_Ort**
150 `varchar(50)`
151 PLZ, Ort der Behördenanschrift z.B. 75217 Birkenfeld
152 * **b12c96nfBehoerde_Sachbearbeiter_Name**
153 `varchar(50)`
154 Name des Sachbearbeiters
155 * **b12c96nfSachbearbeiter_Zimmernummer**
156 `varchar(20)`
157 Zimmernummer des Sachbearbeiters
158 * **b12c96nfSachbearbeiter_Telefon**
159 `varchar(30)`
160 Telefonnummer des Sachbearbeiters (mit Vorwahl)
161 * **b12c96nfSachbearbeiter_Telefax**
162 `varchar(30)`
163 Faxnummer des Sachbearbeiters (ohne Vorwahl)
164 * **b12c96nfSachbearbeiter_E_Mail**
165 `varchar(30)`
166 E-Mail-Adresse des Sachbearbeiters, die im Formular angezeigt werden soll.
167 * **b12c96nfGemeindekennzahl**
168 `varchar(8)`
169 Gemeindekennzahl der Behörde (im Regelfall die ersten 8 Stellen der Kundennummer)
170 * **b12c96nfOrt_Datum**
171 `varchar(50)`
172 Ort, Datumszeile im Formular z.B. Birkenfeld, den
173 * **b12c96nmOrt_Datum2**
174 `text`
175 Ort, Datumszeile zweizeilig im Formular
176 z.B. Birkenfeld, `\<br\>`
177 den
178 * **b12c96nfAntragsteller_PLZ**
179 `varchar(10)`
180 Vollständige oder teilweise Postleitzahl des Antragstellers
181 * **b12c96nfBehoerde_PLZ_Post**
182 `varchar(7)`
183 Postleitzahl der Behördenanschrift
184 * **b12c96nfAntragsteller_Ort**
185 `varchar(30)`
186 Ortsname des Antragstellers
187 * **b12c96nfAktenzeichen**
188 `varchar(30)`
189 Aktenzeichen des Formularvorgangs
190 * **b12c96nfKontakt1Z**
191 `varchar(250)`
192 Einzeilige Kontaktnachricht auf dem Kopf des Formulars, wird meist mit Öffnungszeiten und anderen Informationen gefüllt
193 * **b12c96nmRechtsbehelfsbelehrung**
194 `text`
195 Rechtsbehelfsbelehrung, die ins Formular eingefügt wird
196 * **b12c96nfSachbearbeiter_Personalnummer**
197 `varchar(50)`
198 Personalnummer des Sachbearbeiters
199 * **b12c96nfBehoerde_Ort**
200 `varchar(255)`
201 Ortsname der Behördenanschrift
202 * **ec_sel**
203 `int(0,1)`
204 Der Benutzer hat das Recht eCash Formulare zu generieren.
205 * **ec_stat**
206 `int(0,1)`
207 Der Benutzer hat das Recht sich eCash Statistiken anzusehen.
208 * **barcode_sel**
209 `int(0,1)`
210 Der Benutzer hat das Recht 2D-Barcode Formulare zu erstellen.
211 * **usr_anl**
212 `int(0,1)`
213 Der Benutzer hat das Recht weitere Benutzer im System anzulegen.
214 * **usr_shw**
215 `int(0,1)`
216 Der Benutzer hat das Recht andere Benutzer zu verwalten.
217 * **usr_chg**
218 `int(0,1)`
219 Der Benutzer hat das Recht die Personalisierungsdatensätze anderer Benutzer zu ändern.
220 * **usr_login**
221 `int(0,1)`
222 Der Benutzer hat das Recht sich als ein anderer Benutzer einzuloggen (dies wird meist zum debuggen benutzt).
223 * **usr_del**
224 `int(0,1)`
225 Der Benutzer hat das Recht andere Benutzerdatensätze im System zu löschen.
226 * **give_right**
227 `int(0,1)`
228 Der Benutzer hat das Recht seine eigenen Rechte an andere Benutzer weiterzugeben.
229 * **ch_pers**
230 `int(0,1)`
231 Der Benutzer hat das Recht seinen eigenen Personalisierungsdatensatz zu ändern.
232 * **preset**
233 `int(0,1)`
234 Der Benutzer hat das Recht Passwörter anderer Benutzer zurückzusetzen.
235 * **form_sel**
236 `int (0,1)`
237 Der Benutzer hat das Recht Formulare für alle Benutzer ein- oder auszublenden.
238 * **form_deliver**
239 `int(0,1)`
240 Der Benutzer hat das Recht selbst erstellte Formulare hochzuladen.
241 * **form_del**
242 `int(0,1)`
243 Der Benutzer hat das Recht selbst erstellte Formulare aller Benutzer zu löschen.
244 * **form_def_set**
245 `int(0,1)`
246 Der Benutzer hat das Recht Formulardefinitionen vorzugeben.
247 * **logo**
248 `int(0,1)`
249 Der Benutzer hat das Recht ein neues Logo hochzuladen.
250 * **Exp_ben**
251 `int(0,1)`
252 Der Benutzer hat das Recht sich die angezeigten Benutzerdaten als CSV-, XLS-, XML-Datei herunterzuladen.
253 * **Exp_form**
254 `int(0,1)`
255 Der Benutzer hat das Recht sich eine Liste gesuchter Formulare als CSV-, XLS-, XML-Datei herunterzuladen.
256 * **data**
257 `int(0,1)`
258 Der Benutzer hat das Recht eingegangene Formulardaten als CSV-, XLS-, XML-Datei zu exportieren.
259 * **data_exp**
260 `int(0,1)`
261 Dieses Recht beschreibt, dass der Benutzer nur bestimmte Formulare exportieren darf.
262 * **archive**
263 `int(0,1)`
264 Der Benutzer hat das Recht eingegangene Formulardaten als CSV-, XLS-, XML-Datei zu archivieren.
265 * **archive_exp**
266 `int(0,1)`
267 Dieses Recht beschreibt, dass der Benutzer nur bestimmte Formulare archivieren darf.
268 * **Shw_admin**
269 `int(0,1)`
270 Der Benutzer hat das Recht den Administrator Datensatz (-0000) zu sehen und zu verändern.
271
272 ### getusers
273
274 Auf Anfrage erzeugt getusers ein zweidimensionales Array mit den Daten aller Benutzer eines CMS-Keys.
275
276 #### Webservice-URL:
277
278 <https://pdf.form-solutions.net/ws2/getusers.php>
279
280 #### Datenstruktur
281
282 ##### Geforderte Daten
283
284 * **cms**
285 `varchar(32)`
286 CMS-Key des Kunden
287
288 ##### Zurückgegebene Daten
289
290 Als Ergebnis erhält man ein Array mit Benutzerobjekten. Die einzelnen Objekte entsprechen der Struktur wie unter getuser beschrieben.
291
292 ### putuser (geänderte Daten)
293
294 Putuser legt einen Benutzer in der Datenbank an oder editiert einen vorhandenen Benutzer. Hier kann die Variable „Benutzer“ zwei Zustände haben:
295
296 1. eine vorhandene Benutzernummer -> Das System überschreibt die Daten des Benutzers mit den übergebenen Daten.
297 1. eine noch nicht vorhandene Benutzernummer -> Das System legt einen Benutzer mit dieser Benutzernummer an. Soll die Benutzernummer durch das System bestimmt werden, so muss das Schlüsselwort „new“ angegeben werden. Das System nimmt die nächste Benutzernummer und liefert diese zurück.
298
299 #### Webservice-URL:
300
301 <https://pdf.form-solutions.net/ws2/putuser.php>
302
303 #### Datenstruktur
304
305 ##### Geforderte Daten
306
307 * **Benutzer**
308 `varchar(18)`
309 Benutzernummer
310 * **sysmail**
311 `varchar(59)`
312 E-Mail-Adresse des Benutzers, an die Systembenachrichtigungen der Kundenbereich-Oberfläche (Passwort zurücksetzten etc.) geschickt werden.
313 * **nick**
314 `varchar(50)`
315 alternativer Benutzername
316 * **b12c96nfBehoerde_Amt**
317 `varchar(255)`
318 Amt des Benutzers z.B. Medienbüro, Finanzamt
319 * **b12c96nfBehoerde_Strasse**
320 `varchar(150)`
321 Straßenname der Behördenanschrift
322 * **ofsXX1_from_smail3**
323 `varchar(150)`
324 E-Mail-Adresse, die als Versender von Formulardaten angezeigt wird.
325 * **ofsXX1_to_smail3**
326 `varchar(150)`
327 E-Mail-Adresse an die Formulardaten gesendet werden.
328 * **b12c96nfBehoerde1**
329 `text`
330 Behördenname z.B. Stadtverwaltung Karlsruhe
331 * **b12c96nfBehoerde1Anschrift**
332 `text`
333 Anschrift der Behörde einzeilig
334 * **b12c96nmBehoerde**
335 `text`
336 Anschrift der Behörde dreizeilig
337 Zeilenumbruch: `\<br\>`
338 * **b12c96nmEmpfaenger**
339 `text`
340 Anschrift der Behörde sechszeilig
341 Zeilenumbruch: `\<br\>`
342 * **b12c96nfBehoerde_PLZ_Ort**
343 `varchar(50)`
344 PLZ, Ort der Behördenanschrift, z.B. 75217 Birkenfeld
345 * **b12c96nfBehoerde_Sachbearbeiter_Name**
346 `varchar(50)`
347 Name des Sachbearbeiters
348 * **b12c96nfSachbearbeiter_Zimmernummer**
349 `varchar(20)`
350 Zimmernummer des Sachbearbeiters
351 * **b12c96nfSachbearbeiter_Telefon**
352 `varchar(30)`
353 Telefonnummer des Sachbearbeiters (mit Vorwahl)
354 * **b12c96nfSachbearbeiter_Telefax**
355 `varchar(30)`
356 Faxnummer des Sachbearbeiters (ohne Vorwahl)
357 * **b12c96nfSachbearbeiter_E_Mail**
358 `varchar(30)`
359 E-Mail-Adresse des Sachbearbeiters, die im Formular angezeigt werden soll.
360 * **b12c96nfGemeindekennzahl**
361 `varchar(8)`
362 Gemeindekennzahl der Behörde (im Regelfall die ersten 8 Stellen der Kundennummer).
363 * **b12c96nfOrt_Datum**
364 `varchar(50)`
365 Ort, Datumszeile im Formular z.B. Birkenfeld, den
366 * **b12c96nmOrt_Datum2**
367 `text`
368 Ort, Datumszeile zweizeilig im Formular
369 z.B. Birkenfeld, `\<br\>`
370 den
371 * **b12c96nfAntragsteller_PLZ**
372 `varchar(10)`
373 Vollständige oder teilweise Postleitzahl des Antragstellers.
374 * **b12c96nfBehoerde_PLZ_Post**
375 `varchar(7)`
376 Postleitzahl der Behördenanschrift
377 * **b12c96nfAntragsteller_Ort**
378 `varchar(30)`
379 Ortsname des Antragstellers
380 * **b12c96nfAktenzeichen**
381 `varchar(30)`
382 Aktenzeichen des Formularvorgangs
383 * **b12c96nfKontakt1Z**
384 `varchar(250)`
385 Einzeilige Kontaktnachricht auf dem Kopf des Formulars, wird meist mit Öffnungszeiten und anderen Informationen gefüllt.
386 * **b12c96nmRechtsbehelfsbelehrung**
387 `text`
388 Rechtsbehelfsbelehrung, die ins Formular eingefügt wird.
389 * **b12c96nfSachbearbeiter_Personalnummer**
390 `varchar(50)`
391 Personalnummer des Sachbearbeiters
392 * **b12c96nfBehoerde_Ort**
393 `varchar(255)`
394 Ortsname der Behördenanschrift
395 * **ec_sel**
396 `int(0,1)`
397 Der Benutzer hat das Recht eCash Formulare zu generieren.
398 * **ec_stat**
399 `int(0,1)`
400 Der Benutzer hat das Recht sich eCash Statistiken anzusehen.
401 * **barcode_sel**
402 `int(0,1)`
403 Der Benutzer hat das Recht 2D-Barcode Formulare zu erstellen.
404 * **usr_anl**
405 `int(0,1)`
406 Der Benutzer hat das Recht weitere Benutzer im System anzulegen.
407 * **usr_shw**
408 `int(0,1)`
409 Der Benutzer hat das Recht andere Benutzer zu verwalten.
410 * **usr_chg**
411 `int(0,1)`
412 Der Benutzer hat das Recht die Personalisierungsdatensätze anderer Benutzer zu ändern.
413 * **usr_login**
414 `int(0,1)`
415 Der Benutzer hat das Recht sich als ein anderer Benutzer einzuloggen (dies wird meist zum debuggen benutzt).
416 * **usr_del**
417 `int(0,1)`
418 Der Benutzer hat das Recht andere Benutzerdatensätze im System zu löschen.
419 * **give_right**
420 `int(0,1)`
421 Der Benutzer hat das Recht seine eigenen Rechte an andere Benutzer weiterzugeben.
422 * **ch_pers**
423 `int(0,1)`
424 Der Benutzer hat das Recht seinen eigenen Personalisierungsdatensatz zu ändern.
425 * **preset**
426 `int(0,1)`
427 Der Benutzer hat das Recht Passwörter anderer Benutzer zurückzusetzen.
428 * **form_sel**
429 `int(0,1)`
430 Der Benutzer hat das Recht Formulare für alle Benutzer ein oder auszublenden.
431 * **form_deliver**
432 `int(0,1)`
433 Der Benutzer hat das Recht selbst erstellte Formulare hochzuladen.
434 * **form_del**
435 `int(0,1)`
436 Der Benutzer hat das Recht selbst erstellte Formulare aller Benutzer zu löschen.
437 * **form_def_set**
438 `int(0,1)`
439 Der Benutzer hat das Recht Formulardefinitionen vorzugeben.
440 * **logo**
441 `int(0,1)`
442 Der Benutzer hat das Recht ein neues Logo hochzuladen.
443 * **exp_ben**
444 `int(0,1)`
445 Der Benutzer hat das Recht sich die angezeigten Benutzerdaten als CSV-, XLS-, XML-Datei herunterzuladen.
446 * **exp_form**
447 `int(0,1)`
448 Der Benutzer hat das Recht sich eine Liste gesuchter Formulare als CSV-, XLS-, XML-Datei herunterzuladen.
449 * **data**
450 `int(0,1)`
451 Der Benutzer hat das Recht eingegangene Formulardaten als XLS, CSV, XML Datei zu exportieren.
452 * **data_exp**
453 `int(0,1)`
454 Dieses Rechts beschreibt, dass der Benutzer nur bestimmte Formulare exportieren darf.
455 * **archive**
456 `int(0,1)`
457 Der Benutzer hat das Recht eingegangene Formulardaten als XLS, CSV, XML Datei zu archivieren.
458 * **archive_exp**
459 `int(0,1)`
460 Dieses Rechts beschreibt, dass der Benutzer eingegangene Formulardaten nur von bestimmten Formularen archivieren darf.
461 * **shw_admin**
462 `int(0,1)`
463 Der Benutzer hat das Recht den Administrator-Datensatz (-0000) zu sehen und zu verändern.
464
465 ##### 3.3.2.2 Zurückgegebene Daten
466
467 * **Status**
468 `String`
469 * **Benutzer**
470 `varchar(18)`
471 * **password**
472 `varchar(50)`
473
474 ##### Besonderheiten
475
476 Die CMS-Schnittstelle ist nicht dazu in der Lage, Benutzer mit Benutzerrollen anzulegen oder zu verwalten, da nicht alle Rechte vergeben werden können. Daher sind alle CMS-Schnittstellen Benutzerdatensätze mit Einzelrechten ausgestattet.
477
478 Weiterhin ist zu beachten, dass die Rechte `data_exp` und `archive_exp` einschränkende Rechte sind. Diese Rechte sind mit der neuen Sortimentsverwaltung obsolet geworden. Wenn die Benutzerrechte `Transaktionsdaten Archivieren` und `Transaktionsdaten exportieren` gesetzt werden sollen, müssen `archive` und `data` gesetzt sein, und die rechte `archive_exp` und `data_exp` dürfen nicht gesetzt sein.
479
480 ### deluser
481
482 Deluser löscht einen spezifischen Benutzer aus der Datenbank.
483
484 #### Webservice-URL:
485
486 <https://pdf.form-solutions.net/ws2/deluser.php>
487
488 #### Datenstruktur
489
490 ##### Geforderte Daten
491
492 * **cms**
493 `varchar(32)`
494 CMS-Key des Kunden
495 * **user**
496 `varchar(18)`
497 Benutzernummer des Benutzers, dessen Daten vom System gelöscht werden sollen.
498
499 ##### Zurückgegebene Daten
500
501 * **Status**
502 `String`
503
504 ### getticket
505
506 Auf Anfrage generiert getticket ein einmaliges Ticket, das zur Authentifizierung der interaktiven Schnittstellen gedacht ist.
507
508 #### Webservice-URL:
509
510 <https://pdf.form-solutions.net/ws2/getticket.php>
511
512 #### Datenstruktur
513
514 ##### Geforderte Daten
515
516 * **cms**
517 `varchar(32)`
518 CMS-Key des Kunden
519
520 ##### Zurückgegebene Daten
521
522 * **ticket**
523 varchar(64)`
524 Einmalticket, das zum Aufruf eines Prozesses bei interaktiven Schnittstellen eingesetzt wird.
525
526 ### getformlist
527
528 Auf Anfrage generiert getformlist ein Datenarray aller Formulare, welche der durch den CMS-Key authentifizierte Kunde nutzen kann.
529
530 > _**Hinweis:**_
531 >
532 > Diese Funktion liefert keine Daten über Assistenten mit.
533
534 #### Webservice-URL:
535
536 <https://pdf.form-solutions.net/ws2/getformlist.php>
537
538 #### Datenstruktur
539
540 ##### Geforderte Daten
541
542 * **cms**
543 `varchar(32)`
544 CMS-Key des Kunden
545
546 #### Zurückgegebene Daten
547
548 Es wird ein Array mit Formulardaten zurückgeliefert. Jedes Element enthält dabei folgende Daten:
549
550 * **fnr**
551 `varchar(250)`
552 Formularnummer
553 * **title**
554 `varchar(250)`
555 Formularname
556 * **kat**
557 `varchar(250)`
558 Formularkategorie
559 * **pagecount**
560 `int(10)`
561 Anzahl der Formularseiten
562 * **created**
563 `date(Y-M-D)`
564 Erstellungsdatum
565 * **changed**
566 `date(Y-M-D)`
567 Datum der letzten Änderung
568 * **bem**
569 `text`
570 Bemerkungen zum Formular
571 * **beschr**
572 `text`
573 Beschreibung des Formulars
574 * **formtype** `varchar(3)`
575 Die Software unterscheidet zwischen 2 Formulartypen.
576 fs = ein von MACH ProForms erstelltes Formular
577 knd = ein vom Kunden erstelltes Formular
578
579 ---
580
581 ## Funktionen der Interaktiven Schnittstellen
582
583 ### Sign-In
584
585 Mit dieser Funktion können Sie einen Benutzer ohne weitere Loginabfragen im System einloggen.
586
587 #### URL:
588
589 <https://pdf.form-solutions.net/ticket-in.php>
590
591 #### Übergabeparameter:
592
593 * **Usr**
594 Benutzernummer des Benutzers im FS-System
595 * **ticket**
596 Ticketnummer, die zuvor per Webservice angefordert wurde
597 * **type**
598 signin`
599
600 ### Formular suchen und Formularlink erstellen
601
602 Diese Funktion öffnet einen Suchdialog, in dem der Benutzer ein Formular suchen und konfigurieren kann. Nach Abschluss dieser Funktion wird die generierte URL an eine übergebene Ziel-URL weitergereicht.
603
604 #### URL:
605
606 <https://pdf.form-solutions.net/ticket-in.php>
607
608 #### Übergabeparameter:
609
610 * **usr**
611 Benutzernummer des Benutzers im FS-System
612 * **ticket**
613 Ticketnummer, die zuvor per Webservice angefordert wurde
614 * **type**
615 `formsearch`
616 * **return**
617 URL, an die der erstellte Formlink übergeben werden soll. Diese URL muss so aussehen, dass am Ende der URL der Formularlink angefügt werden kann. Bsp: <https://pdf.form-solutions.net//ws/back.php?data=>
618 Des Weiteren muss der übergebene Link urlencoded gesendet werden. In dem übergebenen Link wird zusätzlich urlencoded mit dem Parameter `title` der Titel des Formulars und mit dem Parameter `id` die Formularnummer mitgegeben.
619
620 > _**Hinweis:**_
621 >
622 > In der Variante mit dem type formsearch kann man ab der Release-Version 32.13.0 auch Assistenten suchen. Die Überarbeitung von Assistentenlinks erfolgt ebenso über diese Variante.
623
624 ### Basisformularlink erstellen
625
626 Die Funktion `getbaselink` übergibt einen sicheren Link zu einem Formular ohne weitere Funktionen wie Senden, Barcode, S-Internetkasse oder eCash.
627
628 #### URL:
629
630 <https://pdf.form-solutions.net/ws2/getbaselink.php>
631
632 #### Übergabeparameter
633
634 ##### Geforderte Daten:
635
636 * **cms**
637 CMS-Key des Kunden
638 * **user**
639 Benutzernummer des Benutzers im FS-System
640 * **form**
641 Formularnummer
642
643 ##### Zurückgegebene Daten
644
645 * **Sicherer Link**
646
647 > _**Hinweis:**_
648 >
649 > Diese Funktion steht für Assistenten nicht zur Verfügung.
650
651 ### Individualformularlink erstellen
652
653 Diese Funktion öffnet einen Konfigurationsdialog, in dem der Benutzer ein übergebenes Formular konfigurieren kann. Nach Abschluss dieser Funktion wird die generierte URL an eine übergebene Ziel-URL weitergereicht.
654
655 #### URL:
656
657 <https://pdf.form-solutions.net/ticket-in.php>
658
659 #### Übergabeparameter:
660
661 * **usr**
662 Benutzernummer des Benutzers im FS-System
663 * **ticket**
664 Ticketnummer, die zuvor per Webservice angefordert wurde
665 * **type**
666 `formlink`
667 * **formular**
668 Formularnummer
669 * **formtype**
670 Ist dies ein von MACH ProForms oder ein vom Kunden erstelltes Formular? (`fs`, `knr`) (siehe 3.6.3.2 getformlist - Zurückgegebene Daten, Variable `formtype`)
671 * **return** URL an die der erstellte Formlink übergeben werden soll. Diese URL muss so aussehen, dass am Ende der URL der Formularlink angefügt werden kann.
672 Bsp: <https://pdf.form-solutions.net/ws2/back.php?data=>
673 Des Weiteren muss der übergebene Link urlencoded gesendet werden. In dem übergebenen Link wird zusätzlich urlencoded mit dem Parameter title der Titel des Formulars und mit dem Parameter `id` die Formularnummer mitgegeben.
674
675 > _**Hinweis:**_
676 >
677 > Diese Funktion steht für Assistenten nicht zur Verfügung.