Seite 1 von 1

Re: api_createRecipient erzeugt Fehler

Verfasst: 29.01.2021, 08:42
von FUN-DIVER
habe eine neue Test Empfängerliste angelegt, auch mit erlaubten doppelten Einträgen.
Hier funktionieren die APIs ohne Fehler, ich konnte nacheinander 5 Empf. anlegen.
Habe die problematische Liste gelöscht.
Danke für die Hilfe

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 21:59
von mirko
FUN-DIVER hat geschrieben: 28.01.2021, 19:27 habe eben probiert manuell einen Empfänger hinzuzufügen (e-Mail Adresse, Namen, Vorname, Geschlecht und Festlegung der Gruppe).
Da kam folgende Fehlermeldung:
Eigentlich sollte u_UserFieldInt1 doch kein Primärschlüssel in der Tabelle sein, oder?

2021-01-28 19_24_48-SuperWebMailer - Fehler bei Ausführung einer SQL-Anweisung und 3 weitere Seiten .png
u_UserFieldInt1 ist kein Primärschlüssel und hat auch kein UNIQUE INDEX. Per phpMyAdmin die Tabellenstruktur von fdmitglieder_members prüfen, Screenshot anbei die Indizes sind gesetzt, wenn doppelte E-Mail-Adresse erlaubt sind.

Niemals selbst irgendein Index setzen oder Felder umbenennen, das kann zu ernsten Problemen führen, wenn nicht heute, dann vielleicht in einigen Monaten.

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 21:50
von mirko
FUN-DIVER hat geschrieben: 28.01.2021, 19:03 Hat er ja auch nicht.
er einzige Empfänger hatte einen anderen Namen und eine andere e-mail Adresse!

So geht das, einfach 2x die Anweisung ausführen:

Code: Alles auswählen

$params = array("apiMailingListId" => 1, "apiData" => array( "u_EMail" => "webmaster@johndoe.com", "u_LastName" => "Doe", "u_FirstName" => "John" ), "apiarrayGroupsIds" => array(1), "apiUseDoubleOptIn" => false, "apiFormId" => 0);
$result = $client->call('api_Recipients.api_createRecipient', $params, '', '', false, true);

$params = array("apiMailingListId" => 1, "apiData" => array( "u_EMail" => "support@johndoe.com", "u_LastName" => "Doe", "u_FirstName" => "John" ), "apiarrayGroupsIds" => array(1), "apiUseDoubleOptIn" => false, "apiFormId" => 0);
$result = $client->call('api_Recipients.api_createRecipient', $params, '', '', false, true);
Ergibt dann die neuen IDs

Result
int(1008)
Result
int(1009)

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 19:27
von FUN-DIVER
habe eben probiert manuell einen Empfänger hinzuzufügen (e-Mail Adresse, Namen, Vorname, Geschlecht und Festlegung der Gruppe).
Da kam folgende Fehlermeldung:
Eigentlich sollte u_UserFieldInt1 doch kein Primärschlüssel in der Tabelle sein, oder?
2021-01-28 19_24_48-SuperWebMailer - Fehler bei Ausführung einer SQL-Anweisung und 3 weitere Seiten .png
2021-01-28 19_24_48-SuperWebMailer - Fehler bei Ausführung einer SQL-Anweisung und 3 weitere Seiten .png (14.43 KiB) 928 mal betrachtet

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 19:03
von FUN-DIVER
Hat er ja auch nicht.
er einzige Empfänger hatte einen anderen Namen und eine andere e-mail Adresse!

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 18:00
von mirko
Der Empfänger darf noch nicht existieren, sonst gibt es diesen Fehler.

Re: api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 16:15
von FUN-DIVER
Ergänzung:
habe den einen Empfänger gelöscht => Liste ist leer
Dann hat der API Aufruf funktioniert, Empfänger "Test" wurde korrekt angelegt.
Ein erneuter Aufruf der API mit geänderten Parametern für u_EMail und u_LastName
hat den gleichen Fehler wie beschrieben gebracht.

api_createRecipient erzeugt Fehler

Verfasst: 28.01.2021, 16:00
von FUN-DIVER
Habe versucht in eine Empfängerliste mit folgendem Code einen neuen Empfänger anzulegen:

$params = array("apiMailingListId" => 2,
"apiData" => array(
"u_EMail" => "t.test@fundiverev.de",
"u_LastName" => "Test",
"u_FirstName" => "Test",
"u_Gender" => "w" ),
"apiarrayGroupsIds" => array(2363),
"apiUseDoubleOptIn" => false,
"apiFormId" => 0);

$result = $client->call('api_Recipients.api_createRecipient', $params, '', '', false, true);

In der Liste gibt es bisher nur einen Empfänger mit einer anderen e-Mail Adresse.
Trotzdem kommt die Fehlermeldung
Fault
Array
(
[faultcode] => 1
[faultactor] =>
[faultstring] => SuperWebMailer - Error: Can't add recipient, possibly exists.
[detail] => SuperWebMailer - Error: Can't add recipient, possibly exists.
)

Ursache?