Die Liste der Mailings ermitteln
curl http://hostname/webservice/mailings \ -u webservice:apikey
Als Ergebnis wird ein XML-Dokument geliefert, das alle Mailings im Element mailings
enthält. Jedes Mailing ist in einem mailing
-Element enthalten:
<?xml version="1.0" encoding="UTF-8"?> <mailings type="array"> <mailing> <body>{{"http://www.example.com/products" | tracked_link }}</body> <closed_at type="datetime" nil="true"></closed_at> <closed_by nil="true"></closed_by> <email_from nil="true"></email_from> <email_reply_to nil="true"></email_reply_to> <email_subject nil="true"></email_subject> <event_id type="integer" nil="true"></event_id> <expected_release_at type="datetime">2009-08-12T10:19:06+02:00</expected_release_at> <html_body nil="true"></html_body> <id type="integer">1</id> <released_at type="datetime" nil="true"></released_at> <released_by nil="true"></released_by> <title>Example AG News</title> </mailing> ... </mailings>
Ein einzelnes Mailing auslesen
Ein einzelnes Mailing können Sie durch Angabe seiner ID auslesen:
curl http://hostname/webservice/mailings/id \ -u webservice:apikey
Das Ergebnis ist das einzelne Mailing mit seinen Feldern im Element mailing
.
Ein Mailing anlegen
curl http://hostname/webservice/mailings \ -u webservice:apikey \ -X POST --form-string 'mailing[title]=mailing-title' \ --form-string 'mailing[body]=mailing-plain-body' \ --form-string 'mailing[html_body]=<h1>mailing-html-body</h1>' \ --form-string 'mailing[email_from]=mailing-from@example.org' \ --form-string 'mailing[email_reply_to]=reply-to@example.org' \ --form-string 'mailing[email_subject]=mailing-subject'
Das Ergebnis ist das neue Mailing mit seinen Feldern im Element mailing
.
Ein Mailing ändern
curl http://hostname/webservice/mailings/id \ -u webservice:apikey \ -X PUT \ --form-string 'mailing[email_subject]=mailing-subject'
Das Ergebnis ist das geänderte Mailing mit seinen Feldern im Element mailing
.
Personen einer Sammelliste zur Empfängerliste hinzufügen
Mit dem folgenden Webservice-Aufruf können die in einer Sammelliste enthaltenen Personen zu der Empfängerliste eines Mailings hinzugefügt werden. In der Empfängerliste bereits vorhandene Personen werden nicht noch einmal hinzugefügt.
curl http://hostname/webservice/mailings/id/add_recipients_from_collection \ -u webservice:apikey \ -X POST --form-string 'collection_name=subscription1'
Als Ergebnis gibt das OMC eine Meldung zurück, aus der hervorgeht, wieviele Personen tatsächlich zur Empfängerliste hinzugefügt wurden:
<hash> <message>1 recipients added.</message> </hash>
Ein Mailing freigeben
Die Freigabe eines Mailings bewirkt, dass die E-Mails vorbereitet werden. Daher kann anschließend der Inhalt der Mail nicht mehr geändert werden.
curl http://hostname/webservice/mailings/id/release \ -u webservice:apikey \ -X PUT
Als Ergebnis wird das Mailing zurückgegeben:
<mailing> ... <released_at type="datetime">2009-08-11T18:43:57+02:00</released_at> <released_by>webservice</released_by> ... </mailing>
Den E-Mail-Versand anstoßen
Mit dem folgenden Webservice-Aufruf kann nach der Freigabe eines Mailings der Versand der E-Mails angestoßen werden:
curl http://hostname/webservice/mailings/id/schedule_all_prepared_emails \ -u webservice:apikey \ -X POST
Als Ergebnis gibt das OMC eine entsprechende Meldung zurück:
<hash> <message>E-mails will be sent.</message> </hash>
Ein Mailing schließen
Ein Mailing kann geschlossen werden, um zu verhindern, dass Empfänger hinzufügt oder die Empfänger versandfertiger Mails entfernt werden.
curl http://hostname/webservice/mailings/id/close \ -u webservice:apikey \ -X PUT
Als Ergebnis wird das Mailing zurückgegeben:
<mailing> ... <closed_at type="datetime">2009-08-11T18:43:45+02:00</closed_at> <closed_by>webservice</closed_by> ... </mailing>
Ein Mailing erneut öffnen
Nachdem ein Mailing geschlossen wurde, kann es wieder geöffnet werden, um weitere Empfänger hinzuzufügen oder Empfänger zu entfernen, sofern der Mailversand noch nicht stattgefunden hat.
curl http://hostname/webservice/mailings/id/reopen \ -u webservice:apikey \ -X PUT
Als Ergebnis wird das Mailing zurückgegeben:
<mailing> ... <closed_at type="datetime" nil="true"></closed_at> <closed_by nil="true"></closed_by> ... </mailing>
Verwendung eines kodierten Links erfassen
Mit kodierten Links in Ihren verschickten E-Mails können Sie die Empfänger auf bestimmte Seiten Ihrer Website führen und dies im OMC individuell erfassen.
curl http://hostname/webservice/mailings/decode \ -u webservice:apikey \ -X POST \ --form-string decode[code]="decode_code"
Als Ergebnis werden die zum angeklickten Link gehörenden Daten geliefert, vor allem die Personen-ID. Die Person kann durch die Verwendung des Links automatisch angemeldet werden, so dass sie auf die betreffende Seite ohne weitere Aktionen ihrerseits zugreifen kann.
<?xml version="1.0" encoding="UTF-8"?> <decode> <link_no type="integer">2</link_no> <contact_id type="integer">1</contact_id> <code>decode_code</code> <mailing_id type="integer">8</mailing_id> </decode>
Abbestellung mit einem kodierten Link
Mit dem OMC lassen sich in die E-Mails Abmelde-URLs einfügen, auf die Ihre Webanwendung entsprechend reagieren kann.
curl http://hostname/webservice/mailings/unsubscribe \ -u webservice:apikey \ -X POST \ --form-string unsubscribe[code]="unsubscribe_code"
Als Ergebnis werden die für die Abbestellung relevanten Daten geliefert:
<?xml version="1.0" encoding="UTF-8"?> <unsubscribe> <link_no nil="true"></link_no> <collection_id type="integer">0</collection_id> <contact_id type="integer">1</contact_id> <code>unsubscribe_code</code> <mailing_id type="integer">8</mailing_id> </unsubscribe>
Rückläufer erfassen
Jede im Rahmen eines Mailings verschickte E-Mail enthält eine Header-Zeile (X-Infopark-Omc-Bounce-Code
), in der mit Hilfe eines eindeutigen Identifikators, bounce_code
, die betreffende Person und das Mailing festgehalten sind. Auf diese Weise lassen sich beispielsweise mit Hilfe eines (nicht mitgelieferten) Skripts die Rückläufer im OMC erfassen. Hierfür ist der folgende Webservice-Aufruf verfügbar.
curl http://hostname/webservice/mailings/bounce \ -u webservice:apikey \ -X POST \ --form-string bounce[code]="bounce_code" \ --form-string bounce[info]="Bounce reason determined by script"
Als Ergebnis werden die für den Rückläufer relevanten Daten geliefert:
<?xml version="1.0" encoding="UTF-8"?> <bounce> <contact_id type="integer">1</contact_id> <code>bounce_code</code> <info>Bounce reason determined by script</info> <mailing_id type="integer">8</mailing_id> </bounce>