Seite 1 von 1
Re: API / SendInFutureOnce - Probleme
Verfasst: 29.01.2020, 12:21
von marcmueller
Gelöst.
Scheinbar ist auch die Reihenfolge wichtig:
Ich hatte
vor dem Festlegen des Textes:
In der folgenden Reihenfolge funktioniert es:
Code: Alles auswählen
$campaignID = $client->call('api_Campaigns.api_createCampaign', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignEMailAddressSettings', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignMailText', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignSendSchedulerSettings', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_sendCampaignNow', $params, '', '', false, true);
Besten Dank & LG Marc
Re: API / SendInFutureOnce - Probleme
Verfasst: 23.01.2020, 10:31
von marcmueller
Dankesehr!
Ich mache mich mal auf die Fehlersuche bei mir.
Lg, Marc
Re: API / SendInFutureOnce - Probleme
Verfasst: 15.01.2020, 12:29
von mirko
Habe mich nun hingesetzt und das nachgebaut, funktioniert einwandfrei. Immer auf Fehler prüfen, nicht einfach aufrufen und die Fehler ignorieren. Funktionierendes Beispiel anbei, das wird in Zukunft bei SuperWebMailer im api-Verzeichnis als nusoap_sample1.php mit dabei sein.
Re: API / SendInFutureOnce - Probleme
Verfasst: 15.01.2020, 10:38
von marcmueller
Hi Mirko!
Genau so mache ich es: Hier nochmals die calls, die ich übergebe:
Code: Alles auswählen
$params = array();
$params['apiCampaignsId'] = $campaignID;
# Testmails sofort schicken
if ($form_state['values']['schedule'] == 0) {
$params['apiSendSchedulerSetting'] = 'SendImmediately';
$params['apiSendInFutureOnceDateTime'] = array();
}
#2=Sofort schicken
if ($form_state['values']['schedule'] == 2) {
$params['apiSendSchedulerSetting'] = 'SendImmediately';
$params['apiSendInFutureOnceDateTime'] = array();
}
#3=In Zukunft schicken
if ($form_state['values']['schedule'] == 3) {
$params['apiSendSchedulerSetting'] = 'SendInFutureOnce';
$params['apiSendInFutureOnceDateTime'] = $senddate;
}
$params['apiSendInFutureMultipleDays'] = array();
$params['apiSendInFutureMultipleDayNums'] = array();
$params['apiSendInFutureMultipleMonths'] = array();
$params['apiSendInFutureMultipleTime'] = array();
$params['apiMaxEMailsToProcess'] = 100;
$result = $client->call('api_Campaigns.api_setCampaignSendSchedulerSettings', $params, '', '', false, true);
unset($params);
der Aufruf:
apiCampaignsId (Integer) 236
apiSendSchedulerSetting (String, 16 characters ) SendInFutureOnce
apiSendInFutureOnceDateTime (String, 19 characters ) 2020-01-31 12:00:00
apiSendInFutureMultipleDays (Array, 0 elements)
apiSendInFutureMultipleDayNums (Array, 0 elements)
apiSendInFutureMultipleMonths (Array, 0 elements)
apiSendInFutureMultipleTime (Array, 0 elements)
apiMaxEMailsToProcess (Integer) 100
und dann:
Code: Alles auswählen
$params = array('apiCampaignsId' => $campaignID,);
$result = $client->call('api_Campaigns.api_sendCampaignNow', $params, '', '', false, true);
liefert:
apiCampaignsId (Integer) 236
Die anderen API Calls habe ich jetzt nicht aufgelistet, da die funktionieren.
Der Reihe nach rufe ich folgende auf:
$campaignID = $client->call('api_Campaigns.api_createCampaign', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignEMailAddressSettings', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignSendSchedulerSettings', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_setCampaignMailText', $params, '', '', false, true);
$result = $client->call('api_Campaigns.api_sendCampaignNow', $params, '', '', false, true);
Die Mails werden alle so generiert wie ich möchte, auch die Settings zu SaveOnly und SendImmediately funktionieren, nur SendInFutureOnce will nicht.
Fehlt da etwas? Wo könnte ich nachsehen, was das Problem ist?
Danke & LG, Marc
Re: API / SendInFutureOnce - Probleme
Verfasst: 14.01.2020, 13:45
von mirko
So z.B. für Versand am 1.3.2020 14:05 Uhr angeben
Code: Alles auswählen
$params = array("apiCampaignsId" => 91, "apiSendSchedulerSetting" => 'SendInFutureOnce', "apiSendInFutureOnceDateTime" => '2020-03-01 14:05:00', "apiSendInFutureMultipleDays" => array(), "apiSendInFutureMultipleDayNums" => array(), "apiSendInFutureMultipleMonths" => array(), "apiSendInFutureMultipleTime" => array(), "apiMaxEMailsToProcess" => 200);
$result = $client->call('api_Campaigns.api_setCampaignSendSchedulerSettings', $params, '', '', false, true);
danach
Code: Alles auswählen
$params = array("apiCampaignsId" => 91);
$result = $client->call('api_Campaigns.api_sendCampaignNow', $params, '', '', false, true);
Re: API / SendInFutureOnce - Probleme
Verfasst: 13.01.2020, 15:20
von marcmueller
Hm genau das mache ich eigentlich.
Das ist mein letzter API call:
$params = array('apiCampaignsId' => $campaignID,);
$result = $client->call('api_Campaigns.api_sendCampaignNow', $params);
/*
apiCampaignsId (Integer) 224
*/
Stimmt das Datumsformat? Wo könnte der Fehler noch liegen?
Lg, Marc
Re: API / SendInFutureOnce - Probleme
Verfasst: 13.01.2020, 14:53
von mirko
Für den eigentlichen Versand api_Campaigns.api_sendCampaignNow aufrufen, erst dann wird der Status auf "für Versand vorgesehen" geändert. Vorher müssen immer alle Parameter für den E-Mail-Text und auch Versanddatum-/zeit gesetzt werden.
API / SendInFutureOnce - Probleme
Verfasst: 13.01.2020, 13:45
von marcmueller
Hallo!
Ich versuche über die API den Versand einer Kampagne in Zukunft einzustellen.
Folgende Parameter übergebe ich über die Funktion api_Campaigns.api_setCampaignSendSchedulerSettings:
apiCampaignsId (Integer) 224
apiSendSchedulerSetting (String, 16 characters ) SendInFutureOnce
apiSendInFutureOnceDateTime (String, 19 characters ) 2020-01-31 12:00:00
apiSendInFutureMultipleDays (String, 0 characters )
apiSendInFutureMultipleDayNums (String, 0 characters )
apiSendInFutureMultipleMonths (String, 0 characters )
apiSendInFutureMultipleTime (String, 0 characters )
apiMaxEMailsToProcess (Integer) 100
Im Backend habe ich dann aber immer "Nur speichern" als Status..
Mache ich da was falsch?
Lg, Marc