Wunsch: Error Codes in der API

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

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 22884
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: Wunsch: Error Codes in der API

Beitrag von mirko »

Genau wegen der Doku der Fehlercodes habe ich das nicht gemacht, sondern einfach nur den Fehler mit Text versehen. Hat natürlich den Nachteil, dass man in eigenen Scripten mit mehreren Aufrufen suchen muss, wo denn nun der Fehler aufgetreten ist.
sparing
Beiträge: 2
Registriert: 16.03.2013, 18:32

Wunsch: Error Codes in der API

Beitrag von sparing »

Hallo zusammen,
erst einmal möchte ich sagen, dass der Superwebmailer eine ganz tolle Sache ist.

Ich habe jedoch ein Wunsch und hoffe das dieser bei einem Update umgesetzt wird.

Ich würde mich freuen, wenn in der API, wenn ein Fehler auftritt nicht als "FaultCode" nur eine "1" steht sondern es für jeden Fehler eine eigene Nummer oder eine Buchstaben-Zahlenkombination oder einen Buchstabencode gibt. Dies würde nämlich die Fehlerbehandlung mit der API erheblich erleichtern.

Ich habe hier mal die Funktion "apiError" um dieses Feature erweitert.

Code: Alles auswählen

  function api_Error($_QO608,$ecode=null){
     global $AppName, $apiserver;
     $_QO6lC = $AppName." - Error: " . $_QO608;
	 if($ecode) {
		 $fc = $ecode;
	 }else{
		 $fc = '-1';
	 }
     return $apiserver->fault($fc, $_QO6lC, "", $_QO6lC);
  }
Bei jedem Fehler muss dann halt nur der notwendige Code an gehangen werden z.B (Datei api_recipients.php).:

Code: Alles auswählen

return $this->api_Error("Only admins can use this function.","gen_1");

return $this->api_Error("Mailing list not found.","ar_cr_1");

return $this->api_Error("u_EMail must contain a valid email address.","ar_cr_2");

return $this->api_Error("Can't add recipient, possibly exists.","ar_cr_3");
Die Codierung im meinem Beispiel ist wie folgt:

gen = Genereller Fehler (tritt in mehreren Funktionen auf)
(Zahl) = Fortlaufende Nummer für generelle Fehler

ar = apiRecipients (Klassenname)
cr = createRecipient (Funktion innerhalb der Klasse "apiRecipients")
(Zahl) = fortlaufende Nummer der Fehler in der Funktion "api_createRecipient"

Vielleicht kann dieses ja umgesetzt werden, denn wenn ich das jetzt bei mir alles ändere, sind die Änderungen beim nächsten Update wo man vielleicht nicht genau aufpasst, dass man die API-Dateien nicht austauscht bzw. Änderungen in der API sind, wieder futsch.

Wenn dies Umgesetzt wird, wäre es auch hilfreich ein PDF o.ä. zu haben in dem dann die Codes stehen, damit man nicht so lange suchen muss.

MfG
Daniel
Antworten