Zugriff auf die SuperWebMailer API mit C#

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Dattel
Beiträge: 7
Registriert: 08.06.2018, 15:16

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von Dattel »

Sorry, wenn ich den Namen hier ständig vertausche - ist keine böse Absicht. Ich gelobe Besserung.

Zum Thema nicht änderbare Spalten. Das ist schade, aber verständlich und akzeptabel.
Für die importierten Kontakte, die sich an der der alten Software angemeldet habe speichere ich das tatsächliche Anmeldedatum beim Anlegen einfach im Feld "u_UserFieldString2" und alles ist gut..
Benutzeravatar
mirko
Beiträge: 22869
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von mirko »

Die Software heißt SuperWebMailer NICHT SuperMailer, SuperWebMailer funktioniert ganz anders als SuperMailer.

Das Feld DateOfSubscription und andere Felder sind nicht änderbar, nur die Felder mit u_ dürfen verändert werden. Dies ist ein rechtliches Problem, man kann nicht einfach, z.B. bei einer Strafanzeige, die Angaben ändern, wobei natürlich dies auf MySQL-Ebene immer kann.
Dattel
Beiträge: 7
Registriert: 08.06.2018, 15:16

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von Dattel »

Ja das ist mir ja alles bewusst.
Leider kann so aus der WSDL keine gültige Service Referenz erstellt werden.
Aber das ist auch egal - ich hab's jetzt alles per Hand über die JSON-API gebaut. Ist etwas Gefummel, die Objekte sauber zu serialisieren, aber es klappt jetzt soweit alles :D ...

Was mich nur wundert, ich bin per JSON-Api irgendwie nicht in der Lage, das Feld "DateOfSubscription" von außen zu verändern. Es scheint, als wenn hier zwangsweise IMMER das Anlage-Datum verwendet wir. Das wäre aber für uns sehr wichtig, da wir Daten aus einem anderen System in den SuperMailer migrieren möchten und hier ist logischerweise bereits die Anmeldung/Zustimmung für Mailouts vorhanden und dieses Datum möchten wir bei der Migration ungerne verlieren.
Ist das Absicht? Ich kann mir sicher helfen, indem ich das Datum einfach in einem CustomFeld speichere, aber dann sind die Daten im Supermailer zukünftig immer inkonsistent, denn neue Subscriptions direkt vom Supermailer haben das eigene Feld dann immer leer/oder ich muss das DateOfSubscription für Neuanmeldungen immer im Nachgang in das CustomFeld kopieren..
Benutzeravatar
mirko
Beiträge: 22869
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von mirko »

Das sind Klassen und Funktionen, deswegen heißen die Funktionen alle Klassenname.Funktionsname. Kann man nur ein eigenes PHP-Script davor legen, dass analog dem Script api_json.php die Aufrufe umwandelt oder gleich nur JSON-Aufrufe mit api_json.php verwenden, kann man per HTTP POST alles übermitteln.
Dattel
Beiträge: 7
Registriert: 08.06.2018, 15:16

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von Dattel »

Okay also zumindest habe ich die API über SoapUI sauber angesprochen bekommen. Es war die Art und Weise, wie der API-Token im Header übergeben werden muss.

Das Problem bei der C# Integration ist, dass es dort eine Möglichkeit gibt, eine WSDL zu imporieren und daraus eine Zugriffsschicht generiert wird. Diese ist aber absolut nicht zu gebrauchen, da die SuperWebMailer-Funktionen einen "." im Namen enthalten. Das ist kommt der Generator nicht mit klar und entfernt diese Punkte aus den Funktionsnamen, denn pro API-Funktion wird eine c#-Funktion generiert. Funktionsnamen dürfen aber keinen "." enthalten.

An der Möglichkeit die API händisch per SOAP über c# anzusprechen scheitere ich derzeit, da die Deserialisierung von komplexen Typen nicht klappt.

Gibt's eine Möglichkeit, eine SOAP-Api/WSDL einzuführen, die ohne Punkte in den Funktionsnamen auskommt? Also ähnlich wie bei der JSON Variante die Punkte durch "__" ersetzt?
Benutzeravatar
mirko
Beiträge: 22869
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Zugriff auf die SuperWebMailer API mit C#

Beitrag von mirko »

kann ich nicht helfen, mit C# kann ich nichts anfangen
Dattel
Beiträge: 7
Registriert: 08.06.2018, 15:16

Zugriff auf die SuperWebMailer API mit C#

Beitrag von Dattel »

Hallo zusammen,
ich bin neu hier und habe auch direkt eine Frage zu der API.

gibt es irgendwo ein Beispiel, wie man die SuperMailer-API per C# ansprechen kann?
Hab es auch schon mit SoapUI probiert - irgendwie komme ich nicht weiter.
SoapUI meldet ständig "The page is temporarily unavailable" - auch obwohl ich irgendwie den API-Token in Header reingeschummelt habe.

Über c# bekomme ich als Meldung "Der vom Client gefundene Anforderungsinhaltstyp ist 'text/html', erwartet wurde 'text/xml'." Ich denke mal, dass auch hier eine "The page is temporarily unavailable" Antwort kommt, die dann halt einfach 'text/html' ist.

Das PHP-Beispielscript mit Hilfe von nusoap funktioniert
Antworten