Pe lângă API-ul NewsMAN mai există o modalitate referitoare la preluarea de informații din NewsMAN. Puteti alege să primiți notificări (webhooks) atunci când se produc anumite evenimente: importuri, dezabonări, raportări spam și bounce-uri.
Pentru a activa această opțiune trebuie să intrați pe lista corespunzătoare în meniul Setari -> Listă:
Opțiunile corespunzătoare sunt WebHook URL și Event-uri Webhook:
- În dreptul WebHook URL trebuie să introduceți un link la care vor fi trimise datele, de exemplu https://www.example.com/preluare-date-webhooks-newsman. Link-ul ar trebui să fie pe HTTPS.
- Opțiunea Event-uri Webhook vă permite să alegeți ce date se vor trimite. Implicit se trimit date despre importuri și newslettere, puteti opta și pentru dezabonari sau bounce-uri.
După ce ați activat webhooks veți incepe să primiți event-uri (notificări) astfel:
- Request-urile vor fi de tip POST
- Fiecare request va contine un string encodat JSON cu numele de newsman_events. String-ul encodat JSON este un array de evenimente (unul sau mai multe evenimente NewsMAN).
- Fiecare eveniment va conține urmatoarele câmpuri: type (import, newsletter_status, unsub, spam sau bounce), timestamp (data evenimentului) și data (un array cu informații care diferă în funcție de tipul evenimentului)
Mai jos puteți vedea un exemplu pentru import:
<!--?php print_r($_POST); /* Array ( [newsman_events] =--> [{"type":"import","timestamp":1372428476,"data":{"import_id":"51cd98951fbbbf972d000001","status":"finished"}}] ( */ $newsman_events = json_decode($_POST["newsman_events"]); print_r($newsman_events[0]); /* Array ( [type] => import [timestamp] => 1372428476 [data] => Array ( [import_id] => 51cd98951fbbbf972d000001 [status] => finished ) ) */ ?> |
Mai jos puteți vedea ce informație se trimite în funcție de tipul de eveniment:
import: import_id (poate fi citit prin API), status
newsletter_status: newsletter_id, status
unsub: newsletter_id, subject, list_id, abonat_id, email
spam: newsletter_id, subject, list_id, abonat_id, email
bounce: newsletter_id, subject, abonat_id, email, email_head (mesajul intreg al bounce-ului), diag_msg (descriere scurtă a bounce-ului), hard_bounce (daca este de tip HARD)