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