api_createRecipient erzeugt Fehler

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

Moderator: mirko

Antworten
Benutzeravatar
FUN-DIVER
Beiträge: 266
Registriert: 07.04.2020, 10:29
Wohnort: Möhrendorf

Re: api_createRecipient erzeugt Fehler

Beitrag 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
Benutzeravatar
mirko
Beiträge: 22886
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: api_createRecipient erzeugt Fehler

Beitrag 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.
Dateianhänge
Bild1.png
Bild1.png (77.59 KiB) 427 mal betrachtet
Benutzeravatar
mirko
Beiträge: 22886
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: api_createRecipient erzeugt Fehler

Beitrag 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)
Benutzeravatar
FUN-DIVER
Beiträge: 266
Registriert: 07.04.2020, 10:29
Wohnort: Möhrendorf

Re: api_createRecipient erzeugt Fehler

Beitrag 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) 430 mal betrachtet
Benutzeravatar
FUN-DIVER
Beiträge: 266
Registriert: 07.04.2020, 10:29
Wohnort: Möhrendorf

Re: api_createRecipient erzeugt Fehler

Beitrag von FUN-DIVER »

Hat er ja auch nicht.
er einzige Empfänger hatte einen anderen Namen und eine andere e-mail Adresse!
Benutzeravatar
mirko
Beiträge: 22886
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Re: api_createRecipient erzeugt Fehler

Beitrag von mirko »

Der Empfänger darf noch nicht existieren, sonst gibt es diesen Fehler.
Benutzeravatar
FUN-DIVER
Beiträge: 266
Registriert: 07.04.2020, 10:29
Wohnort: Möhrendorf

Re: api_createRecipient erzeugt Fehler

Beitrag 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.
Benutzeravatar
FUN-DIVER
Beiträge: 266
Registriert: 07.04.2020, 10:29
Wohnort: Möhrendorf

api_createRecipient erzeugt Fehler

Beitrag 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?
Antworten