Hilfe & Wissen Welche Automatisierungstypen existieren?

Welche Automatisierungstypen existieren?

Wenn Sie die NO_CODE-Option verwenden, wird der Typ automatisch festgelegt, wenn Sie Automatisierungen erstellen. Wenn Sie jedoch eine Automatisierung von Grund auf programmieren möchten, zeigen wir Ihnen die verfügbaren Typen sowie die Input- und Output-Variablen.

Die Erstellung von Automatisierungen erfolgt über folgenden Link: Automatisierungen erstellen

Zeit gesteuert (cron)

Die Automation wird zu einer bestimmten Zeit aufgerufen.

Parameter

keine

Output

kein

Beispiel

# synchronisation mit einer URL wo in der csv es eine Spalte email,geschlecht gibt
download_csv = call_url('https://mein-newsletterverteiler.csv')
user_import = create_import(7, download_csv.get('body'), 'newsletterverteiler.csv')
mapping = ['email', 'sex']
user_import = update_import(7, user_import.get('id'), mapping, 'sync', 'start')
logging.info(json_dumps(user_import))

Event gesteuert

Das Event kann entweder durch ein Benutzerereignis (z. B. Öffnen oder Klicken) oder durch ein Moderatorereignis (z. B. Start des Imports) ausgelöst werden. Die Benutzerevents werden gespeichert und können auch in einer Selektion abgerufen werden, während die Moderatorevents nur virtuell existieren. Der User ist entweder der User der geklickt hat mit seinem kompletten Datensatz, oder der Moderator. Sollte das Event von einer Automation ausgelöst sein, ist die User Variable leer. Weitere Informationen zu den Events finden Sie hier: (Link zu den Events)

Parameter

user = {  
  'email': '..',       # die E-Mail-Adresse
  'list':  '..',       # die Liste
  'firstname': '...',  # der Vorname  
  'lastname': '...',   # der Nachname
  'user[1-x]': '...',  # die Userfelder Bsp. user1
                       #  ... und vieles mehr sie können mit logging.info(user) sich Beispielsweise das Userobjekt anschauen
}
event = {  
  'category': '..', # die category
  'action': '..',   # die action
  'label': '..',    # das label
  'value': ...,     # das Value (int)
}
client = {
  'guid': '...'     # public guid of the client can be used for event tracking
}
mailing_id = ...    # mailing_id if a mailing_id is associated with the event

Output

kein

Beispiel

if user.get('cnf') in ['0','4'] and event.get('category') == 'KMSignup' and event.get('action') == 'sub' and  user.get('list') == 10:
  *code*

Webhook gesteuert

Sie haben die Möglichkeit, Webhooks zu erstellen und diese mit den Methoden GET, POST, DELETE oder PUT aufzurufen. Diese Webhooks können auch verwendet werden, um die Anmeldungsformulare zu ersetzen. Im unten stehenden Beispielcode sehen Sie, wie Sie das Anmeldungsformular durch Ihren eigenen Code ersetzen und zusätzlich eigene Funktionen aufrufen können.

Parameter

request = {
  'arguments': {...},
  'headers': {...},
  'method': (GET|POST|PUT|DELETE),
  'uri': '...',
  'body': '...',
  'remote_ip': '...'
}

Output

response = {
  'headers': {},     # Header Bsp. {'Content-Type': 'text/html'} 
  'status': ...,     # (Optional) der Status Code Bsp. 200
  'body': '...',     # (Optional) der Body Bsp. <html><body>Huhu</body></html> oder {'BIN': 'Json response'}
  'redirect': '...', # (Optional) wenn es gesetzt wird, wird and die URL hierhin redirected
}

Beispiel

data = check_signature(request)
add_user(listnum_newsletter, user, response)

E-Mail gesteuert

Diese Automation wird durch eine eingehende E-Mail ausgelöst.

Parameter

mail = ...           # die komplette E-Mail als Text
email = test@test.de # die E-Mail-Adresse die den Hook ausgelöst hat

Output

kein

Beispiel

mail_parsed = parse_mail(mail)

CSV Umwandler bzw. CSV Prozessor

Diese Automation wird ausgelöst, sollte sie bei einem Import ausgewählt werden. Diese Automation ändert nach dem hochladen das Input File und reicht es an den Import weiter. Ein CSV Umwandler wird nicht bei den Automationen erstellt sondern im Menupünkt: Abonnenten->Import->CSV Umwandler . Weiter Infomration und Hilfe zu den CSV Umwandler

Parameter

input = {
  'filename': '..', # der Filename des upgeloadeten CSV - Files
  'body': '...'     # der body des upgeloadeten CSV Files
}

Output

output = {  
  'body': ...    # der body des geänderten CSV Files
}

Beispiel

# hier wird dem CSV File einfach eine neues Feld unique ID hinzugefügt d.h. jedem USer wird diese Unique ID hinzugefügt
reader = csv_reader(input['body'], delimiter=';')
i = 0
new_rows = []
unique_id = uuid4()
for row in reader:
  if i == 0:
    row += ['user10,%s' % unique_id]
    1 == 1
  else:
    row += [unique_id]
  new_rows += [row]
  i += 1
output['body'] = csv_writerows(new_rows)