Wiki-Quellcode von CMS-Schnittstelle

Zuletzt geändert von MACH ProForms GmbH am 10.10.2024

Zeige letzte Bearbeiter
1 ## Voraussetzungen
2
3 Sie benötigen einen gültigen [[CMS-Key bzw. CMS-Schlüssel|doc:Main.01_Systemadministration.03_Installation.03_Abschliessend.02_Datenbank.01_CMS.WebHome]].
4
5 ## Mehrwert technischer Kooperation
6
7 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.
8
9 Nachfolgend werden einige Implementierungsvarianten der Schnittstelle beschrieben, die mit einem relativ überschaubaren Aufwand umgesetzt werden können:
10
11 ### Redundanzfreie Benutzerverwaltung
12
13 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.
14
15 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.
16
17 ### Single Sign On
18
19 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.
20
21 ### Vorausgefüllte Formulare im Intranet-Bereich
22
23 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.
24
25 ### Parametrisierungsdynamik
26
27 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.
28
29 **Beispiel: Lebenslage Wohnungswechsel/Umzug**
30
31 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.
32
33 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.
34
35 ### Systemintegration und Mehrwertkonzentration
36
37 Aus dem Partnersystem-Bereich können Kunden direkt die wichtigsten Komponenten des Formular-Servers 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.
38
39 Unter anderem können die folgenden Komponenten aus dem Partnersystem angesteuert werden:
40
41 #### Formular-Recherche
42
43 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.
44
45 #### Formularkonfiguration
46
47 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:
48
49 * zu verwendeten Schaltflächen und damit die durch den Bürger ansprechbaren Funktionalitäten (z.B. Formular online senden, digital signieren etc.)
50 * Formularsicherheit, zu der die Dokumentenverschlüsselung und die Dokumenteneinschränkung zählen (z.B. Drucken nicht zulässig)
51 * Benachrichtigungsoptionen
52 Diese dienen zur Festlegung der E-Mail-Adressen, die beim elektronischen Versand von Formularen benachrichtigt werden.
53 * eCash Optionen
54 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.
55 * S-Internetkassen Optionen
56 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.
57
58 #### Formulare hochladen
59
60 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.
61
62 #### Standard Login
63
64 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.
65
66 ---
67
68 ## Technische Schnittstellendokumentation
69
70 ### Server2Server Schnittstellen
71
72 Server2Server Schnittstellen sind Schnittstellen zur direkten Kommunikation zwischen zwei Servern, um Benutzer- und Laufdaten auf beiden Servern synchron zu halten.
73
74 #### Webservices
75
76 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.**
77
78 ![[Abbildung 1: Webservice- Schnittstelle|@ws-diagram.jpg]]
79
80 #### Interaktive Schnittstelle
81
82 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.
83
84 ![[Abbildung 2: Interaktive Schnittstelle|@ws-interactive-diagram.jpg]]
85
86 ---
87
88 ## Funktionen der Server2Server Schnittstellen
89
90 ### getuser
91
92 getuser liefert die Daten eines Benutzers in einem Array.
93
94 #### Webservice-URL:
95
96 <https://pdf.form-solutions.net/ws2/getuser.php>
97
98 #### Datenstruktur
99
100 ##### Geforderte Daten
101
102 * **cms**
103 `varchar(32)`
104 CMS-Key des Kunden
105 * **User**
106 `varchar (18)`
107 Benutzernummer des Benutzers, dessen Daten vom System zurückgegeben werden.
108
109 ##### Zurückgegebene Daten
110
111 * **Benutzer**
112 `varchar(18)`
113 Benutzernummer
114 * **ofsXX1_knr_std**
115 `varchar(13)`
116 Kundennummer
117 * **sysmail**
118 `varchar(59)`
119 E-Mail-Adresse des Benutzers, an die Systembenachrichtigungen der Kundenbereich-Oberfläche (Passwort zurücksetzten etc.) geschickt werden.
120 * **nick**
121 `varchar(50)`
122 alternativer Benutzername
123 * **b12c96nfBehoerde_Amt**
124 `varchar(255)`
125 Amt des Benutzers, z.B. Medienbüro, Finanzamt
126 * **b12c96nfBehoerde_Sachbearbeiter_Name**
127 `varchar(50)`
128 Name des Sachbearbeiters
129 * **b12c96nfBehoerde_Strasse**
130 `varchar(150)`
131 Straßenname der Behördenanschrift
132 * **ofsXX1_from_smail3**
133 `varchar(150)`
134 E-Mail-Adresse, die als Versender von Formulardaten angezeigt wird.
135 * **ofsXX1_to_smail3**
136 `varchar(150)`
137 E-Mail-Adresse an die Formulardaten gesendet werden.
138 * **b12c96nfBehoerde1**
139 `text`
140 Behördenname
141 z.B. Stadtverwaltung Karlsruhe
142 * **b12c96nfBehoerde1Anschrift**
143 `text`
144 Anschrift der Behörde einzeilig
145 * **b12c96nmBehoerde**
146 `text`
147 Anschrift der Behörde dreizeilig
148 Zeilenumbruch: `\<br\>`
149 * **b12c96nmEmpfaenger**
150 `text`
151 Anschrift der Behörde sechszeilig
152 Zeilenumbruch: `\<br\>`
153 * **b12c96nfBehoerde_PLZ_Ort**
154 `varchar(50)`
155 PLZ, Ort der Behördenanschrift z.B. 75217 Birkenfeld
156 * **b12c96nfBehoerde_Sachbearbeiter_Name**
157 `varchar(50)`
158 Name des Sachbearbeiters
159 * **b12c96nfSachbearbeiter_Zimmernummer**
160 `varchar(20)`
161 Zimmernummer des Sachbearbeiters
162 * **b12c96nfSachbearbeiter_Telefon**
163 `varchar(30)`
164 Telefonnummer des Sachbearbeiters (mit Vorwahl)
165 * **b12c96nfSachbearbeiter_Telefax**
166 `varchar(30)`
167 Faxnummer des Sachbearbeiters (ohne Vorwahl)
168 * **b12c96nfSachbearbeiter_E_Mail**
169 `varchar(30)`
170 E-Mail-Adresse des Sachbearbeiters, die im Formular angezeigt werden soll.
171 * **b12c96nfGemeindekennzahl**
172 `varchar(8)`
173 Gemeindekennzahl der Behörde (im Regelfall die ersten 8 Stellen der Kundennummer)
174 * **b12c96nfOrt_Datum**
175 `varchar(50)`
176 Ort, Datumszeile im Formular z.B. Birkenfeld, den
177 * **b12c96nmOrt_Datum2**
178 `text`
179 Ort, Datumszeile zweizeilig im Formular
180 z.B. Birkenfeld, `\<br\>`
181 den
182 * **b12c96nfAntragsteller_PLZ**
183 `varchar(10)`
184 Vollständige oder teilweise Postleitzahl des Antragstellers
185 * **b12c96nfBehoerde_PLZ_Post**
186 `varchar(7)`
187 Postleitzahl der Behördenanschrift
188 * **b12c96nfAntragsteller_Ort**
189 `varchar(30)`
190 Ortsname des Antragstellers
191 * **b12c96nfAktenzeichen**
192 `varchar(30)`
193 Aktenzeichen des Formularvorgangs
194 * **b12c96nfKontakt1Z**
195 `varchar(250)`
196 Einzeilige Kontaktnachricht auf dem Kopf des Formulars, wird meist mit Öffnungszeiten und anderen Informationen gefüllt
197 * **b12c96nmRechtsbehelfsbelehrung**
198 `text`
199 Rechtsbehelfsbelehrung, die ins Formular eingefügt wird
200 * **b12c96nfSachbearbeiter_Personalnummer**
201 `varchar(50)`
202 Personalnummer des Sachbearbeiters
203 * **b12c96nfBehoerde_Ort**
204 `varchar(255)`
205 Ortsname der Behördenanschrift
206 * **ec_sel**
207 `int(0,1)`
208 Der Benutzer hat das Recht eCash Formulare zu generieren.
209 * **ec_stat**
210 `int(0,1)`
211 Der Benutzer hat das Recht sich eCash Statistiken anzusehen.
212 * **barcode_sel**
213 `int(0,1)`
214 Der Benutzer hat das Recht 2D-Barcode Formulare zu erstellen.
215 * **usr_anl**
216 `int(0,1)`
217 Der Benutzer hat das Recht weitere Benutzer im System anzulegen.
218 * **usr_shw**
219 `int(0,1)`
220 Der Benutzer hat das Recht andere Benutzer zu verwalten.
221 * **usr_chg**
222 `int(0,1)`
223 Der Benutzer hat das Recht die Personalisierungsdatensätze anderer Benutzer zu ändern.
224 * **usr_login**
225 `int(0,1)`
226 Der Benutzer hat das Recht sich als ein anderer Benutzer einzuloggen (dies wird meist zum debuggen benutzt).
227 * **usr_del**
228 `int(0,1)`
229 Der Benutzer hat das Recht andere Benutzerdatensätze im System zu löschen.
230 * **give_right**
231 `int(0,1)`
232 Der Benutzer hat das Recht seine eigenen Rechte an andere Benutzer weiterzugeben.
233 * **ch_pers**
234 `int(0,1)`
235 Der Benutzer hat das Recht seinen eigenen Personalisierungsdatensatz zu ändern.
236 * **preset**
237 `int(0,1)`
238 Der Benutzer hat das Recht Passwörter anderer Benutzer zurückzusetzen.
239 * **form_sel**
240 `int (0,1)`
241 Der Benutzer hat das Recht Formulare für alle Benutzer ein- oder auszublenden.
242 * **form_deliver**
243 `int(0,1)`
244 Der Benutzer hat das Recht selbst erstellte Formulare hochzuladen.
245 * **form_del**
246 `int(0,1)`
247 Der Benutzer hat das Recht selbst erstellte Formulare aller Benutzer zu löschen.
248 * **form_def_set**
249 `int(0,1)`
250 Der Benutzer hat das Recht Formulardefinitionen vorzugeben.
251 * **logo**
252 `int(0,1)`
253 Der Benutzer hat das Recht ein neues Logo hochzuladen.
254 * **Exp_ben**
255 `int(0,1)`
256 Der Benutzer hat das Recht sich die angezeigten Benutzerdaten als CSV-, XLS-, XML-Datei herunterzuladen.
257 * **Exp_form**
258 `int(0,1)`
259 Der Benutzer hat das Recht sich eine Liste gesuchter Formulare als CSV-, XLS-, XML-Datei herunterzuladen.
260 * **data**
261 `int(0,1)`
262 Der Benutzer hat das Recht eingegangene Formulardaten als CSV-, XLS-, XML-Datei zu exportieren.
263 * **data_exp**
264 `int(0,1)`
265 Dieses Recht beschreibt, dass der Benutzer nur bestimmte Formulare exportieren darf.
266 * **archive**
267 `int(0,1)`
268 Der Benutzer hat das Recht eingegangene Formulardaten als CSV-, XLS-, XML-Datei zu archivieren.
269 * **archive_exp**
270 `int(0,1)`
271 Dieses Recht beschreibt, dass der Benutzer nur bestimmte Formulare archivieren darf.
272 * **Shw_admin**
273 `int(0,1)`
274 Der Benutzer hat das Recht den Administrator Datensatz (-0000) zu sehen und zu verändern.
275
276 ### getusers
277
278 Auf Anfrage erzeugt getusers ein zweidimensionales Array mit den Daten aller Benutzer eines CMS-Keys.
279
280 #### Webservice-URL:
281
282 <https://pdf.form-solutions.net/ws2/getusers.php>
283
284 #### Datenstruktur
285
286 ##### Geforderte Daten
287
288 * **cms**
289 `varchar(32)`
290 CMS-Key des Kunden
291
292 ##### Zurückgegebene Daten
293
294 Als Ergebnis erhält man ein Array mit Benutzerobjekten. Die einzelnen Objekte entsprechen der Struktur wie unter getuser beschrieben.
295
296 ### putuser (geänderte Daten)
297
298 Putuser legt einen Benutzer in der Datenbank an oder editiert einen vorhandenen Benutzer. Hier kann die Variable „Benutzer“ zwei Zustände haben:
299
300 1. eine vorhandene Benutzernummer -> Das System überschreibt die Daten des Benutzers mit den übergebenen Daten.
301 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.
302
303 #### Webservice-URL:
304
305 <https://pdf.form-solutions.net/ws2/putuser.php>
306
307 #### Datenstruktur
308
309 ##### Geforderte Daten
310
311 * **Benutzer**
312 `varchar(18)`
313 Benutzernummer
314 * **sysmail**
315 `varchar(59)`
316 E-Mail-Adresse des Benutzers, an die Systembenachrichtigungen der Kundenbereich-Oberfläche (Passwort zurücksetzten etc.) geschickt werden.
317 * **nick**
318 `varchar(50)`
319 alternativer Benutzername
320 * **b12c96nfBehoerde_Amt**
321 `varchar(255)`
322 Amt des Benutzers z.B. Medienbüro, Finanzamt
323 * **b12c96nfBehoerde_Strasse**
324 `varchar(150)`
325 Straßenname der Behördenanschrift
326 * **ofsXX1_from_smail3**
327 `varchar(150)`
328 E-Mail-Adresse, die als Versender von Formulardaten angezeigt wird.
329 * **ofsXX1_to_smail3**
330 `varchar(150)`
331 E-Mail-Adresse an die Formulardaten gesendet werden.
332 * **b12c96nfBehoerde1**
333 `text`
334 Behördenname z.B. Stadtverwaltung Karlsruhe
335 * **b12c96nfBehoerde1Anschrift**
336 `text`
337 Anschrift der Behörde einzeilig
338 * **b12c96nmBehoerde**
339 `text`
340 Anschrift der Behörde dreizeilig
341 Zeilenumbruch: `\<br\>`
342 * **b12c96nmEmpfaenger**
343 `text`
344 Anschrift der Behörde sechszeilig
345 Zeilenumbruch: `\<br\>`
346 * **b12c96nfBehoerde_PLZ_Ort**
347 `varchar(50)`
348 PLZ, Ort der Behördenanschrift, z.B. 75217 Birkenfeld
349 * **b12c96nfBehoerde_Sachbearbeiter_Name**
350 `varchar(50)`
351 Name des Sachbearbeiters
352 * **b12c96nfSachbearbeiter_Zimmernummer**
353 `varchar(20)`
354 Zimmernummer des Sachbearbeiters
355 * **b12c96nfSachbearbeiter_Telefon**
356 `varchar(30)`
357 Telefonnummer des Sachbearbeiters (mit Vorwahl)
358 * **b12c96nfSachbearbeiter_Telefax**
359 `varchar(30)`
360 Faxnummer des Sachbearbeiters (ohne Vorwahl)
361 * **b12c96nfSachbearbeiter_E_Mail**
362 `varchar(30)`
363 E-Mail-Adresse des Sachbearbeiters, die im Formular angezeigt werden soll.
364 * **b12c96nfGemeindekennzahl**
365 `varchar(8)`
366 Gemeindekennzahl der Behörde (im Regelfall die ersten 8 Stellen der Kundennummer).
367 * **b12c96nfOrt_Datum**
368 `varchar(50)`
369 Ort, Datumszeile im Formular z.B. Birkenfeld, den
370 * **b12c96nmOrt_Datum2**
371 `text`
372 Ort, Datumszeile zweizeilig im Formular
373 z.B. Birkenfeld, `\<br\>`
374 den
375 * **b12c96nfAntragsteller_PLZ**
376 `varchar(10)`
377 Vollständige oder teilweise Postleitzahl des Antragstellers.
378 * **b12c96nfBehoerde_PLZ_Post**
379 `varchar(7)`
380 Postleitzahl der Behördenanschrift
381 * **b12c96nfAntragsteller_Ort**
382 `varchar(30)`
383 Ortsname des Antragstellers
384 * **b12c96nfAktenzeichen**
385 `varchar(30)`
386 Aktenzeichen des Formularvorgangs
387 * **b12c96nfKontakt1Z**
388 `varchar(250)`
389 Einzeilige Kontaktnachricht auf dem Kopf des Formulars, wird meist mit Öffnungszeiten und anderen Informationen gefüllt.
390 * **b12c96nmRechtsbehelfsbelehrung**
391 `text`
392 Rechtsbehelfsbelehrung, die ins Formular eingefügt wird.
393 * **b12c96nfSachbearbeiter_Personalnummer**
394 `varchar(50)`
395 Personalnummer des Sachbearbeiters
396 * **b12c96nfBehoerde_Ort**
397 `varchar(255)`
398 Ortsname der Behördenanschrift
399 * **ec_sel**
400 `int(0,1)`
401 Der Benutzer hat das Recht eCash Formulare zu generieren.
402 * **ec_stat**
403 `int(0,1)`
404 Der Benutzer hat das Recht sich eCash Statistiken anzusehen.
405 * **barcode_sel**
406 `int(0,1)`
407 Der Benutzer hat das Recht 2D-Barcode Formulare zu erstellen.
408 * **usr_anl**
409 `int(0,1)`
410 Der Benutzer hat das Recht weitere Benutzer im System anzulegen.
411 * **usr_shw**
412 `int(0,1)`
413 Der Benutzer hat das Recht andere Benutzer zu verwalten.
414 * **usr_chg**
415 `int(0,1)`
416 Der Benutzer hat das Recht die Personalisierungsdatensätze anderer Benutzer zu ändern.
417 * **usr_login**
418 `int(0,1)`
419 Der Benutzer hat das Recht sich als ein anderer Benutzer einzuloggen (dies wird meist zum debuggen benutzt).
420 * **usr_del**
421 `int(0,1)`
422 Der Benutzer hat das Recht andere Benutzerdatensätze im System zu löschen.
423 * **give_right**
424 `int(0,1)`
425 Der Benutzer hat das Recht seine eigenen Rechte an andere Benutzer weiterzugeben.
426 * **ch_pers**
427 `int(0,1)`
428 Der Benutzer hat das Recht seinen eigenen Personalisierungsdatensatz zu ändern.
429 * **preset**
430 `int(0,1)`
431 Der Benutzer hat das Recht Passwörter anderer Benutzer zurückzusetzen.
432 * **form_sel**
433 `int(0,1)`
434 Der Benutzer hat das Recht Formulare für alle Benutzer ein oder auszublenden.
435 * **form_deliver**
436 `int(0,1)`
437 Der Benutzer hat das Recht selbst erstellte Formulare hochzuladen.
438 * **form_del**
439 `int(0,1)`
440 Der Benutzer hat das Recht selbst erstellte Formulare aller Benutzer zu löschen.
441 * **form_def_set**
442 `int(0,1)`
443 Der Benutzer hat das Recht Formulardefinitionen vorzugeben.
444 * **logo**
445 `int(0,1)`
446 Der Benutzer hat das Recht ein neues Logo hochzuladen.
447 * **exp_ben**
448 `int(0,1)`
449 Der Benutzer hat das Recht sich die angezeigten Benutzerdaten als CSV-, XLS-, XML-Datei herunterzuladen.
450 * **exp_form**
451 `int(0,1)`
452 Der Benutzer hat das Recht sich eine Liste gesuchter Formulare als CSV-, XLS-, XML-Datei herunterzuladen.
453 * **data**
454 `int(0,1)`
455 Der Benutzer hat das Recht eingegangene Formulardaten als XLS, CSV, XML Datei zu exportieren.
456 * **data_exp**
457 `int(0,1)`
458 Dieses Rechts beschreibt, dass der Benutzer nur bestimmte Formulare exportieren darf.
459 * **archive**
460 `int(0,1)`
461 Der Benutzer hat das Recht eingegangene Formulardaten als XLS, CSV, XML Datei zu archivieren.
462 * **archive_exp**
463 `int(0,1)`
464 Dieses Rechts beschreibt, dass der Benutzer eingegangene Formulardaten nur von bestimmten Formularen archivieren darf.
465 * **shw_admin**
466 `int(0,1)`
467 Der Benutzer hat das Recht den Administrator-Datensatz (-0000) zu sehen und zu verändern.
468
469 ##### 3.3.2.2 Zurückgegebene Daten
470
471 * **Status**
472 `String`
473 * **Benutzer**
474 `varchar(18)`
475 * **password**
476 `varchar(50)`
477
478 ##### Besonderheiten
479
480 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.
481
482 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.
483
484 ### deluser
485
486 Deluser löscht einen spezifischen Benutzer aus der Datenbank.
487
488 #### Webservice-URL:
489
490 <https://pdf.form-solutions.net/ws2/deluser.php>
491
492 #### Datenstruktur
493
494 ##### Geforderte Daten
495
496 * **cms**
497 `varchar(32)`
498 CMS-Key des Kunden
499 * **user**
500 `varchar(18)`
501 Benutzernummer des Benutzers, dessen Daten vom System gelöscht werden sollen.
502
503 ##### Zurückgegebene Daten
504
505 * **Status**
506 `String`
507
508 ### getticket
509
510 Auf Anfrage generiert getticket ein einmaliges Ticket, das zur Authentifizierung der interaktiven Schnittstellen gedacht ist.
511
512 #### Webservice-URL:
513
514 <https://pdf.form-solutions.net/ws2/getticket.php>
515
516 #### Datenstruktur
517
518 ##### Geforderte Daten
519
520 * **cms**
521 `varchar(32)`
522 CMS-Key des Kunden
523
524 ##### Zurückgegebene Daten
525
526 * **ticket**
527 varchar(64)`
528 Einmalticket, das zum Aufruf eines Prozesses bei interaktiven Schnittstellen eingesetzt wird.
529
530 ### getformlist
531
532 Auf Anfrage generiert getformlist ein Datenarray aller Formulare, welche der durch den CMS-Key authentifizierte Kunde nutzen kann.
533
534 > _**Hinweis:**_
535 >
536 > Diese Funktion liefert keine Daten über Assistenten mit.
537
538 #### Webservice-URL:
539
540 <https://pdf.form-solutions.net/ws2/getformlist.php>
541
542 #### Datenstruktur
543
544 ##### Geforderte Daten
545
546 * **cms**
547 `varchar(32)`
548 CMS-Key des Kunden
549
550 #### Zurückgegebene Daten
551
552 Es wird ein Array mit Formulardaten zurückgeliefert. Jedes Element enthält dabei folgende Daten:
553
554 * **fnr**
555 `varchar(250)`
556 Formularnummer
557 * **title**
558 `varchar(250)`
559 Formularname
560 * **kat**
561 `varchar(250)`
562 Formularkategorie
563 * **pagecount**
564 `int(10)`
565 Anzahl der Formularseiten
566 * **created**
567 `date(Y-M-D)`
568 Erstellungsdatum
569 * **changed**
570 `date(Y-M-D)`
571 Datum der letzten Änderung
572 * **bem**
573 `text`
574 Bemerkungen zum Formular
575 * **beschr**
576 `text`
577 Beschreibung des Formulars
578 * **formtype** `varchar(3)`
579 Die Software unterscheidet zwischen 2 Formulartypen.
580 fs = ein von MACH ProForms erstelltes Formular
581 knd = ein vom Kunden erstelltes Formular
582
583 ---
584
585 ## Funktionen der Interaktiven Schnittstellen
586
587 ### Sign-In
588
589 Mit dieser Funktion können Sie einen Benutzer ohne weitere Login-Abfragen im System einloggen.
590
591 #### URL:
592
593 <https://pdf.form-solutions.net/ticket-in.php>
594
595 #### Übergabeparameter:
596
597 * **Usr**
598 Benutzernummer des Benutzers im FS-System
599 * **ticket**
600 Ticketnummer, die zuvor per Webservice angefordert wurde
601 * **type**
602 signin`
603
604 ### Formular suchen und Formular-Link erstellen
605
606 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.
607
608 #### URL:
609
610 <https://pdf.form-solutions.net/ticket-in.php>
611
612 #### Übergabeparameter:
613
614 * **usr**
615 Benutzernummer des Benutzers im FS-System
616 * **ticket**
617 Ticketnummer, die zuvor per Webservice angefordert wurde
618 * **type**
619 `formsearch`
620 * **return**
621 URL, an die der erstellte Formular-Link übergeben werden soll. Diese URL muss so aussehen, dass am Ende der URL der Formular-Link angefügt werden kann. Bsp: <https://pdf.form-solutions.net//ws/back.php?data=>
622 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.
623
624 > _**Hinweis:**_
625 >
626 > In der Variante mit dem type formsearch kann man ab der Release-Version 32.13.0 auch Assistenten suchen. Die Überarbeitung von Assistenten-Links erfolgt ebenso über diese Variante.
627
628 ### Basisformular-Link erstellen
629
630 Die Funktion `getbaselink` übergibt einen sicheren Link zu einem Formular ohne weitere Funktionen wie Senden, Barcode, S-Internetkasse oder eCash.
631
632 #### URL:
633
634 <https://pdf.form-solutions.net/ws2/getbaselink.php>
635
636 #### Übergabeparameter
637
638 ##### Geforderte Daten:
639
640 * **cms**
641 CMS-Key des Kunden
642 * **user**
643 Benutzernummer des Benutzers im FS-System
644 * **form**
645 Formularnummer
646
647 ##### Zurückgegebene Daten
648
649 * **Sicherer Link**
650
651 > _**Hinweis:**_
652 >
653 > Diese Funktion steht für Assistenten nicht zur Verfügung.
654
655 ### Individualformular-Link erstellen
656
657 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.
658
659 #### URL:
660
661 <https://pdf.form-solutions.net/ticket-in.php>
662
663 #### Übergabeparameter:
664
665 * **usr**
666 Benutzernummer des Benutzers im FS-System
667 * **ticket**
668 Ticketnummer, die zuvor per Webservice angefordert wurde
669 * **type**
670 `formlink`
671 * **formular**
672 Formularnummer
673 * **formtype**
674 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`)
675 * **return** URL an die der erstellte Formular-Link übergeben werden soll. Diese URL muss so aussehen, dass am Ende der URL der Formular-Link angefügt werden kann.
676 Bsp: <https://pdf.form-solutions.net/ws2/back.php?data=>
677 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.
678
679 > _**Hinweis:**_
680 >
681 > Diese Funktion steht für Assistenten nicht zur Verfügung.