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)
Plugin-ul NewsMAN pentru WordPress îți permite să adaugi pe site-ul tău un formular de abonare, să sincronizezi abonații și să le trimiți newslettere.
În acest tutorial vă sunt prezentați pașii pentru instalarea și folosirea plugin-ului NewsMAN în platforma WordPress.
Din interfața de administrare a platformei WordPress navigați în secțiunea Plugins – New plugin. Căutați „Newsmanapp” în formularul de căutare. Click pe Install Now, iar după ce instalarea a fost efectuată cu succes, click pe Activate. Generați din contul dumneavoastră NewsMAN API KEY (Secțiunea Integrări > API) și introduceți codul API, USER ID-ul și REMARKETING ID-ul în NewsMAN > Settings (setările plugin-ului NewsMAN din platforma WordPress). Remarketing ID îl veți găsi în meniul din stânga, în secțiunea Integrări > NewsMAN Remarketing:
Pentru a accesa API-ul newsman folosind autentificare OAuth 2, trebuie sa parcurgeti etapele:
Inregistrarea aplicatiei care va folosi API-ul cu autentificare OAuth2
Folositi formularul de contact si trimiteti-ne urmatoarele date:
– Numele aplicatiei
– redirect_uri: Callback URL unde Newsman va trimite un callback (ex: https://situlmeu.ro/callback)
Noi va punem la dispozitie doi parametri pe care ii veti folosi la autentificare:
– client_id (ex: app_client_example)
– client_secret (ex: 123123123123 )
Autentificarea
API-ul Newsman foloseste pentru autentificare protocolul OAuth 2.0
Toate request-urile catre API trebuie facute folosind SSL (https:// nu http://)
Pentru autentificare aveti nevoie de:
– client_id (vi-l trimitem dupa inregistrarea aplicatiei)
– client_secret (vi-l trimitem dupa inregistrarea aplicatiei)
– Authorization endpoint: https://ssl.newsman.ro/admin/oauth/authorize
– Token endpoint: https://ssl.newsman.ro/admin/oauth/token
Pas 1: Directionati utilizatorul la url-ul de autorizare
https://ssl.newsman.ro/admin/oauth/authorize?scope=api&redirect_uri=https%3A%2F%2Fsitulmeu.ro%2Fcallback&response_type=code&client_id=app_client_example
Daca utilizatorul nu este autentificat in Newsman, va fi redirectionat la formularul de login. Utilizatorul va fi intrebat daca permite aplicatiei accesul la contul lui Newsman.
Pas 2: Redirectare din Newsman catre callback URL
https://situlmeu.ro/callback?code=jksasda4sda5ssd1a1122sdassdas123
Daca utilizatorul nu a permis accesul la contul Newsman, va fi redirectionat la url-ul
https://situlmeu.ro/callback?error=access_denied&error_description=end-user+denied+authorization
Pas 3: Obtineti access_token
In pasul anterior ati obtinut “code”-ul care trebuie schimbat pe un “access_token” (API key).
Pentru a-l schimba, faceti un request POST la access_token endpoint https://ssl.newsman.ro/admin/oauth/token folosind parametrii:
code=d869078edb8658f7ccaae5545d506662
redirect_uri=https%3A%2F%2Fsitulmeu.ro%2Fcallback
client_id=app_client_example
client_secret=123123123123
grant_type=authorization_code
Daca nu sunt erori, veti primi un raspuns JSON de forma:
Daca aveti o aplicatie care foloseste API-ul Newsman si incarcati / actualizati abonatii in baza de date, va putem notifica in momentul in care import-ul s-a terminat. Pentru a activa acest lucru, trebuie sa aveti definita in setarile listei Webhook URL. La adresa specificata in Setari (webhook url) veti primi un request POST ce contine unul sau mai multe Newsman Events.
Un event este compus din:
type – tipul event-ului (in cazul de fata: import)
timestamp – (data la care s-a petrecut event-ul)
data – array cu date custom ale fiecarui event in parte
Pentru event-ul de import, se trimit urmatoarele date:
import_id – ID-ul importului
status – text (finished / error)
Apelul facut de catre noi este POST si contine un singur parametru, newsman_events care contine un STRING encodat JSON. String-ul encodat JSON este un array de evenimente (unul sau mai multe evenimente Newsman).
Exemplu de cod PHP pentru a face DEBUG la evenimente: